Ejemplo n.º 1
0
    private void Start()
    {
        GameObject LobbyUI = GameObject.Find("LobbyUI");

        m_eCurPanel = UI_PANEL_INDEX.PANEL_LOBBY;
        for (int i = (int)UI_PANEL_INDEX.PANEL_START; i < (int)UI_PANEL_INDEX.PANEL_END; i++)
        {
            UIPanel Node = LobbyUI.transform.GetChild(i + 1).GetComponent <UIPanel>();
            Node.gameObject.SetActive(false);
            m_ListPanel.Add(Node);
        }

        var CharList = UserInfo.instance.GetMyCharList();
        int iCount   = CharList.Count;

        string[] strIndex = new string[CharList.Count];
        int[]    iarr     = new int[CharList.Count];
        //내가 가진 캐릭터 리스트 기반
        for (int i = 0; i < iCount; i++)
        {
            try
            {
                string route = Util.ConvertToString(CharList[i].GetCharData(CHAR_DATA.CHAR_INDEX));
                string name  = Util.ConvertToString(CharList[i].GetCharData(CHAR_DATA.CHAR_NAME));
                strIndex[i] = "Player/" + route + "/Prefabs/" + name;
                iarr[i]     = Util.ConvertToInt(CharList[i].GetCharData(CHAR_DATA.CHAR_INDEX));
            }
            catch (System.NullReferenceException ex)
            {
                Debug.Log(ex);
            }
        }
        CharPoolManager.instance.Set(POOL_INDEX.POOL_USER_CHAR.ToString(), strIndex, iarr, iCount);
        //내가 가진 캐릭터 모델링들을 미리 셋팅

        PanelOnOff(UI_PANEL_INDEX.PANEL_LOBBY, false);

        m_UserLevel.text   += UserInfo.instance.GetUserData(USER_INFO.USER_INFO_LEVEL);     //유저 레벨
        m_UserNickName.text = UserInfo.instance.GetUserData(USER_INFO.USER_INFO_NICKNAME);  //유저 닉네임

        float cur = Util.ConvertToInt(UserInfo.instance.GetUserData(USER_INFO.USER_INFO_CUR_EXP));
        float max = Util.ConvertToInt(UserInfo.instance.GetUserData(USER_INFO.USER_INFO_MAX_EXP));

        m_UserEXP.fillAmount = 1.0f - (float)((max - cur) / max);
        m_UserEXPLabel.text  = (cur + "/" + max);

        cur = Util.ConvertToInt(UserInfo.instance.GetUserData(USER_INFO.USER_INFO_CUR_ENERGY));
        max = Util.ConvertToInt(UserInfo.instance.GetUserData(USER_INFO.USER_INFO_MAX_ENERGY));
        m_UserEnergy.text = (cur + "/" + max);

        m_UserGold.text = UserInfo.instance.GetUserData(USER_INFO.USER_INFO_GOLD);
    }
Ejemplo n.º 2
0
    void PanelOnOff(UI_PANEL_INDEX eindex, bool bStack = true)
    {
        if (bStack)
        {
            m_StackPanel.Push(m_eCurPanel);
        }
        m_eCurPanel = eindex;   //현재 패널

        if (eindex != UI_PANEL_INDEX.PANEL_VALKYRJA && eindex != UI_PANEL_INDEX.PANEL_CHAR_INFO &&
            eindex != UI_PANEL_INDEX.PANEL_ITEM_SELECT)
        {
            GameManager.instance.DestroyModel();
            //이 외의 패널은 모두 현재 선택된 캐릭터를 다시 반납한다.
        }

        if (eindex == UI_PANEL_INDEX.PANEL_LOBBY)
        {
            MainCharSet(true);
            m_ListPanel[(int)UI_PANEL_INDEX.PANEL_BUTTON].gameObject.SetActive(false);
        }
        else
        {
            MainCharSet(false);
            m_ListPanel[(int)UI_PANEL_INDEX.PANEL_BUTTON].gameObject.SetActive(true);
            //무슨 패널이라도 무조건 켜주는 버튼 패널
        }

        for (int i = (int)UI_PANEL_INDEX.PANEL_START; i < (int)UI_PANEL_INDEX.PANEL_END - 1; i++)
        {
            if (i == (int)eindex)   //켜고자 하는 거 외에는 모두 꺼라
            {
                m_ListPanel[i].gameObject.SetActive(true);
            }
            else
            {
                m_ListPanel[i].gameObject.SetActive(false);
            }
        }
    }
