Source:
Local role: Describes one resource effect of one Action.
Big-picture role: Encodes consumption, production, or transfer semantics for Resource.
Inheritance:
- dataclass
Parameters and fields:
resource_id: ObjectIdeffect_type: strquantity: floatsource_id: Optional[ObjectId]target_id: Optional[ObjectId]metadata: JsonMap
Methods:
to_dict(...)from_dict(...)
Example:
from ometeotl_core.model.actions import ResourceEffect
# Consume effect: actor uses 5 units of fuel from a depot space
effect = ResourceEffect(
resource_id="fuel-1",
effect_type="consume",
quantity=5.0,
source_id="depot-1",
)
# Transfer effect: move resource between two spaces
transfer = ResourceEffect(
resource_id="fuel-1",
effect_type="transfer",
quantity=1.0,
source_id="depot-1",
target_id="vehicle-1",
)
data = effect.to_dict()
See also:
