// Co-Routines IEnumerator SpawnRoutine() { bIsProduce = true; this.CalculateCooldown(); while (bIsProduce) { yield return(new WaitForSeconds(fNextCooldown)); if (SquadChildFSM.StateCount(SCState.Produce) != 0) { if (!this.CalculateCooldown()) { bIsProduce = false; } else { SquadChildFSM.Spawn(transform.position); mAnimate.ExpandContract(0.5f, 1, 1.3f); } } else { bIsProduce = false; } } }
// Public Functions /// <summary> /// Spawns the squad captain /// </summary> /// <param name="_position"> The position in which the squad captain to spawn in </param> public bool Initialise(Vector3 _position) { transform.position = _position; this.Advance(PSState.Idle); SquadChildFSM.Spawn(_position); return(false); }