public GameEngine(IBoard board, IMoveProcessor moveProcessor, IAIModule aiModule, IGameInput input, IGameOutput output) { _board = board; this.MoveProcessor = moveProcessor; this.MoveProcessor.Board = _board; this.AIModule = aiModule; this.Input = input; this.Output = output; this.Input.OnMoveReceived += Input_OnMoveReceived; }
// Probably with type protected virtual BW.Unit requestUnit(IAIModule module) { var unit = module.YieldUnit(); bwapi.Broodwar.printf("Unit transferred from : " + module.ToString()); return unit; }
// #region ModuleInteraction protected virtual void transferUnitTo(BW.Unit unit, IAIModule module) { module.ReceiveUnit(unit); bwapi.Broodwar.printf("Unit transferred to : " + module.ToString()); }