void Update() { isSolved = solution == GetColor(); if (isSolved) { thisRenderer.SetMainColor(solutionColor); thisRenderer.SetColor("_EmissionColor", solutionEmissionColor); } else { thisRenderer.SetMainColor(unsolvedColor); thisRenderer.SetColor("_EmissionColor", unsolvedEmissionColor); } }
private void UpdateGridColors() { Color color = Color.clear; Color endColor = Color.white; switch (state.state) { case State.Depowered: break; case State.Powering: float t = state.timeSinceStateChanged / totalTimeToTurnOnSpotlights; color = Color.Lerp(Color.clear, endColor, t); break; case State.Powered: color = endColor; break; default: throw new ArgumentOutOfRangeException(); } smallPuzzleGrid.SetMainColor(color); mainPuzzleGrid.SetMainColor(color); }
void Update() { if (changeColorsOnActive && thisPillar.enabled && !wasActive) { wasActive = true; thisRenderer.SetMainColor(activeColor); if (optionalGlass != null) { optionalGlass.enabled = true; optionalGlass.glowColor = activeColor; } } else if (changeColorsOnInactive && !thisPillar.enabled && wasActive) { wasActive = false; thisRenderer.SetMainColor(inactiveColor); if (optionalGlass != null) { optionalGlass.enabled = false; } } }
// Use this for initialization void Start() { if (buttonToReactTo == null) { buttonToReactTo = GetComponent <Button>(); } if (buttonToReactTo == null) { Debug.LogWarning("No button to react to, disabling color change script", gameObject); enabled = false; return; } r = GetComponent <SuperspectiveRenderer>(); if (r == null) { r = gameObject.AddComponent <SuperspectiveRenderer>(); } if (useMaterialAsEndColor) { pressColor = r.GetMainColor(); pressEmission = r.GetColor("_EmissionColor"); } if (useMaterialAsStartColor) { startColor = r.GetMainColor(); startEmission = r.GetColor("_EmissionColor"); } else { r.SetMainColor(startColor); r.SetColor("_EmissionColor", startEmission); } buttonToReactTo.OnButtonPressFinish += ButtonPressFinish; buttonToReactTo.OnButtonUnpressFinish += ButtonUnpressFinish; }