コード例 #1
0
ファイル: QuestClasses.cs プロジェクト: ftcaicai/ArkClient
	public AchUseItemToTarget( UseItemToTargetType _type, int _targetID, bool _isChampion, int _itemID, int _itemCount, int _successRate) : base( _itemID, _itemCount)
	{
		targetType = _type;
		Champion = _isChampion;
		Target   = targetID = _targetID;
		successRate = _successRate;
	}
コード例 #2
0
ファイル: AsEntityManager.cs プロジェクト: ftcaicai/ArkClient
	public List<AsNpcEntity> GetEntityInRange( UseItemToTargetType _useItemToTargetType, Vector3 _pos, float _minDist, float _maxDist, bool _checkDist = true)
	{
		List<AsNpcEntity> enemies = new List<AsNpcEntity>();

		foreach( KeyValuePair<int, AsNpcEntity> pair in m_dicNpcEntity_SessionId)
		{
			string layerName = string.Empty;

			if( _useItemToTargetType == UseItemToTargetType.MONSTER)
			{
				if( pair.Value.ContainProperty( eComponentProperty.LIVING) == false)
					continue;

				if( pair.Value.GetProperty<bool>( eComponentProperty.LIVING) == false)
					continue;
				
				if( pair.Value.isSegregate == true)
					continue;

				layerName = "Monster";
			}
			else if( _useItemToTargetType == UseItemToTargetType.COLLECTION)
			{
				layerName = "Collection";
			}
			else if( _useItemToTargetType == UseItemToTargetType.NPC)
			{
				layerName = "Npc";
			}

			float dist = Vector3.Distance( pair.Value.transform.position, _pos);

			if( pair.Value.gameObject.layer == LayerMask.NameToLayer( layerName))
			{
				if( _checkDist == true)
				{
					if( _minDist <= dist && dist <= _maxDist)
						enemies.Add( pair.Value);
				}
				else
				{
					enemies.Add( pair.Value);
				}
			}
		}

		return enemies;
	}