void Awake() { collider = GetComponent<SphereCollider>(); spawnTime = Time.time; curState = AffectorStates.Delay; }
// Update is called once per frame void Update() { if(IsFinished()) { Destroy(gameObject); return; } if (curState == AffectorStates.Delay) { if (Time.time >= spawnTime + startDelay) { SendIntervalEvent(); if (numIntervals > 1) { lastIntervalTime = Time.time; intervalCount = 1; } curState = AffectorStates.Interval; } } else if (curState == AffectorStates.Interval) { if (Time.time > lastIntervalTime + intervalDuration) { SendIntervalEvent(); if (numIntervals > intervalCount) { lastIntervalTime = Time.time; intervalCount++; } } } }