public static CombatAnimaController GetOrAdd(GameObject gameObject) { if (gameObject == null) { Debug.Log("Combat -> argument named `gameObject` is null."); return(null); } CombatAnimaController combat = gameObject.GetComponent <CombatAnimaController>(); if (combat == null) { combat = gameObject.AddComponent <CombatAnimaController>(); if (combat.Combat.battleActionDict.Count == 0) { combat.Combat.battleActions = new BattleAction[] { ScriptableObject.CreateInstance <PrepareAction>(), ScriptableObject.CreateInstance <AttackAction>() }; combat.Combat.InitBattleActions(); } } return(combat); }
public static CombatAnimaController GetOrAdd(GameObject gameObject, MapClass role0, MapClass role1) { CombatAnimaController combat = GetOrAdd(gameObject); return(combat == null || !combat.LoadCombatUnit(role0, role1) ? null : combat); }