Exemple #1
0
        public AI(Fighter _ship)
        {
            ship = _ship;
            createPersonality();

            random = new Random(System.DateTime.Now.Millisecond + (int)Ship.UniqueId);

            aiShared = new AI_Shared_Data();
            aiShared.INTEREST_TIME = Ship.InterestTime + (float)random.NextDouble();

            mySpawningState = new AISpawningState(this);
            myWaitingToSpawnState = new AIWaitingToSpawnState(this);
            myWanderState = new AIWanderState(this);
            myPursuitState = new AIPursuitState(this);
            myEngageBattleshipState = new AIEngageBattleshipState(this);
            myRetreatState = new AIRetreatState(this);
            myDyingState = new AIDyingState(this);

            potentialCapitals = new List<CapitalShip>();
            potentialFighters = new List<Fighter>();

            currentState = myWaitingToSpawnState;
            AI_Overmind.inWaitingToSpawn++;

            assignedPhase = nextAssignedPhase;
            switch (nextAssignedPhase)
            {
                case aiActivationPhase.first: nextAssignedPhase = aiActivationPhase.second; break;
                case aiActivationPhase.second: nextAssignedPhase = aiActivationPhase.third; break;
                case aiActivationPhase.third: nextAssignedPhase = aiActivationPhase.first; break;
            }
        }
Exemple #2
0
 public static void updateGlobalAITimer(float deltaTime)
 {
     switch (currentPhase)
     {
         case aiActivationPhase.first: currentPhase = aiActivationPhase.second; break;
         case aiActivationPhase.second: currentPhase = aiActivationPhase.third; break;
         case aiActivationPhase.third: currentPhase = aiActivationPhase.first; break;
     }
 }