public override void Update() { base.Update(); if (m_stat != null) { var totalValue = m_potentialChange; var effects = m_stat.GetEffects(); foreach (var effect in effects) { if (effect.Value.Duration >= 0) { totalValue += effect.Value.Amount; } } if (totalValue < 0) { m_effectArrow.Visible = true; m_effectArrow.BackgroundTexture = m_arrowDown; m_progressBar.PotentialBar.Visible = false; } else if (totalValue > 0) { m_effectArrow.Visible = true; m_effectArrow.BackgroundTexture = m_arrowUp; if (m_stat.MaxValue != 0) { if (!m_progressBar.PotentialBar.Visible || m_lastTotalValue != totalValue) { m_progressBar.PotentialBar.Visible = true; m_recalculatePotential = true; } } } else { m_effectArrow.Visible = false; m_progressBar.PotentialBar.Visible = false; } m_lastTotalValue = totalValue; if (m_stat.CurrentRatio <= m_stat.StatDefinition.GuiDef.CriticalRatio) { m_flashingProgress = (MySandboxGame.TotalGamePlayTimeInMilliseconds - m_lastFlashTime) * 0.001f; m_progressBarBorder.Visible = true; m_progressBarBorder.BorderColor = Vector4.Lerp(m_criticalValueColorFrom, m_criticalValueColorTo, m_flashingProgress); if (m_flashingProgress >= 1f) { m_lastFlashTime = MySandboxGame.TotalGamePlayTimeInMilliseconds; } } else { m_progressBarBorder.Visible = false; } } }
public override void Update() { base.Update(); if (m_stat != null) { var totalValue = 0.0f; var effects = m_stat.GetEffects(); foreach (var effect in effects) { if (effect.Value.Duration >= 0) { totalValue += effect.Value.Amount; } } m_effectArrow.Visible = true; m_effectArrow.Enabled = true; if (totalValue < 0) { m_effectArrow.BackgroundTexture = m_arrowDown; } else if (totalValue > 0) { m_effectArrow.BackgroundTexture = m_arrowUp; } else { m_effectArrow.Visible = false; m_effectArrow.Enabled = false; } } }
public override void Update() { base.Update(); if (m_stat != null) { var totalValue = 0.0f; var effects = m_stat.GetEffects(); foreach (var effect in effects) { if (effect.Value.Duration >= 0) { totalValue += effect.Value.Amount; } } if (totalValue < 0) { m_effectArrow.Visible = true; m_effectArrow.BackgroundTexture = m_arrowDown; m_progressBar.PotentialBar.Visible = false; } else if (totalValue > 0) { m_effectArrow.Visible = true; m_effectArrow.BackgroundTexture = m_arrowUp; if (m_stat.MaxValue != 0) { if (!m_progressBar.PotentialBar.Visible || m_lastTotalValue != totalValue) { m_progressBar.PotentialBar.Visible = true; m_recalculatePotential = true; } } } else { m_effectArrow.Visible = false; m_progressBar.PotentialBar.Visible = false; } m_lastTotalValue = totalValue; } }