Exemple #1
0
        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));
        }
Exemple #2
0
        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());
            }
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        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);
        }
Exemple #5
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));
        }
Exemple #6
0
        public IUnitDef GetUnitDef(int deployedid)
        {
            IntPtr unitdefptr = ABICInterface.IAICallback_GetUnitDef(self, deployedid);

            if (unitdefptr == IntPtr.Zero)
            {
                return(null);
            }
            return(new UnitDef(unitdefptr));
        }
Exemple #7
0
        public IFeatureDef GetFeatureDef(int featureid)
        {
            IntPtr defptr = ABICInterface.IAICallback_GetFeatureDef(self, featureid);

            if (defptr == IntPtr.Zero)
            {
                return(null);
            }
            return(new FeatureDef(defptr));
        }
Exemple #8
0
        //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));
        }
Exemple #9
0
 public int[] GetFeatures(Float3 pos, double radius)
 {
     return(ABICInterface.IAICallback_GetFeaturesAt(self, (float)pos.x, (float)pos.y, (float)pos.z, (float)radius));
 }
Exemple #10
0
 public int[] GetFeatures()
 {
     return(ABICInterface.IAICallback_GetFeatures(self));
 }
Exemple #11
0
        public System.Int32 GetPlayerTeam(System.Int32 player)

        {
            return(ABICInterface.IAICallback_GetPlayerTeam(self, player));
        }
Exemple #12
0
        public System.Int32 GetCurrentFrame( )

        {
            return(ABICInterface.IAICallback_GetCurrentFrame(self));
        }
Exemple #13
0
        public System.Void DeleteFigureGroup(System.Int32 group)

        {
            ABICInterface.IAICallback_DeleteFigureGroup(self, group);
        }
Exemple #14
0
 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));
 }
Exemple #15
0
 public bool[] GetLosMap()
 {
     return(ABICInterface.IAICallback_GetLosMap(self));
 }
Exemple #16
0
 public byte[] GetMetalMap()
 {
     return(ABICInterface.IAICallback_GetMetalMap(self));
 }
Exemple #17
0
 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);
 }
Exemple #18
0
 public int[] GetFriendlyUnits( )
 {
     return(ABICInterface.IAICallback_GetFriendlyUnits(self));
 }
Exemple #19
0
 public int[] GetEnemyUnitsInRadarAndLos( )
 {
     return(ABICInterface.IAICallback_GetEnemyUnitsInRadarAndLos(self));
 }
Exemple #20
0
 public double[] GetCentreHeightMap()
 {
     return(ABICInterface.IAICallback_GetCentreHeightMap(self));
 }
Exemple #21
0
        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);
        }
Exemple #22
0
 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));
 }
Exemple #23
0
        public System.Boolean IsGamePaused( )

        {
            return(ABICInterface.IAICallback_IsGamePaused(self));
        }
Exemple #24
0
 public bool UnitIsBusy(int unitid)
 {
     return(ABICInterface.IAICallback_GetCurrentUnitCommandsCount(self, unitid) > 0);
 }
Exemple #25
0
        public System.Int32 GetMyAllyTeam( )

        {
            return(ABICInterface.IAICallback_GetMyAllyTeam(self));
        }
Exemple #26
0
        public System.Boolean RemoveUnitFromGroup(System.Int32 unitid)

        {
            return(ABICInterface.IAICallback_RemoveUnitFromGroup(self, unitid));
        }
Exemple #27
0
        public System.Boolean AddUnitToGroup(System.Int32 unitid, System.Int32 groupid)

        {
            return(ABICInterface.IAICallback_AddUnitToGroup(self, unitid, groupid));
        }
Exemple #28
0
        public System.Void EraseGroup(System.Int32 groupid)

        {
            ABICInterface.IAICallback_EraseGroup(self, groupid);
        }
Exemple #29
0
        public System.String GetMapName( )

        {
            return(ABICInterface.IAICallback_GetMapName(self));
        }
Exemple #30
0
        public System.Double GetUnitDefHeight(System.Int32 def)

        {
            return(ABICInterface.IAICallback_GetUnitDefHeight(self, def));
        }