commit428243f4a6Author: AsanoRema <asanorema2036@gmail.com> Date: Sat Aug 29 13:43:13 2026 +0300 Squashed commit of the following: commit68e78fa464Author: AsanoRema <asanorema2036@gmail.com> Date: Sat Aug 29 13:41:49 2026 +0300 Updated .gitignore commit9f87122a34Author: AsanoRema <asanorema2036@gmail.com> Date: Sat Aug 29 13:34:57 2026 +0300 Added Dohya commitf6a7547e84Author: AsanoRema <asanorema2036@gmail.com> Date: Fri Aug 21 17:59:13 2026 +0300 Fixed commitb98901c366Author: AsanoRema <asanorema2036@gmail.com> Date: Tue Aug 18 17:37:22 2026 +0300 Added new particle Package commitbb2f4a3b16Author: AsanoRema <asanorema2036@gmail.com> Date: Tue Aug 18 17:17:48 2026 +0300 Map mehanic ready to multiplayer commitc01ff800f6Author: AsanoRema <asanorema2036@gmail.com> Date: Tue Aug 18 16:16:19 2026 +0300 Squashed commit of the following: commit173bbb165cAuthor: henjkey <henjkey@gmail.com> Date: Fri Aug 14 18:51:23 2026 +0500 Mappp commitd559ab338aAuthor: henjkey <henjkey@gmail.com> Date: Thu Aug 13 18:42:41 2026 +0500 Map Controller Coordinates Target System Crosshair System Radar System
58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
namespace VLB
|
|
{
|
|
[ExecuteInEditMode]
|
|
[HelpURL(Consts.Help.UrlSkewingHandle)]
|
|
public class SkewingHandle : MonoBehaviour
|
|
{
|
|
public VolumetricLightBeam volumetricLightBeam = null;
|
|
public bool shouldUpdateEachFrame = false;
|
|
|
|
#if UNITY_EDITOR
|
|
void Update()
|
|
{
|
|
if (!Application.isPlaying && CanSetSkewingVector())
|
|
SetSkewingVector();
|
|
}
|
|
#endif
|
|
|
|
public bool IsAttachedToSelf() { return volumetricLightBeam != null && volumetricLightBeam.gameObject == this.gameObject; }
|
|
public bool CanSetSkewingVector() { return volumetricLightBeam != null && volumetricLightBeam.canHaveMeshSkewing; }
|
|
public bool CanUpdateEachFrame() { return CanSetSkewingVector() && volumetricLightBeam.trackChangesDuringPlaytime; }
|
|
bool ShouldUpdateEachFrame() { return shouldUpdateEachFrame && CanUpdateEachFrame(); }
|
|
|
|
void OnEnable()
|
|
{
|
|
if(CanSetSkewingVector())
|
|
SetSkewingVector();
|
|
}
|
|
|
|
void Start()
|
|
{
|
|
if (Application.isPlaying && ShouldUpdateEachFrame())
|
|
{
|
|
StartCoroutine(CoUpdate());
|
|
}
|
|
}
|
|
|
|
IEnumerator CoUpdate()
|
|
{
|
|
while(ShouldUpdateEachFrame())
|
|
{
|
|
SetSkewingVector();
|
|
yield return null;
|
|
}
|
|
}
|
|
|
|
void SetSkewingVector()
|
|
{
|
|
Debug.Assert(CanSetSkewingVector());
|
|
var vec = volumetricLightBeam.transform.InverseTransformPoint(transform.position);
|
|
volumetricLightBeam.skewingLocalForwardDirection = vec;
|
|
}
|
|
}
|
|
}
|
|
|