Esempio n. 1
0
    // ------------------------------------------------------------------------------
    // 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
Esempio n. 3
0
    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;
    }
Esempio n. 7
0
    // ------------------------------------------------------------------------------
    // 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);

        }
       
    }
Esempio n. 8
0
    // ------------------------------------------------------------------------------
    // 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();
                }
            }
        }
    }