public static void AIMove() { for (int i = 0; i < UnitManage.Unit.Length; i++) { if (UI.PlayerTeam != UnitManage.Unit[i].GetComponent <Unit>().Team) { GameObject Victim = null; if (KeyTerm.NONE == UnitManage.Unit[i].GetComponent <Unit>().Action) { Victim = CheckEnemy(UnitManage.Unit[i], UnitManage.Unit[i].GetComponent <Unit>().AttackRange, UnitManage.Unit[i].GetComponent <Unit>().AttackRangeType); if (null != Victim) { UnitManage.AddEvent(KeyTerm.ATTACK_CMD, UnitManage.Unit[i], Victim); } else { Victim = CheckEnemy(UnitManage.Unit[i], UnitManage.Unit[i].GetComponent <Unit>().DetectRange, KeyTerm.SQUARE); if (null != Victim) { UnitManage.AddEvent(KeyTerm.MOVE_CMD, UnitManage.Unit[i], Victim.transform.parent.GetChild(KeyTerm.LAND_INDEX).gameObject); } } } if (KeyTerm.MOVE_CMD == UnitManage.Unit[i].GetComponent <Unit>().Action) { Victim = CheckEnemy(UnitManage.Unit[i], UnitManage.Unit[i].GetComponent <Unit>().AttackRange, UnitManage.Unit[i].GetComponent <Unit>().AttackRangeType); if (null != Victim) { UnitManage.AddEvent(KeyTerm.ATTACK_CMD, UnitManage.Unit[i], Victim); } } if (KeyTerm.ATTACK_CMD == UnitManage.Unit[i].GetComponent <Unit>().Action) { Victim = CheckEnemy(UnitManage.Unit[i], UnitManage.Unit[i].GetComponent <Unit>().AttackRange, UnitManage.Unit[i].GetComponent <Unit>().AttackRangeType); if (UnitManage.Target[i] != Victim) { UnitManage.ClearUnit(UnitManage.Unit[i]); AIMove(); } } } } }
void OnMouseDown() { UnitManage.ClearUnit(UI.Selected); UI.Cancel(); }