Exemple #1
0
 public static CGameContestRankingTifings GetChessRankingInstance(bool LoadResourceState = true)
 {
     if (instance_ == null)
     {
         instance_ = new CGameContestRankingTifings();
     }
     if (LoadResourceState)
     {
         instance_.LoadChessRankingResource();
     }
     return(instance_);
 }
Exemple #2
0
    void OnToggleChanged(Toggle t, string name, PageType pt, bool isOn, GameObject child)
    {
        if (isOn)
        {
            m_CurContestRankingToggle = null;
            CustomAudio.GetInstance().PlayCustomAudio(1003);
            if (pt == PageType.ePT_Chess)
            {
                m_CurContestRankingToggle = t.gameObject;
                if (ContestGameDataDictionary.ContainsKey(t.gameObject))
                {
                    string [] ValueString = ContestGameDataDictionary[t.gameObject].Split('|');
                    if (ValueString.Length == 2)
                    {
                        long ContestID = 0;
                        long.TryParse(ValueString[0], out ContestID);
                        int PlayetNumber = 0;
                        int.TryParse(ValueString[1], out PlayetNumber);
                        CGameContestRankingTifings.GetChessRankingInstance().SetSelectContestID(ContestID);
                        CGameContestRankingTifings.GetChessRankingInstance().CreateGameRankingPlayerUIOjbect(PlayetNumber, true);
                    }
                }
                CGameContestRankingTifings.GetChessRankingInstance().ResetChessRanking();
            }
            else if (pt == PageType.ePT_Activity)
            {
                GameObject obj = t.transform.Find("ImageSpot").gameObject;
                if (obj.activeSelf)
                {
                    NeedClick--;
                    obj.SetActive(false);
                    StateStorage.SaveData(pt + ":" + name, true);
                }
            }
        }

        if (child != null)
        {
            child.SetActive(isOn);
        }
    }
Exemple #3
0
    void AddPage(AssetBundle bundle, string name, PageType pt, object param = null,
                 bool pageOn = false, UnityAction <Toggle, GameObject> fun = null, bool bReadState = true)
    {
        if (bundle == null)
        {
            return;
        }

        GameObject obj = (GameObject)bundle.LoadAsset("Lobby_News_Toggle");

        obj = (GameObject)GameMain.instantiate(obj);
        ToggleGroup tg = transform.Find("PanelDown/Lobby_News_Left/Content").GetComponent <ToggleGroup>();

        obj.transform.SetParent(tg.transform, false);
        obj.transform.Find("Label").GetComponent <Text>().text = name;

        if (PageLiftToggleGroupDictionary.ContainsKey(pt))
        {
            if (PageLiftToggleGroupDictionary[pt] != null)
            {
                for (int index = 0; index < tg.transform.childCount; ++index)
                {
                    if (PageLiftToggleGroupDictionary[pt] == tg.transform.GetChild(index).gameObject)
                    {
                        if (pt == PageType.ePT_Chess)
                        {
                            long oldContestID = 0, newContestID = (long)param;
                            long.TryParse(PageLiftToggleGroupDictionary[pt].name, out oldContestID);
                            if (oldContestID > newContestID)
                            {
                                obj.transform.SetSiblingIndex(index + 1);
                                break;
                            }
                        }
                        obj.transform.SetSiblingIndex(index);
                        break;
                    }
                }
            }
            PageLiftToggleGroupDictionary[pt] = obj;
        }
        GameObject assetObj = null;
        GameObject objR     = null;
        bool       clicked  = bReadState;

        switch (pt)
        {
        case PageType.ePT_Signin:
        {
            assetObj = (GameObject)bundle.LoadAsset("Lobby_News_signin");
            clicked  = (GameMain.hall_.GetPlayerData().NeedSign == 0);
        }
        break;

        case PageType.ePT_Mail:
        {
            if (Email.GetEmailInstance().root_ == null)
            {
                Email.GetEmailInstance().LoadNewsResource();
            }
            objR         = Email.GetEmailInstance().root_;
            clicked      = (GameMain.hall_.GetPlayerData().mailNumber <= 0);
            m_MailToggle = obj;
        }
        break;

        case PageType.ePT_Chess:
        {
            objR = CGameContestRankingTifings.GetChessRankingInstance().GetMainTransform().gameObject;
        }
        break;

        default:
        {
            assetObj = (GameObject)bundle.LoadAsset("Lobby_News_Activity");
            clicked  = StateStorage.LoadData <bool>(pt + ":" + name);
        }
        break;
        }

        if (assetObj != null)
        {
            objR = (GameObject)GameMain.instantiate(assetObj);
        }

        if (objR != null)
        {
            objR.transform.SetParent(transform.Find("PanelDown/Lobby_News_Right"), false);

            bool ActiveState = pageOn;
            if (pt == PageType.ePT_Activity)
            {
                GameMain.SC(LoadActivityImage(objR, (string)param));
                m_Announcement[obj] = objR;
            }
            else if (pt == PageType.ePT_Chess)
            {
                ActiveState = objR.activeSelf;
            }

            objR.SetActive(ActiveState);
        }

        Toggle t = obj.GetComponent <Toggle>();

        t.group = tg;
        t.isOn  = pageOn;
        t.onValueChanged.AddListener((isOn) => OnToggleChanged(t, name, pt, isOn, objR));

        obj.transform.Find("ImageSpot").gameObject.SetActive(!clicked);

        if (!clicked)
        {
            NeedClick++;
        }

        if (fun != null)
        {
            fun.Invoke(t, objR);
        }
    }
