Squashed commit of the following:
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
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace VLB
|
||||
{
|
||||
[AddComponentMenu("")] // hide it from Component search
|
||||
[DisallowMultipleComponent]
|
||||
public class EffectAbstractBase : MonoBehaviour
|
||||
{
|
||||
public const string ClassName = "EffectAbstractBase";
|
||||
|
||||
[System.Flags]
|
||||
public enum ComponentsToChange
|
||||
{
|
||||
UnityLight = 1 << 0,
|
||||
VolumetricLightBeam = 1 << 1,
|
||||
VolumetricDustParticles = 1 << 2,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Decide which component to change among:
|
||||
/// - Unity's Light
|
||||
/// - Volumetric Light Beam
|
||||
/// - Volumetric Dust Particles
|
||||
/// </summary>
|
||||
public ComponentsToChange componentsToChange = Consts.Effects.ComponentsToChangeDefault;
|
||||
|
||||
/// <summary>
|
||||
/// Restore the default intensity when this component is disabled.
|
||||
/// </summary>
|
||||
public bool restoreBaseIntensity = Consts.Effects.RestoreBaseIntensityDefault;
|
||||
|
||||
|
||||
protected VolumetricLightBeam m_Beam = null;
|
||||
protected Light m_Light = null;
|
||||
protected VolumetricDustParticles m_Particles = null;
|
||||
protected float m_BaseIntensityBeamInside = 0.0f;
|
||||
protected float m_BaseIntensityBeamOutside = 0.0f;
|
||||
protected float m_BaseIntensityLight = 0.0f;
|
||||
|
||||
protected void SetAdditiveIntensity(float additive)
|
||||
{
|
||||
if (componentsToChange.HasFlag(ComponentsToChange.VolumetricLightBeam) && m_Beam)
|
||||
{
|
||||
m_Beam.intensityInside = Mathf.Max(0.0f, m_BaseIntensityBeamInside + additive);
|
||||
m_Beam.intensityOutside = Mathf.Max(0.0f, m_BaseIntensityBeamOutside + additive);
|
||||
}
|
||||
|
||||
if (componentsToChange.HasFlag(ComponentsToChange.UnityLight) && m_Light)
|
||||
m_Light.intensity = Mathf.Max(0.0f, m_BaseIntensityLight + additive);
|
||||
|
||||
if (componentsToChange.HasFlag(ComponentsToChange.VolumetricDustParticles) && m_Particles)
|
||||
m_Particles.alphaAdditionalRuntime = 1.0f + additive;
|
||||
}
|
||||
|
||||
void Awake()
|
||||
{
|
||||
m_Beam = GetComponent<VolumetricLightBeam>();
|
||||
m_Light = GetComponent<Light>();
|
||||
m_Particles = GetComponent<VolumetricDustParticles>();
|
||||
m_BaseIntensityBeamInside = m_Beam ? m_Beam.intensityInside : 0.0f;
|
||||
m_BaseIntensityBeamOutside = m_Beam ? m_Beam.intensityOutside : 0.0f;
|
||||
m_BaseIntensityLight = m_Light ? m_Light.intensity : 0.0f;
|
||||
}
|
||||
|
||||
protected virtual void OnEnable()
|
||||
{
|
||||
StopAllCoroutines();
|
||||
}
|
||||
|
||||
void OnDisable()
|
||||
{
|
||||
StopAllCoroutines();
|
||||
|
||||
if (restoreBaseIntensity)
|
||||
SetAdditiveIntensity(0.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user