Shared context for all interaction handlers.
MutationDomain last_invalidation_domain
std::function< void()> on_invalidate_cache
const zelda3::Room * GetCurrentRoomConst() const
Get const pointer to current room.
void NotifyEntityChanged() const
Notify that entity has changed.
void NotifyInvalidateCache(MutationDomain domain=MutationDomain::kUnknown) const
Notify that cache invalidation is needed.
ObjectSelection * selection
bool IsValid() const
Check if context has required dependencies.
void NotifySelectionChanged() const
Notify that selection has changed.
void NotifyMutation(MutationDomain domain=MutationDomain::kUnknown) const
Notify that a mutation is about to happen.
std::function< void()> on_mutation
zelda3::Room * GetCurrentRoom() const
Get pointer to current room.
gfx::PaletteGroup current_palette_group
MutationDomain last_mutation_domain
std::function< void()> on_entity_changed
std::function< void()> on_selection_changed