mcrfpy.Trigger enum — behavior trigger type identifiers #298
Labels
No labels
Alpha Release Requirement
Bugfix
Demo Target
Documentation
Major Feature
Minor Feature
priority:tier1-active
priority:tier2-foundation
priority:tier3-future
priority:tier4-deferred
Refactoring & Cleanup
system:animation
system:documentation
system:grid
system:input
system:performance
system:procgen
system:python-binding
system:rendering
system:ui-hierarchy
Tiny Feature
workflow:blocked
workflow:needs-benchmark
workflow:needs-documentation
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
#299 Entity
step() callback — Python-side turn handler
john/McRogueFace
#300 Behavior data struct and primitive implementations
john/McRogueFace
Reference
john/McRogueFace#298
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Add a string-evaluating enum for trigger types passed to entity
step()callbacks.Enum values
Trigger semantics
dataargument tostep()DONENonefor sleep/customBLOCKED(blocked_cell, blocking_entity)tupleTARGETtarget_labelspotted in FOVPriority
When multiple triggers apply in the same turn:
TARGET > BLOCKED > DONEImplementation
Follow the existing IntEnum pattern (
PyInputState.h/cpp):Files to create/modify
src/PyTrigger.h/cpp— new enum typesrc/McRFPy_API.cpp— register typestep()callback — Python-side turn handler #299grid.step()— turn manager for entity behaviors #301step()callback — Python-side turn handlermcrfpy.Behaviorenum — behavior type identifiers #297Roadmap context
Part of the Grid & Entity Overhaul Roadmap (
docs/GRID_ENTITY_OVERHAUL_ROADMAP.md), Phase 2 (Entity Data Model Extensions). Leaf dependency — can be implemented in parallel with #295, #296, #297. Required by #299 (step callback).