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; }
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; }