private protected virtual DisplayBase AttemptToUseItemInCombat(CombatCreature user, CombatCreature opponent, UseItemCombatCallback postItemUseCallback) { if (!CanUse(user, true, out string whyNot)) { postItemUseCallback(false, whyNot, Author(), this); return(null); } else { CapacityItem retVal = UseItemInCombat(user, opponent, out string resultsOfUse); postItemUseCallback(true, resultsOfUse, Author(), retVal); return(null); } }
public DisplayBase UseItemInCombat(CombatCreature user, CombatCreature opponent, UseItemCombatCallback postItemUseCallback) { return(AttemptToUseItemInCombat(user, opponent, postItemUseCallback)); }
private protected override DisplayBase AttemptToUseItemInCombat(CombatCreature user, CombatCreature opponent, UseItemCombatCallback postItemUseCallback) { return(AttemptToUseInCombatSafe(user, opponent, (v, x, y, z) => postItemUseCallback(v, x, y, z))); }
private protected override DisplayBase AttemptToUseItemInCombat(CombatCreature user, CombatCreature opponent, UseItemCombatCallback postItemUseCallback) { if (!CanUse(user, true, out string whyNot)) { postItemUseCallback(false, whyNot, Author(), this); return(null); } else { CapacityItem retVal = CombatConsumeItem(user, opponent, out string resultsOfUse, out bool isBadEnd); if (!isBadEnd) { postItemUseCallback(true, resultsOfUse, Author(), retVal); return(null); } else { throw new System.NotImplementedException(); } } }
protected virtual DisplayBase BuildCombatAwareMenu(CombatCreature consumer, CombatCreature opponent, UseItemCombatCallback postItemUseCallback) { return(BuildMenu(consumer, (success, results, author, replacement) => postItemUseCallback(success, results, author, replacement))); }
private protected override DisplayBase AttemptToUseItemInCombat(CombatCreature user, CombatCreature opponent, UseItemCombatCallback postItemUseCallback) { return(BuildCombatAwareMenu(user, opponent, postItemUseCallback)); }