Пример #1
0
    void SetHttpDownPoint()
    {
        if (KDownloadInstance.Instance().GetTakeReward() == false)
        {
            stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
            {
                modelID   = (int)WarningEnum.HttpDown,
                direction = (int)WarningDirection.None,
                bShowRed  = true,
            };
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
        }
        else
        {
        }

        Transform gmTrans = m_trans_AnchorTopRight.Find("XiaZai");

        if (gmTrans)
        {
            //gmTrans.gameObject.SetActive(true);
            UIParticleWidget p = gmTrans.GetComponent <UIParticleWidget>();
            if (p == null)
            {
                p       = gmTrans.gameObject.AddComponent <UIParticleWidget>();
                p.depth = 20;
            }
            if (p != null)
            {
                p.SetDimensions(150, 50);
                p.ReleaseParticle();
                p.AddParticle(50040);
            }
        }
    }
Пример #2
0
    public void RefreshSingleActivity(stRefreshLivenessDataUserCmd_S cmd)
    {
        DataID           = cmd.type;
        ActiveTotalValue = cmd.liveness;
        LivenessData info = new LivenessData()
        {
            type         = cmd.type,
            liveness_num = cmd.liveness_num,
            time         = cmd.times
        };
        DailyDataBase table = GameTableManager.Instance.GetTableItem <DailyDataBase>(DataID);

        ListSort(activeList);
        ActiveDic[cmd.type] = info;
        for (int i = 0; i < activeList.Count; i++)
        {
            if (activeList[i].type == info.type)
            {
                activeList[i] = info;
            }
        }

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.DAILY_RESSINGLEDATA, null);
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.Daily,
            direction = (int)WarningDirection.None,
            bShowRed  = HaveRewardBoxCanGet(),
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
    }
Пример #3
0
    private void UpdateApplyRedPoint()
    {
        UITabGrid tabGrid = null;

        if (IsPanelMode(ClanPanelMode.Member))
        {
            m_dic_clanMemberTabs[ClanMemberMode.Apply].SetRedPointStatus(m_bool_showApplyRedPoint);
        }
        Dictionary <int, UITabGrid> dicTabs = null;

        if (dicUITabGrid.TryGetValue(1, out dicTabs))
        {
            if (dicTabs != null && dicTabs.TryGetValue((int)ClanPanelMode.Member, out tabGrid))
            {
                tabGrid.SetRedPointStatus(m_bool_showApplyRedPoint);
            }
        }

        //已读后隐藏主界面氏族红点显示
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.Clan,
            direction = (int)WarningDirection.Left,
            bShowRed  = m_bool_showApplyRedPoint,
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
    }
Пример #4
0
    /// <summary>
    /// 新获得称号
    /// </summary>
    public void OnAddNewTitle(stAddTitlePropertyUserCmd_S cmd)
    {
        uint newTitleId = cmd.data.dwID;

        if (this.m_listNewTitleId.Contains(cmd.data.dwID) == false)
        {
            this.m_listNewTitleId.Add(cmd.data.dwID);
        }

        stTitleData titleData = m_listOwnedTitle.Find((data) => { return(data.dwID == cmd.data.dwID ? true : false); });

        if (titleData != null)
        {
            titleData.dwCount = cmd.data.dwCount;
            titleData.dwTime  = cmd.data.dwTime;
        }
        else
        {
            m_listOwnedTitle.Add(new stTitleData {
                dwID = cmd.data.dwID, dwCount = cmd.data.dwCount, dwTime = cmd.data.dwTime
            });
        }

        object param = newTitleId;
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.TITLE_NEWTITLE,
            direction = (int)WarningDirection.Left,
            bShowRed  = HaveNewTitle(),
        };

        EventEngine.Instance().DispatchEvent((int)GameEventID.MAINPANEL_SHOWREDWARING, st);

        SendToMe(cmd.data.dwID); //系统消息获得称号
    }
