public void OnRemoveFromInventory(GameManager gm) { AbilityDetails details = new AbilityDetails(gm.combatManager.discardItemAbility, gm.combatManager.CurrentActor, new List <GridObject> { gm.combatManager.CurrentActor }); details.command.sprite = sprite; DiscardItemEffect effect = (DiscardItemEffect)details.command.utilityEffects.First(e => e is DiscardItemEffect); effect.item = this; gm.combatManager.EnqueueCommand(details); isQueued = true; }
private void RemoveAbilityItemLock() { AbilityCommand ability = Gm.combatManager.CurrentAbilityDetails.command; if (ability.utilityEffects.Any(effect => effect is UseItemEffect)) { UseItemEffect useItemEffect = (UseItemEffect)ability.utilityEffects.First(effect => effect is UseItemEffect); useItemEffect.item.isQueued = false; } else if (ability.utilityEffects.Any(effect => effect is DiscardItemEffect)) { DiscardItemEffect discardItemEffect = (DiscardItemEffect)ability.utilityEffects.First(effect => effect is DiscardItemEffect); discardItemEffect.item.isQueued = false; } }