public Material GetTexture(GameObjectColor.Colors color) { switch (color) { case GameObjectColor.Colors.NoColor: return(NoColor); case GameObjectColor.Colors.Grey: return(Grey); case GameObjectColor.Colors.Red: return(Red); case GameObjectColor.Colors.Blue: return(Blue); case GameObjectColor.Colors.Cyan: return(Cyan); case GameObjectColor.Colors.Green: return(Green); case GameObjectColor.Colors.Yellow: return(Yellow); case GameObjectColor.Colors.Purple: return(Purple); default: throw new ArgumentOutOfRangeException(); } }
private void Update() { if (_lastColor != _gameObjectColor.Value) { _skinnedMeshRenderer.material = _colorTextureMapping.GetTexture(_gameObjectColor.Value); } _lastColor = _gameObjectColor.Value; }
public void TriggerExteriorRepaint(GameObjectColor.Colors color) { _gameObjectColor.Value = color; if (color == GameObjectColor.Colors.NoColor) { _meshRenderer.material = _defaultMaterial; } else { // TODO: API so that the ExteriorColorChanger can switch to // the appropriate texture given the active GameObjectColor //_meshRenderer.material = _colorsEnumerationMap.GetMaterialFromColor(color); } }