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; } }
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; } }