public TankController( IPlayStyle playstyle ) { this.playstyle = playstyle; csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); unitdefhelp = new UnitDefHelp( aicallback ); unitcontroller = UnitController.GetInstance(); enemycontroller = EnemyController.GetInstance(); buildtable = BuildTable.GetInstance(); enemyselector = new EnemySelector( 110, false, false ); attackpackcoordinator = new AttackPackCoordinator( TankDefsById ); spreadsearchpackcoordinator = new SpreadSearchPackCoordinator( TankDefsById ); movetopackcoordinator = new MoveToPackCoordinator( TankDefsById ); guardpackcoordinator = new GuardPackCoordinator( TankDefsById ); packcoordinatorselector = new PackCoordinatorSelector(); packcoordinatorselector.LoadCoordinator( attackpackcoordinator ); packcoordinatorselector.LoadCoordinator( spreadsearchpackcoordinator ); packcoordinatorselector.LoadCoordinator( movetopackcoordinator ); packcoordinatorselector.LoadCoordinator( guardpackcoordinator ); logfile.WriteLine( "*TankController Initialized*" ); }
BuildPlanner() { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); unitdefhelp = new UnitDefHelp( aicallback ); mapwidth = aicallback.GetMapWidth(); mapheight = aicallback.GetMapHeight(); }
public FactoryController( IPlayStyle playstyle ) { this.playstyle = playstyle; csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); buildtable = BuildTable.GetInstance(); unitcontroller = UnitController.GetInstance(); unitdefhelp = new UnitDefHelp( aicallback ); csai.RegisterVoiceCommand( "dumpfactories", new CSAI.VoiceCommandHandler( DumpFactories ) ); }
public EnemySelector( double maxenemyspeed, bool WaterOk, bool BadTerrainOk ) { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); // csai.EnemyEntersLOSEvent += new CSAI.EnemyEntersLOSHandler( EnemyEntersLOS ); enemycontroller = EnemyController.GetInstance(); unitdefhelp = new UnitDefHelp( aicallback ); this.maxenemyspeed = maxenemyspeed; this.WaterOk = WaterOk; this.BadTerrainOk = BadTerrainOk; }
// do we need this??? handled by specific controllers??? //IntArrayList commanders = new IntArrayList(); //IntArrayList constructors = new IntArrayList(); //IntArrayList metalcollectors = new IntArrayList(); //IntArrayList energycollectors = new IntArrayList(); //IntArrayList groundattack = new IntArrayList(); UnitController() { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); unitdefhelp = new UnitDefHelp( aicallback ); csai.UnitFinishedEvent += new CSAI.UnitFinishedHandler( this.NewUnitFinished ); csai.UnitDestroyedEvent += new CSAI.UnitDestroyedHandler( this.UnitDestroyed ); csai.RegisterVoiceCommand( "killallfriendly", new CSAI.VoiceCommandHandler( this.VoiceCommandKillAllFriendly ) ); csai.RegisterVoiceCommand( "countunits", new CSAI.VoiceCommandHandler( this.VoiceCommandCountUnits ) ); logfile.WriteLine ("*UnitController initialized*"); }
// protected constructor to force Singleton instantiation Metal() { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); unitcontroller = UnitController.GetInstance(); unitdefhelp = new UnitDefHelp( aicallback ); ExtractorRadius = aicallback.GetExtractorRadius(); unitcontroller.UnitAddedEvent += new UnitController.UnitAddedHandler( UnitAdded ); unitcontroller.UnitRemovedEvent += new UnitController.UnitRemovedHandler( UnitRemoved ); csai.RegisterVoiceCommand( "showmetalspots", new CSAI.VoiceCommandHandler( this.DrawMetalSpotsCommand ) ); }
BuildMap() { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); unitdefhelp = new UnitDefHelp( aicallback ); unitcontroller = UnitController.GetInstance(); csai.UnitCreatedEvent += new CSAI.UnitCreatedHandler( UnitCreated ); csai.UnitDestroyedEvent += new CSAI.UnitDestroyedHandler( UnitDestroyed ); unitcontroller.UnitAddedEvent += new UnitController.UnitAddedHandler( UnitCreated ); Init(); }
} // Singleton pattern Metal() // protected constructor to force Singleton instantiation { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); unitcontroller = UnitController.GetInstance(); unitdefhelp = new UnitDefHelp(aicallback); ExtractorRadius = aicallback.GetExtractorRadius(); csai.UnitCreatedEvent += new CSAI.UnitCreatedHandler(UnitAdded); unitcontroller.UnitAddedEvent += new UnitController.UnitAddedHandler(UnitAdded); unitcontroller.UnitRemovedEvent += new UnitController.UnitRemovedHandler(UnitRemoved); csai.RegisterVoiceCommand("showmetalspots", new CSAI.VoiceCommandHandler(this.DrawMetalSpotsCommand)); }
FriendlyUnitPositionObserver() { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); //csai.UnitFinishedEvent += new CSAI.UnitFinishedHandler( this.NewUnitFinished ); //csai.UnitDestroyedEvent += new CSAI.UnitDestroyedHandler( this.UnitDestroyed ); csai.TickEvent += new CSAI.TickHandler(Tick); unitcontroller = UnitController.GetInstance(); unitcontroller.UnitAddedEvent += new UnitController.UnitAddedHandler(UnitAdded); unitcontroller.UnitRemovedEvent += new UnitController.UnitRemovedHandler(UnitRemoved); unitdefhelp = new UnitDefHelp(aicallback); }
FriendlyUnitPositionObserver() { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); //csai.UnitFinishedEvent += new CSAI.UnitFinishedHandler( this.NewUnitFinished ); //csai.UnitDestroyedEvent += new CSAI.UnitDestroyedHandler( this.UnitDestroyed ); csai.TickEvent += new CSAI.TickHandler( Tick ); unitcontroller = UnitController.GetInstance(); unitcontroller.UnitAddedEvent += new UnitController.UnitAddedHandler( UnitAdded ); unitcontroller.UnitRemovedEvent += new UnitController.UnitRemovedHandler( UnitRemoved ); unitdefhelp = new UnitDefHelp( aicallback ); }
public Hashtable FactoriesByTypeName = new Hashtable(); // deployedid of factories hashed by typename (eg "armvp") public FactoryController(IPlayStyle playstyle) { this.playstyle = playstyle; csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); buildtable = BuildTable.GetInstance(); unitcontroller = UnitController.GetInstance(); unitdefhelp = new UnitDefHelp(aicallback); csai.UnitFinishedEvent += new CSAI.UnitFinishedHandler(csai_UnitFinishedEvent); csai.UnitDestroyedEvent += new CSAI.UnitDestroyedHandler(csai_UnitDestroyedEvent); csai.RegisterVoiceCommand("dumpfactories", new CSAI.VoiceCommandHandler(DumpFactories)); }
public EnemySelector(double maxenemyspeed, IUnitDef typicalunitdef) { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); // csai.EnemyEntersLOSEvent += new CSAI.EnemyEntersLOSHandler( EnemyEntersLOS ); enemycontroller = EnemyController.GetInstance(); unitdefhelp = new UnitDefHelp(aicallback); this.maxenemyspeed = maxenemyspeed; this.WaterOk = WaterOk; this.BadTerrainOk = BadTerrainOk; this.typicalunitdef = typicalunitdef; // startarea = MovementMaps.GetInstance().GetArea(typicalunitdef, startpos); }
public EnemySelector2(double maxenemyspeed, IUnitDef typicalunitdef) { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); // csai.EnemyEntersLOSEvent += new CSAI.EnemyEntersLOSHandler( EnemyEntersLOS ); enemycontroller = EnemyController.GetInstance(); unitdefhelp = new UnitDefHelp(aicallback); this.maxenemyspeed = maxenemyspeed; this.WaterOk = WaterOk; this.BadTerrainOk = BadTerrainOk; this.typicalunitdef = typicalunitdef; // startarea = MovementMaps.GetInstance().GetArea(typicalunitdef, startpos); }
public int GetArea(IUnitDef unitdef, Float3 currentpos) { int mapx = (int)(currentpos.x / 16); int mapy = (int)(currentpos.z / 16); UnitDefHelp unitdefhelp = new UnitDefHelp(aicallback); if (unitdefhelp.IsBoat(unitdef)) { return(boatareas[mapx, mapy]); } else if (unitdef.movedata.maxSlope > maxvehicleslope) // so infantry, approximately { return(infantryareas[mapx, mapy]); } else // vehicle, approximately { return(vehicleareas[mapx, mapy]); } }
EnemyMap() { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); enemymap = new int[ mapwidth / 2, mapheight / 2 ]; unitdefhelp = new UnitDefHelp( aicallback ); //unitcontroller = UnitController.GetInstance(); enemycontroller = EnemyController.GetInstance(); //csai.UnitCreatedEvent += new CSAI.UnitCreatedHandler( UnitCreated ); //csai.UnitDestroyedEvent += new CSAI.UnitDestroyedHandler( UnitDestroyed ); enemycontroller.NewStaticEnemyAddedEvent += new EnemyController.NewStaticEnemyAddedHandler( StaticEnemyAdded ); enemycontroller.EnemyRemovedEvent += new EnemyController.EnemyRemovedHandler( EnemyRemoved ); Init(); }
EnemyMap() { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); enemymap = new int[mapwidth / 2, mapheight / 2]; unitdefhelp = new UnitDefHelp(aicallback); //unitcontroller = UnitController.GetInstance(); enemycontroller = EnemyController.GetInstance(); //csai.UnitCreatedEvent += new CSAI.UnitCreatedHandler( UnitCreated ); //csai.UnitDestroyedEvent += new CSAI.UnitDestroyedHandler( UnitDestroyed ); enemycontroller.NewStaticEnemyAddedEvent += new EnemyController.NewStaticEnemyAddedHandler(StaticEnemyAdded); enemycontroller.EnemyRemovedEvent += new EnemyController.EnemyRemovedHandler(EnemyRemoved); Init(); }
BuildMap() { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); unitdefhelp = new UnitDefHelp(aicallback); unitcontroller = UnitController.GetInstance(); csai.UnitCreatedEvent += new CSAI.UnitCreatedHandler(UnitCreated); csai.UnitDestroyedEvent += new CSAI.UnitDestroyedHandler(UnitDestroyed); unitcontroller.UnitAddedEvent += new UnitController.UnitAddedHandler(UnitCreated); if (csai.DebugOn) { csai.RegisterVoiceCommand("dumpbuildmap", new CSAI.VoiceCommandHandler(DumpBuildMap)); } Init(); }
EnemyController() { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); autoshowenemies = csai.DebugOn; unitcontroller = UnitController.GetInstance(); csai.TickEvent += new CSAI.TickHandler( Tick ); csai.EnemyEnterRadarEvent += new CSAI.EnemyEnterRadarHandler( this.EnemyEnterRadar ); csai.EnemyEnterLOSEvent += new CSAI.EnemyEnterLOSHandler( this.EnemyEnterLOS ); csai.EnemyLeaveRadarEvent += new CSAI.EnemyLeaveRadarHandler( this.EnemyLeaveRadar ); csai.EnemyDestroyedEvent += new CSAI.EnemyDestroyedHandler( this.EnemyDestroyed ); csai.RegisterVoiceCommand( "enemiescount", new CSAI.VoiceCommandHandler( VoiceCommandCountEnemies ) ); csai.RegisterVoiceCommand( "showenemies", new CSAI.VoiceCommandHandler( VoiceCommandShowEnemies ) ); csai.RegisterVoiceCommand( "autoshowenemieson", new CSAI.VoiceCommandHandler( VoiceCommandAutoShowEnemiesOn ) ); csai.RegisterVoiceCommand( "autoshowenemiesoff", new CSAI.VoiceCommandHandler( VoiceCommandAutoShowEnemiesOff ) ); unitdefhelp = new UnitDefHelp( aicallback ); }
EnemyController() { csai = CSAI.GetInstance(); aicallback = csai.aicallback; logfile = LogFile.GetInstance(); autoshowenemies = csai.DebugOn; unitcontroller = UnitController.GetInstance(); csai.TickEvent += new CSAI.TickHandler(Tick); csai.EnemyEnterRadarEvent += new CSAI.EnemyEnterRadarHandler(this.EnemyEnterRadar); csai.EnemyEnterLOSEvent += new CSAI.EnemyEnterLOSHandler(this.EnemyEnterLOS); csai.EnemyLeaveRadarEvent += new CSAI.EnemyLeaveRadarHandler(this.EnemyLeaveRadar); csai.EnemyDestroyedEvent += new CSAI.EnemyDestroyedHandler(this.EnemyDestroyed); csai.RegisterVoiceCommand("enemiescount", new CSAI.VoiceCommandHandler(VoiceCommandCountEnemies)); csai.RegisterVoiceCommand("showenemies", new CSAI.VoiceCommandHandler(VoiceCommandShowEnemies)); csai.RegisterVoiceCommand("autoshowenemieson", new CSAI.VoiceCommandHandler(VoiceCommandAutoShowEnemiesOn)); csai.RegisterVoiceCommand("autoshowenemiesoff", new CSAI.VoiceCommandHandler(VoiceCommandAutoShowEnemiesOff)); unitdefhelp = new UnitDefHelp(aicallback); }
public int GetArea(IUnitDef unitdef, Float3 currentpos) { int mapx = (int)(currentpos.x / 16); int mapy = (int)(currentpos.z / 16); UnitDefHelp unitdefhelp = new UnitDefHelp(aicallback); logfile.WriteLine("MovementMaps.GetArea unitdefhelp is null? " + (unitdefhelp == null).ToString() + " unitdef is null? " + (unitdef == null).ToString()); if (unitdefhelp.IsAirCraft(unitdef)) { return(1); // alwasy area 1, easy :-DDD } if (unitdefhelp.IsBoat(unitdef)) { return(boatareas[mapx, mapy]); } else if (unitdef.movedata.maxSlope > maxvehicleslope) // so infantry, approximately { return(infantryareas[mapx, mapy]); } else // vehicle, approximately { return(vehicleareas[mapx, mapy]); } }
public int GetArea(IUnitDef unitdef, Float3 currentpos) { int mapx = (int)( currentpos.x / 16 ); int mapy = (int)( currentpos.z / 16 ); UnitDefHelp unitdefhelp = new UnitDefHelp( aicallback ); logfile.WriteLine("MovementMaps.GetArea unitdefhelp is null? " + (unitdefhelp == null).ToString() + " unitdef is null? " + (unitdef == null).ToString()); if( unitdefhelp.IsAirCraft( unitdef ) ) { return 1; // alwasy area 1, easy :-DDD } if( unitdefhelp.IsBoat( unitdef ) ) { return boatareas[ mapx, mapy ]; } else if( unitdef.movedata.maxSlope > maxvehicleslope ) // so infantry, approximately { return infantryareas[ mapx, mapy ]; } else // vehicle, approximately { return vehicleareas[ mapx, mapy ]; } }