public void OnCommand_UpdateNumProp(EntityNumPropEventArgs e) { if (!e.objev.IsHero || e.objev == null) { return; } switch (e.data.nPropID) { case (int)ENTITY_PROPERTY.PROPERTY_ID: { int nActorID = e.data.nValue; if (StageManager.Instance.getCurrentState() == EStage_State.ESS_GAME || StageManager.Instance.getCurrentState() == EStage_State.ESS_LOADSCENE) { if (!m_isFromWarExit) { m_recvDataFlag = ERecvDataFlag.NO_RECV_DATA; RequestHistoryRecord((uint)nActorID); RequestAllLifeHero(nActorID); } } } break; default: break; } }
// 收到玩家的历史战绩 public void RecvHistoryRecord(IntPtr ptrParam, int nPtrLen) { m_historyRecord.Clear(); IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptrParam, nPtrLen); int count = helper.get <int>(); for (int i = 0; i < count; ++i) { cmd_warstatistic_history_record item = helper.get <cmd_warstatistic_history_record>(); m_historyRecord.Add(item); } m_recvDataFlag |= ERecvDataFlag.RECV_HISTORY_RECORD; if ((m_recvDataFlag & ERecvDataFlag.RECV_LIFE_HERO) == ERecvDataFlag.RECV_LIFE_HERO) { SetLifeHeroFlag(); } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_LIFEHERO_RECV_HISTORY_RECORD); }
public void OnRecvAllLifeHero(IntPtr ptr, int nLen) { m_LifeHeroDic.Clear(); IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen); cmd_count cmd = helper.get <cmd_count>(); for (int i = 0; i < cmd.nCount; ++i) { cmd_entity_lifehero_info item = helper.get <cmd_entity_lifehero_info>(); m_LifeHeroDic.Add(item.nHeroID, item); } m_recvDataFlag |= ERecvDataFlag.RECV_LIFE_HERO; if ((m_recvDataFlag & ERecvDataFlag.RECV_HISTORY_RECORD) == ERecvDataFlag.RECV_HISTORY_RECORD) { SetLifeHeroFlag(); } UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_RECV_ALL_LIFEHERO_INFO, null); }