示例#1
0
 private void ChangeIdleMode()
 {
     if (AutoCycle)
     {
         if (DateTime.UtcNow - lastChange >= idleChangeTime)
         {
             int randomIdle = random.Next(2);
             while (randomIdle == previousIdleValue)
             {
                 randomIdle = random.Next(2);
             }
             previousIdleValue = randomIdle;
             lastChange        = DateTime.UtcNow;
             if (randomIdle == 0)
             {
                 idleMode = IdleModes.Rainbow;
             }
             else if (randomIdle == 1)
             {
                 idleMode = IdleModes.Flair;
             }
             ChangeReverse();
         }
     }
 }
示例#2
0
 public MainPage()
 {
     this.InitializeComponent();
     leftStrip            = new DotStarStrip(78, "SPI0");
     rightStrip           = new DotStarStrip(78, "SPI1");
     cube                 = new Cube(leftStrip, rightStrip);
     AutoCycle            = true;
     Reverse              = false;
     random               = new Random();
     currentMode          = ActiveModes.SpeedRainbow;
     idleMode             = IdleModes.Rainbow;
     lastChange           = DateTime.UtcNow;
     quietTime            = DateTime.UtcNow;
     changeTime           = TimeSpan.FromSeconds(15);
     idleChangeTime       = TimeSpan.FromSeconds(30);
     Idle                 = false;
     runningIdleAnimation = false;
 }