private void HandlePopup() { if (m_buySellPopupSessionId == m_popupGui.GetSessionId()) { if (m_invalidPos != m_buySellPos && m_popupGui.m_saidYesFlag) { m_sendDragPos = m_buySellPos; m_sendDropPos = Vector3.one * 252f; m_buySellPos = m_invalidPos; m_popupGui.m_saidYesFlag = false; } if (m_popupGui.IsActive() && (!m_inventory.IsVisible() || !m_inventory.IsShopActive())) { m_popupGui.ShowGui(false, string.Empty); } } else if (m_repairPopupSessionId == m_popupGui.GetSessionId()) { if (m_popupGui.m_saidYesFlag) { m_client.SendSpecialRequest(eSpecialRequest.repairItem); m_popupGui.m_saidYesFlag = false; } } else if (m_missionPopupSessionId == m_popupGui.GetSessionId() && m_popupGui.m_saidYesFlag) { m_client.SendSpecialRequest(eSpecialRequest.acceptMission); m_popupGui.m_saidYesFlag = false; } if (m_popupGui.IsActive() && m_isMoving) { m_popupGui.ShowGui(false, string.Empty); } }
private bool DisplayMessage(eMsg a_msg) { bool flag = false; int a_prio = 100; Vector3 pos = m_client.GetPos(); switch (a_msg) { case eMsg.eEatFood: flag = (m_inventoryGui.IsVisible() && m_inventoryGui.HasFood()); break; case eMsg.eBuildBuilding: flag = (m_inventoryGui.IsVisible() && m_inventoryGui.HasBuilding()); break; case eMsg.eBuildBuilding2: { int num; if (!m_inventoryGui.IsVisible()) { ItemDef itemDef = Items.GetItemDef(m_client.GetHandItem()); num = ((itemDef.buildingIndex > 0) ? 1 : 0); } else { num = 0; } flag = ((byte)num != 0); break; } case eMsg.eShovel: flag = (m_inventoryGui.IsVisible() && m_inventoryGui.HasItemType(109)); break; case eMsg.eStarving: flag = (0f == m_client.GetEnergy()); a_prio = 110; break; case eMsg.ePickupItem: { RemoteItem nearestItem = m_client.GetNearestItem(pos); flag = (null != nearestItem && 25f > (nearestItem.transform.position - pos).sqrMagnitude); break; } case eMsg.eGatherResource: { RemoteBuilding nearestResource = m_client.GetNearestResource(pos); flag = (null != nearestResource && 25f > (nearestResource.transform.position - pos).sqrMagnitude); break; } case eMsg.eAttackEnemy: { RemoteCharacter nearestNpc = m_client.GetNearestNpc(pos); flag = (null != nearestNpc && 36f > (nearestNpc.transform.position - pos).sqrMagnitude); break; } case eMsg.eDriveCar: { RemoteCharacter nearestCharacter2 = m_client.GetNearestCharacter(pos, true); flag = (null != nearestCharacter2 && 36f > (nearestCharacter2.transform.position - pos).sqrMagnitude); break; } case eMsg.eChat: case eMsg.ePlayerProfile: { RemoteCharacter nearestCharacter = m_client.GetNearestCharacter(pos); flag = (null != nearestCharacter && 49f > (nearestCharacter.transform.position - pos).sqrMagnitude); break; } } if (flag) { m_msgBar.DisplayMessage(LNG.Get("TUTORIAL_MESSAGE_" + (int)a_msg), a_prio); } return flag; }