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>()); }
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"); } }
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); } }