diff options
author | chai <215380520@qq.com> | 2023-11-27 00:08:06 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2023-11-27 00:08:06 +0800 |
commit | d4af52c91a717d0ee324f81ad5a673d4a6ba9207 (patch) | |
tree | bdb610929b8cd3064632f12479cd47c16b752045 /Assembly_CSharp/Projectile/ProjectileFX.cs | |
parent | b45e22c164fa364263b00ce82842999f8e5976b2 (diff) |
*move
Diffstat (limited to 'Assembly_CSharp/Projectile/ProjectileFX.cs')
-rw-r--r-- | Assembly_CSharp/Projectile/ProjectileFX.cs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Assembly_CSharp/Projectile/ProjectileFX.cs b/Assembly_CSharp/Projectile/ProjectileFX.cs new file mode 100644 index 0000000..df82c3d --- /dev/null +++ b/Assembly_CSharp/Projectile/ProjectileFX.cs @@ -0,0 +1,47 @@ +using System.Collections; +using UnityEngine; + +public class ProjectileFX : MonoBehaviour +{ + [SerializeField] + private GameObject bleedingPS; + + [SerializeField] + private GameObject burrningPS; + + [SerializeField] + private GameObject poisonPS; + + public void SetFX(float bleeding, float burning, float poison, float slow, bool arcane) + { + if (OptionsMenu.instance.extraProjectileEffects) + { + if (bleeding > 0f) + { + bleedingPS.SetActive(value: true); + } + if (burning > 0f) + { + burrningPS.SetActive(value: true); + } + if (poison > 0f) + { + poisonPS.SetActive(value: true); + } + } + } + + public void OnDetach() + { + StartCoroutine(Die()); + } + + private IEnumerator Die() + { + bleedingPS.GetComponent<ParticleSystem>().Stop(withChildren: true); + burrningPS.GetComponent<ParticleSystem>().Stop(withChildren: true); + poisonPS.GetComponent<ParticleSystem>().Stop(withChildren: true); + yield return new WaitForSeconds(1.1f); + Object.Destroy(base.gameObject); + } +} |