Пример #5
0
    /// <summary>
    /// 刷新成就数据
    /// </summary>
    /// <param name="cmd"></param>
    public void OnResponRefreshAchieveData(List <AchieveData> data, uint achieve_num)
    {
        if (data != null)
        {
            for (int i = 0; i < data.Count; i++)
            {
                uint id = data[i].id;
                if (achievementServerData.ContainsKey(id))
                {
                    achievementServerData[id].progress = data[i].progress;
                    achievementServerData[id].status   = data[i].status;
                }
                else
                {
                    achievementServerData.Add(id, data[i]);
                }

                if (data[i].status == (uint)AchieveStatus.AchieveStatus_CanReceive)
                {
                    table.AchievementDataBase table = GameTableManager.Instance.GetTableItem <table.AchievementDataBase>(id);
                    if (table != null)
                    {
                        TipsManager.Instance.ShowTips(table.tips);
                        DataManager.Manager <ChatDataManager>().PrivateChatManager.AddChat(new GameCmd.stCommonMChatUserCmd_CS()
                        {
                            szInfo     = table.tips,
                            byChatType = CHATTYPE.CHAT_SYS,
                            dwOPDes    = 0,
                            szOPDes    = "系统",
                            timestamp  = (uint)DateTimeHelper.Instance.Now,
                        });
                    }
                }
                else if (data[i].status == (uint)AchieveStatus.AchieveStatus_HaveReceive)
                {
                    table.AchievementDataBase table = GameTableManager.Instance.GetTableItem <table.AchievementDataBase>(id);
                    if (table != null)
                    {
                        haveAchievePoint += table.get_point;
                    }
                }
            }
        }
        if (HaveCanReceiveAchieve())
        {
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.REFRESHACHIEVEMENTPUSH, null);
            stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
            {
                modelID   = (int)WarningEnum.Achievement,
                direction = (int)WarningDirection.Left,
                bShowRed  = true,
            };
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
        }
        DispatchValueUpdateEvent(new ValueUpdateEventArgs(AchieveDispatchEvents.RefreshAchieveInfo.ToString(), null, null));
    }
Пример #6
0
    public void RecieveSingleData(stRequstRechargePropertyUserCmd_CS cmd)
    {
        //消费
        if (cmd.type == 0)
        {
            DayCost = cmd.daymoney;
            AllCost = cmd.allmoney;
        }
        else if (cmd.type == 1)
        {
            MoneyAreCost.Add(cmd.signalmoney);
            DayRecharge = cmd.daymoney;
            AllRecharge = cmd.allmoney;

            //单日累计充值人民币
            this.m_dayAllRMB = cmd.dayrmb;

            //周充值
            for (int i = 0; i < cmd.week.Count; i++)
            {
                for (int j = 0; j < this.m_lstWeekRech.Count; j++)
                {
                    if (this.m_lstWeekRech[j].money == cmd.week[i].money)
                    {
                        this.m_lstWeekRech[j].times = cmd.week[i].times;
                    }
                }
            }
        }


        UpdateActivityData();

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.RECHARGESINGLEDATA, null);
        if (cmd.IsFirst == 1)
        {
            Client.stFirstRecharge fir = new Client.stFirstRecharge();
            fir.rechargeId = cmd.id;
            DataManager.Manager <Mall_HuangLingManager>().AlreadyFirstRecharge.Add(cmd.id);
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.ISFIRSTRECHARGE, fir);
        }

        //累充
        if (IsWeekRechargeReach())
        {
            //有累计奖励达成
            stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
            {
                modelID   = (int)WarningEnum.Accumulative,
                direction = (int)WarningDirection.None,
                bShowRed  = true,
            };
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
        }
    }
Пример #7
0
    void SetFirstRechargeRewardRedPoint()
    {
        bool show = DataManager.Manager <Mall_HuangLingManager>().AlreadyFirstRecharge.Count > 0 && !DataManager.Manager <ActivityManager>().HadGotFirstRechargeReward;
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.FirstRechargeReward,
            direction = (int)WarningDirection.None,
            bShowRed  = show,
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
    }
Пример #8
0
    void SetAchievementRedPoint()
    {
        bool show = DataManager.Manager <AchievementManager>().HaveCanReceiveAchieve();
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.Achievement,
            direction = (int)WarningDirection.Left,
            bShowRed  = show,
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
    }
Пример #9
0
    void SetActivityRedPoint()
    {
        bool show = DataManager.Manager <ActivityManager>().HaveRewardCanGet();
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.Activity,
            direction = (int)WarningDirection.None,
            bShowRed  = show,
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
    }
Пример #10
0
 //累充
 void SetAccumulativeRechRedPoint()
 {
     if (DataManager.Manager <ActivityManager>().IsWeekRechargeReach())
     {
         stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
         {
             modelID   = (int)WarningEnum.Accumulative,
             direction = (int)WarningDirection.None,
             bShowRed  = true,
         };
         Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
     }
 }
Пример #11
0
 void SetRideRedPoint()
 {
     if (DataManager.Manager <RideManager>().IsShowRideRedPoint())
     {
         stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
         {
             modelID   = (int)WarningEnum.Ride,
             direction = (int)WarningDirection.None,
             bShowRed  = true,
         };
         Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
     }
 }
Пример #12
0
    void SetFriendRedPoint()
    {
        bool haveChat = DataManager.Manager <ChatDataManager>().PrivateChatManager.HaveMsgFromFriend;
        bool haveMail = DataManager.Manager <MailManager>().HaveMailCanGet;
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.Mail,
            direction = (int)WarningDirection.None,
            bShowRed  = haveMail || haveChat,
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
    }
Пример #13
0
    public void GetRewardBox(uint id)
    {
        RewardID = id;
        RewardBoxList.Add(id);
        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.DAILY_GETREWARDBOXOVER, null);
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.Daily,
            direction = (int)WarningDirection.None,
            bShowRed  = HaveRewardBoxCanGet(),
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
    }
