void DoGameEvent(int eventID, object param)
    {
        //ROBOTCOMBAT_START = 8001,           // 开始挂机
        //ROBOTCOMBAT_STOP,                   // 停止挂机
        //ROBOTCOMBAT_PAUSE,                  // 暂停挂机

        if (eventID == (int)GameEventID.SKILLBUTTON_CLICK || eventID == (int)GameEventID.ROBOTCOMBAT_START || eventID == (int)GameEventID.JOYSTICK_PRESS)
        {
            if (m_trans_TeamMemberBtnRoot.gameObject.activeSelf == true)
            {
                m_trans_TeamMemberBtnRoot.gameObject.SetActive(false);
            }
        }

        else if (eventID == (int)GameEventID.ROBOTCOMBAT_COPYKILLWAVE)
        {
            UpdateCopyTarget();

            stCopySkillWave copyWave = (stCopySkillWave)param;
            UpdateCopyTargetGrid(copyWave.waveId);
        }

        else if (eventID == (int)GameEventID.COPY_REWARDEXP)
        {
            stCopyRewardExp copyRewardExp = (stCopyRewardExp)param;
            UpdateCopyTargetGridExp(copyRewardExp.exp);
        }

        else if (eventID == (int)GameEventID.UIEVENT_WORLDBOSSDAMRANKREFRESH)
        {
            UpdateCopyTargetGridWorldJuBaoRankAndDamage();
        }

        else if (eventID == (int)GameEventID.UIEVENT_WORLDBOSSINSPIREREFRESH)
        {
            UpdateCopyTargetGridWorldJuBaoGuWuAdd();
        }

        else if (eventID == (int)GameEventID.UIEVENT_PANELFOCUSSTATUSCHANGED)
        {
        }

        else if (eventID == (int)GameEventID.UIEVENTGUIDECOMPLETE)
        {
        }

        else if (eventID == (int)GameEventID.UIEVENT_UPDATEITEM)
        {
            //跟新复活卡数量
            if (DataManager.Manager <AnswerManager>().InAnswerCopy)
            {
                ItemDefine.UpdateItemPassData passData = (ItemDefine.UpdateItemPassData)param;
                if (passData.BaseId == DataManager.Manager <AnswerManager>().FuHuoCardId)
                {
                    InitAnswer();
                }
            }
        }
    }
Beispiel #2
0
 void OnUpdateItem(ItemDefine.UpdateItemPassData passData)
 {
     if (null == passData)
     {
         return;
     }
     InitLabel();
 }
Beispiel #3
0
    void OnUpdateItem(ItemDefine.UpdateItemPassData passData)
    {
        if (null == passData)
        {
            return;
        }
        uint qwThisId = passData.QWThisId;

        InitYinhunPaneel();
        InitSkillPanel();
        InitPutongGuiYuanUI();
    }
 void OnUpdateItem(ItemDefine.UpdateItemPassData passData)
 {
     if (null == passData)
     {
         return;
     }
     if (passData.BaseId == ItemID)
     {
         int num = DataManager.Manager <ItemManager>().GetItemNumByBaseId(ItemID);
         SetNum(true, num.ToString());
     }
 }
Beispiel #5
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;
        }
    }
Beispiel #6
0
 /// <param name="data">物品id</param>
 public void OnGlobalUIEventHandler(int eventType, object data)
 {
     switch (eventType)
     {
     case (int)Client.GameEventID.UIEVENT_UPDATEITEM:
     {
         ItemDefine.UpdateItemPassData passData = (ItemDefine.UpdateItemPassData)data;
         if (passData.BaseId == BaseId)
         {
             SetGridData(BaseId, 1);
         }
     }
     break;
     }
 }
Beispiel #7
0
 private void OnGlobalUIEventHandler(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;
             if (null != _db && _db.fragmentID == passData.BaseId)
             {
                 UpdatePetFragments();
             }
         }
     }
     break;
     }
 }
Beispiel #8
0
    /// <summary>
    /// 更新物品UI
    /// </summary>
    /// <param name="data">物品数据</param>
    private void OnUpdateItemDataUI(object data)
    {
        if (null == data || !(data is ItemDefine.UpdateItemPassData))
        {
            return;
        }
        ItemDefine.UpdateItemPassData passData = data as ItemDefine.UpdateItemPassData;
        uint qwThisId = passData.QWThisId;

        if (qwThisId == 0)
        {
            Engine.Utility.Log.Warning("->UpdateItemDataUI qwThisId 0!");
            return;
        }
        if (m_lstItemGo.Count == 0)
        {
            return;
        }

        if (itemList == null)
        {
            Engine.Utility.Log.Error("--->>> itemList 数据为null !");
            return;
        }

        ShortCuts item = itemList.Find((d) => { return(d.itemid == passData.BaseId); });

        if (item == null)
        {
            return;
        }

        for (int i = 0; i < m_lstItemGo.Count; i++)
        {
            UIShortcutItemGrid grid = m_lstItemGo[i].GetComponent <UIShortcutItemGrid>();
            if (grid != null)
            {
                if (grid.item.itemid == passData.BaseId)
                {
                    grid.SetGridData(item);
                }
            }
        }
    }
