ModernUO/Scripts/Engines/Plants/PlantResources.cs
2018-09-14 13:14:20 -07:00

51 lines
1.8 KiB
C#

using System;
using Server.Items;
namespace Server.Engines.Plants
{
public class PlantResourceInfo
{
private static PlantResourceInfo[] m_ResourceList = {
new PlantResourceInfo( PlantType.ElephantEarPlant, PlantHue.BrightRed, typeof( RedLeaves ) ),
new PlantResourceInfo( PlantType.PonytailPalm, PlantHue.BrightRed, typeof( RedLeaves ) ),
new PlantResourceInfo( PlantType.CenturyPlant, PlantHue.BrightRed, typeof( RedLeaves ) ),
new PlantResourceInfo( PlantType.Poppies, PlantHue.BrightOrange, typeof( OrangePetals ) ),
new PlantResourceInfo( PlantType.Bulrushes, PlantHue.BrightOrange, typeof( OrangePetals ) ),
new PlantResourceInfo( PlantType.PampasGrass, PlantHue.BrightOrange, typeof( OrangePetals ) ),
new PlantResourceInfo( PlantType.SnakePlant, PlantHue.BrightGreen, typeof( GreenThorns ) ),
new PlantResourceInfo( PlantType.BarrelCactus, PlantHue.BrightGreen, typeof( GreenThorns ) ),
new PlantResourceInfo( PlantType.CocoaTree, PlantHue.Plain, typeof( CocoaPulp ) )
};
public static PlantResourceInfo GetInfo( PlantType plantType, PlantHue plantHue )
{
foreach ( PlantResourceInfo info in m_ResourceList )
{
if ( info.PlantType == plantType && info.PlantHue == plantHue )
return info;
}
return null;
}
private PlantType m_PlantType;
private PlantHue m_PlantHue;
private Type m_ResourceType;
public PlantType PlantType => m_PlantType;
public PlantHue PlantHue => m_PlantHue;
public Type ResourceType => m_ResourceType;
private PlantResourceInfo( PlantType plantType, PlantHue plantHue, Type resourceType )
{
m_PlantType = plantType;
m_PlantHue = plantHue;
m_ResourceType = resourceType;
}
public Item CreateResource()
{
return (Item)Activator.CreateInstance( m_ResourceType );
}
}
}