/* public static void EnqueueCustomerToQueueHead(CustomerNpc npc, string key = "") * { * if (LookupValid) * { * if (TryGetCustomerQueueHead(key, out CustomerQueueHead queueHead)) * { * queueHead.EnqueueCustomers(npc); * } * } * }*/ public static void SetNameAndAdjustForDuplicates(CustomerQueueHead queueHead) { InitializeLookup(); int iterations = 0; while (queueHeadLookupDict.ContainsKey(queueHead.Key)) { iterations++; queueHead.AdjustKeyForDuplicate(iterations); } queueHeadLookupDict.Add(queueHead.Key, queueHead); }
private static CustomerQueueHead GetCustomerQueueHead(string queueHeadLookup = "") { CustomerQueueHead head = null; if (LookupValid) { if (string.IsNullOrEmpty(queueHeadLookup) || !queueHeadLookupDict.TryGetValue(queueHeadLookup, out head)) { return(queueHeadLookupDict.ElementAt(0).Value); } } return(head); }
public static bool TryGetCustomerQueueHead(string key, out CustomerQueueHead queueHead) { queueHead = GetCustomerQueueHead(key); return(queueHead != null); }