Пример #14
0
    public void GlobalEventHandler(int nEventID, object param)
    {
        switch (nEventID)
        {
        case (int)Client.GameEventID.UIEVENT_UPDATEITEM:
        {
            if (null != param && param is ItemDefine.UpdateItemPassData)
            {
                ItemDefine.UpdateItemPassData passData = param as ItemDefine.UpdateItemPassData;
                BaseItem baseItem = DataManager.Manager <ItemManager>().GetTempBaseItemByBaseID <BaseItem>(passData.BaseId);
                if (baseItem.IsGem || baseItem.IsForgingEquip)
                {
                    gemQwThisIDsChanged = true;
//                              bool open = MainPlayerHelper.GetPlayerLevel() >= DataManager.Manager<ForgingManager>().OpenLv;
//                              bool value = open && (HaveEquipCanStrengthen() || HaveEquipCanInlayByIndex());
//                              if (curForgingWarningIsShowing != value)
//                              {
//                                  stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
//                                  {
//                                      modelID = (int)WarningEnum.Forging,
//                                      direction = (int)WarningDirection.Left,
//                                      bShowRed = value,
//                                  };
//                                  Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
//                                  curForgingWarningIsShowing = value;
//                              }
                }
            }
        }
        break;

        case (int)Client.GameEventID.SYSTEM_GAME_READY:
        {
            bool open  = MainPlayerHelper.GetPlayerLevel() >= DataManager.Manager <ForgingManager>().OpenLv;
            bool value = open && (HaveEquipCanStrengthen() || HaveEquipCanInlayByIndex());
            if (value)
            {
                stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
                {
                    modelID   = (int)WarningEnum.Forging,
                    direction = (int)WarningDirection.Left,
                    bShowRed  = value,
                };
                Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
                curForgingWarningIsShowing = value;
            }
        }
        break;
        }
    }
Пример #15
0
    void SetForgingRedPoint()
    {
        bool CanStrength           = DataManager.Manager <ForgingManager>().HaveEquipCanStrengthen();
        bool CanInlay              = DataManager.Manager <ForgingManager>().HaveEquipCanInlayByIndex();
        bool open                  = MainPlayerHelper.GetPlayerLevel() >= DataManager.Manager <ForgingManager>().OpenLv;
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.Forging,
            direction = (int)WarningDirection.Left,
            bShowRed  = open && (CanStrength || CanInlay),
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
    }
Пример #16
0
    public void GetAllLivenessData(stLivenessDataDataUserCmd_S cmd)
    {
        Reset();
        activeList       = cmd.data;
        ActiveTotalValue = cmd.liveness;
        RewardBoxList    = cmd.case_id;
        ListSort(activeList);
        FormDailyData(DailyDataType.RiChangHuoDong);
        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.DAILY_RESALLDATA, null);
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.Daily,
            direction = (int)WarningDirection.None,
            bShowRed  = HaveRewardBoxCanGet(),
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
    }
Пример #17
0
    public void DisPatchRideRedPoint()
    {
        bool bShow = false;

        if (IsShowRideRedPoint())
        {
            bShow = true;
        }
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.Ride,
            direction = (int)WarningDirection.Left,
            bShowRed  = bShow,
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
        DispatchValueUpdateEvent(RideDispatchEnum.RefreshRedPoint.ToString(), null, null);
    }
Пример #18
0
    public void RecieveQuestionData(List <stSendRewardQuestionPropertyUserCmd_S.QuestionInfo> quests, RewardStatus feed, uint feedNum)
    {
        canGetFeed         = false;
        feedBackStatus     = feed;
        feedRewardLeftTime = feedNum;
        bool showRed = false;

        for (int i = 0; i < quests.Count; i++)
        {
            if (questDic.ContainsKey(quests[i].id))
            {
                questDic[quests[i].id] = quests[i];
            }
            else
            {
                questDic.Add(quests[i].id, quests[i]);
            }
        }
        if (feedBackStatus == RewardStatus.Reward_Open)
        {
            showRed = true;
            if (feedBackStatus == RewardStatus.Reward_Open)
            {
                canGetFeed = true;
            }
            else
            {
                canGetFeed = false;
            }
        }
        else
        {
            showRed = false;
        }
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.Question,
            direction = (int)WarningDirection.None,
            bShowRed  = showRed,
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.REFRESHQUESTIONPANEL, null);
    }
