private static void BuildModifiers(Blinker blinker, out decimal redModifier, out decimal greenModifier, out decimal blueModifier) { Decimal.TryParse(Convert.ToString(blinker.GetBlinkColor().R), out redModifier); redModifier = redModifier / 255; Decimal.TryParse(Convert.ToString(blinker.GetBlinkColor().G), out greenModifier); greenModifier = greenModifier / 255; Decimal.TryParse(Convert.ToString(blinker.GetBlinkColor().B), out blueModifier); blueModifier = blueModifier / 255; }
/** <summary>A uniform pulse, modify pulse speed with animation speed and phaseSpeed</summary> */ public void PulseStick(Blinker blinker, AbstractBlinkstickHid hid) { decimal redModifier; decimal greenModifier; decimal blueModifier; int phaseSpeed = blinker.PhaseSpeed; BuildModifiers(blinker, out redModifier, out greenModifier, out blueModifier); for (int loopTimes = 0; loopTimes < (blinker.BlinkCount); loopTimes++) { int sleepTime = blinker.AnimationSpeed; for (int i = 0; i < 255; i = i + phaseSpeed) { StateChange(hid, redModifier, greenModifier, blueModifier, i, sleepTime); } for (int i = 255; i > 0; i = i - phaseSpeed) { StateChange(hid, redModifier, greenModifier, blueModifier, i, sleepTime); } changeColor(hid, "#000000"); System.Threading.Thread.Sleep(blinker.pauseLength); } }
public void TurnOff(Blinker blinker, AbstractBlinkstickHid hid) { string color = "#000000"; changeColor(hid, color); }
public void SirenBlink(Blinker blinker, AbstractBlinkstickHid hid) { List<Color> lightColors = new List<Color>() { System.Drawing.Color.Blue, System.Drawing.Color.Red, System.Drawing.Color.White }; int sirenCount = blinker.BlinkCount; for (int i = 0; i < sirenCount; i++) { int colorChoice = new Random().Next(0,lightColors.Count); blinker.SetBlinkColor(lightColors[colorChoice]); int phaseSpeed = new Random().Next(20,100); blinker.PhaseSpeed = phaseSpeed; blinker.BlinkCount = 1; blinker.pauseLength = new Random().Next(0, 10); PulseStick(blinker, hid); } blinker.SetBlinkCount(sirenCount); //return the blink count for possible second runs }
public void TurnOn(Blinker blinker, AbstractBlinkstickHid hid) { string color = Operations.ColorToHexString(blinker.GetBlinkColor()); changeColor(hid, color); }