示例#1
0
文件: AI.cs 项目: hanzemeng/GameSqur
 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();
                 }
             }
         }
     }
 }
示例#2
0
 void OnMouseDown()
 {
     UnitManage.ClearUnit(UI.Selected);
     UI.Cancel();
 }