Пример #19
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="eventid"></param>
    /// <param name="data"></param>
    public void GlobalEventHandler(int eventid, object data)
    {
        switch (eventid)
        {
        case (int)Client.GameEventID.RECONNECT_SUCESS:
        {
            //刷新面板
        }
        break;

        case (int)Client.GameEventID.ISFIRSTRECHARGE:
        {
            m_blockGridCreator.UpdateActiveGrid();
        }
        break;

        case (int)Client.GameEventID.BUYNOBLESUCCESS:
        {
            stNobleTempIndex dat = (stNobleTempIndex)data;
            RefreshNobleGrid(dat.nobleID);
        }
        break;

        case (int)Client.GameEventID.GETNOBLEMONEYSUCCESS:
        {
            stNobleTempIndex dat = (stNobleTempIndex)data;
            RefreshNobleGrid(dat.nobleID);
        }
        break;

        case (int)Client.GameEventID.MAINPANEL_SHOWREDWARING:
        {
            stShowMainPanelRedPoint st        = (stShowMainPanelRedPoint)data;
            WarningDirection        direction = (WarningDirection)st.direction;
            WarningEnum             model     = (WarningEnum)st.modelID;
            if (model == WarningEnum.Noble)
            {
                mShowNobleRedPoint = st.bShowRed;
                UpdateApplyRedPoint();
            }
        }
        break;
        }
    }
Пример #20
0
    /// <summary>
    /// 技能只判断等级
    /// </summary>
    public void DispatchRedPoingMsg()
    {
        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint();

        st.modelID   = (int)WarningEnum.LearnSkill;
        st.direction = (int)WarningDirection.Left;

        bool haveHeartSkillUpgrade = DataManager.Manager <HeartSkillManager>().HaveHeartSkillEnableUpgrade();

        if (haveHeartSkillUpgrade || HaveSkillUpgrade())
        {
            st.bShowRed = true;
            EventEngine.Instance().DispatchEvent((int)GameEventID.MAINPANEL_SHOWREDWARING, st);
        }
        else
        {
            st.bShowRed = false;
            EventEngine.Instance().DispatchEvent((int)GameEventID.MAINPANEL_SHOWREDWARING, st);
        }
    }
Пример #21
0
    public void GetNewMail(stNotifyNewMailUserCmd_S cmd)
    {
        if (MailList == null)
        {
            MailList = new List <ListMailInfo>();
        }
        this.MailList.Add(cmd.data);
        MailSort(MailList);
        mail_dic.Add(cmd.data.mailid, cmd.data);
        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAIL_ADDNEWMAIL, null);

        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.Mail,
            direction = (int)WarningDirection.None,
            bShowRed  = true,
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
    }
Пример #22
0
    /// <summary>
    /// 领取奖励成功
    /// </summary>
    /// <param name="cmd"></param>
    public void OnResponGetAchieveReward(stGetAchieveRewardDataUserCmd_CS cmd)
    {
        if (cmd != null)
        {
            for (int i = 0; i < cmd.id.Count; i++)
            {
                uint id = cmd.id[i];
                if (achievementServerData.ContainsKey(id))
                {
                    achievementServerData[id].status = (uint)AchieveStatus.AchieveStatus_HaveReceive;
                    table.AchievementDataBase table = GameTableManager.Instance.GetTableItem <table.AchievementDataBase>(id);
                    if (table == null)
                    {
                        Engine.Utility.Log.Error("成就表格找不到对应ID为{0}的数据", id);
                    }
                    else
                    {
                        haveAchievePoint += table.get_point;
                        if (table.title != 0)
                        {
                            TitleDataBase title = GameTableManager.Instance.GetTableItem <TitleDataBase>(table.title);
                            TipsManager.Instance.ShowTips(DataManager.Manager <TextManager>().GetLocalFormatText(LocalTextType.Local_TXT_Notice_GetTitle, title.strName));
                        }
                    }
                }
            }
        }
        if (HaveCanReceiveAchieve())
        {
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.REFRESHACHIEVEMENTPUSH, null);
            stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
            {
                modelID   = (int)WarningEnum.Achievement,
                direction = (int)WarningDirection.Left,
                bShowRed  = true,
            };
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
        }

        DispatchValueUpdateEvent(new ValueUpdateEventArgs(AchieveDispatchEvents.GetAchieveReward.ToString(), null, null));
    }
Пример #23
0
    public void HasNobleWarning()
    {
        int num = 0;

        foreach (var i in NobleDic)
        {
            if (i.Value.freeWenqian == 0)
            {
                num++;
            }
        }
        m_boolHasNobleWarning = num > 0;

        stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
        {
            modelID   = (int)WarningEnum.Noble,
            direction = (int)WarningDirection.None,
            bShowRed  = m_boolHasNobleWarning,
        };

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
    }
Пример #24
0
    void SetReadMsgTipsById(uint id, bool read)
    {
        if (m_dictMsgTips.ContainsKey(id))
        {
            m_dictMsgTips[id] = read;
        }
        bool btip = false;

        foreach (var i in m_dictMsgTips)
        {
            if (i.Key != 0 && i.Value)
            {
                btip = true;
                break;
            }
        }
//         foreach (bool status in m_dictMsgTips.Values)
//         {
//             if (status)
//             {
//                 btip = true;
//                 break;
//             }
//         }
        haveMsgFromFriend = btip;
        if (haveMsgFromFriend)
        {
            stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
            {
                modelID   = (int)WarningEnum.Mail,
                direction = (int)WarningDirection.None,
                bShowRed  = true,
            };
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.MAINPANEL_SHOWREDWARING, st);
        }

        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.FRIEND_ADDNEWMSG, null);
    }