Exemple #4
0
 void OnClickReturn()
 {
     CustomAudio.GetInstance().PlayCustomAudio(1002);
     gameObject.SetActive(false);
     CGameContestRankingTifings.GetChessRankingInstance(false).SaveContestRankingData();
 }
Exemple #5
0
 void Update()
 {
     CGameContestRankingTifings.GetChessRankingInstance().Update();
 }
Exemple #6
0
    bool HandleGameNetMsg(uint _msgType, UMessage _ms)
    {
        if (GameMain.hall_.m_Bulletin == null)
        {
            return(false);
        }

        GameCity.EMSG_ENUM eMsg = (GameCity.EMSG_ENUM)_msgType;
        switch (eMsg)
        {
        case GameCity.EMSG_ENUM.CrazyCityMsg_BACKANNOUNCEMENTDATA:
        {
            ResetAnnouncement();
            NeedUpdate = false;

            AssetBundle bundle = AssetBundleManager.GetAssetBundle(GameDefine.HallAssetbundleName);
            if (bundle == null)
            {
                return(false);
            }

            byte num = _ms.ReadByte();
            for (int i = 0; i < num; i++)
            {
                string name = _ms.ReadString();
                string url  = _ms.ReadString();
                AddPage(bundle, name, PageType.ePT_Activity, url);
            }
        }
        break;

        case GameCity.EMSG_ENUM.CrazyCityMsg_ANNOUNCEMENTNEEDUPDATE:
        {
            NeedUpdate = true;
        }
        break;

        case GameCity.EMSG_ENUM.CrazyCityMsg_BACKWEEKOROLDREWORD:
        {
            byte sign    = _ms.ReadByte();     //1:签到或累计登陆 2:老用户
            long coin    = _ms.ReadLong();
            long addCoin = _ms.ReadLong();

            byte state1  = _ms.ReadByte();       //0:成功 1:已领取
            byte reward1 = _ms.ReadByte();

            if (sign == 1)
            {
                m_SignBtn.interactable = (state1 != 0);
                m_SignToggle.transform.Find("ImageSpot").
                gameObject.SetActive(m_SignBtn.interactable);
                GameMain.hall_.GetPlayerData().NeedSign = state1;
                if (state1 == 0)
                {
                    NeedClick--;
                }
            }
        }
        break;

        case GameCity.EMSG_ENUM.CrazyCityMsg_SendContestData:    //发送玩家创建比赛数据
        case GameCity.EMSG_ENUM.CrazyCityMsg_UpdateContestData:
        {
            byte        ContestNumber = 1; //比赛数量
            List <long> ContestIDList = null;
            if (eMsg == GameCity.EMSG_ENUM.CrazyCityMsg_SendContestData)
            {
                ContestNumber = _ms.ReadByte();
                ContestIDList = new List <long>();
            }

            for (byte index = 0; index < ContestNumber; ++index)
            {
                long ConstestID       = _ms.ReadLong(); //排行榜ID
                uint ContestPlayerNum = _ms.ReadUInt(); //比赛人数
                byte GameId           = _ms.ReadByte(); //游戏ID
                byte ReadState        = _ms.ReadByte(); //当前记录是否读取
                if (ContestIDList != null)
                {
                    ContestIDList.Add(ConstestID);
                }
                AddGameRankingPage(ConstestID, GameId, ReadState == 1, ContestPlayerNum);
            }
            if (ContestIDList != null)
            {
                CGameContestRankingTifings.GetChessRankingInstance().LoadContestRankingData(ContestIDList);
            }
        }
        break;

        case GameCity.EMSG_ENUM.CrazyCityMsg_SendContestRankData:
        {
            bool retValue = CGameContestRankingTifings.GetChessRankingInstance().UpdateGameRankingData(_ms);
            if (retValue && m_CurContestRankingToggle != null)
            {
                GameObject SpotObject = m_CurContestRankingToggle.transform.Find("ImageSpot").gameObject;
                if (SpotObject.activeSelf)
                {
                    NeedClick--;
                    SpotObject.SetActive(false);
                }
            }
        }
        break;

        default:
            break;
        }

        return(true);
    }