public static CGameContestRankingTifings GetChessRankingInstance(bool LoadResourceState = true) { if (instance_ == null) { instance_ = new CGameContestRankingTifings(); } if (LoadResourceState) { instance_.LoadChessRankingResource(); } return(instance_); }
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); } }
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); } }
void OnClickReturn() { CustomAudio.GetInstance().PlayCustomAudio(1002); gameObject.SetActive(false); CGameContestRankingTifings.GetChessRankingInstance(false).SaveContestRankingData(); }
void Update() { CGameContestRankingTifings.GetChessRankingInstance().Update(); }
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); }