Пример #25
0
    /// <summary>
    /// 取消红点提示
    /// </summary>
    /// <param name="titleId"></param>
    public void CancelNewTitleRedPoint(uint firstKeyId, uint titleId)
    {
        //1、 清数据
        if (TManager.IsNewTitle(titleId))
        {
            TManager.NewTitleIdList.Remove(titleId);

            //检查主界面红点提示
            stShowMainPanelRedPoint st = new stShowMainPanelRedPoint()
            {
                modelID   = (int)WarningEnum.TITLE_NEWTITLE,
                direction = (int)WarningDirection.Left,
                bShowRed  = TManager.HaveNewTitle(),
            };
            EventEngine.Instance().DispatchEvent((int)GameEventID.MAINPANEL_SHOWREDWARING, st);
        }

        //2、 下面的一级页签
        if (m_secondsTabCreator != null)
        {
            List <uint> titleIdList;
            if (m_titleDic.TryGetValue(firstKeyId, out titleIdList))
            {
                bool haveNewTitle = HaveNewTilteInList(titleIdList);

                List <uint>   firstKeyIdList = m_titleDic.Keys.ToList <uint>();
                UICtrTypeGrid ctrTypeGrid    = m_secondsTabCreator.GetGrid <UICtrTypeGrid>(firstKeyIdList.IndexOf(firstKeyId));
                if (ctrTypeGrid != null)
                {
                    ctrTypeGrid.SetRedPointStatus(haveNewTitle);
                }
            }
        }

        //3、最上面的grid
        SetTopCategoryGridNewMark(HaveNewTilteInList(m_lstTitleData));
    }
