Beispiel #1
0
    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);
    }
Beispiel #2
0
    private void AddNextResource(ResourceTypes resourceType, string tooltipText)
    {
        if (resourceReusables == null)
        {
            resourceReusables = new ResourceReusable[resourceCount];
        }

        resourceReusables[iconCounter] = new ResourceReusable(resourceType, tooltipText);
        iconCounter++;
    }
Beispiel #3
0
    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();
    }