// ***************************Attack******************************************* public TacticsActions FindTargetUnit(Tile tile) { RaycastHit hit; TacticsActions TargetUnit = null; if (Physics.Raycast(tile.transform.position, Vector3.up, out hit, 1)) { TargetUnit = hit.collider.GetComponent <TacticsActions>(); } return(TargetUnit); }
public static void EndTurn() { TacticsActions unit = turnTeam.Dequeue(); unit.EndTurn(); if (turnTeam.Count > 0) { StartTurn(); } else { string team = turnKey.Dequeue(); turnKey.Enqueue(team); InitUnitTurnQueue(); } }
public void AttackTile(Tile tile) { path.Clear(); tile.target = true; attacking = true; center = true; edge = false; Target = FindTargetUnit(tile); Tile next = tile; while (next != null) { path.Push(next); next = next.parent; } path.Pop(); }
public static void AddUnit(TacticsActions unit) { List <TacticsActions> list; if (!units.ContainsKey(unit.tag)) { list = new List <TacticsActions>(); units[unit.tag] = list; if (!turnKey.Contains(unit.tag)) { turnKey.Enqueue(unit.tag); } } else { list = units[unit.tag]; } list.Add(unit); }