コード例 #1
0
    public RancherChore(KPrefabID rancher_station)
        : base(Db.Get().ChoreTypes.Ranch, (IStateMachineTarget)rancher_station, (ChoreProvider)null, false, (Action <Chore>)null, (Action <Chore>)null, (Action <Chore>)null, PriorityScreen.PriorityClass.basic, 5, false, true, 0, false, ReportManager.ReportType.WorkTime)
    {
        AddPrecondition(IsCreatureAvailableForRanching, rancher_station.GetSMI <RanchStation.Instance>());
        AddPrecondition(ChorePreconditions.instance.HasSkillPerk, Db.Get().SkillPerks.CanUseRanchStation.Id);
        AddPrecondition(ChorePreconditions.instance.IsScheduledTime, Db.Get().ScheduleBlockTypes.Work);
        AddPrecondition(ChorePreconditions.instance.CanMoveTo, rancher_station.GetComponent <Building>());
        Operational component = rancher_station.GetComponent <Operational>();

        AddPrecondition(ChorePreconditions.instance.IsOperational, component);
        Deconstructable component2 = rancher_station.GetComponent <Deconstructable>();

        AddPrecondition(ChorePreconditions.instance.IsNotMarkedForDeconstruction, component2);
        BuildingEnabledButton component3 = rancher_station.GetComponent <BuildingEnabledButton>();

        AddPrecondition(ChorePreconditions.instance.IsNotMarkedForDisable, component3);
        base.smi = new RancherChoreStates.Instance(rancher_station);
        SetPrioritizable(rancher_station.GetComponent <Prioritizable>());
    }
コード例 #2
0
 public void SetContent(Battery bat)
 {
     if ((Object)bat == (Object)null)
     {
         if (base.gameObject.activeSelf)
         {
             base.gameObject.SetActive(false);
         }
     }
     else
     {
         Initialize();
         RectTransform component = batteryBG.GetComponent <RectTransform>();
         float         num       = 0f;
         foreach (KeyValuePair <float, float> item in sizeMap)
         {
             if (!(bat.Capacity > item.Key))
             {
                 num = item.Value;
                 break;
             }
         }
         batteryBG.sprite = ((!(bat.Capacity >= 40000f)) ? regularBatteryBG : bigBatteryBG);
         float y = 25f;
         component.sizeDelta = new Vector2(num, y);
         BuildingEnabledButton component2 = bat.GetComponent <BuildingEnabledButton>();
         Color color = (!((Object)component2 != (Object)null) || component2.IsEnabled) ? ((!(bat.PercentFull >= bat.PreviousPercentFull)) ? energyDecreaseColor : energyIncreaseColor) : Color.gray;
         batteryMeter.color = color;
         batteryBG.color    = color;
         float num2 = batteryBG.GetComponent <RectTransform>().rect.height *bat.PercentFull;
         batteryMeter.GetComponent <RectTransform>().sizeDelta = new Vector2(num - 5.5f, num2 - 5.5f);
         color.a = 1f;
         if (currentKJLabel.color != color)
         {
             currentKJLabel.color = color;
             unitLabel.color      = color;
         }
         currentKJLabel.text = bat.JoulesAvailable.ToString("F0");
     }
 }
