ResourceEffect

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: ObjectId
  • effect_type: str
  • quantity: float
  • source_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:

Ometeotl

A Python library to build complex multi-agent simulations, wargames, and AI-driven strategies