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 ResetColors() { RedValue = Color.clear; BlueValue = Color.clear; GreenValue = Color.clear; OutputVal = Color.clear; CM.DrawLineBetweenTwoVectors(RedLaserGO.transform.position, Mirror.transform.position, RedValue, LineMaterial, RedLaserGO, RedLaser, false); CM.DrawLineBetweenTwoVectors(BlueLaserGO.transform.position, Mirror.transform.position, BlueValue, LineMaterial, BlueLaserGO, BlueLaser, true); CM.DrawLineBetweenTwoVectors(GreenLaserGO.transform.position, Mirror.transform.position, GreenValue, LineMaterial, GreenLaserGO, GreenLaser, false); CM.DrawLineBetweenTwoVectors(Mirror.transform.position, OutputLaserGO.transform.position, OutputVal, LineMaterial, OutputLaserGO, OutputLaser, true); }
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 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); }
// Start is called before the first frame update void Start() { OutputVal = Color.white; // Add The Line Renderers RedLaser = RedLaserGO.AddComponent <LineRenderer>(); GreenLaser = GreenLaserGO.AddComponent <LineRenderer>(); BlueLaser = BlueLaserGO.AddComponent <LineRenderer>(); OutputLaser = OutputLaserGO.AddComponent <LineRenderer>(); // Set Colors CM.SetColorMaterialTransform(TrueValue, ColorMatcher.transform); CM.SetColorMaterialTransform(Color.red, redKnob.transform); CM.SetColorMaterialTransform(Color.green, greenKnob.transform); CM.SetColorMaterialTransform(Color.blue, blueKnob.transform); // Draw Lines CM.DrawLineBetweenTwoVectors(RedLaserGO.transform.position, Mirror.transform.position, RedValue, LineMaterial, RedLaserGO, RedLaser, false); CM.DrawLineBetweenTwoVectors(BlueLaserGO.transform.position, Mirror.transform.position, BlueValue, LineMaterial, BlueLaserGO, BlueLaser, true); CM.DrawLineBetweenTwoVectors(GreenLaserGO.transform.position, Mirror.transform.position, GreenValue, LineMaterial, GreenLaserGO, GreenLaser, false); CM.DrawLineBetweenTwoVectors(Mirror.transform.position, OutputLaserGO.transform.position, OutputVal, LineMaterial, OutputLaserGO, OutputLaser, true); }