Server.Items.FillableContent.Acquire C# (CSharp) Méthode

Acquire() public static méthode

public static Acquire ( Point3D loc, Map map ) : FillableContent
loc Point3D
map Map
Résultat FillableContent
		public static FillableContent Acquire( Point3D loc, Map map )
		{
			if( map == null || map == Map.Internal )
				return null;

			if( m_AcquireTable == null )
			{
				m_AcquireTable = new Hashtable();

				for( int i = 0; i < m_ContentTypes.Length; ++i )
				{
					FillableContent fill = m_ContentTypes[ i ];

					for( int j = 0; j < fill.m_Vendors.Length; ++j )
						m_AcquireTable[ fill.m_Vendors[ j ] ] = fill;
				}
			}

			Mobile nearest = null;
			FillableContent content = null;

			foreach( Mobile mob in map.GetMobilesInRange( loc, 20 ) )
			{
				if( nearest != null && mob.GetDistanceToSqrt( loc ) > nearest.GetDistanceToSqrt( loc ) && !( nearest is Cobbler && mob is Provisioner ) )
					continue;

				FillableContent check = m_AcquireTable[ mob.GetType() ] as FillableContent;

				if( check != null )
				{
					nearest = mob;
					content = check;
				}
			}

			return content;
		}
	}

Usage Example

        public virtual void AcquireContent()
        {
            if (m_Content != null)
            {
                return;
            }

            m_Content = FillableContent.Acquire(GetWorldLocation(), Map);

            if (m_Content != null)
            {
                Respawn();
            }
        }