public static IconGroupReusable GetResourcesIconGroupReusable(BlueprintDesign blueprintDesign, bool alwaysUseTextNumbers) { StructureInfo structureInfo = new StructureInfo(blueprintDesign.thingType); IconGroupReusable igr = new IconGroupReusable(alwaysUseTextNumbers); foreach (ResourceTypes resourceType in System.Enum.GetValues(typeof(ResourceTypes))) { //consume or produce resources int iconCount = structureInfo.GetInfoIconCount(resourceType, StructureInfo.InfoTypes.optimum); IconBackgroundTypes ibt = iconCount < 0 ? IconBackgroundTypes.bar : IconBackgroundTypes.circle; if (iconCount != 0) { Texture backgroundTexture = IconGroupReusable.GetIconBackgroundTexture(ibt); Texture texture = ResourceReusable.GetResourceTextureFromResourceType(resourceType); igr.AddIcons(texture, backgroundTexture, Mathf.Abs(iconCount)); } //capacity resources iconCount = structureInfo.GetInfoIconCount(resourceType, StructureInfo.InfoTypes.capacity); if (iconCount > 0) { Texture backgroundTexture = IconGroupReusable.GetIconBackgroundTexture(IconBackgroundTypes.square); Texture texture = ResourceReusable.GetResourceTextureFromResourceType(resourceType); igr.AddIcons(texture, backgroundTexture, iconCount); } } return(igr); }
private void AddNextResource(ResourceTypes resourceType, string tooltipText) { if (resourceReusables == null) { resourceReusables = new ResourceReusable[resourceCount]; } resourceReusables[iconCounter] = new ResourceReusable(resourceType, tooltipText); iconCounter++; }
private void WindowFunction(int id) { for (int i = 0; i < resourceCount; i++) { resourceRect.x = i * windowRect.width / resourceCount; ResourceReusable resourceReusable = resourceReusables[i]; resourceReusable.Draw(resourceRect, ResourceController.GetResourceQuantityFromType(resourceReusable.resourceType)); Rect tooltipRect = GUIFunctions.AddRectAndRectCoords(resourceRect, windowRect); string stringID = "resource-" + i; TooltipManager.SetTooltip(stringID, tooltipRect, resourceReusable.tooltipText); } GUI.DragWindow(); }