//-------------------------------------------------------------------------------- public void SetSpeedState(Ai.SpeedState b) { Ai.SpeedState state = b; switch (state) { case Ai.SpeedState.Constant: m_vSpeedMultiplier = new Vector2(5, 0.5f); break; case Ai.SpeedState.Exponential: m_bExpSpeed = true; m_vSpeedMultiplier = new Vector2(12, 5); break; case Ai.SpeedState.Linear: m_vSpeedMultiplier = new Vector2(7, 0); break; } m_vInitialBallSpeed = m_vSpeedMultiplier; }
//-------------------------------------------------------------------------------- public void Start() { Application.targetFrameRate = 60; m_b2Player = false; if (PlayerPrefs.GetInt("Is2Player") == 1) { m_b2Player = true; } #region UI STUFF m_iPlayerScore = 0; m_iAIScore = 0; m_CanvasTextComps = GameObject.Find("ScoreCanvas").GetComponentsInChildren <Text>(); m_CanvasButtons = GameObject.Find("ScoreCanvas").GetComponentsInChildren <Button>(); //PauseMenu m_PauseMenu = Resources.Load("PauseMenuPrefab", typeof(GameObject)) as GameObject; m_PauseMenu = (GameObject)Instantiate(m_PauseMenu, new Vector3(0, 0, 0), new Quaternion()); m_PauseMenu.name = "PauseMenuPrefab"; m_PauseMenuButtons = GameObject.Find("PauseMenuPrefab").GetComponentsInChildren <Button>(); for (int i = 0; i < m_PauseMenuButtons.Length; i++) { if (m_PauseMenuButtons[i].name == "ExitButton") { m_ExitButton = m_PauseMenuButtons[i]; m_ExitButton.onClick.AddListener(new UnityEngine.Events.UnityAction(OnPauseMenuExitButtonClick)); } if (m_PauseMenuButtons[i].name == "GoBackButton") { m_GoBackButton = m_PauseMenuButtons[i]; m_GoBackButton.onClick.AddListener(new UnityEngine.Events.UnityAction(OnPauseMenuGoBackButtonClick)); } if (m_PauseMenuButtons[i].name == "RestartButton") { m_RestartButton = m_PauseMenuButtons[i]; m_RestartButton.onClick.AddListener(new UnityEngine.Events.UnityAction(OnPauseMenuRestartButtonClick)); } if (m_PauseMenuButtons[i].name == "MainMenuButton") { m_MainMenuButton = m_PauseMenuButtons[i]; m_MainMenuButton.onClick.AddListener(new UnityEngine.Events.UnityAction(OnMainMenuButtonClick)); } } m_PauseMenu.SetActive(false); //Global Canvas for (int i = 0; i < m_CanvasButtons.Length; i++) { if (m_CanvasButtons[i].name == "MenuButton") { m_MenuButton = m_CanvasButtons[i]; } } m_MenuButton.onClick.AddListener(new UnityEngine.Events.UnityAction(OnMenuButtonClick)); for (int i = 0; i < m_CanvasTextComps.Length; i++) { if (m_CanvasTextComps[i].name == "PlayerScoreText") { m_PlayerScoreText = m_CanvasTextComps[i]; } if (m_CanvasTextComps[i].name == "AIScoreText") { m_AIScoreText = m_CanvasTextComps[i]; } } m_PlayerScoreText.text = "Player Score:"; m_AIScoreText.text = "AI Score:"; Text[] t = GameObject.Find("ScoreCanvas").GetComponentsInChildren <Text>(); for (int i = 0; i < t.Length; ++i) { if (t[i].name == "CountDownText") { m_DelayText = t[i]; } } #endregion #region RESOURCE INITIALIZATION m_Ball = Resources.Load("Ball", typeof(GameObject)) as GameObject; m_Paddle = Resources.Load("Paddle", typeof(GameObject)) as GameObject; m_vInitialBallPosition = m_Ball.transform.position; float paddleOffsetFromEdge = m_Paddle.GetComponent <BoxCollider2D>().bounds.extents.x / 2; m_Paddle.transform.position = Camera.main.ScreenToWorldPoint(new Vector3(paddleOffsetFromEdge, Screen.height / 2, 0)); m_Paddle.transform.position += new Vector3(0, 0, 1); m_Paddle.transform.localScale = new Vector3(0.1f, 0.5f, 0); m_Paddle = Instantiate(m_Paddle); m_Paddle.name = "LeftPaddle"; m_vInitialPlayerPaddlePosition = m_Paddle.transform.position; m_Paddle.SendMessage("SetPlayer", true); if (m_b2Player) { m_Player2Paddle = Resources.Load("Player2Paddle", typeof(GameObject)) as GameObject; paddleOffsetFromEdge = m_Player2Paddle.GetComponent <BoxCollider2D>().bounds.extents.x / 2; m_Player2Paddle.transform.position = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width - paddleOffsetFromEdge, Screen.height / 2, 0)); m_Player2Paddle.transform.position += new Vector3(0, 0, 1); m_Player2Paddle.transform.localScale = new Vector3(0.1f, 0.5f, 0); m_Player2Paddle = Instantiate(m_Player2Paddle); m_Player2Paddle.name = "Player2Paddle"; m_vInitial2PlayerPaddlePosition = m_Player2Paddle.transform.position; m_Player2Paddle.SendMessage("SetPlayer", false); } else { m_AIPaddle = Resources.Load("AIPaddle", typeof(GameObject)) as GameObject; m_AIPaddle.transform.position = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width - paddleOffsetFromEdge, Screen.height / 2, 0)); m_AIPaddle.transform.position += new Vector3(0, 0, 1); m_AIPaddle.transform.localScale = new Vector3(0.1f, 0.5f, 0); m_AIPaddle = Instantiate(m_AIPaddle); m_AIPaddle.name = "AIPaddle"; m_vInitial2PlayerPaddlePosition = m_AIPaddle.transform.position; m_Player2Paddle = m_AIPaddle; } Ai.SpeedState s = Ai.SpeedState.Linear; m_Ball = Instantiate(m_Ball); m_Ball.name = "Ball"; m_Ball.transform.localScale = new Vector3(0.2f, 0.2f, 0); m_Ball.SendMessage("SetSpeedState", s); m_vScreenBoundary = new Vector2(Screen.width, Screen.height); #endregion #region Game State Initialization GameState initialStatus = new GameState(false, -1, false); m_sStatus = initialStatus; m_PlayerWinnerEndScreen = Resources.Load("PlayerWinnerScreen", typeof(GameObject)) as GameObject; m_AIWinnerEndScreen = Resources.Load("AIWinnerScreen", typeof(GameObject)) as GameObject; m_PlayerWinnerEndScreen = (GameObject)Instantiate(m_PlayerWinnerEndScreen, new Vector3(0, 5, 0), new Quaternion()); m_AIWinnerEndScreen = (GameObject)Instantiate(m_AIWinnerEndScreen, new Vector3(0, 5, 0), new Quaternion()); m_PlayerWinnerEndScreen.SetActive(false); m_AIWinnerEndScreen.SetActive(false); m_bDelayAfterAScore = false; if (PlayerPrefs.GetFloat("Difficulty") != -1) { float difficulty = PlayerPrefs.GetFloat("Difficulty"); //Debug.Log(difficulty.ToString()); } #endregion }