示例#1
0
    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");
        }
    }
示例#2
0
    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);
        }
    }
示例#3
0
    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);
    }
示例#4
0
    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); //不可领取状态
        }
    }
示例#5
0
 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);
     });
 }
示例#6
0
    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;
        }
    }