private void Update() { float num = 0f; num = (input_was_previously_positive ? 0f : ((delayTicksRemaining <= 0) ? 1f : ((float)(DelayAmountTicks - delayTicksRemaining) / (float)DelayAmountTicks))); meter.SetPositionPercent(num); }
private void UpdateMeter() { float percent_full = Mathf.Clamp01(GetAmountStored() / GetMaxCapacityMinusStorageMargin()); if (meter == null) { return; } meter.SetPositionPercent(percent_full); }
private void UpdateMeter() { float maxCapacityMinusStorageMargin = GetMaxCapacityMinusStorageMargin(); float positionPercent = Mathf.Clamp01(GetAmountStored() / maxCapacityMinusStorageMargin); if (meter != null) { meter.SetPositionPercent(positionPercent); } }
protected override void OnStartWork(Worker worker) { base.OnStartWork(worker); Pickupable.PickupableStartWorkInfo pickupableStartWorkInfo = (Pickupable.PickupableStartWorkInfo)worker.startWorkInfo; float amount = pickupableStartWorkInfo.amount; Element element = pickupableStartWorkInfo.originalPickupable.GetComponent <PrimaryElement>().Element; session = new WorkSession(Grid.PosToCell(this), element.id, pickupableStartWorkInfo.originalPickupable.GetComponent <SubstanceChunk>(), amount, base.gameObject); meter.SetPositionPercent(0f); meter.SetSymbolTint(new KAnimHashedString("meter_target"), element.substance.colour); }
private void OnStorageChanged(object data) { float massAvailable = storage.GetMassAvailable(SimHashes.CrudeOil); float positionPercent = Mathf.Clamp01(massAvailable / maxSrcMass); meter.SetPositionPercent(positionPercent); }
public void Sim200ms(float dt) { try { Schedule s = ScheduleManager.Instance.GetSchedules()[scheduleIndex]; int currentScheduleBlock = Schedule.GetBlockIdx(); float meterPercent = (float)(currentScheduleBlock) / 24f; meter.SetPositionPercent(meterPercent); ScheduleBlock b = s.GetBlock(currentScheduleBlock); string currentScheduleGroup = b.GroupId; meter.SetSymbolTint("face", GetBlockColor(b)); string selectedScheduleGroup = Db.Get().ScheduleGroups.allGroups[blockTypeIndex].Id; bool state = (string.Equals(currentScheduleGroup, selectedScheduleGroup)); SetState(state); } catch (Exception ex) { Debug.Log($"Failed to update Schedule Sensor: {ex.ToString()}"); SetState(false); } }
public void SetLogicMeter(bool on) { if (logicMeter != null) { logicMeter.SetPositionPercent((!on) ? 0f : 1f); } }
private void RefreshMeter() { o2_meter.SetPositionPercent(suit_locker.OxygenAvailable); fuel_meter.SetPositionPercent(FuelAvailable); anim_controller.SetSymbolVisiblity("oxygen_yes_bloom", IsOxygenTankAboveMinimumLevel()); anim_controller.SetSymbolVisiblity("petrol_yes_bloom", IsFuelTankAboveMinimumLevel()); }
public override void EnergySim200ms(float dt) { base.EnergySim200ms(dt); ushort circuitID = base.CircuitID; operational.SetFlag(Generator.wireConnectedFlag, circuitID != 65535); if (operational.IsOperational) { float num = 0f; CellOffset[] array = solarCellOffsets; foreach (CellOffset offset in array) { int num2 = Grid.LightIntensity[Grid.OffsetCell(Grid.PosToCell(this), offset)]; num += (float)num2 * 0.00053f; } operational.SetActive(num > 0f, false); num = Mathf.Clamp(num, 0f, 380f); Game.Instance.accumulators.Accumulate(accumulator, num * dt); if (num > 0f) { num *= dt; num = Mathf.Max(num, 1f * dt); GenerateJoules(num, false); } meter.SetPositionPercent(Game.Instance.accumulators.GetAverageRate(accumulator) / 380f); UpdateStatusItem(); } }
private void RefreshMeters() { float positionPercent = 0f; PrimaryElement primaryElement = GetComponent <Storage>().FindPrimaryElement(consumedElement); float num = (float)maxUses * massConsumedPerUse; ConduitConsumer component = GetComponent <ConduitConsumer>(); if ((UnityEngine.Object)component != (UnityEngine.Object)null) { num = component.capacityKG; } if ((UnityEngine.Object)primaryElement != (UnityEngine.Object)null) { positionPercent = Mathf.Clamp01(primaryElement.Mass / num); } float positionPercent2 = 0f; PrimaryElement primaryElement2 = GetComponent <Storage>().FindPrimaryElement(outputElement); if ((UnityEngine.Object)primaryElement2 != (UnityEngine.Object)null) { positionPercent2 = Mathf.Clamp01(primaryElement2.Mass / ((float)maxUses * massConsumedPerUse)); } cleanMeter.SetPositionPercent(positionPercent); dirtyMeter.SetPositionPercent(positionPercent2); }
public void UpdateMeter() { if (hasMeter) { float positionPercent = Mathf.Clamp01(storage.MassStored() / storage.capacityKg); meter.SetPositionPercent(positionPercent); } }
private void UpdateMeter() { if (!HasMeter) { this.CreateMeter(); } storageMeter.SetPositionPercent(PercentFull); }
protected override void OnSpawn() { base.OnSpawn(); KBatchedAnimController component = GetComponent <KBatchedAnimController>(); meter = new MeterController((KAnimControllerBase)component, "meter_target", "meter", Meter.Offset.UserSpecified, Grid.SceneLayer.LogicGatesFront, Vector3.zero, (string[])null); meter.SetPositionPercent(1f); }
public void UpdateMeter() { if (hasMeter) { float positionPercent = Mathf.Clamp01(storage.GetMassAvailable(GameTags.AnyWater) / storage.capacityKg); meter.SetPositionPercent(positionPercent); } }
public void SetLogicMeter(bool on) { if (logicMeter == null) { return; } logicMeter.SetPositionPercent(!on ? 0.0f : 1f); }
private void UpdatePressurePercent() { float massAvailable = storage.GetMassAvailable(gasElement); float value = massAvailable / maxGasPressure; value = Mathf.Clamp01(value); smi.sm.pressurePercent.Set(value, smi); pressureMeter.SetPositionPercent(value); }
private void OnStorageChange(object data) { float amountAvailable = inStorage.GetAmountAvailable(coolantTag); float capacityKG = conduitConsumer.capacityKG; float positionPercent = Mathf.Clamp01(amountAvailable / capacityKG); if (meter_coolant != null) { meter_coolant.SetPositionPercent(positionPercent); } }
private void RefreshMeters() { float positionPercent = 0f; PrimaryElement primaryElement = GetComponent <Storage>().FindPrimaryElement(consumedElement); if ((UnityEngine.Object)primaryElement != (UnityEngine.Object)null) { positionPercent = Mathf.Clamp01(primaryElement.Mass / GetComponent <ConduitConsumer>().capacityKG); } cleanMeter.SetPositionPercent(positionPercent); }
private static void Prefix(EnergyGenerator __instance, Storage ___storage, MeterController ___meter) { if (__instance.hasMeter) { float mass = 0; foreach (EnergyGenerator.InputItem inputItem in __instance.formula.inputs) { mass += ___storage.GetAmountAvailable(inputItem.tag); } ___meter.SetPositionPercent(mass / __instance.formula.inputs[0].maxStoredMass); } }
protected override void OnSpawn() { base.OnSpawn(); GetComponent <KBatchedAnimController>().Play("grounded", KAnim.PlayMode.Loop, 1f, 0f); base.gameObject.Subscribe(1366341636, OnReturn); UserMaxCapacity = UserMaxCapacity; meter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, "meter_target", "meter_fill", "meter_frame", "meter_OL"); Subscribe(-1697596308, delegate { meter.SetPositionPercent(MassStored() / capacityKg); }); }
protected override void OnSpawn() { base.OnSpawn(); GetComponent <KBatchedAnimController>().Play("grounded", KAnim.PlayMode.Loop, 1f, 0f); Subscribe(-1056989049, OnLaunchDelegate); Subscribe(238242047, OnLandDelegate); Subscribe(493375141, OnRefreshUserMenuDelegate); meter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, "meter_target", "meter_fill", "meter_frame", "meter_OL"); Subscribe(-1697596308, delegate { meter.SetPositionPercent(storage.MassStored() / storage.Capacity()); }); }
protected override void OnSpawn() { base.OnSpawn(); KBatchedAnimController component = GetComponent <KBatchedAnimController>(); meter_coolant = new MeterController((KAnimControllerBase)component, "meter_target", "meter_coolant", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, Vector3.zero, (string[])null); meter_metal = new MeterController((KAnimControllerBase)component, "meter_target_metal", "meter_metal", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, Vector3.zero, (string[])null); meter_metal.SetPositionPercent(1f); smi = new StatesInstance(this); smi.StartSM(); ConduitFlow liquidConduitFlow = Game.Instance.liquidConduitFlow; liquidConduitFlow.AddConduitUpdater(OnConduitUpdate, ConduitFlowPriority.Default); Building component2 = GetComponent <Building>(); outputCell = component2.GetUtilityOutputCell(); workable.OnWorkTickActions = delegate { float percentComplete = workable.GetPercentComplete(); meter_metal.SetPositionPercent(percentComplete); }; }
private void OnStorageChanged(object data) { GameObject gameObject = (GameObject)data; if (!((Object)gameObject == (Object)null)) { PrimaryElement component = gameObject.GetComponent <PrimaryElement>(); if (component.ElementID == SimHashes.Petroleum) { float positionPercent = Mathf.Clamp01(component.Mass / consumer.capacityKG); oilMeter.SetPositionPercent(positionPercent); } } }
private void UpdateMeter() { float num = 0f; foreach (GameObject item in iceStorage.items) { PrimaryElement component = item.GetComponent <PrimaryElement>(); num += component.Temperature; } num /= (float)iceStorage.items.Count; float num2 = Mathf.Clamp01((num - LOW_ICE_TEMP) / (targetTemperature - LOW_ICE_TEMP)); meter.SetPositionPercent(1f - num2); }
public virtual void EnergySim200ms(float dt) { this.dt = dt; joulesConsumed = 0f; WattsUsed = 0f; ChargeCapacity = chargeWattage * dt; if (meter != null) { float percentFull = PercentFull; meter.SetPositionPercent(percentFull); } UpdateSounds(); PreviousJoulesAvailable = JoulesAvailable; ConsumeEnergy(joulesLostPerSecond * dt, true); }
public override void EnergySim200ms(float dt) { base.EnergySim200ms(dt); ushort circuitID = base.CircuitID; operational.SetFlag(Generator.wireConnectedFlag, circuitID != ushort.MaxValue); float display_dt = (lastSampleTime > 0f) ? (Time.time - lastSampleTime) : 1f; lastSampleTime = Time.time; if (operational.IsOperational) { GenerateJoules(currentGeneratedPower * dt); float meterPercent = Mathf.Clamp((currentEfficiency * 0.95f), 0f, 1f); meter.SetPositionPercent(meterPercent); GameComps.StructureTemperatures.ProduceEnergy(structureTemperature, currentGeneratedHeat * dt / 1000f, "StirlingEngine", display_dt); } else { meter.SetPositionPercent(0); } }
private void TryEmit(PrimaryElement primary_elem) { if (primary_elem.Mass >= emitMass) { plasticMeter.SetPositionPercent(0f); GameObject gameObject = storage.Drop(primary_elem.gameObject, true); Rotatable component = GetComponent <Rotatable>(); Vector3 vector = component.transform.GetPosition() + component.GetRotatedOffset(emitOffset); int i = Grid.PosToCell(vector); if (Grid.Solid[i]) { vector += component.GetRotatedOffset(Vector3.left); } gameObject.transform.SetPosition(vector); PrimaryElement primaryElement = storage.FindPrimaryElement(exhaustElement); if ((Object)primaryElement != (Object)null) { int gameCell = Grid.PosToCell(vector); SimMessages.AddRemoveSubstance(gameCell, primaryElement.ElementID, null, primaryElement.Mass, primaryElement.Temperature, primaryElement.DiseaseIdx, primaryElement.DiseaseCount, true, -1); primaryElement.Mass = 0f; primaryElement.ModifyDiseaseCount(-2147483648, "Polymerizer.Exhaust"); } } }
protected override void OnSpawn() { KBatchedAnimController component = GetComponent <KBatchedAnimController>(); plasticMeter = new MeterController((KAnimControllerBase)component, "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, new Vector3(0f, 0f, 0f), (string[])null); oilMeter = new MeterController((KAnimControllerBase)component, "meter2_target", "meter2", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, new Vector3(0f, 0f, 0f), (string[])null); component.SetSymbolVisiblity("meter_target", true); float positionPercent = 0f; PrimaryElement primaryElement = storage.FindPrimaryElement(SimHashes.Petroleum); if ((Object)primaryElement != (Object)null) { positionPercent = Mathf.Clamp01(primaryElement.Mass / consumer.capacityKG); } oilMeter.SetPositionPercent(positionPercent); base.smi.StartSM(); Subscribe(-1697596308, OnStorageChangedDelegate); }
private void UpdateProgress() { meter.SetPositionPercent(GetProgress()); }
public void UpdateMeter() { meter.SetPositionPercent(Mathf.Clamp01(base.smi.master.iceStorage.MassStored() / base.smi.master.iceStorage.Capacity())); }