コード例 #3
0
 public void DrawIcons(HashedString mode)
 {
     if (mode == OverlayModes.Power.ID)
     {
         if (RequiresPower)
         {
             bool flag = (UnityEngine.Object)(building as BuildingPreview) != (UnityEngine.Object)null;
             BuildingEnabledButton component = building.GetComponent <BuildingEnabledButton>();
             int powerInputCell = building.GetPowerInputCell();
             if (RequiresPowerInput)
             {
                 int    circuitID = Game.Instance.circuitManager.GetCircuitID(powerInputCell);
                 Color  tint      = (!((UnityEngine.Object)component != (UnityEngine.Object)null) || component.IsEnabled) ? Color.white : Color.gray;
                 Sprite icon_img  = (flag || circuitID == 65535) ? resources.electricityInputIcon : resources.electricityConnectedIcon;
                 DrawUtilityIcon(powerInputCell, icon_img, ref inputVisualizer, tint, GetWireColor(powerInputCell), 1f, false);
             }
             if (RequiresPowerOutput)
             {
                 int     powerOutputCell = building.GetPowerOutputCell();
                 int     circuitID2      = Game.Instance.circuitManager.GetCircuitID(powerOutputCell);
                 Color   color           = (!building.Def.UseWhitePowerOutputConnectorColour) ? resources.electricityOutputColor : Color.white;
                 Color32 c         = (!((UnityEngine.Object)component != (UnityEngine.Object)null) || component.IsEnabled) ? color : Color.gray;
                 Sprite  icon_img2 = (flag || circuitID2 == 65535) ? resources.electricityInputIcon : resources.electricityConnectedIcon;
                 DrawUtilityIcon(powerOutputCell, icon_img2, ref outputVisualizer, c, GetWireColor(powerOutputCell), 1f, false);
             }
         }
         else
         {
             bool   flag2      = true;
             Switch component2 = GetComponent <Switch>();
             if ((UnityEngine.Object)component2 != (UnityEngine.Object)null)
             {
                 int     cell = Grid.PosToCell(base.transform.GetPosition());
                 Color32 c2   = (!component2.IsHandlerOn()) ? resources.switchOffColor : resources.switchColor;
                 DrawUtilityIcon(cell, resources.switchIcon, ref outputVisualizer, c2, Color.white, 1f, false);
                 flag2 = false;
             }
             else
             {
                 WireUtilityNetworkLink component3 = GetComponent <WireUtilityNetworkLink>();
                 if ((UnityEngine.Object)component3 != (UnityEngine.Object)null)
                 {
                     component3.GetCells(out int linked_cell, out int linked_cell2);
                     DrawUtilityIcon(linked_cell, (Game.Instance.circuitManager.GetCircuitID(linked_cell) != 65535) ? resources.electricityConnectedIcon : resources.electricityBridgeIcon, ref inputVisualizer, resources.electricityInputColor, Color.white, 1f, false);
                     DrawUtilityIcon(linked_cell2, (Game.Instance.circuitManager.GetCircuitID(linked_cell2) != 65535) ? resources.electricityConnectedIcon : resources.electricityBridgeIcon, ref outputVisualizer, resources.electricityInputColor, Color.white, 1f, false);
                     flag2 = false;
                 }
             }
             if (flag2)
             {
                 DisableIcons();
             }
         }
     }
     else if (mode == OverlayModes.GasConduits.ID)
     {
         if (RequiresGas || (secondary_ports & (Ports.GasIn | Ports.GasOut)) != 0)
         {
             if ((ports & Ports.GasIn) != 0)
             {
                 bool flag3 = (UnityEngine.Object)null != (UnityEngine.Object)Grid.Objects[building.GetUtilityInputCell(), 12];
                 BuildingCellVisualizerResources.ConnectedDisconnectedColours input = resources.gasIOColours.input;
                 Color tint2 = (!flag3) ? input.disconnected : input.connected;
                 DrawUtilityIcon(building.GetUtilityInputCell(), resources.gasInputIcon, ref inputVisualizer, tint2);
             }
             if ((ports & Ports.GasOut) != 0)
             {
                 bool flag4 = (UnityEngine.Object)null != (UnityEngine.Object)Grid.Objects[building.GetUtilityOutputCell(), 12];
                 BuildingCellVisualizerResources.ConnectedDisconnectedColours output = resources.gasIOColours.output;
                 Color tint3 = (!flag4) ? output.disconnected : output.connected;
                 DrawUtilityIcon(building.GetUtilityOutputCell(), resources.gasOutputIcon, ref outputVisualizer, tint3);
             }
             if ((secondary_ports & Ports.GasIn) != 0)
             {
                 CellOffset secondaryConduitOffset = building.GetComponent <ISecondaryInput>().GetSecondaryConduitOffset();
                 int        visualizerCell         = GetVisualizerCell(building, secondaryConduitOffset);
                 DrawUtilityIcon(visualizerCell, resources.gasInputIcon, ref secondaryInputVisualizer, secondInputColour, Color.white, 1.5f, false);
             }
             if ((secondary_ports & Ports.GasOut) != 0)
             {
                 CellOffset secondaryConduitOffset2 = building.GetComponent <ISecondaryOutput>().GetSecondaryConduitOffset();
                 int        visualizerCell2         = GetVisualizerCell(building, secondaryConduitOffset2);
                 DrawUtilityIcon(visualizerCell2, resources.gasOutputIcon, ref secondaryOutputVisualizer, secondOutputColour, Color.white, 1.5f, false);
             }
         }
         else
         {
             DisableIcons();
         }
     }
     else if (mode == OverlayModes.LiquidConduits.ID)
     {
         if (RequiresLiquid || (secondary_ports & (Ports.LiquidIn | Ports.LiquidOut)) != 0)
         {
             if ((ports & Ports.LiquidIn) != 0)
             {
                 bool flag5 = (UnityEngine.Object)null != (UnityEngine.Object)Grid.Objects[building.GetUtilityInputCell(), 16];
                 BuildingCellVisualizerResources.ConnectedDisconnectedColours input2 = resources.liquidIOColours.input;
                 Color tint4 = (!flag5) ? input2.disconnected : input2.connected;
                 DrawUtilityIcon(building.GetUtilityInputCell(), resources.liquidInputIcon, ref inputVisualizer, tint4);
             }
             if ((ports & Ports.LiquidOut) != 0)
             {
                 bool flag6 = (UnityEngine.Object)null != (UnityEngine.Object)Grid.Objects[building.GetUtilityOutputCell(), 16];
                 BuildingCellVisualizerResources.ConnectedDisconnectedColours output2 = resources.liquidIOColours.output;
                 Color tint5 = (!flag6) ? output2.disconnected : output2.connected;
                 DrawUtilityIcon(building.GetUtilityOutputCell(), resources.liquidOutputIcon, ref outputVisualizer, tint5);
             }
             if ((secondary_ports & Ports.LiquidIn) != 0)
             {
                 CellOffset secondaryConduitOffset3 = building.GetComponent <ISecondaryInput>().GetSecondaryConduitOffset();
                 int        visualizerCell3         = GetVisualizerCell(building, secondaryConduitOffset3);
                 DrawUtilityIcon(visualizerCell3, resources.liquidInputIcon, ref secondaryInputVisualizer, secondInputColour, Color.white, 1.5f, false);
             }
             if ((secondary_ports & Ports.LiquidOut) != 0)
             {
                 CellOffset secondaryConduitOffset4 = building.GetComponent <ISecondaryOutput>().GetSecondaryConduitOffset();
                 int        visualizerCell4         = GetVisualizerCell(building, secondaryConduitOffset4);
                 DrawUtilityIcon(visualizerCell4, resources.liquidOutputIcon, ref secondaryOutputVisualizer, secondOutputColour, Color.white, 1.5f, false);
             }
         }
         else
         {
             DisableIcons();
         }
     }
     else if (mode == OverlayModes.SolidConveyor.ID)
     {
         if (RequiresSolid)
         {
             if ((ports & Ports.SolidIn) != 0)
             {
                 bool flag7 = (UnityEngine.Object)null != (UnityEngine.Object)Grid.Objects[building.GetUtilityInputCell(), 20];
                 BuildingCellVisualizerResources.ConnectedDisconnectedColours input3 = resources.liquidIOColours.input;
                 Color tint6 = (!flag7) ? input3.disconnected : input3.connected;
                 DrawUtilityIcon(building.GetUtilityInputCell(), resources.liquidInputIcon, ref inputVisualizer, tint6);
             }
             if ((ports & Ports.SolidOut) != 0)
             {
                 bool flag8 = (UnityEngine.Object)null != (UnityEngine.Object)Grid.Objects[building.GetUtilityOutputCell(), 20];
                 BuildingCellVisualizerResources.ConnectedDisconnectedColours output3 = resources.liquidIOColours.output;
                 Color tint7 = (!flag8) ? output3.disconnected : output3.connected;
                 DrawUtilityIcon(building.GetUtilityOutputCell(), resources.liquidOutputIcon, ref outputVisualizer, tint7);
             }
         }
         else
         {
             DisableIcons();
         }
     }
     else if (mode == OverlayModes.Disease.ID && (UnityEngine.Object)diseaseSourceSprite != (UnityEngine.Object)null)
     {
         int utilityOutputCell = building.GetUtilityOutputCell();
         DrawUtilityIcon(utilityOutputCell, diseaseSourceSprite, ref inputVisualizer, diseaseSourceColour);
     }
 }