Scene-free refund service for the 5.1 refund contract (6.0.0-S). Extracted from RefundSystem (now deprecated). Owns the pure refund logic — resolve a container, compute refund amounts via RefundCalculator, and apply them through the canonical id interface. No tree dependency. Embed in a Refunder, wrap in a host service, or use standalone. The inner _CalculatorRefunder adapter bridges this service into the [ManipulationState.refunders] array so the manipulation pipeline calls on_pre_demolish() during demolish.
Source: addons/grid_placement/systems/manipulation/refund_service.gd
Syntax
class RefundService extends RefunderMembers
| Name | Kind | Summary |
|---|---|---|
refund_ratio | Property | Fraction of the original cost returned on demolish (demo default: half). |
rounding | Property | Rounding policy for fractional refund amounts. |
locator | Property | Locates the materials container under the placement owner root (the same locator pattern the spend rules use). Bootstrap code can set container_override directly instead. |
container_override | Property | Code-settable container override. When set, wins over locator. |
service | Property | Adapter bridging the RefCounted service into the Node-based refunders array. |
on_pre_demolish | Method | |
on_demolish_confirmed | Method | |
configure | Method | |
register | Method | |
bind_session | Method | |
old_manipulation | Property | directly; leaving manipulation_state stale means demolish on the new session would still hit the old session's ManipulationState pipeline. |
incoming | Property | |
unregister | Method | |
dispose | Method | |
refund | Method | |
get_runtime_issues | Method |