using UnityEngine; using System.Collections.Generic; public class PowerUpManager : Singleton { private PowerUpManager() {} private Queue powerUps; private Queue powerUpsLogs; private ushort powerUpLogLimit = 3; public int Count { get { return powerUps.Count; } } void Awake() { this.powerUps = new Queue(); this.powerUpsLogs = new Queue(); } public void Add(CustomizablePowerUp powerUp) { this.powerUps.Enqueue(powerUp); this.powerUpsLogs.Enqueue(powerUp); while (this.powerUpsLogs.Count > this.powerUpLogLimit && this.powerUpsLogs.Dequeue()) ; } private string RGBToHex(Color color) { return string.Format("#{0}{1}{2}", ((int)(color.r * 255)).ToString("X2"), ((int)(color.g * 255)).ToString("X2"), ((int)(color.b * 255)).ToString("X2")); } void OnGUI() { foreach(CustomizablePowerUp pu in powerUpsLogs) { GUILayout.BeginHorizontal(); GUILayout.BeginVertical(); GUILayout.Label("You picked up " + pu.powerUpName + ""); GUILayout.EndVertical(); GUILayout.EndHorizontal(); } GUI.Label(new Rect(Screen.width - 180, 0, 180, 20), "PowerUp count: " + this.powerUps.Count + ""); } }