Beispiel #1
0
	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%";
		}
	}
Beispiel #2
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();
			}
		}
	}