Beispiel #9
0
    void OnUpdateItem(ItemDefine.UpdateItemPassData passData)
    {
        if (null == passData)
        {
            return;
        }
        uint     qwThisId = passData.QWThisId;
        BaseItem bi       = DataManager.Manager <ItemManager>().GetBaseItemByQwThisId(qwThisId);

        if (bi != null)
        {
            if (bi.BaseData != null)
            {
                if (bi.BaseData.subType == (uint)ItemDefine.ItemMaterialSubType.PetChips || bi.BaseData.subType == (uint)ItemDefine.ItemMaterialSubType.RideChips)
                {
                    ShowRed();
                }
            }
        }
    }
Beispiel #10
0
    public void GlobalEventHandler(int eventType, object data)
    {
        switch (eventType)
        {
        case (int)Client.GameEventID.UIEVENT_UPDATEITEM:
            if (null != data && data is ItemDefine.UpdateItemPassData)
            {
                ItemDefine.UpdateItemPassData pass = data as ItemDefine.UpdateItemPassData;
                if (null != SelectExchangeDB && SelectExchangeDB.CostID == pass.BaseId)
                {
                    UpdateOwer();
                }
            }
            break;

        case (int)Client.GameEventID.ENTITYSYSTEM_LEVELUP:
            UpdateExchangeNum();
            break;
        }
    }
Beispiel #11
0
    /// <summary>
    /// 物品信息变更
    /// </summary>
    /// <param name="passData"></param>
    private void OnInlayItemUpdate(ItemDefine.UpdateItemPassData passData)
    {
        BaseItem baseItem = DataManager.Manager <ItemManager>().GetTempBaseItemByBaseID <BaseItem>(passData.BaseId);

        if (baseItem.IsGem || baseItem.IsForgingEquip)
        {
            UpdateInlayPartList();
            UpdateInlayInfo();
            if (baseItem.IsGem)
            {
                Gem gem = DataManager.Manager <ItemManager>()
                          .GetTempBaseItemByBaseID <Gem>(passData.BaseId, ItemDefine.ItemDataType.Gem);
                GemInlayUpdateData gemInlayUpdateData = null;
                if (mlstCanInlayGemType.Contains(gem.Type) &&
                    mdicCanInlayDatas.TryGetValue(gem.Type, out gemInlayUpdateData))
                {
                    int firstIndex  = mlstCanInlayGemType.IndexOf(gem.Type);
                    int secondIndex = -1;
                    GemInlayUpdateData.GemInlayUpdateType updateType = gemInlayUpdateData.UpdateItem(passData.BaseId, out secondIndex);
                    if (null != mSecondsTabCreator)
                    {
                        if (updateType == GemInlayUpdateData.GemInlayUpdateType.GIUT_Insert)
                        {
                            //数据新增
                            mSecondsTabCreator.InsertIndex(firstIndex, secondIndex);
                        }
                        else if (updateType == GemInlayUpdateData.GemInlayUpdateType.GIUT_Remove)
                        {
                            //数据删除
                            mSecondsTabCreator.RemoveIndex(firstIndex, secondIndex);
                        }
                        else if (updateType == GemInlayUpdateData.GemInlayUpdateType.GIUT_Update)
                        {
                            //数据更新
                            mSecondsTabCreator.UpdateIndex(firstIndex, secondIndex);
                        }
                    }
                }
            }
        }
    }
Beispiel #12
0
 public void OnGlobalUIEventHandler(int eventType, object data)
 {
     switch (eventType)
     {
     case (int)Client.GameEventID.UIEVENT_UPDATEITEM:
         ItemDefine.UpdateItemPassData itemdata = (ItemDefine.UpdateItemPassData)data;
         if (TaskType == 1)
         {
             BaseItem item    = DataManager.Manager <ItemManager>().GetBaseItemByQwThisId(itemdata.QWThisId);
             int      itemNum = DataManager.Manager <ItemManager>().GetItemNumByBaseId(m_PublicTokenDataBase.tokenItemid);
             if (item != null)
             {
                 if (item.BaseId == m_PublicTokenDataBase.tokenItemid)
                 {
                     m_labelCost.text = string.Format("{0}{1}[-]/{2}", itemNum >= 1 ? "[ffffff]" : "[ff0000]", itemNum, 1);
                 }
             }
             else
             {
                 m_labelCost.text = string.Format("{0}{1}[-]/{2}", itemNum >= 1 ? "[ffffff]" : "[ff0000]", itemNum, 1);
             }
             if (m_labelBtn != null)
             {
                 if (itemNum >= COSTNUM)
                 {
                     m_labelBtn.text = "发 布";
                 }
                 else
                 {
                     m_labelBtn.text = "获 取";
                 }
             }
         }
         break;
     }
 }
