// Set random colour state private void setRandomColourState() { int selectionNum = Random.Range(0, 3); // Depending on the selection num determine the current colour state switch (selectionNum) { case 0: currentColourState = ColourStates.Red; break; case 1: currentColourState = ColourStates.Green; break; case 2: currentColourState = ColourStates.Blue; break; default: currentColourState = ColourStates.Red; break; } // Depending on the colour state determine the material for this paddle applyColourStateSettings(currentColourState); }
// Set the colour state private void setColourState(ColourStates newColourState) { // Set the current colour state as the new colour state parameter currentColourState = newColourState; // Set the material of the mesh based on the new colour state switch (newColourState) { case ColourStates.Red: targetVisualColour = possibleVisualColourTargets[0]; break; case ColourStates.Green: targetVisualColour = possibleVisualColourTargets[1]; break; case ColourStates.Blue: targetVisualColour = possibleVisualColourTargets[2]; break; default: targetVisualColour = possibleVisualColourTargets[0]; break; } }
void RainbowCycle() { switch (_colourStates) { case ColourStates.r: _colour.b -= 0.01f; SetColour(); if (_colour.r >= 1 && _colour.b <= 0) { _colourStates = ColourStates.rg; } return; case ColourStates.rg: _colour.g += 0.01f; SetColour(); if (_colour.r >= 1 && _colour.g >= 1) { _colourStates = ColourStates.g; } return; case ColourStates.g: _colour.r -= 0.01f; SetColour(); if (_colour.r <= 0 && _colour.g >= 1) { _colourStates = ColourStates.gb; } return; case ColourStates.gb: _colour.b += 0.01f; SetColour(); if (_colour.g >= 1 && _colour.b >= 1) { _colourStates = ColourStates.b; } return; case ColourStates.b: _colour.g -= 0.01f; SetColour(); if (_colour.g <= 0 && _colour.b >= 1) { _colourStates = ColourStates.br; } return; case ColourStates.br: _colour.r += 0.01f; SetColour(); if (_colour.b >= 1 && _colour.r >= 1) { _colourStates = ColourStates.r; } return; } }
private void Start() { _colour.r = 1f; _colour.g = 0f; _colour.b = 0f; _colour.a = 1f; _rend = GetComponent <Renderer>(); _rend.material.shader = Shader.Find("MK/Glow/Selective/Self-Illumin/Diffuse"); _rend.material.SetColor("_Color", _colour); _rend.material.SetColor("_MKGlowTexColor", _colour); _rend.material.SetColor("_MKGlowColor", _colour); _colourStates = ColourStates.r; }
// Apply Colour state settings private void applyColourStateSettings(ColourStates colourState) { if (currentColourState == ColourStates.Red) { targetVisualColour = redPaddleColour; } else if (currentColourState == ColourStates.Green) { targetVisualColour = greenPaddleColour; } else if (currentColourState == ColourStates.Blue) { targetVisualColour = bluePaddleColour; } }
// Select new colour state public void selectNewColourState() { Random.InitState((int)System.DateTime.Now.Millisecond); ColourStates chosenColourState; do { // Select a random colour state int result = Random.Range(0, 3); switch (result) { case 0: chosenColourState = ColourStates.Red; break; case 1: chosenColourState = ColourStates.Blue; break; case 2: chosenColourState = ColourStates.Green; break; default: chosenColourState = ColourStates.Red; break; } } while (chosenColourState == player.getCurrentColourState()); // Set the chosen colour state as the current one // Apply colour state settings currentColourState = chosenColourState; applyColourStateSettings(currentColourState); shineLightComp.gameObject.SetActive(true); }
public void setCurrentColourState(ColourStates currentColourState) { this.currentColourState = currentColourState; }