using System; using System.Globalization; using System.Linq; using VOID.Generic.Dict; using VOID.Generic.Objects.Abstract; namespace VOID.Generic.DynamicValue.Markers { public class BasicResourceCurrentMarker : IMarkerGroup { public string Group() => "BasicResource.Current"; public string[] Markers() => Enum.GetValues(typeof(BasicResourceType)) .OfType() .Select(@enum => @enum.ToString()) .ToArray(); public Type SourceType() => typeof(AbstractObject); public Type ResultType() => typeof(float); public Func Getter(object source, string marker) { var @enum = Enum.Parse(marker, true); return () => ((AbstractObject)source).basicData.currentResources.Get(@enum).ToString(CultureInfo.InvariantCulture); } } }