/// <summary> /// 判断是否需要打开奖励显示窗口 /// </summary> private void WhetherOpenPopupWindow() { int _iconNum = 0; if (m_PopupData_Num < 0) { return; } m_AwardIconData.Clear(); m_AwardWindow.SetActive(true); foreach (Transform child in m_itemParent.transform) { Destroy(child.gameObject); } for (int k = 0; k < m_PopupData_Num; k++) { List <int> _tempList = m_MergeData[m_TeamId]; GameactivityTemplate _Data = (GameactivityTemplate)DataTemplate.GetInstance().m_GameactivityTable.getTableData(_tempList[0]); string[] dropArray = _Data.getDropdes().Split('#'); for (int j = 0; j < _Data.getDropdestype().Length; j++) { _iconNum++; AwardIconData _temp = new AwardIconData(); _temp.m_index = j; _temp.m_GameactivityTemplate = _Data; m_AwardIconData.Add(_temp); } } m_AwardIconLayout.cellCount = _iconNum; m_AwardIconLayout.updateCellEvent = UpdateAwardIconItem; m_AwardIconLayout.Reload(); m_PopupData_Num = -1; }
/// <summary> /// 实例化Text Item /// </summary> /// <param name="_Data">表数据</param> /// <param name="_ActivityOverviewData">服务器数据</param> private void GreatTextItem(GameactivityTemplate _Data, ActivityOverviewData _ActivityOverviewData) { for (int k = 0; k < m_TextItemParent.transform.childCount; k++) { if (m_TextItemParent.transform.GetChild(k).gameObject.name == "item(Clone)") { Destroy(m_TextItemParent.transform.GetChild(k).gameObject); } } GameObject _TextItem = Instantiate(m_TextItem) as GameObject; _TextItem.transform.SetParent(m_TextItemParent.transform, true); _TextItem.transform.localScale = new Vector3(1, 1, 1); _TextItem.transform.localPosition = new Vector3(0, 0, 0); _TextItem.gameObject.SetActive(true); _TextItem.GetComponent <TextItem>().SetTextData(GameUtils.getString(_Data.getContentdes())); //右界面显示的内容(标题;时间;按钮字) //显示已经完成的条件(花了多少金币;完成多少任务--- 按钮上面的字) m_TitleText.text = GameUtils.getString(_Data.getTitledes()); string dt1 = GameUtils.ConvertStringToDate(_Data.getBeginday()); string dt2 = GameUtils.ConvertStringToDate(_Data.getDeadline()); m_TimeText.text = dt1 + "-" + dt2; TotalNumStyleText(_Data.getType(), _Data.getParameter2(), _ActivityOverviewData.m_allactivitynum, _ActivityOverviewData.m_activitynum); }
/// <summary> /// 实例化图标 /// </summary> public void InstantiateIcon() { m_IconItemNum = 0; WhetherOpenPopupWindow(); RefreshSingleItemData(); for (int k = 0; k < m_IconItemParent.transform.childCount; k++) { Destroy(m_IconItemParent.transform.GetChild(k).gameObject); } List <int> _tempList = m_MergeData[m_TeamId]; for (int i = 0; i < _tempList.Count; i++) { GameactivityTemplate _Data = (GameactivityTemplate)DataTemplate.GetInstance().m_GameactivityTable.getTableData(_tempList[i]); for (int L = 0; L < m_ActivityBannerData.Count; L++) { if (m_ActivityBannerData[L]._ActivityOverviewData.m_id == _tempList[i]) { GreatItemPrepare(_Data, m_ActivityBannerData[L]._ActivityOverviewData); if (i == _tempList.Count - 1) { GreatTextItem(_Data, m_ActivityBannerData[L]._ActivityOverviewData); } } } } SetArrangeStyle(); ReceiveButtonShow(); m_IconItemBg.SetActive(true); }
/// <summary> /// 用每组的最后一条数据 生成banner /// </summary> /// <param name="index">活动的key</param> /// <param name="cell"></param> private void UpdateBannerItem(int index, RectTransform cell) { ActivityItem _bannerItemData = cell.GetComponent <ActivityItem>(); if (_bannerItemData == null) { _bannerItemData = cell.gameObject.AddComponent <ActivityItem>(); } _bannerItemData.SetOnClick(SetItemImageLight); List <int> _List = m_MergeData[m_TeamKeyList[index]]; for (int j = 0; j < m_ActivityBannerData.Count; j++) { if (m_ActivityBannerData[j]._ActivityOverviewData.m_id == _List[_List.Count - 1]) { ActivityBannerData temp = m_ActivityBannerData[j]; _bannerItemData.SetActivityDate(temp._ActivityOverviewData, temp.m_Key); GameactivityTemplate _Data = (GameactivityTemplate)DataTemplate.GetInstance().m_GameactivityTable.getTableData(temp._ActivityOverviewData.m_id); if (m_TeamId == _Data.getTeam()) { _bannerItemData.SetImageLight(true); } else { _bannerItemData.SetImageLight(false); } RefreshItem(_bannerItemData, temp._ActivityOverviewData.m_id); } } }
private void GreatItemPrepare(GameactivityTemplate _Data, ActivityOverviewData _ActivityOverviewData) { string[] _dropArray = _Data.getDropdes().Split('#'); for (int j = 0; j < _dropArray.Length; j++) { GreatItem(j, _Data, _ActivityOverviewData); m_IconItemNum += 1; } }
public void SetActivityDate(ActivityOverviewData _data, int _itemId) { m_ActivityOverviewData = _data; m_itemID = _itemId; GameactivityTemplate _itemData = (GameactivityTemplate)DataTemplate.GetInstance().m_GameactivityTable.getTableData(_data.m_id); m_TitleText.text = GameUtils.getString(_itemData.getTitledes()); //Debug.Log("_data.m_id : " + _data.m_id + "----" + m_ActivityOverviewData.m_issee); m_RedPointImage.gameObject.SetActive(m_ActivityOverviewData.m_issee == 0 ? true : false); }
private void OnIconBtnClick() { GameactivityTemplate _Data = (GameactivityTemplate)DataTemplate.GetInstance().m_GameactivityTable.getTableData(m_ActivityOverviewData.m_id); int _team = _Data.getTeam(); m_OnClick(_team); if (m_ActivityOverviewData.m_issee == 0) { CSeeGameAct _CSeeGameAct = new CSeeGameAct(); _CSeeGameAct.teamid = _team; //Debug.Log("_team : " + _team); IOControler.GetInstance().SendProtocol(_CSeeGameAct); } }
/// <summary> /// 读取表数据 找到开启的活动的ID /// </summary> public void ReadTableDateFindOpenActivity() { foreach (int k in DataTemplate.GetInstance().m_GameactivityTable.GetDataKeys()) { GameactivityTemplate _gt = (GameactivityTemplate)DataTemplate.GetInstance().m_GameactivityTable.getTableData(k); DateTime _date = m_ObjectSelf.ServerDateTime; DateTime dt1 = GameUtils.ConvertStringToDateTime(_gt.getBeginday()); DateTime dt2 = GameUtils.ConvertStringToDateTime(_gt.getDeadline()); if (_date > dt1 && _date < dt2) { m_OpenActivityID.Add(k); } } //Debug.Log("m_OpenActivityID.Count : " + m_OpenActivityID.Count); }
private int Compare(int Left, int Right) { List <int> _List = m_MergeData[Left]; GameactivityTemplate _Data = (GameactivityTemplate)DataTemplate.GetInstance().m_GameactivityTable.getTableData(_List[0]); int _num_1 = _Data.getSort(); List <int> _List_2 = m_MergeData[Right]; GameactivityTemplate _Data_2 = (GameactivityTemplate)DataTemplate.GetInstance().m_GameactivityTable.getTableData(_List_2[0]); int _num_2 = _Data_2.getSort(); if (_num_1 > _num_2) { return(1); } else { return(-1); } }
/// <summary> /// 遍历比较好的id 合并Ieam相同的id /// 所有在开启时间内的活动都要显示 不管有没有数据 /// 服务器返回的数据 只是开启活动的数据 没有开启的也要显示 所以有了 m_ActivityBannerData /// </summary> public void SelectTeam() { m_ActivityBannerData.Clear(); for (int i = 0; i < m_OpenActivityID.Count; i++) { ActivityBannerData temp = new ActivityBannerData(); if (m_ActivityOverviewMar.m_ActivityOverviewData.ContainsKey(m_OpenActivityID[i])) { temp._ActivityOverviewData = m_ActivityOverviewMar.m_ActivityOverviewData[m_OpenActivityID[i]]; temp.m_Key = m_OpenActivityID[i]; } else { ActivityOverviewData _ActivityOverviewData = new ActivityOverviewData(); _ActivityOverviewData.m_id = m_OpenActivityID[i]; temp.m_Key = m_OpenActivityID[i]; temp._ActivityOverviewData = _ActivityOverviewData; } m_ActivityBannerData.Add(temp); GameactivityTemplate _gt = (GameactivityTemplate)DataTemplate.GetInstance().m_GameactivityTable.getTableData(m_OpenActivityID[i]); if (m_MergeData.ContainsKey(_gt.getTeam())) { List <int> _temp = m_MergeData[_gt.getTeam()]; _temp.Add(_gt.getId()); m_MergeData[_gt.getTeam()] = _temp; } else { List <int> _temp = new List <int>(); _temp.Add(_gt.getId()); m_MergeData.Add(_gt.getTeam(), _temp); } } //foreach (KeyValuePair<int, List<int>> kvp in m_MergeData) //{ // Debug.Log("m_MergeData.key" + kvp.Key); //} }
/// <summary> /// 刷新BannerItem 是否显示已领取字样 /// </summary> /// <param name="_ActivityItem"></param> /// <param name="_id"></param> public void RefreshItem(ActivityItem _ActivityItem, int _id) { GameactivityTemplate _Data = (GameactivityTemplate)DataTemplate.GetInstance().m_GameactivityTable.getTableData(_id); int _allnum = 0; int _todaynum = 0; int _cangetnum = 0; if (m_ActivityOverviewMar.m_ActivityOverviewData.ContainsKey(_id)) { _allnum = m_ActivityOverviewMar.m_ActivityOverviewData[_id].m_allnum; _todaynum = m_ActivityOverviewMar.m_ActivityOverviewData[_id].m_todaynum; _cangetnum = m_ActivityOverviewMar.m_ActivityOverviewData[_id].m_cangetnum; } int _Periodmax = _Data.getPeriodmax(); int _Daymax = _Data.getDaymax(); if (_Periodmax == -1) { _Periodmax = 1000000; } if (_Daymax == -1) { _Daymax = 1000000; } if (_todaynum == _Daymax) { if (_cangetnum == 0) { _ActivityItem.SetReceiveOverShow(true); } else { _ActivityItem.SetReceiveOverShow(false); } } else { _ActivityItem.SetReceiveOverShow(false); } }
public void ForReceiveAward() { List <int> _tempList = m_MergeData[m_TeamId]; for (int i = 0; i < _tempList.Count; i++) { if (m_ActivityOverviewMar.m_ActivityOverviewData[_tempList[i]].m_cangetnum > 0) { CGetGameAct _CGetGameAct = new CGetGameAct(); _CGetGameAct.actid = _tempList[i]; //Debug.Log(_tempList[i]); IOControler.GetInstance().SendProtocol(_CGetGameAct); } } //获取领取的所有图标的ID 用于弹框显示用 GameactivityTemplate _Data = (GameactivityTemplate)DataTemplate.GetInstance().m_GameactivityTable.getTableData(_tempList[0]); if (_Data.getDaymax() == -1 && _Data.getPeriodmax() == -1) { m_PopupData_Num = m_ActivityOverviewMar.m_ActivityOverviewData[_tempList[0]].m_cangetnum;//当天,期间无限制的组中都只有一个活动 } }
private void OnClickRightBtn() { List <int> _tempList = m_MergeData[m_TeamId]; GameactivityTemplate _Data = (GameactivityTemplate)DataTemplate.GetInstance().m_GameactivityTable.getTableData(_tempList[0]); string[] jumpTypeArray = _Data.getJumpstype().Split('#'); if (int.Parse(jumpTypeArray[0]) == 1) { //弹出充值窗口 UI_HomeControler.Inst.AddUI(UI_QuikChargeMgr.UI_ResPath); } if (int.Parse(jumpTypeArray[0]) == 3) { //跳转到世界Boss GameObject go = UI_HomeControler.Inst.AddUI(UI_TestPanel.GetPath()); if (go) { go.GetComponent <UI_TestPanel>().GotoWorldBoss(); } OnClickReturnBtn(); } if (int.Parse(jumpTypeArray[0]) == 4) { //跳转到英雄招募 UI_HomeControler.Inst.AddUI(UI_Recruit.UI_ResPath); OnClickReturnBtn(); } if (int.Parse(jumpTypeArray[0]) == 5) { //跳转到遗迹宝藏 UI_HomeControler.Inst.AddUI(UI_Recruit.UI_ResPath); if (UI_Recruit.inst != null) { UI_Recruit.inst.OpenRelicBtn(); } OnClickReturnBtn(); } if (int.Parse(jumpTypeArray[0]) == 6) { UI_HomeControler.Inst.AddUI(UI_ShopMgr.UI_ResPath); UI_ShopMgr.SetCurShowTab(SHOP_TAB.SKIN); //跳转到商城时装 //UI_HomeControler.Inst.AddUI(UI_ShopMgr.UI_ResPath); //if (UI_ShopMgr.inst != null) //{ // UI_ShopMgr.inst.OnSkinToggleValueChanged(true); //} OnClickReturnBtn(); } if (int.Parse(jumpTypeArray[0]) == 7) { //跳转到商城礼包 UI_HomeControler.Inst.AddUI(UI_ShopMgr.UI_ResPath); UI_ShopMgr.SetCurShowTab(SHOP_TAB.GIFT); OnClickReturnBtn(); } if (int.Parse(jumpTypeArray[0]) == 8) { //跳转到商城道具 UI_HomeControler.Inst.AddUI(UI_ShopMgr.UI_ResPath); } if (int.Parse(jumpTypeArray[0]) == 9) { //跳转到神器 UI_HomeControler.Inst.AddUI(UI_Artifact.UI_ResPath); OnClickReturnBtn(); } if (int.Parse(jumpTypeArray[0]) == 10) { //跳转到符文熔炼 UI_HomeControler.Inst.AddUI(UI_RuneExp.UI_ResPath); OnClickReturnBtn(); } if (int.Parse(jumpTypeArray[0]) == 11) { //跳转到熔灵 UI_HomeControler.Inst.AddUI(UI_HeroLitholysin.UI_ResPath); OnClickReturnBtn(); } // 2 跳转到关卡章节 if (int.Parse(jumpTypeArray[0]) == 2) { //当前章节Id int _CurChapterId = StageModule.GetPlayerLastChapterID(); if (_CurChapterId < int.Parse(jumpTypeArray[1])) { InterfaceControler.GetInst().AddMsgBox("指定章节未开放", this.transform); return; } if (jumpTypeArray.Length >= 2) { if (int.Parse(jumpTypeArray[1]) == 1001) { ObjectSelf.GetInstance().SetIsPrompt(true); ObjectSelf.GetInstance().Week = ObjectSelf.GetInstance().GetWeek(); UI_HomeControler.Inst.AddUI(UI_PromptFightArea.UI_ResPath); OnClickReturnBtn(); } else { UI_SelectLevelMgrNew.InitChapterId = int.Parse(jumpTypeArray[1]); UI_HomeControler.Inst.AddUI(UI_SelectLevelMgrNew.UI_ResPath); OnClickReturnBtn(); } } } }
/// <summary> /// 按钮的显示 /// </summary> // public void ReceiveButtonShow(ActivityOverviewData _ActivityOverviewData, GameactivityTemplate _GameactivityTemplate) public void ReceiveButtonShow() { List <int> _tempList = m_MergeData[m_TeamId]; for (int i = 0; i < _tempList.Count; i++) { GameactivityTemplate _Data = (GameactivityTemplate)DataTemplate.GetInstance().m_GameactivityTable.getTableData(_tempList[i]); string[] jumpTypeArray = _Data.getJumpstype().Split('#'); int _allnum = 0; int _todaynum = 0; int _cangetnum = 0; if (m_ActivityOverviewMar.m_ActivityOverviewData.ContainsKey(_tempList[i])) { _allnum = m_ActivityOverviewMar.m_ActivityOverviewData[_tempList[i]].m_allnum; _todaynum = m_ActivityOverviewMar.m_ActivityOverviewData[_tempList[i]].m_todaynum; _cangetnum = m_ActivityOverviewMar.m_ActivityOverviewData[_tempList[i]].m_cangetnum; } int _Periodmax = _Data.getPeriodmax(); int _Daymax = _Data.getDaymax(); if (_Periodmax == -1) { _Periodmax = 1000000; } if (_Daymax == -1) { _Daymax = 1000000; } if (string.IsNullOrEmpty(jumpTypeArray[0])) { m_MiddleButton.gameObject.SetActive(true); m_LeftButton.gameObject.SetActive(false); m_RightButton.gameObject.SetActive(false); if (_todaynum <= _Daymax) { if (_cangetnum > 0) { MiddleButtonLight(); return; } else { MiddleButtonGrey(); } } else { MiddleButtonGrey(); } } else if (int.Parse(jumpTypeArray[0]) == 1) { m_RightButtonText.text = GameUtils.getString("activity_button_n1"); // common_button_recharge 充值 } else { m_RightButtonText.text = GameUtils.getString("liveness_content5"); // 前 往 } if (!string.IsNullOrEmpty(jumpTypeArray[0])) { m_MiddleButton.gameObject.SetActive(false); m_LeftButton.gameObject.SetActive(true); m_RightButton.gameObject.SetActive(true); if (_todaynum <= _Daymax) { if (_cangetnum > 0) { LeftButtonLight(); return; } else { LeftButtonGrey(); } } else { LeftButtonGrey(); } } } }
private void GreatAwardItem(int _key, GameactivityTemplate _GameactivityTemplate, UniversalItemCell m_Cell) { int _num = -1; int[] dropdestypeArray = _GameactivityTemplate.getDropdestype(); string[] DropdesArray = _GameactivityTemplate.getDropdes().Split('#'); int[] numdesArray = _GameactivityTemplate.getNumdes();; string[] TextdesArray = _GameactivityTemplate.getTextdes().Split('#'); if (numdesArray.Length != 0) { if (numdesArray[0] != -1) { _num = numdesArray[_key]; } } if (dropdestypeArray[_key] == 1) { int itemid = int.Parse(DropdesArray[_key]); int type = itemid / 1000000; switch (type) { case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_RES: ResourceindexTemplate _temp_res = (ResourceindexTemplate)DataTemplate.GetInstance().m_ResourceindexTemplate.getTableData(itemid); if (_temp_res != null) { m_Cell.InitByID(itemid, _num); m_Cell.SetText(GameUtils.getString(_temp_res.getName()), "", ""); } break; case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_RUNE: //符文 { ItemTemplate itemTable = (ItemTemplate)DataTemplate.GetInstance().m_ItemTable.getTableData(itemid); if (itemTable != null) { m_Cell.InitByID(itemid, -1); m_Cell.SetText(GameUtils.getString(itemTable.getName()), "", ""); } } break; case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_COMMON: { ItemTemplate itemTable = (ItemTemplate)DataTemplate.GetInstance().m_ItemTable.getTableData(itemid); if (itemTable != null) { m_Cell.InitByID(itemid, _num); m_Cell.SetText(GameUtils.getString(itemTable.getName()), "", ""); } } break; case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_HERO: { HeroTemplate hero = (HeroTemplate)DataTemplate.GetInstance().m_HeroTable.getTableData(itemid); if (hero != null) { m_Cell.InitByID(itemid, _num); m_Cell.SetText(GameUtils.getString(hero.getTitleID()), "", ""); } } break; default: break; } } if (dropdestypeArray[_key] == 0) { m_Cell.SetText(GameUtils.getString(TextdesArray[_key]), "", ""); Sprite sprite = UIResourceMgr.LoadSprite(common.defaultPath + TextdesArray[_key]); m_Cell.InitBySprite(sprite); } }
private void GreatItem(int _key, GameactivityTemplate _GameactivityTemplate, ActivityOverviewData _ActivityOverviewData) { m_Cell = UniversalItemCell.GenerateItem(m_IconItemParent.transform); int _Daymax = _GameactivityTemplate.getDaymax(); if (_Daymax == -1) { _Daymax = 1000000; } if (_ActivityOverviewData.m_todaynum < _Daymax) { m_Cell.SetCheckClaim(false, ""); } else { if (_ActivityOverviewData.m_cangetnum == 0) { m_Cell.SetCheckClaim(true, ""); } else { m_Cell.SetCheckClaim(false, ""); } } int[] dropdestypeArray = _GameactivityTemplate.getDropdestype(); string[] DropdesArray = _GameactivityTemplate.getDropdes().Split('#'); int[] numdesArray = _GameactivityTemplate.getNumdes();; string[] TextdesArray = _GameactivityTemplate.getTextdes().Split('#'); int _num = -1; if (numdesArray.Length != 0) { if (numdesArray[_key] != -1) { _num = numdesArray[_key]; } } if (dropdestypeArray[_key] == 1) { int itemid = int.Parse(DropdesArray[_key]); int type = itemid / 1000000; switch (type) { case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_RES: ResourceindexTemplate _temp_res = (ResourceindexTemplate)DataTemplate.GetInstance().m_ResourceindexTemplate.getTableData(itemid); if (_temp_res != null) { m_Cell.InitByID(itemid, _num); m_Cell.SetText(GameUtils.getString(_temp_res.getName()), "", ""); } break; case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_RUNE: //符文 { ItemTemplate itemTable = (ItemTemplate)DataTemplate.GetInstance().m_ItemTable.getTableData(itemid); if (itemTable != null) { m_Cell.InitByID(itemid, -1); m_Cell.SetText(GameUtils.getString(itemTable.getName()), "", ""); } } break; case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_COMMON: { ItemTemplate itemTable = (ItemTemplate)DataTemplate.GetInstance().m_ItemTable.getTableData(itemid); if (itemTable != null) { m_Cell.InitByID(itemid, _num); m_Cell.SetText(GameUtils.getString(itemTable.getName()), "", ""); } } break; case (int)EM_OBJECT_CLASS.EM_OBJECT_CLASS_HERO: { HeroTemplate hero = (HeroTemplate)DataTemplate.GetInstance().m_HeroTable.getTableData(itemid); if (hero != null) { m_Cell.InitByID(itemid, _num); m_Cell.SetText(GameUtils.getString(hero.getTitleID()), "", ""); } } break; default: break; } } if (dropdestypeArray[_key] == 0) { m_Cell.SetText(GameUtils.getString(TextdesArray[_key]), "", ""); if (TextdesArray[_key] != string.Empty) { Sprite sprite = UIResourceMgr.LoadSprite(common.defaultPath + TextdesArray[_key]); m_Cell.InitBySprite(sprite); } } }