Squashed commit of the following:

commit 428243f4a6
Author: AsanoRema <asanorema2036@gmail.com>
Date:   Sat Aug 29 13:43:13 2026 +0300

    Squashed commit of the following:

    commit 68e78fa464
    Author: AsanoRema <asanorema2036@gmail.com>
    Date:   Sat Aug 29 13:41:49 2026 +0300

        Updated .gitignore

commit 9f87122a34
Author: AsanoRema <asanorema2036@gmail.com>
Date:   Sat Aug 29 13:34:57 2026 +0300

    Added Dohya

commit f6a7547e84
Author: AsanoRema <asanorema2036@gmail.com>
Date:   Fri Aug 21 17:59:13 2026 +0300

    Fixed

commit b98901c366
Author: AsanoRema <asanorema2036@gmail.com>
Date:   Tue Aug 18 17:37:22 2026 +0300

    Added new particle Package

commit bb2f4a3b16
Author: AsanoRema <asanorema2036@gmail.com>
Date:   Tue Aug 18 17:17:48 2026 +0300

    Map mehanic ready to multiplayer

commit c01ff800f6
Author: AsanoRema <asanorema2036@gmail.com>
Date:   Tue Aug 18 16:16:19 2026 +0300

    Squashed commit of the following:

    commit 173bbb165c
    Author: henjkey <henjkey@gmail.com>
    Date:   Fri Aug 14 18:51:23 2026 +0500

        Mappp

    commit d559ab338a
    Author: 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:
2026-08-29 13:45:55 +03:00
parent 68e78fa464
commit ffa1064063
3344 changed files with 4722286 additions and 105458 deletions
@@ -0,0 +1,106 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace VLB
{
[HelpURL(Consts.Help.UrlEffectFlicker)]
public class EffectFlicker : EffectAbstractBase
{
public new const string ClassName = "EffectFlicker";
/// <summary>
/// Frequency of flickering.
/// Higher value means the flickering will occur faster.
/// </summary>
[Range(1.0f, 60.0f)]
public float frequency = Consts.Effects.FrequencyDefault;
/// <summary>
/// If enabled, pauses will be added between 2 flickering sequences.
/// </summary>
public bool performPauses = Consts.Effects.PerformPausesDefault;
/// <summary>
/// The duration of a flickering sequence.
/// A random value will be picked each time inside that range.
/// </summary>
[MinMaxRange(0.0f, 10.0f)]
public MinMaxRangeFloat flickeringDuration = Consts.Effects.FlickeringDurationDefault;
/// <summary>
/// The duration of a pause sequence.
/// A random value will be picked each time inside that range.
/// </summary>
[MinMaxRange(0.0f, 10.0f)]
public MinMaxRangeFloat pauseDuration = Consts.Effects.PauseDurationDefault;
/// <summary>
/// The amplitude of intensity change which will be applied to the Light and/or Beam.
/// A random value will be picked each time inside that range.
/// </summary>
[MinMaxRange(-5.0f, 5.0f)]
public MinMaxRangeFloat intensityAmplitude = Consts.Effects.IntensityAmplitudeDefault;
/// <summary>
/// How much intensity change will be smoothed.
/// Higher value means the more smoothing.
/// </summary>
[Range(0.0f, 0.25f)]
public float smoothing = Consts.Effects.SmoothingDefault;
float m_CurrentAdditiveIntensity = 0.0f;
protected override void OnEnable()
{
base.OnEnable();
StartCoroutine(CoUpdate());
}
IEnumerator CoUpdate()
{
while(true)
{
yield return CoFlicker();
float remaining = pauseDuration.randomValue;
do
{
remaining -= Time.deltaTime;
yield return null;
}
while (performPauses && remaining > 0.0f);
}
}
IEnumerator CoFlicker()
{
float remainingDuration = flickeringDuration.randomValue;
float lastTime = Time.deltaTime;
while (!performPauses || remainingDuration > 0.0f)
{
Debug.Assert(frequency > 0.0f);
float freqDuration = 1.0f / frequency;
yield return CoChangeIntensity(freqDuration, intensityAmplitude.randomValue);
remainingDuration -= freqDuration;
}
}
IEnumerator CoChangeIntensity(float expectedDuration, float nextIntensity)
{
float velocity = 0.0f;
float t = 0.0f;
while (t < expectedDuration)
{
m_CurrentAdditiveIntensity = Mathf.SmoothDamp(m_CurrentAdditiveIntensity, nextIntensity, ref velocity, smoothing);
SetAdditiveIntensity(m_CurrentAdditiveIntensity);
t += Time.deltaTime;
yield return null;
}
}
}
}