public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { try { if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { CUIDataPool pUIDataPool = GameProcedure.s_pUIDataPool; GCMissionModify newMissionModifyPacket = (GCMissionModify)pPacket; SCommand_DPC cmdTemp = new SCommand_DPC(); cmdTemp.m_wID = DPC_SCRIPT_DEFINE.DPC_UPDATE_MISSION_MODIFY; cmdTemp.SetValue <int>(1, newMissionModifyPacket.Flag); if (newMissionModifyPacket.Flag == (int)GCMissionModify.MISSIONMODIFY.MISSIONMODIFY_MISSION) { cmdTemp.SetValue <_OWN_MISSION>(0, newMissionModifyPacket.GetMission()); } else if (newMissionModifyPacket.Flag == (int)GCMissionModify.MISSIONMODIFY.MISSIONMODIFY_MISSIONDATA) { cmdTemp.SetValue <int[]>(0, newMissionModifyPacket.GetMissionData()); } pUIDataPool.OnCommand_(cmdTemp); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } catch (Exception e) { LogManager.LogError("--------------------GCMissionModifyHandler的Execute()方法出错。--------------------"); LogManager.LogError(e.ToString()); return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_ERROR); } }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { try { GCMissionList newGCMissionList = (GCMissionList)pPacket; CUIDataPool pUIDataPool = GameProcedure.s_pUIDataPool; if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { // 保存任务是否完成标志 if (CDetailAttrib_Player.Instance != null) { CDetailAttrib_Player.Instance.SetMissionHaveDone(newGCMissionList.GetMissionHaveDone()); } SCommand_DPC cmdTemp = new SCommand_DPC(); cmdTemp.m_wID = DPC_SCRIPT_DEFINE.DPC_UPDATE_MISSION_LIST; cmdTemp.SetValue <uint>(0, newGCMissionList.ObjID); cmdTemp.SetValue <uint>(1, newGCMissionList.MissionListFlags); cmdTemp.SetValue <_OWN_MISSION[]>(2, newGCMissionList.GetMissionBuf()); pUIDataPool.OnCommand_(cmdTemp); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } catch (Exception e) { LogManager.LogError("--------------------GCMissionListHandler的Execute()方法出错。--------------------"); LogManager.LogError(e.ToString()); return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_ERROR); } }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { try { if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { CUIDataPool pUIDataPool = GameProcedure.s_pUIDataPool; GCRetMissionDesc newMissionDesc = (GCRetMissionDesc)pPacket; SCommand_DPC cmdTemp = new SCommand_DPC(); cmdTemp.m_wID = DPC_SCRIPT_DEFINE.DPC_UPDATE_MISSION_DESC; cmdTemp.SetValue <GCRetMissionDesc>(0, newMissionDesc); pUIDataPool.OnCommand_(cmdTemp); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } catch (Exception e) { LogManager.LogError("--------------------GCRetMissionDescHandler的Execute()方法出错。--------------------"); LogManager.LogError(e.ToString()); return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_ERROR); } }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { try { if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { //加入UI数据池 CUIDataPool pUIDataPool = GameProcedure.s_pUIDataPool; GCRemoveCanPickMissionItem newRemoveCanPickMissionItem = (GCRemoveCanPickMissionItem)pPacket; SCommand_DPC cmdTemp = new SCommand_DPC(); cmdTemp.m_wID = DPC_SCRIPT_DEFINE.DPC_REMOVE_CAN_PICK_MISSION_ITEM; cmdTemp.SetValue <uint>(0, newRemoveCanPickMissionItem.ItemDataID); pUIDataPool.OnCommand_(cmdTemp); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } catch (Exception e) { LogManager.LogError("--------------------GCRemoveCanPickMissionItemHandler的Execute()方法出错。--------------------"); LogManager.LogError(e.ToString()); return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_ERROR); } }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { if (GameProcedure.GetActiveProcedure() == GameProcedure.s_ProcMain) { CUIDataPool pUIDataPool = GameProcedure.s_pUIDataPool; GCMissionResult newMissionResult = (GCMissionResult)pPacket; if (newMissionResult.IsFinished > 0) //任务完成 { // 关闭提交任务物品的界面 CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_QUEST_AFTER_CONTINUE); // 打开接收奖励的界面 } else //没有完成任务 { // 答应一个提示信息,不关闭提交任务物品的界面,这样可以让玩家检查是不是自己放错了物品 string strTemp = "你给我的物品不是我需要的!"; CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, strTemp); } } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { if (GameProcedure.GetActiveProcedure() == (GameProcedure)GameProcedure.s_ProcMain) { GCTeamResult packet = pPacket as GCTeamResult; CUIDataPool pDataPool = CUIDataPool.Instance; SCommand_DPC cmdTemp = new SCommand_DPC(); cmdTemp.m_wID = DPC_SCRIPT_DEFINE.DPC_UPDATE_TEAM_OR_GROUP; cmdTemp.SetValue <byte> (0, packet.Return); cmdTemp.SetValue <uint> (1, packet.GUID); cmdTemp.SetValue <short>(2, packet.TeamId); cmdTemp.SetValue <uint> (3, packet.GUIDEx); cmdTemp.SetValue <short>(4, packet.SceneId); cmdTemp.SetValue <int> (5, packet.Portrait); cmdTemp.SetValue <short>(6, packet.DataID); cmdTemp.SetValue <byte> (7, packet.AllocRuler); cmdTemp.SetValue <byte[]>(8, packet.Name); pDataPool.OnCommand_(cmdTemp); CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_TEAM_CHANG_WORLD); } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }
public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer) { if (GameProcedure.GetActiveProcedure() == (GameProcedure)GameProcedure.s_ProcMain) { GCTeamMemberInfo packet = pPacket as GCTeamMemberInfo; CUIDataPool pDataPool = (GameProcedure.s_pUIDataPool); CTeamOrGroup team = pDataPool.GetTeamOrGroup(); TeamMemberInfo pTMInfo = team.GetMember(packet.GUID); if (pTMInfo == null) { // 组队切换场景时会遇到这个问题 // TDAssert(FALSE); return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_FAMILY)) { pTMInfo.m_uFamily = (int)packet.Family; } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_LEVEL)) { pTMInfo.m_uLevel = (int)packet.Level; } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_POSITION)) { GameProcedure.m_bWaitNeedFreshMinimap = true; pTMInfo.m_WorldPos.m_fX = packet.WorldPos.m_fX; pTMInfo.m_WorldPos.m_fZ = packet.WorldPos.m_fZ; } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_HP)) { pTMInfo.m_nHP = packet.HP; } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_MAX_HP)) { pTMInfo.m_dwMaxHP = (int)packet.MaxHP; } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_MP)) { pTMInfo.m_nMP = packet.MP; } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_MAX_MP)) { pTMInfo.m_dwMaxMP = (int)packet.MaxMP; } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_ANGER)) { pTMInfo.m_nAnger = packet.Anger; } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_WEAPON)) { // 武器id pTMInfo.m_WeaponID = (int)packet.WeaponID; // 设置ui模型 pTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_WEAPON, pTMInfo.m_WeaponID); } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_CAP)) { // 帽子id pTMInfo.m_CapID = (int)packet.CapID; // 设置ui模型 pTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_CAP, pTMInfo.m_CapID); } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_ARMOR)) { // 身体 pTMInfo.m_ArmourID = (int)packet.ArmourID; // 设置ui模型 pTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_ARMOR, pTMInfo.m_ArmourID); } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_CUFF)) { // 腕 pTMInfo.m_CuffID = (int)packet.CuffID; // 设置ui模型 pTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_CUFF, pTMInfo.m_CuffID); } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_BOOT)) { // 脚 pTMInfo.m_FootID = (int)packet.FootID; // 设置ui模型 pTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_BOOT, pTMInfo.m_FootID); } /* * if( pPacket.IsUpdateAttrib(TEAM_MEMBER_ATT_BUFF) ) * { * } */ if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_DEADLINK)) { pTMInfo.m_bDeadLink = packet.DeadLinkFlag > 0; } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_DEAD)) { pTMInfo.m_bDead = packet.DeadFlag > 0; } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_FACEMESH)) { pTMInfo.m_uFaceMeshID = (int)packet.FaceMeshID; if (pTMInfo.m_uFaceMeshID < 255) { // 设置脸形 pTMInfo.m_UIModel.SetFaceMeshId(pTMInfo.m_uFaceMeshID); } } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_HAIRMESH)) { pTMInfo.m_uHairMeshID = (int)packet.HairMeshID; if (pTMInfo.m_uHairMeshID < 255) { // 设置发型 pTMInfo.m_UIModel.SetFaceHairId(pTMInfo.m_uHairMeshID); } } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_HAIRCOLOR)) { pTMInfo.m_uHairColor = packet.HairColor; //if(pTMInfo.m_uHairColor < 255) //{ // // 设置颜色 // pTMInfo.m_UIModel.SetHairColor(pTMInfo.m_uHairColor); //} //else //{ // // 设置颜色 // pTMInfo.m_UIModel.SetHairColor(0); //}// // 设置颜色 pTMInfo.m_UIModel.SetHairColor(pTMInfo.m_uHairColor); } if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_BACK)) { // 背饰 pTMInfo.m_uBackID = (int)packet.BackID; // 设置ui模型 pTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_BACK, pTMInfo.m_uBackID); } int idx = team.GetMemberUIIndex(pTMInfo.m_GUID); GameProcedure.s_pEventSystem.PushEvent(GAME_EVENT_ID.GE_TEAM_UPTEDATA_MEMBER_INFO, idx); for (idx = 0; idx < team.GetTeamMemberCount(); ++idx) { if (team.GetMemberByIndex(idx).m_GUID == pTMInfo.m_GUID) { GameProcedure.s_pEventSystem.PushEvent(GAME_EVENT_ID.GE_TEAM_REFRESH_MEMBER, idx); } } } return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE); }