void _Packet(ScDrawActiveReward p) { if (p.result == 0) { int trueid = p.boxId; Activestae[trueid] = EnumActiveState.AlreadPick; PActiveBox Dactive = ActiveValue.Find(a => a.id == trueid); PActiveBox Wactive = WeekActiveValue.Find(a => a.id == trueid); if (Dactive != null) { DispatchModuleEvent(EventActiveDailyGet, Dactive); } if (Wactive != null) { DispatchModuleEvent(EventActiveWeekGet, Wactive); } } else if (p.result == 1) { moduleGlobal.ShowMessage(223, 25); } else if (p.result == 2) { moduleGlobal.ShowMessage(223, 26); } else if (p.result == 3) { moduleGlobal.ShowMessage(223, 27); } else { Logger.LogError("fail, is id or other"); } }
private void SetWuInfo(PActiveBox Info) { if (Info == null) { Logger.LogError("award box info is null"); return; } AwardGetSucced succed = rewardGroup.GetComponentDefault <AwardGetSucced>(); succed.SetAward(Info.reward, ShowBox); should_active.text = Info.activePoint.ToString(); receive_btn.gameObject.SetActive(false);//是否能够领取 if (Util.Parse <int>(my_active.text) >= Info.activePoint) { receive_btn.gameObject.SetActive(true); } }
private void ActiveShua(PActiveBox boxinfo) { if (boxinfo == null) { return; } GameObject stateobj = state[boxinfo.id]; if (stateobj == null) { Logger.LogError("can not find award state obj"); return; } ActiveInfo active = stateobj.GetComponentDefault <ActiveInfo>(); active.Click(boxinfo.id, Award_show); active.Show(moduleActive.Activestae[boxinfo.id], boxinfo.activePoint); }
private void Jisuan(int point, PActiveBox boxinfo, byte State, int i) { float statype = Mathf.Pow(2, i); if (point >= boxinfo.activePoint) { //可以领取 if ((State & (byte)statype) > 0) { Activestae.Add(boxinfo.id, EnumActiveState.AlreadPick); //已经领取 } else { Activestae.Add(boxinfo.id, EnumActiveState.CanPick); //可领取状态未领取 } } else { Activestae.Add(boxinfo.id, EnumActiveState.NotPick); //不可领取状态 } }
private void Award_show(int type, int idid)//显示奖励 { receive_btn.gameObject.SetActive(false); award_plane.gameObject.SetActive(true); //用来打开奖励提示界面 只有活跃度和周奖励能有这个提示 if (type == 1) { my_active.text = modulePlayer.roleInfo.dayActivePoint.ToString(); PActiveBox Info = moduleActive.ActiveValue.Find(a => a.id == idid); SetWuInfo(Info); } else if (type == 2) { my_active.text = modulePlayer.roleInfo.weekActivePoint.ToString(); PActiveBox Info = moduleActive.WeekActiveValue.Find(a => a.id == idid); SetWuInfo(Info); } receive_btn.onClick.RemoveAllListeners(); receive_btn.onClick.AddListener(delegate { moduleActive.SendGetActiveaward(idid); }); }
void _ME(ModuleEvent <Module_Active> e) { switch (e.moduleEvent) { case Module_Active.EventActiveCoopInvate: //接到可邀请列表 OpenInvatePlane(); break; case Module_Active.EventActiveCoopInfo: //所有任务 SetCoolPlane(); SetHint(); break; case Module_Active.EventActiveCoopInvateSuc: //邀请成功 var invate = Util.Parse <int>(e.param1.ToString()); CoopAllInfo.UpdateItem(invate); break; case Module_Active.EventActiveCoopKiced: //踢出成功 var kiced = Util.Parse <int>(e.param1.ToString()); CoopAllInfo.UpdateItem(kiced); break; case Module_Active.EventActiveCoopBeKiced: //被踢出 CoopAllInfo.SetItems(moduleActive.CoopTaskList); break; case Module_Active.EventActiveCoopValue: //进度变化 var value = Util.Parse <int>(e.param1.ToString()); CoopAllInfo.UpdateItem(value); break; case Module_Active.EventActiveCoopCanGet: //可领取 var get = Util.Parse <int>(e.param1.ToString()); CoopAllInfo.UpdateItem(get); SetHint(); break; case Module_Active.EventActiveCoopGet: //领取成功 var succed = Util.Parse <int>(e.param1.ToString()); PItem2[] reward = e.param2 as PItem2[]; CoopAllInfo.UpdateItem(succed); if (actived && reward != null) { Window_ItemTip.Show(active_text[59], reward); } break; case Module_Active.EventActiveCoopApply: CoopAllInfo.SetItems(moduleActive.CoopTaskList); break; case Module_Active.EventActiveDayInfo: //上线接收日常详情 DailyAllInfo.SetItems(moduleActive.DailyOpenList); NoDailyTask(); SetHint(); break; case Module_Active.EventActiveDayValue: // 日常进度值有变化 PDailyInfo info = e.msg as PDailyInfo; int index = GetDIndex(info.taskId); if (index != -1) { DailyAllInfo.SetItem(info, index); } break; case Module_Active.EventActiveDayReach: //日常任务达成可以领取奖励 PDailyInfo cinfo = e.msg as PDailyInfo; DailyAllInfo.RemoveItem(cinfo); DailyAllInfo.AddItem(cinfo, 0); DailyAllInfo.UpdateItems(); SetHint(); break; case Module_Active.EventActiveDayGet: //日常任务奖励领取成功 PDailyInfo dinfo = e.param1 as PDailyInfo; PDailyTask tinfo = e.param2 as PDailyTask; DailyAllInfo.RemoveItem(dinfo); GetAwardShow(tinfo.reward); ActiveNum(); //更改今日活跃度进度值 NoDailyTask(); break; case Module_Active.EventActiveDayOpen: //日常任务开启类似早午餐那种 DailyAllInfo.UpdateItems(); NoDailyTask(); SetHint(); break; case Module_Active.EventActiveDayClose: //日常任务过期了 直接删掉 PDailyInfo overinfo = e.param1 as PDailyInfo; DailyAllInfo.RemoveItem(overinfo); NoDailyTask(); SetHint(); break; case Module_Active.EventActiveAchieveInfo: //上线接收成就详情每次都刷新 AchieveAllInfo.SetItems(moduleActive.Achieveinfo); SetHint(); break; case Module_Active.EventActiveAchieveValue: //进度值变化 PAchieve pinfo = e.msg as PAchieve; int pindex = GetPIndex(pinfo.id); if (pindex != -1) { AchieveAllInfo.SetItem(pinfo, pindex); } break; case Module_Active.EventActiveAchieveCanGet: //成就达成可领取奖励调用同一个方法 PAchieve ainfo = e.msg as PAchieve; AchieveAllInfo.RemoveItem(ainfo); AchieveAllInfo.AddItem(ainfo, 0); SetHint(); break; case Module_Active.EventActiveAchieveGet: //成就奖励领取完毕调用同一个方法 PAchieve ainfo1 = e.msg as PAchieve; GetAwardShow(ainfo1.reward, true); AchieveAllInfo.SetItems(moduleActive.Achieveinfo); break; case Module_Active.EventActiveAchieveOpen: //某些活动开启 删掉重新创建 AchieveAllInfo.UpdateItems(); SetHint(); break; case Module_Active.EventActiveDailyCanGet: // 日活跃度可以领取奖励 PActiveBox activeindo = e.msg as PActiveBox; ActiveShua(activeindo); //可领取 SetHint(); break; case Module_Active.EventActiveDailyGet: //日常活跃度奖励领取成功 award_plane.gameObject.SetActive(false); PActiveBox activeinfos = e.msg as PActiveBox; ActiveShua(activeinfos); //可领取 Activetask(); GetAwardShow(activeinfos.reward); break; case Module_Active.EventActiveWeekCanGet: //周活跃度达成可以领取奖励 PActiveBox WCanInfo = e.msg as PActiveBox; WhichShua(WCanInfo.id); SetHint(); break; case Module_Active.EventActiveWeekGet: //周活跃度奖励领取成功 PActiveBox WInfo = e.msg as PActiveBox; award_plane.gameObject.SetActive(false); WhichShua(WInfo.id); GetAwardShow(WInfo.reward); break; default: break; } }