public void Open( RealItem _realItem ) { m_RealItem = _realItem; Tbl_RandomCoolTime_Record _randomRecord = AsTableManager.Instance.GetTbl_RandomCoolTime_Record( m_RealItem.item.ItemID ); if( null == _randomRecord || 0.0f >= _randomRecord.ValueTime ) { m_RealItem.SendUseItem(); m_RealItem = null; randomItemGaugeBar.gameObject.SetActiveRecursively(false); randomItemText.gameObject.active = false; } else { m_fRandomBarTime = 0.0f; m_fMaxRandomBarTiem = _randomRecord.ValueTime; randomItemGaugeBar.gameObject.SetActiveRecursively(true); randomItemText.gameObject.active = true; randomItemGaugeBar.Value = 0f; randomItemText.Text = "0%"; } }
public void ItemUsed(RealItem _item) { if(_item == null) { Debug.LogError("AsPStoreManager::ItemUsed: _item = null"); return; } //dopamin if(AsPartyManager.Instance.IsPartyNotice) { AsEventNotifyMgr.Instance.CenterNotify.AddGMMessage(AsTableManager.Instance.GetTbl_String(1728)); return; } //product if(AsUserInfo.Instance.isProductionProgress == true) { AsHudDlgMgr.Instance.SetMsgBox( AsNotify.Instance.MessageBox( AsTableManager.Instance.GetTbl_String(126), AsTableManager.Instance.GetTbl_String(379), null, "", AsNotify.MSG_BOX_TYPE.MBT_OK, AsNotify.MSG_BOX_ICON.MBI_NOTICE)); return; } if( true == AsPvpManager.Instance.CheckMatching() || true == AsPvpManager.Instance.CheckInArena()) return; if( true == AsInstanceDungeonManager.Instance.CheckMatching() || true == AsInstanceDungeonManager.Instance.CheckInIndun()) return; Map map = TerrainMgr.Instance.GetCurrentMap(); eMAP_TYPE mapType = map.MapData.getMapType; switch(mapType) { case eMAP_TYPE.Field: case eMAP_TYPE.Tutorial: case eMAP_TYPE.Indun: case eMAP_TYPE.Pvp: case eMAP_TYPE.Raid: case eMAP_TYPE.Summon: // string header = AsTableManager.Instance.GetTbl_String(126); string str = AsTableManager.Instance.GetTbl_String(294); AsEventNotifyMgr.Instance.CenterNotify.AddQuestMessage(str, false); // AsNotify.Instance.MessageBox(header, str); // AsChatManager.Instance.InsertChat(str, eCHATTYPE.eCHATTYPE_SYSTEM); // Debug.LogWarning("ItemUsed: shop can not be opened out of town."); return; case eMAP_TYPE.Town: break; } // AsChatManager.Instance.InsertChat("Private shop is under construction.", eCHATTYPE.eCHATTYPE_SYSTEM, true); if(AsCommonSender.isSendWarp == true) { Debug.Log("AsPStoreManager::ItemUsed: AsCommonSender.isSendWarp == true. ignore private shop."); return; } if(CheckPStoreOpenItem(_item.sItem.nItemTableIdx) == false) { Debug.LogWarning("AsPStoreManager::ItemUsed: CheckPStoreOpenItem(_item.sItem.nItemTableIdx) == false. ignore private shop."); return; } // AsUserInfo.Instance.GetCurrentUserEntity().HandleMessage(new Msg_MoveStopIndication()); AsUserEntity user = AsUserInfo.Instance.GetCurrentUserEntity(); if(user.GetProperty<bool>(eComponentProperty.SHOP_OPENING) == false) { AsNpcEntity npc = null; float minNpc = AsEntityManager.Instance.GetNearestNpcForPStore(user.transform.position, out npc); s_ShopOpenPossibleDistance = AsTableManager.Instance.GetTbl_GlobalWeight_Record(18).Value; if(minNpc < s_ShopOpenPossibleDistance) { // Debug.Log("AsPStoreManager::ItemUsed: npc is too close. find proper place."); // string header = AsTableManager.Instance.GetTbl_String(126); string str = AsTableManager.Instance.GetTbl_String(286); AsEventNotifyMgr.Instance.CenterNotify.AddQuestMessage(str, false); // AsNotify.Instance.MessageBox(header, str); // AsChatManager.Instance.InsertChat(str, eCHATTYPE.eCHATTYPE_SYSTEM); return; } AsUserEntity shop = null; float minShop = AsEntityManager.Instance.GetNearestPrivateShop(user.transform.position, out shop); float possibleDistance_Pc = AsTableManager.Instance.GetTbl_GlobalWeight_Record(17).Value; if(minShop < possibleDistance_Pc) { // Debug.Log("AsPStoreManager::ItemUsed: private shop is too close. find proper place."); // string header = AsTableManager.Instance.GetTbl_String(126); string str = AsTableManager.Instance.GetTbl_String(377); AsEventNotifyMgr.Instance.CenterNotify.AddQuestMessage(str, false); // AsNotify.Instance.MessageBox(header, str); // AsChatManager.Instance.InsertChat(str, eCHATTYPE.eCHATTYPE_SYSTEM); return; } float minPortal = AsPortalTrigger.ClosestPortalDistance(); float possibleDistance_Portal = AsTableManager.Instance.GetTbl_GlobalWeight_Record(68).Value; if(minPortal < possibleDistance_Portal) { // Debug.Log("AsPStoreManager::ItemUsed: portal is too close. find proper place."); // string header = AsTableManager.Instance.GetTbl_String(126); string str = AsTableManager.Instance.GetTbl_String(378); AsEventNotifyMgr.Instance.CenterNotify.AddQuestMessage(str, false); // AsNotify.Instance.MessageBox(header, str); // AsChatManager.Instance.InsertChat(str, eCHATTYPE.eCHATTYPE_SYSTEM); return; } m_PStoreItemUsedSlot = _item; _item.SendUseItem(); } else { m_PStoreItemUsedSlot = ItemMgr.HadItemManagement.Inven.GetRealItemInSlot( AsUserInfo.Instance.nPrivateShopCreateItemSlot); if(m_PStoreItemUsedSlot != null && m_PStoreItemUsedSlot.sItem.nItemTableIdx == _item.sItem.nItemTableIdx) { m_StoreState = ePStoreState.User_Opening; Debug.LogWarning("Bug Searching::: AsPStoreManager:: ItemUsed: private shop dialog is instantiated"); AsHudDlgMgr.Instance.OpenPStore(); } } }