Entity labels — multi-tag string set for collision and trigger grouping #296
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
#300 Behavior data struct and primitive implementations
john/McRogueFace
#302 Pathfinding with entity collision labels
john/McRogueFace
Reference
john/McRogueFace#296
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 set of string labels to entities for collision grouping, behavior trigger targeting, and general-purpose tagging.
Proposed API
C++ backing
Usage contexts
Example
Files likely affected
src/UIEntity.h/cpp— addlabelsmember, Python property/methodssrc/UIEntityPyMethods.h— addadd_label,remove_label,has_labelmethodsgrid.step()— turn manager for entity behaviors #301GridViewandGrid,FOVLayerandPathLayer#252Roadmap context
Part of the Grid & Entity Overhaul Roadmap (
docs/GRID_ENTITY_OVERHAUL_ROADMAP.md), Phase 2 (Entity Data Model Extensions).Labels are used by two later features:
collide="solid"treats entities with that label as impassableentity.target_label = "player"firesstep()when a "player"-labeled entity enters FOVmcrfpy.Behaviorenum — behavior type identifiers #297mcrfpy.Triggerenum — behavior trigger type identifiers #298