// ------------------------------------------------------------------------------ // FUNCTIONS // ------------------------------------------------------------------------------ // ------------------------------------------------------------------------------ // Function Name: Start // Return types: void // Argument types: N/A // Author: Michael Smith // Date: 9/26/2017 // ------------------------------------------------------------------------------ // Purpose: Runs at the start of a scene. Ensures the associated collider is a trigger; // sets the current level tracking to the level provided in the enum selection; // iterates through all segments in the designated level to locate the appropriate // segment data. Sets the gravity of the segment to the selected gravity setting. // ------------------------------------------------------------------------------ private void Start() { GetComponent<BoxCollider>().isTrigger = true; currentLevel = WLD_GameController.activeLevel; for (int i = 0; i < currentLevel.LevelSegments.Length; i++) { if (currentLevel.LevelSegments[i].SegmentNumber == segmentNumber) { segment = currentLevel.LevelSegments[i]; } } WLD_Teleporter[] teleporters = FindObjectsOfType<WLD_Teleporter>(); for (int i = 0; i < teleporters.Length; i++) { if (teleporters[i].GetComponent<WLD_TeleporterOff>() != null) { teleporters[i].enabled = false; } } segment.GravitySetting = segmentGravity; }
/* ------------------------------------------------------------------------------ * Function Name: Start * Return types: N/A * Argument types: N/A * Author: * Date Created: * Last Updated: * ------------------------------------------------------------------------------ * Purpose: Used to initialize variables or perform startup processes * ------------------------------------------------------------------------------ */ void Start() { scene = WLD_GameController.activeLevel; //powerUpParticles.startColor = WLD_GameController.gravityImages[FindObjectOfType<UI_UIButtonManager>().GravitySetting]; //powerUpLights.color = WLD_GameController.gravityImages[FindObjectOfType<UI_UIButtonManager>().GravitySetting]; }//End Start
void Update() { currentLevel = WLD_GameController.activeLevel; if (currentLevel == WLD_GameController.levels[Scenes.Hub]) { Jump(); } else { return; } }
// ------------------------------------------------------------------------------ // FUNCTIONS // ------------------------------------------------------------------------------ /* ------------------------------------------------------------------------------ * Function Name: Start * Return types: N/A * Argument types: N/A * Author: * Date Created: * Last Updated: * ------------------------------------------------------------------------------ * Purpose: Used to initialize variables or perform startup processes * ------------------------------------------------------------------------------ */ void Start() { levelTeleporters = new Vector3[WLD_GameController.activeLevel.LevelSegments.Length]; for (int i = 0; i < WLD_GameController.activeLevel.LevelSegments.Length; i++) { levelTeleporters[i] = new Vector3(WLD_GameController.activeLevel.LevelSegments[i].TeleporterX, WLD_GameController.activeLevel.LevelSegments[i].TeleporterY, WLD_GameController.activeLevel.LevelSegments[i].TeleporterZ); } currentLevel = WLD_GameController.activeLevel; lL = FindObjectOfType <WLD_LevelLoader>(); //Ref to levelLoader script - will need to update to ref specific Teleporter's Segement selection later player = WLD_GameController.player; playerMove = FindObjectOfType <PLR_CharacterMovement>(); }//End Start
}//End Start /* ------------------------------------------------------------------------------ * Function Name: Update * Return types: N/A * Argument types: N/A * Author: * Date Created: * Last Updated: * ------------------------------------------------------------------------------ * Purpose: Runs each frame. Used to perform frame based checks and actions. * ------------------------------------------------------------------------------ */ void Update() { if (scene != WLD_GameController.activeLevel) { powerUpParticles.startSize = 0f; powerUpLights.intensity = 0f; scene = WLD_GameController.activeLevel; } if (shootScript.GETcurTime < shootScript.GETfireRate) { powerUpParticles.startSize = shootScript.GETcurTime / shootScript.GETfireRate * 2; powerUpLights.intensity = shootScript.GETcurTime / shootScript.GETfireRate * 2; powerUpParticles.startColor = WLD_GameController.gravityImages[FindObjectOfType <UI_UIButtonManager>().GravitySetting]; powerUpLights.color = WLD_GameController.gravityImages[FindObjectOfType <UI_UIButtonManager>().GravitySetting]; } }
// ------------------------------------------------------------------------------ // FUNCTIONS // ------------------------------------------------------------------------------ // ------------------------------------------------------------------------------ // Function Name: // Return types: // Argument types: // Author: // Date: // ------------------------------------------------------------------------------ // Purpose: // ------------------------------------------------------------------------------ private void Start() { currentLevel = WLD_GameController.activeLevel; previousLevel = currentLevel; }
// ------------------------------------------------------------------------------ // FUNCTIONS // ------------------------------------------------------------------------------ // ------------------------------------------------------------------------------ // Function Name: Awake // Return types: N/A // Argument types: N/A // Author: Michael Smith // Date: 9/25/2017 // ------------------------------------------------------------------------------ // Purpose: Runs before any other script element; ensures this object is the only // game controller in the game, regardless of start point. // ------------------------------------------------------------------------------ private void Awake() { if (controller == null) { DontDestroyOnLoad(gameObject); controller = this; } else if (controller != this) { Destroy(gameObject); } if (levels == null) { if (BuildGameLevels(levels)) { Debug.Log("Levels and segments built.", this); } else { Debug.LogError("A problem was encountered when attempting to build the game levels.", this); } AttributeGravityValues(); } for (int i = 0; i < levels.Count; i++) { if (levels[(Scenes)i].SceneIndex == SceneManager.GetActiveScene().buildIndex) { activeLevel = levels[(Scenes)i]; } } if (player == null) { player = GameObject.FindGameObjectWithTag(UNA_Tags.player); } if (endPieces == null) { endPieces = new bool[7]; } if (mainUICanvas == null) { mainUICanvas = GameObject.Find("MainUICanvas"); } if (uIButtonManager == null) { uIButtonManager = GetComponentInChildren<UI_UIButtonManager>().gameObject; } LocateReferences(); Debug.Log(activeLevel.LevelName); if (activeLevel == levels[Scenes.Controls] || activeLevel == levels[Scenes.Credits] || activeLevel == levels[Scenes.MainMenu] || activeLevel == levels[Scenes.LoadGame]) { player.SetActive(false); Camera.main.GetComponent<WLD_CameraFollow_SL>().enabled = false; Camera.main.transform.position = new Vector3(0, 0, -16); Camera.main.transform.rotation = Quaternion.identity; } else { player.SetActive(true); Camera.main.GetComponent<WLD_CameraFollow_SL>().enabled = true; } if (activeLevel == levels[Scenes.Hub] || activeLevel == levels[Scenes.Controls] || activeLevel == levels[Scenes.Credits] || activeLevel == levels[Scenes.MainMenu] || activeLevel == levels[Scenes.LoadGame]) { mainUICanvas.GetComponent<Canvas>().enabled = false; } else { mainUICanvas.GetComponent<Canvas>().enabled = true; } WLD_Teleporter[] teleporters = FindObjectsOfType<WLD_Teleporter>(); for (int i = 0; i < activeLevel.LevelSegments.Length; i++) { for (int z = 0; z < teleporters.Length; z++) { if (activeLevel.LevelSegments[i].SegmentNumber == teleporters[z].segmentNumber) { activeLevel.LevelSegments[i].TeleporterX = teleporters[z].transform.position.x; activeLevel.LevelSegments[i].TeleporterY = teleporters[z].transform.position.y; activeLevel.LevelSegments[i].TeleporterZ = teleporters[z].transform.position.z; } } } if (gravitySettingDictionary == null) { AddGravitySettings(gravitySettingDictionary); } }
// ------------------------------------------------------------------------------ // Function Name: // Return types: // Argument types: // Author: // Date: // ------------------------------------------------------------------------------ // Purpose: This function calls pause or unpause in all the other levels // ------------------------------------------------------------------------------ void CorePause() { if (!FindObjectOfType<WLD_LevelLoader>().loadingScreen.activeSelf) { currentLevel = WLD_GameController.activeLevel; if (currentLevel != WLD_GameController.levels[Scenes.MainMenu] || currentLevel != WLD_GameController.levels[Scenes.Hub] || currentLevel != WLD_GameController.levels[Scenes.Controls] || currentLevel != WLD_GameController.levels[Scenes.Credits]) { if (!isPaused) { if (Input.GetAxisRaw("Pause") > 0 && pauseButtonEnabled && currentLevel != WLD_GameController.levels[Scenes.Hub]) { plr_CharacterMovement = FindObjectOfType<PLR_CharacterMovement>(); plr_Shoot = FindObjectOfType<PLR_Shoot>(); WLD_GameController.ui_GameObjects[UI_GO_Panels.PausePanel].SetActive(!WLD_GameController.ui_GameObjects[UI_GO_Panels.PausePanel].activeSelf); isPaused = true; Time.timeScale = 0; plr_Shoot.enabled = false; plr_CharacterMovement.enabled = false; WLD_GameController.ui_GameObjects[UI_GO_Panels.GravityPanelSmallGo].SetActive(false); Debug.Log("Paused"); } } else if (isPaused) { if (Input.GetAxisRaw("Pause") > 0 && pauseButtonEnabled && currentLevel != WLD_GameController.levels[Scenes.Hub]) { plr_CharacterMovement = FindObjectOfType<PLR_CharacterMovement>(); plr_Shoot = FindObjectOfType<PLR_Shoot>(); //gGunEnlargeButton.enabled = true; WLD_GameController.ui_Texts[UI_Txt.SaveGameNotificationText].enabled = false; WLD_GameController.ui_GameObjects[UI_GO_Panels.GravityPanelSmallGo].SetActive(true); if (UNA_StaticVariables.isShrunk == false) { gameObject.GetComponent<UI_UIButtonManager>().GgunShrink(); } //if (topTimesScoresOverlay.activeSelf) //{ // return; //} //else if (!topTimesScoresOverlay.activeSelf) //{ // WLD_GameController.ui_GameObjects[UI_GO_Panels.PausePanel].SetActive(!WLD_GameController.ui_GameObjects[UI_GO_Panels.PausePanel].activeSelf); // isPaused = false; // Time.timeScale = 1; // gGunEnlargeButton.enabled = true; // WLD_GameController.ui_Texts[UI_Txt.SaveGameNotificationText].enabled = false; // if (!msgSystem.show) // { // plr_Shoot.enabled = true; // plr_CharacterMovement.enabled = true; // } // Debug.Log("UN-paused"); //} WLD_GameController.ui_GameObjects[UI_GO_Panels.PausePanel].SetActive(!WLD_GameController.ui_GameObjects[UI_GO_Panels.PausePanel].activeSelf); isPaused = false; Time.timeScale = 1; WLD_GameController.ui_Texts[UI_Txt.SaveGameNotificationText].enabled = false; if (!msgSystem.show) { plr_Shoot.enabled = true; plr_CharacterMovement.enabled = true; } Debug.Log("UN-paused"); if (helpMenu.activeSelf) { helpMenu.SetActive(false); WLD_GameController.ui_GameObjects[UI_GO_Panels.PausePanel].SetActive(true); isPaused = true; Time.timeScale = 0; plr_Shoot.enabled = false; plr_CharacterMovement.enabled = false; } if (!helpMenu.activeSelf) { UI_MenuManager.isHelpCkicked = false; helpEventSystem.enabled = false; gameControllerEventSystem.enabled = true; } if (saveMenu.activeSelf) { saveMenu.SetActive(false); WLD_GameController.ui_GameObjects[UI_GO_Panels.PausePanel].SetActive(true); isPaused = true; Time.timeScale = 0; plr_Shoot.enabled = false; plr_CharacterMovement.enabled = false; } if (!saveMenu.activeSelf) { UI_MenuManager.isSavedClicked = false; saveEventSystem.enabled = false; gameControllerEventSystem.enabled = true; } } } if (currentLevel != WLD_GameController.levels[Scenes.Tutorial]) { SetPauseButtonEnabled(); } } } }