private void IntroTimer_Tick(object sender, EventArgs e) { switch (phase) { case 0: IntroTimer.Stop(); IntroTimer.Interval = 10; phase = 1; IntroTimer.Start(); break; case 1: count++; WelcomeLabel.ForeColor = Color.FromArgb(255, (int)FloatLerp(255, 32, (float)count / 50), (int)FloatLerp(255, 32, (float)count / 50), (int)FloatLerp(255, 32, (float)count / 50)); if (count >= 50) { count = 0; WelcomeLabel.Text = "Please enter your Unique ID"; UniqueID.Visible = true; UniqueID.Focus(); phase = 2; } break; case 2: count++; WelcomeLabel.ForeColor = Color.FromArgb(255, (int)FloatLerp(32, 255, (float)count / 50), (int)FloatLerp(32, 255, (float)count / 50), (int)FloatLerp(32, 255, (float)count / 50)); UniqueID.ForeColor = WelcomeLabel.ForeColor; if (count >= 50) { phase = 3; count = 0; IntroTimer.Stop(); } break; case 3: count++; WelcomeLabel.ForeColor = Color.FromArgb(255, (int)FloatLerp(255, 32, (float)count / 50), (int)FloatLerp(255, 32, (float)count / 50), (int)FloatLerp(255, 32, (float)count / 50)); if (count >= 50) { count = 0; WelcomeLabel.Text = "Just a second..."; phase = 4; } break; case 4: count++; WelcomeLabel.ForeColor = Color.FromArgb(255, (int)FloatLerp(32, 255, (float)count / 50), (int)FloatLerp(32, 255, (float)count / 50), (int)FloatLerp(32, 255, (float)count / 50)); if (count >= 50) { phase = 5; count = 0; IntroTimer.Stop(); ValidateID(); } break; case 5: count++; WelcomeLabel.ForeColor = Color.FromArgb(255, (int)FloatLerp(255, 32, (float)count / 50), (int)FloatLerp(255, 32, (float)count / 50), (int)FloatLerp(255, 32, (float)count / 50)); UniqueID.ForeColor = Color.FromArgb(255, (int)FloatLerp(Color.LightGreen.R, 32, (float)count / 50), (int)FloatLerp(Color.LightGreen.G, 32, (float)count / 50), (int)FloatLerp(Color.LightGreen.B, 32, (float)count / 50)); if (count >= 50) { phase = 6; WelcomeLabel.Text = "Starting Installation..."; Controls.Remove(UniqueID); count = 0; } break; case 6: count++; WelcomeLabel.ForeColor = Color.FromArgb(255, (int)FloatLerp(32, 255, (float)count / 50), (int)FloatLerp(32, 255, (float)count / 50), (int)FloatLerp(32, 255, (float)count / 50)); if (count >= 50) { phase = 7; Controls.Remove(UniqueID); StatusMessage.Visible = false; count = 0; Commence(); } break; case 7: count++; if (count < 50) { BackColor = Color.FromArgb(255, (int)FloatLerp(CurrentColor.R, NextColor.R, (float)count / 50), (int)FloatLerp(CurrentColor.G, NextColor.G, (float)count / 50), (int)FloatLerp(CurrentColor.B, NextColor.B, (float)count / 50)); } else { phase = 8; } break; case 8: count++; if (count >= 250) { count = 0; colorindex++; if (colorindex >= RandomColors.Count) { colorindex = 0; } phase = 7; } break; } }