public uint Execute(PacketDistributed ipacket) { GC_RESTAURANT_DESTUPDATE packet = (GC_RESTAURANT_DESTUPDATE)ipacket; if (null == packet) { return((uint)PACKET_EXE.PACKET_EXE_ERROR); } RestaurantData.UpdatePlayerDeskData(packet); return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); }
// 更新餐桌信息 public static void UpdateDeskInfo(RestaurantInfo curRestaurant, GC_RESTAURANT_DESTUPDATE data) { int curDeskIndex = data.DestIndex; if (curDeskIndex >= curRestaurant.m_Desks.Length) { LogModule.ErrorLog("desk index is big than define " + curDeskIndex); return; } DeskInfo curDeskData = curRestaurant.m_Desks[curDeskIndex]; curDeskData.m_IsActive = true; curDeskData.m_DestState = (DeskState)data.DeskState; if (curDeskData.m_DestState == DeskState.EatFood) { for (int i = 0; i < data.deskGuestIDsCount; i++) { curDeskData.m_GuestIDs[i] = data.deskGuestIDsList[i]; } } if (data.HasDeskFoodID) { curDeskData.m_FoodID = data.DeskFoodID; } else { curDeskData.m_FoodID = -1; } curDeskData.m_DeskFinishTime = (data.HasActionFinishTimer ? data.ActionFinishTimer : 0) + (int)Time.realtimeSinceStartup; int nRestaurantTipCount = 0; for (int i = 0; i < m_PlayerRestaurantInfo.m_Desks.Length; i++) { DeskInfo oDeskData = m_PlayerRestaurantInfo.m_Desks[i]; if (oDeskData.m_IsActive && oDeskData.m_DestState == DeskState.WaitBilling) { nRestaurantTipCount++; } } if (!data.HasFriendGuid) { m_restaurantTipsCount = nRestaurantTipCount; if (MenuBarLogic.Instance() != null) { MenuBarLogic.Instance().UpdateRestaurantTips(); } if (PlayerFrameLogic.Instance() != null) { PlayerFrameLogic.Instance().UpdateRemainNum(); } } }
public static void UpdatePlayerDeskData(GC_RESTAURANT_DESTUPDATE data) { if (data.HasFriendGuid) { UpdateDeskInfo(m_FriendRestaurantInfo, data); if (null != delUpdateFriendDeskData) { delUpdateFriendDeskData(); } } else { UpdateDeskInfo(m_PlayerRestaurantInfo, data); if (null != delUpdatePlayerDeskData) { delUpdatePlayerDeskData(); } } }