Beispiel #1
0
    public SinglePlayerMatch(SinglePlayerMatchModeStructure sp_MatchModeStructure, Vector3[] _playerSpawnPositions)
    {
        players = new List <Player>();
        playerSpawnPositions = _playerSpawnPositions;


        if (sp_MatchModeStructure.playSide == GamePlaySide.Left)
        {
            var playerGObj = GameObject.Instantiate(sp_MatchModeStructure.playerToSpawn, playerSpawnPositions[0], Quaternion.identity);
            playerGObj.name = "PlayerLeft";
            var botGObj = GameObject.Instantiate(sp_MatchModeStructure.playerToSpawn, playerSpawnPositions[1], Quaternion.identity);
            botGObj.name = "BotRight";

            Player player    = new Player(PlayerId.One, playerGObj, GamePlaySide.Left);
            Player botPlayer = new Player(PlayerId.Two, botGObj, GamePlaySide.Right);

            playerGObj.AddComponent <Paddle>().playSide = GamePlaySide.Left;

            CreateBot(sp_MatchModeStructure, botGObj, GamePlaySide.Right);

            players.Add(player);
            players.Add(botPlayer);

            scoreMaintainer = new ScoreMaintainer(sp_MatchModeStructure.maxScoreToWin);
        }
        else
        {
            var playerGObj = GameObject.Instantiate(sp_MatchModeStructure.playerToSpawn, playerSpawnPositions[1], Quaternion.identity);
            playerGObj.name = "PlayerRight";
            var botGObj = GameObject.Instantiate(sp_MatchModeStructure.playerToSpawn, playerSpawnPositions[0], Quaternion.identity);
            botGObj.name = "BotLeft";

            Player player    = new Player(PlayerId.One, playerGObj, GamePlaySide.Right);
            Player botPlayer = new Player(PlayerId.Two, botGObj, GamePlaySide.Left);

            playerGObj.AddComponent <Paddle>().playSide = GamePlaySide.Right;

            CreateBot(sp_MatchModeStructure, botGObj, GamePlaySide.Left);

            players.Add(player);
            players.Add(botPlayer);

            scoreMaintainer = new ScoreMaintainer(sp_MatchModeStructure.maxScoreToWin, true);
        }

        GameReadyToStartState.onStateEntered += DestroyPaddles;
    }
Beispiel #2
0
    private void CreateBot(SinglePlayerMatchModeStructure sp_MatchModeStructure, GameObject botGObj, GamePlaySide botToPlaySide)
    {
        switch (sp_MatchModeStructure.gameDifficultyTypes)
        {
        case GameDifficultyTypes.Easy:
            botGObj.AddComponent <BotPaddleEasy>().playSide = botToPlaySide;
            break;

        case GameDifficultyTypes.Normal:
            botGObj.AddComponent <BotPaddleNormal>().playSide = botToPlaySide;
            break;

        case GameDifficultyTypes.Hard:
            botGObj.AddComponent <BotPaddleHard>().playSide = botToPlaySide;
            break;
        }
    }