Example #1
0
    void Sceneloadset(Scene Scene, LoadSceneMode mode)
    {
        if (SceneManager.GetActiveScene().name != "MainMenu" && SceneManager.GetActiveScene().name != "Options" && SceneManager.GetActiveScene().name != "Credits")
        {
            #region Gathering
            PlayerGO      = GameObject.FindGameObjectWithTag("Player");
            ElephantGO    = GameObject.FindGameObjectWithTag("Elephant");
            airformGO     = GameObject.FindGameObjectWithTag("AirForm");
            CrabGO        = GameObject.FindGameObjectWithTag("Crab");
            waterGO       = GameObject.FindGameObjectWithTag("WaterForm");
            smokeSprite   = GameObject.Find("SmokeParent").GetComponentInChildren <SpriteRenderer>();
            curTransMatch = PlayerGO;
            #endregion

            #region Array Set
            playerMRA   = GameObject.FindGameObjectWithTag("PlayerMesh").GetComponentsInChildren <MeshRenderer>();
            waterMRA    = waterGO.GetComponentsInChildren <MeshRenderer>();
            elephantMRA = ElephantGO.GetComponentsInChildren <MeshRenderer>();
            crabMRA     = CrabGO.GetComponentsInChildren <MeshRenderer>();
            airformMRA  = airformGO.GetComponentsInChildren <MeshRenderer>();
            currForm    = playerMRA;
            #endregion

            #region Active Set
            foreach (MeshRenderer mr in waterMRA)
            {
                mr.enabled = false;
            }
            foreach (MeshRenderer mr in elephantMRA)
            {
                mr.enabled = false;
            }
            foreach (MeshRenderer mr in crabMRA)
            {
                mr.enabled = false;
            }
            foreach (MeshRenderer mr in airformMRA)
            {
                mr.enabled = false;
            }

            waterGO.GetComponentInChildren <Collider>().enabled = false;
            ElephantGO.GetComponent <Collider>().enabled        = false;
            CrabGO.GetComponent <Collider>().enabled            = false;
            airformGO.GetComponent <Collider>().enabled         = false;
            #endregion
        }
    }
    public void Transform()
    {
        //each if check checks for a keypress, and checks if the current transformation is not the same as the keypress.
        //if the current transformation is different from the keypress's transformation, the current GO is set inactive.
        //the current transformation becomes the new keypress's GO and then it is set active.

        if (CurTrans.GetComponent <CharacterController>().isGrounded&& wasJumping)
        {
            wasJumping = false;
            playSound  = true;
            smokeTimer = .5f;
            if (CurTrans != PlayerGO)
            {
                CurTrans.gameObject.SetActive(false);
            }
            PlayerGO.transform.position = CurPosition;
            CurTrans = PlayerGO;
            PlayerGO.SetActive(true);
        }

        if (Input.GetKeyDown(KeyCode.Space) && !CrabGO.GetComponent <CrabMovement>().inWater)        // air form
        {
            playSound  = true;
            smokeTimer = .5f;
            if (CurTrans != airformGO)
            {
                CurTrans.gameObject.SetActive(false);
            }
            airformGO.transform.position = CurPosition;
            CurTrans = airformGO;
            airformGO.SetActive(true);
            wasJumping = true;
        }

        if (CrabGO.GetComponent <CrabMovement>().inWater)
        {
            playSound  = true;
            smokeTimer = .5f;
            if (CurTrans != waterGO)
            {
                CurTrans.gameObject.SetActive(false);
            }
            waterGO.transform.position = CurPosition;
            CurTrans = waterGO;
            waterGO.SetActive(true);
        }
    }
    void Sceneloadset(Scene Scene, LoadSceneMode mode)
    {
        #region Gathering
        PlayerGO    = GameObject.FindGameObjectWithTag("Player");
        ElephantGO  = GameObject.FindGameObjectWithTag("Elephant");
        airformGO   = GameObject.FindGameObjectWithTag("AirForm");
        CrabGO      = GameObject.FindGameObjectWithTag("Crab");
        smokeSprite = GameObject.Find("SmokeParent").GetComponentInChildren <SpriteRenderer>();
        #endregion

        #region Active Set
        ElephantGO.SetActive(false);
        airformGO.SetActive(false);
        smokeSprite.enabled = false;
        CrabGO.SetActive(false);
        #endregion

        CurTrans = PlayerGO;
    }