void checkActiveEventInstances(GiftEventData giftEvent) { if (!activeGiftEventInstances.ContainsKey(giftEvent)) { activeGiftEventInstances[giftEvent] = k.NONE_VALUE; } }
public void RetireEvent(GiftEventData activeEvent) { checkActiveEventInstances(activeEvent); int activeInstanceCount = activeGiftEventInstances[activeEvent]; activeInstanceCount = Mathf.Clamp(activeInstanceCount - 1, 0, int.MaxValue); activeGiftEventInstances[activeEvent] = activeInstanceCount; }
public bool TryUseEvent(GiftEventData activeEvent) { if (canUseEvent(activeEvent)) { activeGiftEventInstances[activeEvent]++; return(true); } else { return(false); } }
public GiftEventData GetRandomGiftEvent() { RandomBuffer <GiftEventData> randomGiftEventBuffer = new RandomBuffer <GiftEventData>(giftEvents); while (randomGiftEventBuffer.HasNext()) { GiftEventData targetGiftEvent = randomGiftEventBuffer.GetRandom(); if (canUseEvent(targetGiftEvent)) { return(targetGiftEvent); } } return(ArrayUtil.GetRandom(this.giftEvents)); }
protected override void fetchReferences() { base.fetchReferences(); gifts = GiftDatabase.GetInstance; GiftEventData testEvent = gifts.GiftEvents[0]; Debug.Log(testEvent); for (int i = 0; i < numberTimesTestSpawnCurrency; i++) { Debug.Log(testEvent.GetResult().Length); Debug.LogFormat("Coins: {0}, Food: {1}", dataController.Coins, dataController.DogFood); testEvent.Give(); Debug.LogFormat("Coins: {0}, Food: {1}", dataController.Coins, dataController.DogFood); } }
bool canUseEvent(GiftEventData giftEvent) { checkActiveEventInstances(giftEvent); return(activeGiftEventInstances[giftEvent] < giftEvent.MaxConcurrentInstances); }