Beispiel #13
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);
        }
    }
Beispiel #14
0
    //全局事件处理
    public void GlobalEventHandler(int eventid, object data)
    {
        switch (eventid)
        {
        case (int)Client.GameEventID.UIEVENTEQUIPCOMPOUNDOPENRESULT:
        {
            if (null != data && data is uint)
            {
                uint openIndex = (uint)data;
                if (openIndex >= 1 && openIndex <= 3 &&
                    null != cardArray && cardArray.Length == 3)
                {
                    bool isOpen = false;
                    UICompoundSelectAttrGrid tempGrid = null;
                    for (int i = 0, max = cardArray.Length; i < max; i++)
                    {
                        tempGrid = cardArray[i];
                        if (null == tempGrid)
                        {
                            continue;
                        }
                        isOpen = emgr.IsEquipCompoundResultOpen(tempGrid.Index);
                        if (tempGrid.Index == openIndex)
                        {
                            if (emgr.CompoundSelectIndex == tempGrid.Index)
                            {
                                tempGrid.SetSelect(true);
                            }
                            tempGrid.OpenCard();
                        }
                        else if (!isOpen)
                        {
                            tempGrid.UpdateCloseCostStatus(false);
                        }
                    }
                }
            }
        }
        break;

        case (int)Client.GameEventID.UIEVENT_UPDATEITEM:
        {
            if (null != data && data is ItemDefine.UpdateItemPassData)
            {
                ItemDefine.UpdateItemPassData passData = (ItemDefine.UpdateItemPassData)data;
                if (passData.BaseId == m_assistID &&
                    null != cardArray)
                {
                    UpdateAssistData();
                    bool freeGet = emgr.CompoundSelectIndex == 0;
                    if (!freeGet)
                    {
                        UICompoundSelectAttrGrid tempGrid = null;
                        bool isOpen = false;
                        for (int i = 0, max = cardArray.Length; i < max; i++)
                        {
                            tempGrid = cardArray[i];
                            if (null == tempGrid)
                            {
                                continue;
                            }
                            isOpen = emgr.IsEquipCompoundResultOpen(tempGrid.Index);
                            if (isOpen)
                            {
                                continue;
                            }
                            tempGrid.UpdateCloseCostStatus(freeGet);
                        }
                    }
                }
            }
        }
        break;
        }
    }
Beispiel #15
0
    /// <summary>
    /// 物品改变回调
    /// </summary>
    /// <param name="passData"></param>
    void OnUpdateItem(ItemDefine.UpdateItemPassData passData)
    {
        if (null == passData || null == m_ctor_MohonGridScrollView)
        {
            return;
        }
        BaseItem baseItem = DataManager.Manager <ItemManager>().GetTempBaseItemByBaseID <BaseItem>(passData.BaseId);

        baseItem.UpdateData(passData.BaseId);
        uint     qwThisId      = passData.QWThisId;
        BaseItem itemData      = null;
        bool     needRefreshUI = false;

        if (baseItem.IsMuhon)
        {
            switch (passData.UpdateType)
            {
            case ItemDefine.UpdateItemType.Add:
            {
                itemData = imgr.GetBaseItemByQwThisId(qwThisId);
                if (itemData.PackType == GameCmd.PACKAGETYPE.PACKAGETYPE_EQUIP ||
                    itemData.PackType == GameCmd.PACKAGETYPE.PACKAGETYPE_MAIN)
                {
                    dataList.Add(qwThisId);
                    SortDataList();
                    m_ctor_MohonGridScrollView.InsertData(dataList.IndexOf(qwThisId));
                    if (selectedMuhonId == 0)
                    {
                        SetSelectId(qwThisId);
                    }
                }
            }
            break;

            case ItemDefine.UpdateItemType.Remove:
            {
                RemoveEvolveDeputyItem(qwThisId);
                if (dataList.Contains(qwThisId))
                {
                    int index = dataList.IndexOf(qwThisId);
                    dataList.Remove(qwThisId);
                    m_ctor_MohonGridScrollView.RemoveData(index);
                    if (selectedMuhonId == qwThisId)
                    {
                        selectedMuhonId = (dataList.Count > 0) ? dataList[0] : 0;
                        if (selectedMuhonId != 0)
                        {
                            SetSelectId(selectedMuhonId, true);
                        }
                        else
                        {
                            UpdateWidgetsVisbleStatus();
                        }
                    }
                }
            }
            break;

            case ItemDefine.UpdateItemType.Update:
            {
                if (dataList.Contains(qwThisId))
                {
                    itemData = imgr.GetBaseItemByQwThisId(qwThisId);

                    int index = dataList.IndexOf(qwThisId);
                    m_ctor_MohonGridScrollView.UpdateData(index);
                    needRefreshUI = true;
                }
            }
            break;
            }
        }
        if (needRefreshUI ||
            baseItem.BaseType == GameCmd.ItemBaseType.ItemBaseType_Material)
        {
            UpdateDataUIByStatus();
        }
    }
