コード例 #1
0
ファイル: Item.cs プロジェクト: dansebmey/Calcium-Crawlers
    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;
    }
コード例 #2
0
    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;
        }
    }