Ejemplo n.º 1
0
        public AIPlayer CreateAIPlayer(GameEnums.EGameDifficultyMode difficultyMode, string name, Color color)
        {
            IAIBehaviour tier1AI = AIFactory.CreateInstance(m_DifficultyToAlgorithmMap[difficultyMode].tier1Algorithm);
            IAIBehaviour tier2AI = AIFactory.CreateInstance(m_DifficultyToAlgorithmMap[difficultyMode].tier2Algorithm);

            return(NonMonoObjectFactory <AIPlayer> .CreateInstance(() => new AIPlayer(name, color, GameEnums.EPlayerType.PLAYER_AI, tier1AI, tier2AI)));
        }
        void CreatePlayers()
        {
            switch (gameMode)
            {
            case GameEnums.EGameMode.PvP:

                m_Player1Type = GameEnums.EPlayerType.PLAYER_1;
                m_Player2Type = GameEnums.EPlayerType.PLAYER_2;

                m_Player_1 = NonMonoObjectFactory <Player> .CreateInstance(() => new Player("Player 1", new Color(1, 0, 0, 1), m_Player1Type));

                m_Player_2 = NonMonoObjectFactory <Player> .CreateInstance(() => new Player("Player 2", new Color(0, 0, 1, 1), m_Player2Type));

                break;

            case GameEnums.EGameMode.PvAI:

                m_Player1Type = GameEnums.EPlayerType.PLAYER_1;
                m_Player2Type = GameEnums.EPlayerType.PLAYER_AI;

                m_Player_1 = NonMonoObjectFactory <Player> .CreateInstance(() => new Player("Player 1", new Color(1, 0, 0, 1), m_Player1Type));

                m_Player_2 = aiManager.CreateAIPlayer(difficultyMode, "Player 2", new Color(0, 0, 1, 1));

                break;

            case GameEnums.EGameMode.AIvAI:

                m_Player1Type = GameEnums.EPlayerType.PLAYER_AI;
                m_Player2Type = GameEnums.EPlayerType.PLAYER_AI;

                m_Player_1 = aiManager.CreateAIPlayer(difficultyMode, "Player 1", new Color(1, 0, 0, 1));
                m_Player_2 = aiManager.CreateAIPlayer(difficultyMode, "Player 2", new Color(0, 0, 1, 1));

                break;
            }

            SetInitiatingPlayer();

            GameEventManager.TriggerPlayersCreated();
        }