public void ChangeRed(bool up) { string result = CM.ConvertToHex(RedValue); string redstr = result[1].ToString() + result[2].ToString(); int red = int.Parse(redstr, System.Globalization.NumberStyles.HexNumber); //int alpha = increment / 3; int newred = 0; if (up) { if (red + increment >= 255) { Debug.Log("Red at maximum"); SetKnob(); return; } else { newred = red + increment; RotateKnob(up); } } else { if (red - increment <= 0) { Debug.Log("Red at zero"); RedValue = Color.clear; CM.DrawLineBetweenTwoVectors(RedLaserGO.transform.position, Mirror.transform.position, RedValue, LineMaterial, RedLaserGO, RedLaser, false); ChangeOutput(); SetKnob(); return; } else { newred = red - increment; RotateKnob(up); } } Debug.Log(newred); string hexValue = "#" + newred.ToString("X") + "0000"; if (hexValue.Length == 6) { hexValue = hexValue.Insert(1, "0"); } RedValue = CM.ConvertToColor(hexValue); CM.DrawLineBetweenTwoVectors(RedLaserGO.transform.position, Mirror.transform.position, RedValue, LineMaterial, RedLaserGO, RedLaser, false); ChangeOutput(); }
public void ChangeCyan(bool up) { string result = CM.ConvertToHex(CyanValue); string redstr = result[1].ToString() + result[2].ToString(); int red = int.Parse(redstr, System.Globalization.NumberStyles.HexNumber); int newred = 0; if (up) { // Max if (red - increment <= 0) { Debug.Log("Cyan at maximum"); CyanValue = Color.black; ChangeOutput(up); SetKnob(); return; } else { // Approach 0 newred = red - increment; RotateKnob(up); } } else { //Minimum if (red + increment >= 255) { Debug.Log("Cyan at minimum."); CyanValue = Color.white; ChangeOutput(up); SetKnob(); return; } else { // Approach 255 newred = red + increment; RotateKnob(up); } } Debug.Log(newred); string hexValue = "#" + newred.ToString("X") + "0000"; if (hexValue.Length == 6) { hexValue = hexValue.Insert(1, "0"); } CyanValue = CM.ConvertToColor(hexValue); ChangeOutput(up); }
public void ChangeBlue(bool up) { string result = CM.ConvertToHex(BlueValue); string bluestr = result[5].ToString() + result[6].ToString(); int blue = int.Parse(bluestr, System.Globalization.NumberStyles.HexNumber); int newblue = 0; if (up) { if (blue + increment >= 255) { Debug.Log("Blue at maximum"); SetKnob(); return; } else { newblue = blue + increment; RotateKnob(up); } } else { if (blue - increment <= 0) { Debug.Log("Blue at zero or will be below zero."); BlueValue = Color.clear; CM.DrawLineBetweenTwoVectors(BlueLaserGO.transform.position, Mirror.transform.position, BlueValue, LineMaterial, BlueLaserGO, BlueLaser, true); ChangeOutput(); SetKnob(); return; } else { newblue = blue - increment; RotateKnob(up); } } Debug.Log(newblue); string hexValue = "#0000" + newblue.ToString("X"); if (hexValue.Length == 6) { hexValue = hexValue.Insert(5, "0"); } BlueValue = CM.ConvertToColor(hexValue); Debug.Log(BlueValue); CM.DrawLineBetweenTwoVectors(BlueLaserGO.transform.position, Mirror.transform.position, BlueValue, LineMaterial, BlueLaserGO, BlueLaser, true); ChangeOutput(); }
public void ChangeGreen(bool up) { string result = CM.ConvertToHex(GreenValue); string greenstr = result[3].ToString() + result[4].ToString(); int green = int.Parse(greenstr, System.Globalization.NumberStyles.HexNumber); int newgreen = 0; if (up) { if (green + increment >= 255) { Debug.Log("Green at maximum"); SetKnob(); return; } else { newgreen = green + increment; RotateKnob(up); } } else { if (green - increment <= 0) { Debug.Log("Green at zero"); GreenValue = Color.clear; CM.DrawLineBetweenTwoVectors(GreenLaserGO.transform.position, Mirror.transform.position, GreenValue, LineMaterial, GreenLaserGO, GreenLaser, false); ChangeOutput(); SetKnob(); return; } else { newgreen = green - increment; RotateKnob(up); } } Debug.Log(newgreen); string hexValue = "#00" + newgreen.ToString("X") + "00"; if (hexValue.Length == 6) { hexValue = hexValue.Insert(3, "0"); } GreenValue = CM.ConvertToColor(hexValue); CM.DrawLineBetweenTwoVectors(GreenLaserGO.transform.position, Mirror.transform.position, GreenValue, LineMaterial, GreenLaserGO, GreenLaser, false); ChangeOutput(); }
public void ChangeYellow(bool up) { string result = CM.ConvertToHex(YellowValue); string bluestr = result[5].ToString() + result[6].ToString(); int blue = int.Parse(bluestr, System.Globalization.NumberStyles.HexNumber); int newblue = 0; if (up) { if (blue - increment <= 0) { Debug.Log("Yellow at maximum."); YellowValue = Color.black; ChangeOutput(up); SetKnob(); return; } else { newblue = blue - increment; RotateKnob(up); } } else { if (blue + increment >= 255) { Debug.Log("Yellow at minimum"); YellowValue = Color.white; ChangeOutput(up); SetKnob(); return; } else { newblue = blue + increment; RotateKnob(up); } } string hexValue = "#0000" + newblue.ToString("X"); if (hexValue.Length == 6) { hexValue = hexValue.Insert(5, "0"); } YellowValue = CM.ConvertToColor(hexValue); ChangeOutput(up); }
public void ChangeMagenta(bool up) { string result = CM.ConvertToHex(MagnetaValue); string greenstr = result[3].ToString() + result[4].ToString(); int green = int.Parse(greenstr, System.Globalization.NumberStyles.HexNumber); int newgreen = 0; if (up) { if (green - increment <= 0) { Debug.Log("Magenta at maximum"); MagnetaValue = Color.black; ChangeOutput(up); SetKnob(); return; } else { newgreen = green - increment; RotateKnob(up); } } else { if (green + increment >= 255) { Debug.Log("Magenta at minimum"); MagnetaValue = Color.white; ChangeOutput(up); SetKnob(); return; } else { newgreen = green + increment; RotateKnob(up); } } Debug.Log(newgreen); string hexValue = "#00" + newgreen.ToString("X") + "00"; if (hexValue.Length == 6) { hexValue = hexValue.Insert(3, "0"); } MagnetaValue = CM.ConvertToColor(hexValue); ChangeOutput(up); }
public void ChangeOutput() { string red = CM.ConvertToHex(RedValue); string green = CM.ConvertToHex(GreenValue); string blue = CM.ConvertToHex(BlueValue); string hexValue = "#" + red[1] + red[2] + green[3] + green[4] + blue[5] + blue[6]; OutputVal = CM.ConvertToColor(hexValue); if (RedValue == Color.clear && GreenValue == Color.clear && BlueValue == Color.clear) { OutputVal = Color.clear; } CM.DrawLineBetweenTwoVectors(Mirror.transform.position, OutputLaserGO.transform.position, OutputVal, LineMaterial, OutputLaserGO, OutputLaser, true); }
public void ChangeOutput(bool up) { // CMY string cyan = CM.ConvertToHex(CyanValue); string magenta = CM.ConvertToHex(MagnetaValue); string yellow = CM.ConvertToHex(YellowValue); string hexValue = "#" + cyan[1] + cyan[2] + magenta[3] + magenta[4] + yellow[5] + yellow[6]; // Change color OutputVal = CM.ConvertToColor(hexValue); if (CyanValue == Color.black && MagnetaValue == Color.black && YellowValue == Color.black) { OutputVal = Color.black; } // Color ParticleSystem.MainModule psMain = mixture.main; psMain.startColor = OutputVal; // Length float length = heightMax * (1 / mixtureMax); ParticleSystem.ShapeModule psShape = mixture.shape; if (up) { if (psShape.length + length < heightMax) { psShape.length += length; } } else { if (psShape.length - length > heightMin) { psShape.length -= length; } } }