Пример #26
0
    /// <summary>
    /// 事件处理
    /// </summary>
    /// <param name="nEventID"></param>
    /// <param name="param"></param>
    public void GlobalEventHandler(int nEventID, object param)
    {
        GuideDefine.GuideTriggerType triggerType = GuideDefine.GuideTriggerType.Invalide;
        bool playerLogin = false;

        switch (nEventID)
        {
        case (int)Client.GameEventID.ENTITYSYSTEM_LEVELUP:
        {
            triggerType = GuideDefine.GuideTriggerType.Level;
            CheckTabFuncOpen(true);
        }
        break;

        case (int)(int)Client.GameEventID.CHAPTER_EFFECT_END:
        {
            triggerType = GuideDefine.GuideTriggerType.ChapterEnd;
        }
        break;

        case (int)Client.GameEventID.TASK_ACCEPT:
        case (int)Client.GameEventID.TASK_DONING:
        case (int)Client.GameEventID.TASK_CANSUBMIT:
        case (int)Client.GameEventID.TASK_DONE:
        case (int)Client.GameEventID.UIEVENTGUIDERECYCLETRIGGER:
        {
            triggerType = GuideDefine.GuideTriggerType.Task;
        };
            break;

        case (int)Client.GameEventID.SEVENDAYOPENSTATUS:
        case (int)Client.GameEventID.GODWEAPENSTATUS:
        case (int)Client.GameEventID.OPENSERVERGIFTSTATUS:
        case (int)Client.GameEventID.FIRSTRECHARGESTATUS:
        case (int)Client.GameEventID.RETREWARDSTATUS:
        case (int)Client.GameEventID.QUESTIONSTATUS:
        {
            triggerType = GuideDefine.GuideTriggerType.Condition;
        }
        break;

        case (int)Client.GameEventID.TITLE_NEWTITLE:               //称号获得
        case (int)Client.GameEventID.MAINPANEL_SHOWREDWARING:      //日常
        {
            stShowMainPanelRedPoint st        = (stShowMainPanelRedPoint)param;
            WarningDirection        direction = (WarningDirection)st.direction;
            WarningEnum             model     = (WarningEnum)st.modelID;
            if (model == WarningEnum.Daily && st.bShowRed)
            {
                triggerType = GuideDefine.GuideTriggerType.Condition;
            }
        }
        break;

        case (int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOWCHECK:
        {
            CheckWorkFlowData checkData = new CheckWorkFlowData
            {
                CheckTypeMask = GuideDefine.GetTriggerMaskByType(GuideDefine.GuideTriggerType.Always),
            };
            if (null != param && param is CheckWorkFlowData)
            {
                checkData = (CheckWorkFlowData)param;
            }
            CheckWorkFlow(checkData);
        }
        break;

        case (int)Client.GameEventID.SYSTEM_GAME_READY:
            //case (int)Client.GameEventID.PLAYER_LOGIN_SUCCESS:
        {
            triggerType = GuideDefine.GuideTriggerType.Always;
            playerLogin = true;
            CheckTabFuncOpen(false);
        }
        break;

        case (int)Client.GameEventID.RECONNECT_SUCESS:
        {
            //断线重连
            if (null != param && param is Client.stReconnectSucess)
            {
                Client.stReconnectSucess reconnect = (Client.stReconnectSucess)param;
            }
            triggerType = GuideDefine.GuideTriggerType.Always;
            playerLogin = true;
        }
        break;

        case (int)Client.GameEventID.UIEVENTGUIDEWORKFLOWCHECKCOMPLETE:
        {
            //设置数据状态
            m_bool_workFlowReady = true;
            //执行下一个工作流
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOW);
        }
        break;

        case (int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOW:
        {
            DoWorkFlow();
        }
        break;

        case (int)Client.GameEventID.UIEVENT_PANELSTATUS:
        {
            if (null != param && param is UIPanelBase.PanelStatusData)
            {
                UIPanelBase.PanelStatusData status = (UIPanelBase.PanelStatusData)param;
                if (status.Status == UIPanelBase.PanelStatus.Show)
                {
                    DoRefreshNewFuncOpenStaus(status.ID);
                }
                else if (status.Status == UIPanelBase.PanelStatus.Hide)
                {
                    ClearRecycleTriggerGuideByPanel(status.ID);
                }
            }
        }
        break;

        /***************面板焦点状态改变********************/
        case (int)Client.GameEventID.UIEVENT_PANELFOCUSSTATUSCHANGED:
        {
            UIPanelManager.PanelFocusData status = (UIPanelManager.PanelFocusData)param;
            if (status.GetFocus)
            {
                //任务提交面板显示检测工作流(条件触发)
                Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOWCHECK
                                                                    , new CheckWorkFlowData()
                    {
                        CheckTypeMask = (1 << (int)GuideDefine.GuideTriggerType.Condition),
                    });

                //刷新新功能开启状态
                //DoRefreshNewFuncOpenStaus(status.ID);
                //执行下一个工作流
                Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOW);
            }
        }
        break;

        case (int)Client.GameEventID.UIEVENTGAMEOBJMOVESTATUSCHANGED:
        {
            if (null != param && param is UIDefine.GameObjMoveData)
            {
                UIDefine.GameObjMoveData moveData = param as UIDefine.GameObjMoveData;
                //Engine.Utility.Log.LogGroup("WJH", "MOveStatus status:{0} child:{1} ", moveData.Status, moveData.Objs.Count);
                bool adjustTime = false;
                bool matchTime  = false;
                switch (moveData.Status)
                {
                case UIDefine.GameObjMoveStatus.MoveToInvisible:
                {
                    adjustTime = true;
                    matchTime  = false;
                }
                break;

                case UIDefine.GameObjMoveStatus.Invisible:
                case UIDefine.GameObjMoveStatus.Visible:
                {
                    adjustTime = true;
                    matchTime  = true;
                }
                break;

                case UIDefine.GameObjMoveStatus.MoveToVisible:
                {
                }
                break;
                }

                AdjustWorkFlowDoTime(adjustTime, matchTime);
                AdjustUnGuideRefreshDoTime(adjustTime, matchTime);
            }
        }
        break;

        /**********新手引导*************/
        case (int)Client.GameEventID.UIEVENTGUIDECOMPLETE:
        {
            //完成一个引导
            CompleteGuide((uint)param);
            //执行下一个工作流
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOW);
        }
        break;

        case (int)Client.GameEventID.UIEVENTGUIDESKIP:
        {
            //跳过静默完成当前引导
            SilentCompleteGuideGroup((uint)param);
            //执行下一个工作流
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOW);
        }
        break;

        /**********新功能开启*************/
        case (int)Client.GameEventID.UIEVENTNEWFUNCOPENREAD:
        {
            OnNewFuncOpenRead((GuideDefine.FuncOpenShowData)param);
        }
        break;

        case (int)Client.GameEventID.UIEVENTNEWFUNCOPENADD:
        {
            OnNewFuncOpenAdd((GuideDefine.FuncOpenShowData)param);
        }
        break;

        case (int)Client.GameEventID.UIEVENTNEWFUNCCOMPLETE:
        {
            //执行下一个工作流
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOW);
        }
        break;

        //物品变更检测工作流(条件触发)
        case (int)Client.GameEventID.UIEVENT_UPDATEITEM:
        {
            if (null != param && param is ItemDefine.UpdateItemPassData)
            {
                ItemDefine.UpdateItemPassData passData = param as ItemDefine.UpdateItemPassData;
                if (passData.UpdateType == ItemDefine.UpdateItemType.Add ||
                    (passData.UpdateType == ItemDefine.UpdateItemType.Update && passData.ChangeNum > 0))
                {
                    GuideDefine.GetTriggerMaskByType(GuideDefine.GuideTriggerType.Condition);
                    //任务提交面板显示检测工作流(条件触发)
                    Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOWCHECK
                                                                        , new CheckWorkFlowData()
                        {
                            CheckTypeMask = (GuideDefine.GetTriggerMaskByType(GuideDefine.GuideTriggerType.Condition)
                                             | GuideDefine.GetTriggerMaskByType(GuideDefine.GuideTriggerType.ItemGet)),
                            Param = passData.BaseId,
                        });
                }
            }
        }
        break;

        case (int)Client.GameEventID.UIEVENTUISTATECHANGED:
        {
            if (null != param && param is PanelID)
            {
                PanelID pid = (PanelID)param;
                RefreshGuideTargetObj(pid);
            }
        }
        break;
        }

        if (triggerType != GuideDefine.GuideTriggerType.Invalide)
        {
            //检测工作流
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTDOGUIDEWORKFLOWCHECK, new CheckWorkFlowData()
            {
                CheckTypeMask = GuideDefine.GetTriggerMaskByType(triggerType),
                Param         = param,
            });
        }

        if (playerLogin)
        {
            //数据流准备好
            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.UIEVENTGUIDEWORKFLOWCHECKCOMPLETE);
        }
    }
