protected override void UpdateEmissivity(bool force) { MyEmissiveColorStateResult result; Color red = Color.Red; float emissivity = 1f; if (base.IsWorking) { red = Color.Green; if (MyEmissiveColorPresets.LoadPresetState(base.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Working, out result)) { red = result.EmissiveColor; } } else if (!base.IsFunctional) { if (MyEmissiveColorPresets.LoadPresetState(base.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Damaged, out result)) { red = result.EmissiveColor; } emissivity = 0f; } else { if (MyEmissiveColorPresets.LoadPresetState(base.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Disabled, out result)) { red = result.EmissiveColor; } if (!base.IsEnoughPower()) { emissivity = 0f; } } base.SetEmissive(red, emissivity, force); }
private void UpdateEmissivity() { MyEmissiveColorStateResult result; Color red = Color.Red; bool flag = true; if (!this.CanStore) { if (!base.IsFunctional) { if (MyEmissiveColorPresets.LoadPresetState(this.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Damaged, out result)) { red = result.EmissiveColor; } } else { flag = false; if (MyEmissiveColorPresets.LoadPresetState(this.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Disabled, out result)) { red = result.EmissiveColor; } } } else if (this.IsStockpiling) { red = Color.Teal; flag = false; if (MyEmissiveColorPresets.LoadPresetState(this.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Alternative, out result)) { red = result.EmissiveColor; } } else if (this.FilledRatio <= 9.9999997473787516E-06) { red = Color.Yellow; if (MyEmissiveColorPresets.LoadPresetState(this.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Warning, out result)) { red = result.EmissiveColor; } } else { red = Color.Green; if (MyEmissiveColorPresets.LoadPresetState(this.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Working, out result)) { red = result.EmissiveColor; } } this.SetEmissive(red, flag ? ((float)this.FilledRatio) : 1f); }
private void UpdateEmissivity() { Color emissiveColor = COLOR_OFF; Color emissiveColor = COLOR_ON; if (base.UsesEmissivePreset) { MyEmissiveColorStateResult result; if (MyEmissiveColorPresets.LoadPresetState(base.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Working, out result)) { emissiveColor = result.EmissiveColor; } if (MyEmissiveColorPresets.LoadPresetState(base.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Disabled, out result)) { emissiveColor = result.EmissiveColor; } } UpdateEmissiveParts(base.Render.RenderObjectIDs[0], this.m_currentLightPower, Color.Lerp(emissiveColor, emissiveColor, this.m_currentLightPower), Color.White); }
internal void UpdateEmissivity() { if (base.InScene) { MyEmissiveColorStateResult result; float fill = 1f; Color red = Color.Red; if (!base.IsFunctional || !base.Enabled) { if (base.IsFunctional) { if (MyEmissiveColorPresets.LoadPresetState(this.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Disabled, out result)) { red = result.EmissiveColor; } } else if (MyEmissiveColorPresets.LoadPresetState(this.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Damaged, out result)) { red = result.EmissiveColor; } } else if (!base.IsWorking) { fill = 0.25f; if (MyEmissiveColorPresets.LoadPresetState(this.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Disabled, out result)) { red = result.EmissiveColor; } } else { fill = this.CurrentStoredPower / this.MaxStoredPower; if (this.ChargeMode == Sandbox.ModAPI.Ingame.ChargeMode.Auto) { red = Color.Green; if (MyEmissiveColorPresets.LoadPresetState(this.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Working, out result)) { red = result.EmissiveColor; } } else if (this.ChargeMode == Sandbox.ModAPI.Ingame.ChargeMode.Discharge) { red = Color.SteelBlue; if (MyEmissiveColorPresets.LoadPresetState(this.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Alternative, out result)) { red = result.EmissiveColor; } } else { red = Color.Yellow; if (MyEmissiveColorPresets.LoadPresetState(this.BlockDefinition.EmissiveColorPreset, MyCubeBlock.m_emissiveNames.Warning, out result)) { red = result.EmissiveColor; } } } if (this.BlockDefinition.Id.SubtypeName == "SmallBlockSmallBatteryBlock") { UpdateNamedEmissiveParts(base.Render.RenderObjectIDs[0], m_emissiveTextureNames[0], red, 1f); } else { this.SetEmissive(red, fill); } } }