public void TestNoContentInEmptySlots() { EmptySlots sut = new EmptySlots(new FakeEmptyContentHistory()); Assert.IsFalse(sut.SlotContentIsInCategory(SlotContent.Player)); Assert.IsFalse(sut.SlotContentIsInCategory(SlotContent.Bot)); Assert.IsTrue(sut.SlotContentIsInCategory(SlotContent.Empty)); }
public SlotManager(ISlotContentHistory history) { Bots = new BotSlots(history); All = new AllSlots(history); Filled = new FilledSlots(history); Empty = new EmptySlots(history); Players = new PlayerSlots(history); }
public void Step(KeyValuePair <int, int> step) { Table[step.Key, step.Value] = Turn; EmptySlots.Remove(step); CheckForWinner(step); SetLimits(step); Turn = -Turn; }
private void StoreItem(CarryItem item) { var slot = EmptySlots.FirstOrDefault(); if (slot == null) { return; } item.transform.position = slot.transform.position; item.transform.parent = slot.transform; }
public override void TriggerEvent(GameObject obj) { var ci = obj.GetComponent <CarriesItem>(); var item = ci.TakeItem(); if (item.ItemType == ItemType.Delivery) { int numItemsInDelivery = Random.Range(2, 5); numItemsInDelivery = Mathf.Max(EmptySlots.Count(), numItemsInDelivery); for (int i = 0; i < numItemsInDelivery; i++) { int idx = Random.Range(0, DeliveredItemPrefabs.Length); var g = DeliveredItemPrefabs[idx]; var delivery = Instantiate(g).GetComponent <CarryItem>(); StoreItem(delivery); } item.gameObject.SetActive(false); Destroy(item.gameObject); } else { StoreItem(item); } }