Пример #27
0
    void OnEvent(int eventID, object param)
    {
        switch ((Client.GameEventID)eventID)
        {
        case GameEventID.ENTITYSYSTEM_TARGETCHANGE:
        {
            OnTargetChange(param);
        }
        break;

        case GameEventID.SKILLSYSYTEM_TAB:
        {
            if (m_effctSelect != null)
            {
                Engine.RareEngine.Instance().GetRenderSystem().RemoveEffect(m_effctSelect);
                m_effctSelect = null;
            }
            string strSelectEffct = "effect/UI/[email protected]";
            strSelectEffct = strSelectEffct.ToLower();
            Engine.RareEngine.Instance().GetRenderSystem().CreateEffect(ref strSelectEffct, ref m_effctSelect, null);
            InitEffct(m_effctSelect);
            SetSelectTargetEffectPos();
        }
        break;

        case GameEventID.SKILLSYSTEM_SHOWDAMAGE:
        {
            Client.IEntity entity = ClientGlobal.Instance().GetControllerSystem().GetActiveCtrl().GetCurTarget();
            if (entity != null)
            {
            }
        }
        break;

        case GameEventID.ENTITYSYSTEM_HPUPDATE:
        {
            UpdateProprty(param);
        }
        break;

        case GameEventID.ENTITYSYSTEM_MPUPDATE:
        {
            UpdateProprty(param);
        }
        break;

        case GameEventID.ENTITYSYSTEM_PROPUPDATE:
        {
            UpdateProprty(param);
        }
        break;

        case GameEventID.PLAYER_FIGHTPOWER_REFRESH:
        {
            RefreshFightPower(param);
        }
        break;

        case GameEventID.SKILL_SHOWPETSKILL:
        {
            stShowPetSkill st = (stShowPetSkill)param;
            m_bShowPetQuick = st.bShow;
            // ShowPetQuickInfo(st.bShow);
        }
        break;

        case Client.GameEventID.CAMP_ADDCOLLECTNPC:
        {
            UpdateFBPickBtn(param);
        }
        break;

        case Client.GameEventID.ROBOTCOMBAT_STOP:
        {
            if (m_spriteEx_btnAutoFight != null)
            {
                m_spriteEx_btnAutoFight.ChangeSprite(1);
            }
        }
        break;

        case Client.GameEventID.ROBOTCOMBAT_START:
        {
            if (m_spriteEx_btnAutoFight != null)
            {
                m_spriteEx_btnAutoFight.ChangeSprite(2);
            }
        }
        break;

        case GameEventID.MAINPANEL_SHOWREDWARING:
        {
            stShowMainPanelRedPoint st        = (stShowMainPanelRedPoint)param;
            WarningDirection        direction = (WarningDirection)st.direction;
            WarningEnum             model     = (WarningEnum)st.modelID;
            bool       bShow       = (bool)st.bShowRed;
            GameObject redPointObj = null;
            switch ((WarningEnum)st.modelID)
            {
            case WarningEnum.LearnSkill:
                redPointObj = m_sprite_learnskill_warning.gameObject;
                break;

            case WarningEnum.SEVENDAY:
                redPointObj = m_sprite_seven_warning.gameObject;
                break;

            case WarningEnum.WELFARE:
                redPointObj = m_sprite_welfare_warning.gameObject;
                break;

            case WarningEnum.TITLE_NEWTITLE:
                redPointObj = m_sprite_prop_warning.gameObject;
                break;

            case WarningEnum.Question:
                redPointObj = m_sprite_question_warning.gameObject;
                break;

            case WarningEnum.Mail:
                redPointObj = m_sprite_friend_warning.gameObject;
                break;

            case WarningEnum.Noble:
                redPointObj = m_sprite_mall_warning.gameObject;
                m_sprite_Noble_warning.gameObject.SetActive(bShow);
                break;

            case WarningEnum.Clan:
                redPointObj = m_sprite_clan_warning.gameObject;
                break;

            case WarningEnum.Achievement:
                redPointObj = m_sprite_achievement_warning.gameObject;
                break;

            case WarningEnum.Daily:
                redPointObj = m_sprite_daily_warning.gameObject;
                break;

            case WarningEnum.GodWeapen:
                redPointObj = m_sprite_godweapen_warning.gameObject;
                break;

            case WarningEnum.OpenServer:
                redPointObj = m_sprite_openserver_warning.gameObject;
                break;

            case WarningEnum.FirstRechargeReward:
                redPointObj = m_sprite_FirstRecharge_warning.gameObject;
                break;

            case WarningEnum.Activity:
                redPointObj = m_sprite_activity_warning.gameObject;
                break;

            case WarningEnum.Forging:
                redPointObj = m_sprite_forging_warning.gameObject;
                break;

            case WarningEnum.Accumulative:
                redPointObj = m_sprite_Accumulative_warning.gameObject;
                break;

            case WarningEnum.Ride:
                redPointObj = m_sprite_ride_warning.gameObject;
                break;

            case WarningEnum.HttpDown:
                redPointObj = m_sprite_HttpDown_warning.gameObject;
                break;
            }
            if (redPointObj != null)
            {
                redPointObj.SetActive(bShow);
            }

            if (direction == WarningDirection.None)
            {
                //不涉及到三角标和头像红点提示的系统return;
                return;
            }
            if (!m_lstWarnningSystem.ContainsKey(direction))
            {
                m_lstWarnningSystem.Add(direction, new List <WarningEnum>());
            }
            if (bShow)
            {
                if (!m_lstWarnningSystem[direction].Contains(model))
                {
                    m_lstWarnningSystem[direction].Add(model);
                }
            }
            else
            {
                if (m_lstWarnningSystem[direction].Contains(model))
                {
                    m_lstWarnningSystem[direction].Remove(model);
                }
            }
            if (direction == WarningDirection.Right)
            {
                bool showRed = m_lstWarnningSystem[direction].Count > 0;
                m_sprite_leftbtn_warning.gameObject.SetActive(showRed);
            }
            else if (direction == WarningDirection.Left)
            {
                m_sprite_face_warning.gameObject.SetActive(m_lstWarnningSystem[direction].Count > 0);
            }
        }
        break;

        //摇杆
        case GameEventID.ENTITYSYSTEM_LEAVEMAP:
        {
            ResetJoystick();
            //小地图
            ReleaseTexture();
        }
        break;

        case GameEventID.SKLL_LONGPRESS:
        {
            stSkillLongPress press = (stSkillLongPress)param;
            //if (press.userID == MainPlayerHelper.GetPlayerUID())
            {
                m_bSkillLongPress = press.bLongPress;
            }
        }
        break;

        case GameEventID.ENTITYSYSTEM_RELIVE:
        {
            stEntityRelive ed = (stEntityRelive)param;
            if (ed.uid == MainPlayerHelper.GetPlayerUID())
            {
                ResetJoystick();

                //清采集按钮
                if (DataManager.Manager <ComBatCopyDataManager>().EnterCopyID != 0)
                {
                    stCampCollectNpc npc = new stCampCollectNpc {
                        enter = false, npcid = 0
                    };
                    UpdateFBPickBtn(npc);
                }
            }
        }
        break;

        case GameEventID.ENTITYSYSTEM_NEWNAME:
        {
            Client.stNewName name = (Client.stNewName)param;
            UserData.CurrentRole.name = name.newName;
            m_label_mainroleName.text = name.newName;
        }
        break;

        case GameEventID.EJOYSTICKSTABLE:
        {
            if (param != null)
            {
                m_bJoystickStable = (bool)param;
            }
            SetMainCollider();
        }
        break;

        case GameEventID.REFRESHTRANSMITPUSHMSGSTATUS:
        {
            RefreshBtns();
        }
        break;

        case GameEventID.SYSTEM_GAME_READY:
        {
            ControlMainBtnParticle(m_sprite_FanLi_warning.parent.transform, true);

            //ControlMainBtnParticle(m_sprite_FirstRecharge_warning.parent.transform, true);
            //ControlMainBtnParticle(m_sprite_activity_warning.parent.transform, true);
            //ControlMainBtnParticle(m_sprite_Noble_warning.parent.transform, true);
            //ControlMainBtnParticle(m_sprite_Accumulative_warning.parent.transform, true);
        }
        break;

        default:
            break;
        }
    }