public void StartCountdown(LootItem lootItem)
 {
     currentLootItem = lootItem;
     currentLootItem.OnEffectExpired += LootItemEffectExpiredEventHandler;
     LootItemIcon.sprite = lootItem.IconSprite;
     UpdateRemainingEffectTime(lootItem.EffectDuration);
     this.gameObject.SetActive(true);
 }
 private void UseItem(LootItem lootItem)
 {
     currentLootItem = lootItem;
     currentLootItem.OnEffectExpired += LootItemExpiredItemExpiredEventHandler;
     lootItemService.UseLootItem(currentLootItem);
     LootItemCountdownController.StartCountdown(lootItem);
     GetComponent<AudioSource>().PlayAudioClip(LootItemUsedAudioClip);
     OnLootItemUsed(lootItem);
 }
 private void LootItemUsedEventHandler(LootItem lootItem)
 {
     if (lootItem.ItemSubType == LootItemSubType.PROTEIN_SHAKE)
     {
         currentProteinShake = (ProteinShake)lootItem;
         UpdateRemainingProteinShakeCountText();
     }
     proteinShakeButton.interactable = false;
 }
 private void LootItemEffectExpiredEventHandler(LootItem lootItem)
 {
     currentAdrenalineShot = null;
     adrenalineShotButton.interactable = true;
 }
 private void LootItemUsedEventHandler(LootItem lootItem)
 {
     if (lootItem.ItemSubType == LootItemSubType.ADRENALINE_SHOT)
     {
         currentAdrenalineShot = (AdrenalineShot)lootItem;
         UpdateRemainingAdrenalineShotCountText();
     }
     adrenalineShotButton.interactable = false;
 }
 private void LootItemExpiredItemExpiredEventHandler(LootItem lootItem)
 {
     lootItem.OnEffectExpired -= LootItemExpiredItemExpiredEventHandler;
     OnLootItemEffectExpired(currentLootItem);
     currentLootItem = null;
 }
 private void LootItemSelectedEventHandler(LootItem lootItem)
 {
     UseItem(lootItem);
 }
 private void LootItemEffectExpiredEventHandler(LootItem lootItem)
 {
     currentProteinShake = null;
     proteinShakeButton.interactable = true;
 }
 public void LootItemEffectExpiredEventHandler(LootItem lootItem)
 {
     currentLootItem.OnEffectExpired -= LootItemEffectExpiredEventHandler;
     currentLootItem = null;
     this.gameObject.SetActive(false);
 }
 public void UseLootItem(LootItem lootItem)
 {
     LootItemDTO lootItemDTO = new LootItemDTO((int)lootItem.ItemType, (int)lootItem.ItemSubType, lootItem.Name, 1);
     webSocketService.SendCommand(new LootItemUsageDTO(new List<LootItemDTO>() { lootItemDTO }));
     lootItems.Remove(lootItem);
 }