public static void Main() { Logger combatLog = new CombatLogger(); Logger eventLog = new EventLogger(); combatLog.SetSuccessor(eventLog); Warrior warrior = new Warrior("Mountain", 10, combatLog); Dragon dragon = new Dragon("Dracarys", 100, 25, combatLog); IExecutor executor = new CommandExecutor(); ICommand targetCommand = new TargetCommand(warrior, dragon); targetCommand.Execute(); }
void SearchTargets(Unit unit) { float minDistance = Mathf.Infinity; Unit target = null; for (int i = 0; i < _playManager.allyUnits.Count; i++) { float distance; distance = Vector3.Distance(_playManager.allyUnits[i].transform.position, unit.transform.position); if (distance < minDistance) { target = _playManager.allyUnits[i]; minDistance = distance; } } if (target != null) { TargetCommand targetCommand = new TargetCommand(target); targetCommand.Execute(unit); } }