ModernUO/Projects/UOContent/Engines/Plants/PlantResources.cs
Kamron Batman 3551d962f7
C# 9 Cleanup (#325)
- [X] Removes EventArgs - not needed
- [X] Merges sequential checks
- [X] Removes redundant type declarations
2020-11-27 00:29:21 -08:00

50 lines
1.7 KiB
C#

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