Beispiel #16
0
    void OnEvent(int eventID, object param)
    {
        if (eventID == (int)Client.GameEventID.ENTITYSYSTEM_CREATEENTITY)
        {
            Client.stCreateEntity ce = (Client.stCreateEntity)param;
            Client.IEntitySystem  es = Client.ClientGlobal.Instance().GetEntitySystem();
            if (es == null)
            {
                return;
            }
            Client.IEntity en = es.FindEntity(ce.uid);
            if (en != null)
            {
                int rideId = en.GetProp((int)Client.PlayerProp.RideBaseId);
                if (rideId != 0)
                {
                    //if (Client.ClientGlobal.Instance().IsMainPlayer(en))
                    //{
                    //    UsingRide = (uint)rideId;
                    //}
                    bool isride = (bool)en.SendMessage(Client.EntityMessage.EntityCommond_IsRide, null);
                    if (!isride)
                    {
                        en.SendMessage(Client.EntityMessage.EntityCommond_Ride, rideId);
                    }
                    //                    Engine.Utility.Log.LogGroup("ZCX", "EntityCommond_Ride {0}",en.GetID());
                }

                //int transModelId = en.GetProp((int)Client.PlayerProp.TransModelResId);
                //if (transModelId != 0)
                //{
                //    en.SendMessage(Client.EntityMessage.EntityCommand_Change, new Client.ChangeBody() {  resId = transModelId});
                //}
            }
        }
        else if (eventID == (int)Client.GameEventID.ENTITYSYSTEM_RIDE)
        {
            Client.stEntityRide ride = (Client.stEntityRide)param;
            if (Client.ClientGlobal.Instance().IsMainPlayer(ride.uid))
            {
                if (UsingRideCallback != null)
                {
                    UsingRideCallback(UsingRideCallbackParam);
                    UsingRideCallback      = null;
                    UsingRideCallbackParam = null;
                }
            }
        }
        else if (eventID == (int)Client.GameEventID.ENTITYSYSTEM_UNRIDE)
        {
            Client.stEntityUnRide ride = (Client.stEntityUnRide)param;
            if (Client.ClientGlobal.Instance().IsMainPlayer(ride.uid))
            {
                if (UnRideCallback != null)
                {
                    UnRideCallback(UnRideCallbackParam);
                    UnRideCallback      = null;
                    UnRideCallbackParam = null;
                }
            }
        }
        else if (eventID == (int)Client.GameEventID.ENTITYSYSTEM_MAINPLAYERCREATE)
        {
            Client.IEntity mainPlayer = Client.ClientGlobal.Instance().MainPlayer;
            if (mainPlayer == null)
            {
                return;
            }
            //int rideId = mainPlayer.GetProp((int)Client.PlayerProp.RideBaseId);
            //if (rideId != 0)
            //{

            //    UsingRide = (uint)rideId;
            //    bool isride = (bool)mainPlayer.SendMessage(Client.EntityMessage.EntityCommond_IsRide, null);
            //    if (!isride)
            //    {
            //        mainPlayer.SendMessage(Client.EntityMessage.EntityCommond_Ride, rideId);
            //    }
            //}
        }
        else if (eventID == (int)Client.GameEventID.UIEVENT_UPDATEITEM)
        {
            List <string> tempIDList = GameTableManager.Instance.GetGlobalConfigKeyList("Knight_ExpItem");


            uint breakItemID = GameTableManager.Instance.GetGlobalConfig <uint>("KngithRankItem");

            ItemDefine.UpdateItemPassData data = (ItemDefine.UpdateItemPassData)param;
            if (data != null)
            {
                if (data.BaseId == breakItemID || tempIDList.Contains(data.BaseId.ToString()))
                {
                    DisPatchRideRedPoint();
                }
            }
        }
    }