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