Ejemplo n.º 3
0
    public void OnClick()
    {
        //로비에서 사용되는 버튼들은 여기서 구분한다.
        string Button = UIButton.current.name;

        if (Button == "StageButton")
        {
            PanelOnOff(UI_PANEL_INDEX.PANEL_STAGE);
        }
        else if (Button == "HomeButton")
        {
            Vector3 vec = Camera.main.transform.position;
            vec.x = 0;
            Camera.main.transform.position = vec;

            PanelOnOff(UI_PANEL_INDEX.PANEL_LOBBY);
            GameManager.instance.ResetData();
        }
        else if (Button == "BackButton")
        {
            Vector3 vec = Camera.main.transform.position;
            vec.x = 0;
            Camera.main.transform.position = vec;

            //이전 패널
            UI_PANEL_INDEX eCur   = m_eCurPanel;
            UI_PANEL_INDEX eIndex = m_StackPanel.Pop();

            PanelOnOff(eIndex, false);
            if (eCur == UI_PANEL_INDEX.PANEL_ITEM_SELECT) //현재 패널이 아이템 셀렉이고 이전 패널로 돌아간다면?
            {
                if (m_iItemSelect == 0)
                {
                    m_ListPanel[(int)UI_PANEL_INDEX.PANEL_CHAR_INFO].GetComponent <CharInfoPanel>().UiOnOff(CHAR_INFO_UI.CHAR_INFO_UI_WEAPON);
                }
                else if (m_iItemSelect == 1)
                {
                    m_ListPanel[(int)UI_PANEL_INDEX.PANEL_CHAR_INFO].GetComponent <CharInfoPanel>().UiOnOff(CHAR_INFO_UI.CHAR_INFO_UI_STIGMA);
                }
                m_iItemSelect = -1;
            }
            if (m_eCurPanel == UI_PANEL_INDEX.PANEL_LOBBY || m_eCurPanel == UI_PANEL_INDEX.PANEL_STAGE)
            {
                GameManager.instance.ResetData();
            }
        }
        else if (Button.Contains("Stage_"))  //스테이지 버튼 중 하나를 클릭
        {
            string[] split = Button.Split('_');
            string   stage = split[split.Length - 1];
            GameManager.instance.StageSelect(int.Parse(stage)); //내가 선택한 스테이지 임시 저장
            PanelOnOff(UI_PANEL_INDEX.PANEL_STAGE_READY);
            //캐릭터 선택 패널로 넘어가며 여기서 내가 가진 캐릭터로 세팅 할 수 있다.
        }
        else if (Button.Contains("SelectChar_")) //유저가 캐릭터 선택 창을 클릭하였다.
        {
            //무슨 캐릭터 선택창을 선택했는가를 확인
            string[] split = Button.Split('_');
            m_strCharSelect = split[split.Length - 1];   //내가 선택한 캐릭터 선택창 임시 저장
            PanelOnOff(UI_PANEL_INDEX.PANEL_VALKYRJA);   //캐릭터 선택창을 선택하면 해당 스크립트가 실행되면서 활동한다.
            m_ListPanel[(int)UI_PANEL_INDEX.PANEL_VALKYRJA].GetComponent <ValkyrjaPanel>().ButtonOnOff(true);
        }
        else if (Button == "SelectButton")
        {
            //캐릭터 선택 버튼을 눌렀으면 이전 패널로 돌아가며, 스프라이트에 해당 캐릭터의 그림과 이름이 올라간다.
            if (GameManager.instance.CharSelectComplete(int.Parse(m_strCharSelect)))
            {
                m_ListPanel[(int)UI_PANEL_INDEX.PANEL_STAGE_READY].GetComponent <StageReadyPanel>().SelectChar(m_strCharSelect);
                PanelOnOff(UI_PANEL_INDEX.PANEL_STAGE_READY, false);
                m_StackPanel.Pop();
            }
        }
        else if (Button == "StageStart")
        {
            if (GameManager.instance.StageReady())
            {
                GameManager.instance.GameStart();   //게임 시작
            }
        }
        else if (Button == "Valkyrja")
        {
            //캐릭터 창, 여기서 장비 장착등이 가능하다.
            PanelOnOff(UI_PANEL_INDEX.PANEL_VALKYRJA);
            m_ListPanel[(int)UI_PANEL_INDEX.PANEL_VALKYRJA].GetComponent <ValkyrjaPanel>().ButtonOnOff(false);
        }
        else if (Button == "Equipment")
        {
            PanelOnOff(UI_PANEL_INDEX.PANEL_EQUIPMENT);
        }
    }