private void OnUnitAddedToQueue(UnitInfo unitInfo) { this.Log("Adding to queue"); QueueIcon newUnit = Instantiate(this.buttonPrefab, Vector3.zero, Quaternion.identity, this.transform); newUnit.Setup(unitInfo, () => RemoveUnitFromQueue(newUnit)); // Add the unit to the queue visually this.unitQueue.AddLast(newUnit); }
private void RemoveUnitFromQueue(QueueIcon iconToRemove) { int i; LinkedListNode <QueueIcon> node = this.unitQueue.First; for (i = 0; node != null && node.Value != iconToRemove; i++) { node = node.Next; } if (node != null) { Destroy(node.Value.gameObject); this.unitQueue.Remove(node); GameEvents.OnUnitRemovedFromQueue.Invoke(i); } }