public Float3 GetFeaturePos(int featureid) { float x = 0; float y = 0; float z = 0; ABICInterface.IAICallback_GetFeaturePos(self, ref x, ref y, ref z, featureid); return(new Float3(x, y, z)); }
public void InitAI(IntPtr aicallback, int team) { try { sw = new StreamWriter("outo_" + team + ".log", false); WriteLine("CSAICInterface.InitAI >>>"); this.team = team; //ai = LoadCSAI(); if (numais == 0) { ai = LoadCSAI(); //ai = new _CSAI(); } else { //ai = LoadCSAI(); ABICInterface.IAICallback_SendTextMsg(aicallback, "Only one Mono AI allowed per game", 0); ai = new _CSAI(); } numais++; this.aicallback = aicallback; ai.InitAI(new AICallback(aicallback), team); WriteLine("CSAICInterface.InitAI <<<"); } catch (Exception e) { WriteLine(e.ToString()); } }
public Float3 ClosestBuildSite(IUnitDef thisunitdef, Float3 pos, double searchradius, int mindistance) { float x = 0; float y = 0; float z = 0; ABICInterface.IAICallback_ClosestBuildSite(self, ref x, ref y, ref z, (thisunitdef as UnitDef).self, (float)pos.x, (float)pos.y, (float)pos.z, (float)searchradius, mindistance, 0); return(new Float3(x, y, z)); }
public int GiveOrder(int unit, Command c) { int numparams = c.parameters.GetUpperBound(0) + 1; if (numparams == 0) { return(ABICInterface.IAICallback_GiveOrder(self, unit, c.id, 0, 0, 0, 0, 0)); } if (numparams == 1) { return(ABICInterface.IAICallback_GiveOrder(self, unit, c.id, 1, (float)c.parameters[0], 0, 0, 0)); } if (numparams == 2) { return(ABICInterface.IAICallback_GiveOrder(self, unit, c.id, 2, (float)c.parameters[0], (float)c.parameters[1], 0, 0)); } if (numparams == 3) { return(ABICInterface.IAICallback_GiveOrder(self, unit, c.id, 3, (float)c.parameters[0], (float)c.parameters[1], (float)c.parameters[2], 0)); } if (numparams == 4) { return(ABICInterface.IAICallback_GiveOrder(self, unit, c.id, 4, (float)c.parameters[0], (float)c.parameters[1], (float)c.parameters[2], (float)c.parameters[3])); } return(0); }
public Float3 GetUnitPos(int unitid) { float x = 0; float y = 0; float z = 0; ABICInterface.IAICallback_GetUnitPos(self, ref x, ref y, ref z, unitid); return(new Float3(x, y, z)); }
public IUnitDef GetUnitDef(int deployedid) { IntPtr unitdefptr = ABICInterface.IAICallback_GetUnitDef(self, deployedid); if (unitdefptr == IntPtr.Zero) { return(null); } return(new UnitDef(unitdefptr)); }
public IFeatureDef GetFeatureDef(int featureid) { IntPtr defptr = ABICInterface.IAICallback_GetFeatureDef(self, featureid); if (defptr == IntPtr.Zero) { return(null); } return(new FeatureDef(defptr)); }
//public void SendTextMsg( string message, int priority ) //{ // ABICInterface.IAICallback_SendTextMsg( self, message, priority ); //} public IUnitDef GetUnitDefByTypeId(int unitdeftypeid) { IntPtr unitdefptr = ABICInterface.IAICallback_GetUnitDefByTypeId(self, unitdeftypeid); if (unitdefptr == IntPtr.Zero) { return(null); } return(new UnitDef(unitdefptr)); }
public int[] GetFeatures(Float3 pos, double radius) { return(ABICInterface.IAICallback_GetFeaturesAt(self, (float)pos.x, (float)pos.y, (float)pos.z, (float)radius)); }
public int[] GetFeatures() { return(ABICInterface.IAICallback_GetFeatures(self)); }
public System.Int32 GetPlayerTeam(System.Int32 player) { return(ABICInterface.IAICallback_GetPlayerTeam(self, player)); }
public System.Int32 GetCurrentFrame( ) { return(ABICInterface.IAICallback_GetCurrentFrame(self)); }
public System.Void DeleteFigureGroup(System.Int32 group) { ABICInterface.IAICallback_DeleteFigureGroup(self, group); }
public int CreateLineFigure(Float3 pos1, Float3 pos2, double width, bool arrow, int lifetime, int group) { return(ABICInterface.IAICallback_CreateLineFigure(self, (float)pos1.x, (float)pos1.y, (float)pos1.z, (float)pos2.x, (float)pos2.y, (float)pos2.z, (float)width, arrow, lifetime, group)); }
public bool[] GetLosMap() { return(ABICInterface.IAICallback_GetLosMap(self)); }
public byte[] GetMetalMap() { return(ABICInterface.IAICallback_GetMetalMap(self)); }
public void DrawUnit(string name, Float3 pos, double rotation, int lifetime, int team, bool transparent, bool drawborder) { ABICInterface.IAICallback_DrawUnit(self, name, (float)pos.x, (float)pos.y, (float)pos.z, (float)rotation, lifetime, team, transparent, drawborder, 0); }
public int[] GetFriendlyUnits( ) { return(ABICInterface.IAICallback_GetFriendlyUnits(self)); }
public int[] GetEnemyUnitsInRadarAndLos( ) { return(ABICInterface.IAICallback_GetEnemyUnitsInRadarAndLos(self)); }
public double[] GetCentreHeightMap() { return(ABICInterface.IAICallback_GetCentreHeightMap(self)); }
public System.Void SetFigureColor(System.Int32 group, System.Double red, System.Double green, System.Double blue, System.Double alpha) { ABICInterface.IAICallback_SetFigureColor(self, group, (float)red, (float)green, (float)blue, (float)alpha); }
public bool CanBuildAt(IUnitDef unitdef, Float3 pos) { return(ABICInterface.IAICallback_CanBuildAt(self, (unitdef as UnitDef).self, (float)pos.x, (float)pos.y, (float)pos.z)); }
public System.Boolean IsGamePaused( ) { return(ABICInterface.IAICallback_IsGamePaused(self)); }
public bool UnitIsBusy(int unitid) { return(ABICInterface.IAICallback_GetCurrentUnitCommandsCount(self, unitid) > 0); }
public System.Int32 GetMyAllyTeam( ) { return(ABICInterface.IAICallback_GetMyAllyTeam(self)); }
public System.Boolean RemoveUnitFromGroup(System.Int32 unitid) { return(ABICInterface.IAICallback_RemoveUnitFromGroup(self, unitid)); }
public System.Boolean AddUnitToGroup(System.Int32 unitid, System.Int32 groupid) { return(ABICInterface.IAICallback_AddUnitToGroup(self, unitid, groupid)); }
public System.Void EraseGroup(System.Int32 groupid) { ABICInterface.IAICallback_EraseGroup(self, groupid); }
public System.String GetMapName( ) { return(ABICInterface.IAICallback_GetMapName(self)); }
public System.Double GetUnitDefHeight(System.Int32 def) { return(ABICInterface.IAICallback_GetUnitDefHeight(self, def)); }