public void StartNextAction() { if (nextActionIndex < CombatStrategyActions.Length) { GameObject combatStrategyAction = Instantiate(CombatStrategyActions[nextActionIndex], new Vector3(0f, 0f, 0f), Quaternion.identity) as GameObject; //print(combatStrategyAction); //print(myCharacter); combatStrategyAction.transform.SetParent(myCharacter.transform, false); currentCombatStrategyAction = combatStrategyAction.GetComponent <CombatStrategyAction>(); //print(currentCombatStrategyAction.MyAction); currentCombatStrategyAction.MyAction.transform.SetParent(myCharacter.transform, false); currentCombatStrategyAction.InitialiseAction(myCharacter); currentCombatStrategyAction.transform.SetParent(myCharacter.transform, false); currentCombatStrategyAction.DoAction(); nextActionIndex++; } else { if (nextActionIndex != 1) { nextActionIndex = 0; StartNextAction(); } } }
public void DestroyMe() { if (currentCombatStrategyAction != null) { currentCombatStrategyAction.EndAction(); currentCombatStrategyAction = null; } Destroy(currentCombatStrategyAction); Destroy(gameObject); Destroy(this); }