private void BuildIGRList() { //create resource exchange icon group labels.Add("Resources:"); IconGroupReusable igr = IconGroupReusable.GetResourcesIconGroupReusable(blueprintDesign, false); igrList.Add(igr); //create materials needed icon group igr = new IconGroupReusable(true); igrList.Add(igr); labels.Add("Materials needed:"); foreach (ThingTypes tt in blueprintDesign.GetThingTotal().Keys) { Texture texture = ThingFactory.MakeThing(tt).iconTexture; int count = blueprintDesign.GetThingTotal()[tt]; igr.AddIcons(texture, null, count); } //create work needed icon group igr = new IconGroupReusable(true); igrList.Add(igr); labels.Add("Tools needed:"); foreach (ThingTypes tt in blueprintDesign.GetToolTotal().Keys) { Texture texture = ThingFactory.MakeThing(tt).iconTexture; float amount = blueprintDesign.GetToolTotal()[tt]; igr.AddIcons(texture, null, Mathf.CeilToInt(amount)); } }
public void RecalculateIconGroup() { //this icon group is the production, consumption, storage, etc for each resource. //building an IconGroupReusable is too costly for all structures to do every frame. //RecalculateIconGroup is used on initialization and sparingly after that. igr = IconGroupReusable.GetResourcesIconGroupReusable(matchingThing.GetBlueprintDesign(), false); }