public override object GetSuffix(string suffixName) { switch (suffixName) { case "NAME": return(name); case "UID": return(uid); case "PARTCOUNT": return(parts.Count); case "RESOURCES": return(ResourceValue.PartsToList(parts)); } return(base.GetSuffix(suffixName)); }
public static ListValue PartsToList(IEnumerable<Part> parts) { var list = new ListValue(); var resources = new Dictionary<string, ResourceValue>(); foreach (var part in parts) { foreach (PartResource module in part.Resources) { ResourceValue resourceAmount; if (!resources.TryGetValue(module.resourceName, out resourceAmount)) { resourceAmount = new ResourceValue(module.resourceName); } resourceAmount.AddResource(module); resources[module.resourceName] = resourceAmount; } } foreach (var resource in resources) { list.Add(resource.Value); } return list; }
public static ListValue PartsToList(IEnumerable <global::Part> parts) { var list = new ListValue(); var resources = new Dictionary <string, ResourceValue>(); foreach (var part in parts) { foreach (PartResource module in part.Resources) { ResourceValue resourceAmount; if (!resources.TryGetValue(module.resourceName, out resourceAmount)) { resourceAmount = new ResourceValue(module.resourceName); } resourceAmount.AddResource(module); resources[module.resourceName] = resourceAmount; } } foreach (var resource in resources) { list.Add(resource.Value); } return(list); }