예제 #1
0
    // Update is called once per frame
    void Update()
    {
        if (step == Step.Join)
        {
            if (Input.GetButtonDown(characterInputString + "A"))
            {
                panelJoin.SetActive(false);
                panelCharSelect.SetActive(true);
                step = Step.CharSelect;
                CSM.ChangePlayerStatus(playerNumber, CharacterSelectManager.Step.CharSelect);
                charSpawn.character = CSM.characterList[characterIndex];
            }
        }



        else if (step == Step.CharSelect)
        {
            if (Input.GetButtonDown(characterInputString + "leftButton"))
            {
                buttonLeft.onClick.Invoke();
            }
            if (Input.GetButtonDown(characterInputString + "rightButton"))
            {
                buttonRight.onClick.Invoke();
            }

            if (Input.GetButtonDown(characterInputString + "A"))
            {
                panelCharSelect.SetActive(false);
                panelBackGround.GetComponent <Image>().color = new Vector4(0, 0, 0, 0);
                step = Step.Play;
                CSM.ChangePlayerStatus(playerNumber, CharacterSelectManager.Step.Play);
                CharSelectTerrain.SetActive(true);
                charSpawn.CharacterSpawn(charSpawn.gameObject.transform.position);
            }
            if (Input.GetButtonDown(characterInputString + "B"))
            {
                panelJoin.SetActive(true);
                panelCharSelect.SetActive(false);
                panelBackGround.GetComponent <Image>().color = new Vector4(0, 0, 255, 255);
                step = Step.Join;
                CSM.ChangePlayerStatus(playerNumber, CharacterSelectManager.Step.Join);
            }
        }



        else if (step == Step.Play)
        {
            if (Input.GetButtonDown(characterInputString + "B"))
            {
                panelCharSelect.SetActive(true);
                panelBackGround.GetComponent <Image>().color = new Vector4(0, 255, 0, 0);
                step = Step.CharSelect;
                CSM.ChangePlayerStatus(playerNumber, CharacterSelectManager.Step.CharSelect);
                CharSelectTerrain.SetActive(false);
                charSpawn.DespawnCharacter();
                charSpawn.character = CSM.characterList[characterIndex];
                loadBar.fillAmount  = 0;
            }
            if (Input.GetButton(characterInputString + "A") && CSM.readyToStart)
            {
                loadBar.fillAmount += fillAmount;
                if (loadBar.fillAmount >= 1)
                {
                    loadBar.color = new Vector4(0, 255, 0, 255);
                    CSM.PlayerReady(true);
                }
            }
            else if (!Input.GetButton(characterInputString + "A") && CSM.readyToStart)
            {
                if (loadBar.fillAmount >= 1)
                {
                    loadBar.color = new Vector4(255, 0, 0, 255);
                    CSM.PlayerReady(false);
                }
                loadBar.fillAmount -= fillAmount;
            }
        }
    }