コード例 #1
0
    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();
            }
        }
    }
コード例 #2
0
 public void DestroyMe()
 {
     if (currentCombatStrategyAction != null)
     {
         currentCombatStrategyAction.EndAction();
         currentCombatStrategyAction = null;
     }
     Destroy(currentCombatStrategyAction);
     Destroy(gameObject);
     Destroy(this);
 }