{ public static void Main() { System.Console.WriteLine("WarningLight starts now"); WarningLight Light = new WarningLight(); Application.Run(Light); System.Console.WriteLine("End"); } //End of Main function
/// <summary> /// Updates the sprite for a group of warning lights /// </summary> /// <param name="warningLight"></param> private void UpdateSprite(WarningLight warningLight) { warningLight.UpdateRequired = false; var gameObject = GameObject.Find(warningLight.Name); for (int i = 0; i < gameObject.transform.childCount; i++) { var child = gameObject.transform.GetChild(i).gameObject; SpriteRenderer spriteRenderer = child.GetComponent <SpriteRenderer>(); switch (warningLight.Status) { case WarningLightStatus.Off: spriteRenderer.sprite = Resources.Load <Sprite>("Images/Lights/warningOff"); break; case WarningLightStatus.Flashing: spriteRenderer.sprite = Resources.Load <Sprite>("Images/Lights/WarningOn"); break; } } }
IEnumerator FlashLight(WarningLight light, float speed) { bool isLit = false; light.TurnOn(); while (light.isFlashing) { if (isLit) { light.TurnOn(); } else { light.TurnOff(); } isLit = !isLit; yield return(new WaitForSeconds(speed)); } light.TurnOff(); }