yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::editor::DungeonObjectInteraction Class Reference

Handles object selection, placement, and interaction within the dungeon canvas. More...

#include <dungeon_object_interaction.h>

Public Member Functions

 DungeonObjectInteraction (gui::Canvas *canvas)
 
void SetContext (const InteractionContext &ctx)
 Set the unified interaction context.
 
InteractionCoordinatorentity_coordinator ()
 Get the interaction coordinator for entity handling.
 
const InteractionCoordinatorentity_coordinator () const
 
MutationDomain last_mutation_domain () const
 
MutationDomain last_invalidation_domain () const
 
void SetRom (Rom *rom)
 
void HandleCanvasMouseInput ()
 
void CheckForObjectSelection ()
 
void PlaceObjectAtPosition (int room_x, int room_y)
 
void DrawSelectionHighlights ()
 
void DrawHoverHighlight (const std::vector< zelda3::RoomObject > &objects)
 
void DrawGhostPreview ()
 
std::pair< int, int > RoomToCanvasCoordinates (int room_x, int room_y) const
 
std::pair< int, int > CanvasToRoomCoordinates (int canvas_x, int canvas_y) const
 
bool IsWithinCanvasBounds (int canvas_x, int canvas_y, int margin=32) const
 
void SetCurrentRoom (std::array< zelda3::Room, dungeon_coords::kRoomCount > *rooms, int room_id)
 
void SetPreviewObject (const zelda3::RoomObject &object, bool loaded)
 
void SetCurrentPaletteGroup (const gfx::PaletteGroup &group)
 
InteractionModeManagermode_manager ()
 
const InteractionModeManagermode_manager () const
 
bool IsObjectLoaded () const
 
void CancelPlacement ()
 
void SetDoorPlacementMode (bool enabled, zelda3::DoorType type=zelda3::DoorType::NormalDoor)
 
bool IsDoorPlacementActive () const
 
void SetPreviewDoorType (zelda3::DoorType type)
 
zelda3::DoorType GetPreviewDoorType () const
 
void CancelDoorPlacement ()
 
void SetSpritePlacementMode (bool enabled, uint8_t sprite_id=0)
 
bool IsSpritePlacementActive () const
 
void SetPreviewSpriteId (uint8_t id)
 
uint8_t GetPreviewSpriteId () const
 
void CancelSpritePlacement ()
 
void SetItemPlacementMode (bool enabled, uint8_t item_id=0)
 
bool IsItemPlacementActive () const
 
void SetPreviewItemId (uint8_t id)
 
uint8_t GetPreviewItemId () const
 
void CancelItemPlacement ()
 
std::vector< size_t > GetSelectedObjectIndices () const
 
void SetSelectedObjects (const std::vector< size_t > &indices)
 
bool IsObjectSelectActive () const
 
void ClearSelection ()
 
bool IsObjectSelected (size_t index) const
 
size_t GetSelectionCount () const
 
void SetSelectionChangeCallback (std::function< void()> callback)
 
void HandleScrollWheelResize ()
 
void HandleDeleteSelected ()
 
void HandleDeleteAllObjects ()
 
void HandleCopySelected ()
 
void HandlePasteObjects ()
 
bool HasClipboardData () const
 
bool SetObjectId (size_t index, int16_t id)
 
bool SetObjectSize (size_t index, uint8_t size)
 
bool SetObjectLayer (size_t index, zelda3::RoomObject::LayerType layer)
 
void SendSelectedToLayer (int target_layer)
 
void SendSelectedToFront ()
 
void SendSelectedToBack ()
 
void BringSelectedForward ()
 
void SendSelectedBackward ()
 
void SetLayerFilter (int layer)
 
int GetLayerFilter () const
 
bool IsLayerFilterActive () const
 
bool IsMaskModeActive () const
 
const char * GetLayerFilterName () const
 
void SetLayersMerged (bool merged)
 
bool AreLayersMerged () const
 
void HandleLayerKeyboardShortcuts ()
 
void SetObjectPlacedCallback (std::function< void(const zelda3::RoomObject &)> callback)
 
void SetCacheInvalidationCallback (std::function< void()> callback)
 
void SetMutationCallback (std::function< void()> callback)
 
void SetEditorSystem (zelda3::DungeonEditorSystem *system)
 
void SelectEntity (EntityType type, size_t index)
 
void ClearEntitySelection ()
 
bool HasEntitySelection () const
 
SelectedEntity GetSelectedEntity () const
 
void DrawEntitySelectionHighlights ()
 
void DrawDoorSnapIndicators ()
 
void SetEntityChangedCallback (std::function< void()> callback)
 

Private Member Functions

std::pair< int, int > CalculateObjectBounds (const zelda3::RoomObject &object)
 
void HandleLeftClick (const ImVec2 &canvas_mouse_pos)
 
void UpdateCollisionPainting (const ImVec2 &canvas_mouse_pos)
 
void UpdateWaterFillPainting (const ImVec2 &canvas_mouse_pos)
 
void HandleObjectSelectionStart (const ImVec2 &canvas_mouse_pos)
 
void HandleEmptySpaceClick (const ImVec2 &canvas_mouse_pos)
 
void HandleMouseRelease ()
 

Private Attributes

gui::Canvascanvas_
 
zelda3::DungeonEditorSystemeditor_system_ = nullptr
 
std::array< zelda3::Room, dungeon_coords::kRoomCount > * rooms_ = nullptr
 
int current_room_id_ = 0
 
InteractionContext interaction_context_
 
InteractionCoordinator entity_coordinator_
 
InteractionModeManager mode_manager_
 
zelda3::RoomObject preview_object_ {0, 0, 0, 0, 0}
 
gfx::PaletteGroup current_palette_group_
 
ObjectSelection selection_
 
std::function< void(const zelda3::RoomObject &) object_placed_callback_ )
 

Detailed Description

Handles object selection, placement, and interaction within the dungeon canvas.

This component manages mouse interactions for object selection (similar to OverworldEditor), object placement, drag operations, and multi-object selection.

Definition at line 43 of file dungeon_object_interaction.h.

Constructor & Destructor Documentation

◆ DungeonObjectInteraction()

yaze::editor::DungeonObjectInteraction::DungeonObjectInteraction ( gui::Canvas * canvas)
inlineexplicit

Member Function Documentation

◆ SetContext()

void yaze::editor::DungeonObjectInteraction::SetContext ( const InteractionContext & ctx)
inline

Set the unified interaction context.

This is the preferred method for configuring the interaction handler. It propagates context to all sub-handlers.

Definition at line 62 of file dungeon_object_interaction.h.

References yaze::editor::InteractionContext::canvas, canvas_, entity_coordinator_, interaction_context_, yaze::editor::InteractionContext::selection, selection_, and yaze::editor::InteractionCoordinator::SetContext().

Here is the call graph for this function:

◆ entity_coordinator() [1/2]

InteractionCoordinator & yaze::editor::DungeonObjectInteraction::entity_coordinator ( )
inline

Get the interaction coordinator for entity handling.

Use this for advanced entity operations (doors, sprites, items).

Definition at line 74 of file dungeon_object_interaction.h.

References entity_coordinator_.

Referenced by yaze::editor::ObjectEditorPanel::Draw().

◆ entity_coordinator() [2/2]

const InteractionCoordinator & yaze::editor::DungeonObjectInteraction::entity_coordinator ( ) const
inline

Definition at line 75 of file dungeon_object_interaction.h.

References entity_coordinator_.

◆ last_mutation_domain()

MutationDomain yaze::editor::DungeonObjectInteraction::last_mutation_domain ( ) const
inline

◆ last_invalidation_domain()

MutationDomain yaze::editor::DungeonObjectInteraction::last_invalidation_domain ( ) const
inline

◆ SetRom()

◆ HandleCanvasMouseInput()

◆ CheckForObjectSelection()

void yaze::editor::DungeonObjectInteraction::CheckForObjectSelection ( )

Definition at line 281 of file dungeon_object_interaction.cc.

◆ PlaceObjectAtPosition()

void yaze::editor::DungeonObjectInteraction::PlaceObjectAtPosition ( int room_x,
int room_y )

Definition at line 438 of file dungeon_object_interaction.cc.

◆ DrawSelectionHighlights()

void yaze::editor::DungeonObjectInteraction::DrawSelectionHighlights ( )

◆ DrawHoverHighlight()

void yaze::editor::DungeonObjectInteraction::DrawHoverHighlight ( const std::vector< zelda3::RoomObject > & objects)

Definition at line 371 of file dungeon_object_interaction.cc.

References yaze::zelda3::DimensionService::Get(), and yaze::zelda3::DimensionService::GetSelectionBoundsPixels().

Here is the call graph for this function:

◆ DrawGhostPreview()

void yaze::editor::DungeonObjectInteraction::DrawGhostPreview ( )

Definition at line 564 of file dungeon_object_interaction.cc.

◆ RoomToCanvasCoordinates()

std::pair< int, int > yaze::editor::DungeonObjectInteraction::RoomToCanvasCoordinates ( int room_x,
int room_y ) const

Definition at line 449 of file dungeon_object_interaction.cc.

◆ CanvasToRoomCoordinates()

std::pair< int, int > yaze::editor::DungeonObjectInteraction::CanvasToRoomCoordinates ( int canvas_x,
int canvas_y ) const

Definition at line 455 of file dungeon_object_interaction.cc.

Referenced by UpdateCollisionPainting().

◆ IsWithinCanvasBounds()

bool yaze::editor::DungeonObjectInteraction::IsWithinCanvasBounds ( int canvas_x,
int canvas_y,
int margin = 32 ) const

Definition at line 461 of file dungeon_object_interaction.cc.

◆ SetCurrentRoom()

void yaze::editor::DungeonObjectInteraction::SetCurrentRoom ( std::array< zelda3::Room, dungeon_coords::kRoomCount > * rooms,
int room_id )

Definition at line 473 of file dungeon_object_interaction.cc.

◆ SetPreviewObject()

void yaze::editor::DungeonObjectInteraction::SetPreviewObject ( const zelda3::RoomObject & object,
bool loaded )

◆ SetCurrentPaletteGroup()

void yaze::editor::DungeonObjectInteraction::SetCurrentPaletteGroup ( const gfx::PaletteGroup & group)
inline

◆ mode_manager() [1/2]

◆ mode_manager() [2/2]

const InteractionModeManager & yaze::editor::DungeonObjectInteraction::mode_manager ( ) const
inline

Definition at line 122 of file dungeon_object_interaction.h.

References mode_manager_.

◆ IsObjectLoaded()

bool yaze::editor::DungeonObjectInteraction::IsObjectLoaded ( ) const
inline

◆ CancelPlacement()

void yaze::editor::DungeonObjectInteraction::CancelPlacement ( )

◆ SetDoorPlacementMode()

void yaze::editor::DungeonObjectInteraction::SetDoorPlacementMode ( bool enabled,
zelda3::DoorType type = zelda3::DoorType::NormalDoor )

◆ IsDoorPlacementActive()

bool yaze::editor::DungeonObjectInteraction::IsDoorPlacementActive ( ) const
inline

Definition at line 133 of file dungeon_object_interaction.h.

References yaze::editor::InteractionModeManager::GetMode(), mode_manager_, and yaze::editor::PlaceDoor.

Here is the call graph for this function:

◆ SetPreviewDoorType()

void yaze::editor::DungeonObjectInteraction::SetPreviewDoorType ( zelda3::DoorType type)
inline

Definition at line 136 of file dungeon_object_interaction.h.

References yaze::editor::InteractionModeManager::GetModeState(), mode_manager_, and yaze::editor::ModeState::preview_door_type.

Here is the call graph for this function:

◆ GetPreviewDoorType()

zelda3::DoorType yaze::editor::DungeonObjectInteraction::GetPreviewDoorType ( ) const
inline

◆ CancelDoorPlacement()

void yaze::editor::DungeonObjectInteraction::CancelDoorPlacement ( )
inline

◆ SetSpritePlacementMode()

void yaze::editor::DungeonObjectInteraction::SetSpritePlacementMode ( bool enabled,
uint8_t sprite_id = 0 )

◆ IsSpritePlacementActive()

bool yaze::editor::DungeonObjectInteraction::IsSpritePlacementActive ( ) const
inline

Definition at line 151 of file dungeon_object_interaction.h.

References yaze::editor::InteractionModeManager::GetMode(), mode_manager_, and yaze::editor::PlaceSprite.

Here is the call graph for this function:

◆ SetPreviewSpriteId()

void yaze::editor::DungeonObjectInteraction::SetPreviewSpriteId ( uint8_t id)
inline

Definition at line 154 of file dungeon_object_interaction.h.

References yaze::editor::InteractionModeManager::GetModeState(), mode_manager_, and yaze::editor::ModeState::preview_sprite_id.

Here is the call graph for this function:

◆ GetPreviewSpriteId()

uint8_t yaze::editor::DungeonObjectInteraction::GetPreviewSpriteId ( ) const
inline

Definition at line 157 of file dungeon_object_interaction.h.

References yaze::editor::InteractionModeManager::GetModeState(), mode_manager_, and yaze::editor::ModeState::preview_sprite_id.

Here is the call graph for this function:

◆ CancelSpritePlacement()

void yaze::editor::DungeonObjectInteraction::CancelSpritePlacement ( )
inline

◆ SetItemPlacementMode()

void yaze::editor::DungeonObjectInteraction::SetItemPlacementMode ( bool enabled,
uint8_t item_id = 0 )

◆ IsItemPlacementActive()

bool yaze::editor::DungeonObjectInteraction::IsItemPlacementActive ( ) const
inline

Definition at line 168 of file dungeon_object_interaction.h.

References yaze::editor::InteractionModeManager::GetMode(), mode_manager_, and yaze::editor::PlaceItem.

Here is the call graph for this function:

◆ SetPreviewItemId()

void yaze::editor::DungeonObjectInteraction::SetPreviewItemId ( uint8_t id)
inline

Definition at line 171 of file dungeon_object_interaction.h.

References yaze::editor::InteractionModeManager::GetModeState(), mode_manager_, and yaze::editor::ModeState::preview_item_id.

Here is the call graph for this function:

◆ GetPreviewItemId()

uint8_t yaze::editor::DungeonObjectInteraction::GetPreviewItemId ( ) const
inline

Definition at line 174 of file dungeon_object_interaction.h.

References yaze::editor::InteractionModeManager::GetModeState(), mode_manager_, and yaze::editor::ModeState::preview_item_id.

Here is the call graph for this function:

◆ CancelItemPlacement()

void yaze::editor::DungeonObjectInteraction::CancelItemPlacement ( )
inline

◆ GetSelectedObjectIndices()

◆ SetSelectedObjects()

void yaze::editor::DungeonObjectInteraction::SetSelectedObjects ( const std::vector< size_t > & indices)
inline

◆ IsObjectSelectActive()

bool yaze::editor::DungeonObjectInteraction::IsObjectSelectActive ( ) const
inline

◆ ClearSelection()

void yaze::editor::DungeonObjectInteraction::ClearSelection ( )

◆ IsObjectSelected()

bool yaze::editor::DungeonObjectInteraction::IsObjectSelected ( size_t index) const
inline

Definition at line 197 of file dungeon_object_interaction.h.

References yaze::editor::ObjectSelection::IsObjectSelected(), and selection_.

Here is the call graph for this function:

◆ GetSelectionCount()

size_t yaze::editor::DungeonObjectInteraction::GetSelectionCount ( ) const
inline

Definition at line 200 of file dungeon_object_interaction.h.

References yaze::editor::ObjectSelection::GetSelectionCount(), and selection_.

Referenced by yaze::editor::ObjectEditorPanel::OnSelectionChanged().

Here is the call graph for this function:

◆ SetSelectionChangeCallback()

void yaze::editor::DungeonObjectInteraction::SetSelectionChangeCallback ( std::function< void()> callback)
inline

Definition at line 203 of file dungeon_object_interaction.h.

References selection_, and yaze::editor::ObjectSelection::SetSelectionChangedCallback().

Referenced by yaze::editor::ObjectEditorPanel::SetupSelectionCallbacks().

Here is the call graph for this function:

◆ HandleScrollWheelResize()

void yaze::editor::DungeonObjectInteraction::HandleScrollWheelResize ( )

Definition at line 568 of file dungeon_object_interaction.cc.

◆ HandleDeleteSelected()

void yaze::editor::DungeonObjectInteraction::HandleDeleteSelected ( )

◆ HandleDeleteAllObjects()

void yaze::editor::DungeonObjectInteraction::HandleDeleteAllObjects ( )

Definition at line 533 of file dungeon_object_interaction.cc.

◆ HandleCopySelected()

void yaze::editor::DungeonObjectInteraction::HandleCopySelected ( )

Definition at line 538 of file dungeon_object_interaction.cc.

◆ HandlePasteObjects()

void yaze::editor::DungeonObjectInteraction::HandlePasteObjects ( )

Definition at line 543 of file dungeon_object_interaction.cc.

◆ HasClipboardData()

bool yaze::editor::DungeonObjectInteraction::HasClipboardData ( ) const
inline

◆ SetObjectId()

bool yaze::editor::DungeonObjectInteraction::SetObjectId ( size_t index,
int16_t id )

Definition at line 573 of file dungeon_object_interaction.cc.

◆ SetObjectSize()

bool yaze::editor::DungeonObjectInteraction::SetObjectSize ( size_t index,
uint8_t size )

Definition at line 578 of file dungeon_object_interaction.cc.

◆ SetObjectLayer()

bool yaze::editor::DungeonObjectInteraction::SetObjectLayer ( size_t index,
zelda3::RoomObject::LayerType layer )

Definition at line 583 of file dungeon_object_interaction.cc.

◆ SendSelectedToLayer()

void yaze::editor::DungeonObjectInteraction::SendSelectedToLayer ( int target_layer)

Definition at line 594 of file dungeon_object_interaction.cc.

◆ SendSelectedToFront()

void yaze::editor::DungeonObjectInteraction::SendSelectedToFront ( )

Definition at line 599 of file dungeon_object_interaction.cc.

◆ SendSelectedToBack()

void yaze::editor::DungeonObjectInteraction::SendSelectedToBack ( )

Definition at line 603 of file dungeon_object_interaction.cc.

◆ BringSelectedForward()

void yaze::editor::DungeonObjectInteraction::BringSelectedForward ( )

Definition at line 607 of file dungeon_object_interaction.cc.

◆ SendSelectedBackward()

void yaze::editor::DungeonObjectInteraction::SendSelectedBackward ( )

Definition at line 611 of file dungeon_object_interaction.cc.

◆ SetLayerFilter()

void yaze::editor::DungeonObjectInteraction::SetLayerFilter ( int layer)
inline

Definition at line 238 of file dungeon_object_interaction.h.

References selection_, and yaze::editor::ObjectSelection::SetLayerFilter().

Here is the call graph for this function:

◆ GetLayerFilter()

int yaze::editor::DungeonObjectInteraction::GetLayerFilter ( ) const
inline

Definition at line 239 of file dungeon_object_interaction.h.

References yaze::editor::ObjectSelection::GetLayerFilter(), and selection_.

Here is the call graph for this function:

◆ IsLayerFilterActive()

bool yaze::editor::DungeonObjectInteraction::IsLayerFilterActive ( ) const
inline

Definition at line 240 of file dungeon_object_interaction.h.

References yaze::editor::ObjectSelection::IsLayerFilterActive(), and selection_.

Here is the call graph for this function:

◆ IsMaskModeActive()

bool yaze::editor::DungeonObjectInteraction::IsMaskModeActive ( ) const
inline

Definition at line 241 of file dungeon_object_interaction.h.

References yaze::editor::ObjectSelection::IsMaskModeActive(), and selection_.

Here is the call graph for this function:

◆ GetLayerFilterName()

const char * yaze::editor::DungeonObjectInteraction::GetLayerFilterName ( ) const
inline

Definition at line 242 of file dungeon_object_interaction.h.

References yaze::editor::ObjectSelection::GetLayerFilterName(), and selection_.

Here is the call graph for this function:

◆ SetLayersMerged()

void yaze::editor::DungeonObjectInteraction::SetLayersMerged ( bool merged)
inline

Definition at line 243 of file dungeon_object_interaction.h.

References selection_, and yaze::editor::ObjectSelection::SetLayersMerged().

Here is the call graph for this function:

◆ AreLayersMerged()

bool yaze::editor::DungeonObjectInteraction::AreLayersMerged ( ) const
inline

Definition at line 244 of file dungeon_object_interaction.h.

References yaze::editor::ObjectSelection::AreLayersMerged(), and selection_.

Here is the call graph for this function:

◆ HandleLayerKeyboardShortcuts()

void yaze::editor::DungeonObjectInteraction::HandleLayerKeyboardShortcuts ( )

Definition at line 615 of file dungeon_object_interaction.cc.

Referenced by HandleCanvasMouseInput().

◆ SetObjectPlacedCallback()

void yaze::editor::DungeonObjectInteraction::SetObjectPlacedCallback ( std::function< void(const zelda3::RoomObject &)> callback)
inline

Definition at line 250 of file dungeon_object_interaction.h.

References object_placed_callback_.

◆ SetCacheInvalidationCallback()

void yaze::editor::DungeonObjectInteraction::SetCacheInvalidationCallback ( std::function< void()> callback)
inline

◆ SetMutationCallback()

void yaze::editor::DungeonObjectInteraction::SetMutationCallback ( std::function< void()> callback)
inline

◆ SetEditorSystem()

void yaze::editor::DungeonObjectInteraction::SetEditorSystem ( zelda3::DungeonEditorSystem * system)
inline

◆ SelectEntity()

void yaze::editor::DungeonObjectInteraction::SelectEntity ( EntityType type,
size_t index )

Definition at line 707 of file dungeon_object_interaction.cc.

◆ ClearEntitySelection()

void yaze::editor::DungeonObjectInteraction::ClearEntitySelection ( )

◆ HasEntitySelection()

bool yaze::editor::DungeonObjectInteraction::HasEntitySelection ( ) const
inline

Definition at line 269 of file dungeon_object_interaction.h.

References entity_coordinator_, and yaze::editor::InteractionCoordinator::HasEntitySelection().

Referenced by HandleLeftClick().

Here is the call graph for this function:

◆ GetSelectedEntity()

SelectedEntity yaze::editor::DungeonObjectInteraction::GetSelectedEntity ( ) const
inline

Definition at line 272 of file dungeon_object_interaction.h.

References entity_coordinator_, and yaze::editor::InteractionCoordinator::GetSelectedEntity().

Here is the call graph for this function:

◆ DrawEntitySelectionHighlights()

void yaze::editor::DungeonObjectInteraction::DrawEntitySelectionHighlights ( )

Definition at line 722 of file dungeon_object_interaction.cc.

◆ DrawDoorSnapIndicators()

void yaze::editor::DungeonObjectInteraction::DrawDoorSnapIndicators ( )

Definition at line 727 of file dungeon_object_interaction.cc.

◆ SetEntityChangedCallback()

void yaze::editor::DungeonObjectInteraction::SetEntityChangedCallback ( std::function< void()> callback)
inline

◆ CalculateObjectBounds()

std::pair< int, int > yaze::editor::DungeonObjectInteraction::CalculateObjectBounds ( const zelda3::RoomObject & object)
private

Definition at line 588 of file dungeon_object_interaction.cc.

References yaze::zelda3::DimensionService::Get(), and yaze::zelda3::DimensionService::GetPixelDimensions().

Here is the call graph for this function:

◆ HandleLeftClick()

void yaze::editor::DungeonObjectInteraction::HandleLeftClick ( const ImVec2 & canvas_mouse_pos)
private

◆ UpdateCollisionPainting()

◆ UpdateWaterFillPainting()

void yaze::editor::DungeonObjectInteraction::UpdateWaterFillPainting ( const ImVec2 & canvas_mouse_pos)
private

Definition at line 162 of file dungeon_object_interaction.cc.

Referenced by HandleCanvasMouseInput().

◆ HandleObjectSelectionStart()

void yaze::editor::DungeonObjectInteraction::HandleObjectSelectionStart ( const ImVec2 & canvas_mouse_pos)
private

Definition at line 223 of file dungeon_object_interaction.cc.

Referenced by HandleLeftClick().

◆ HandleEmptySpaceClick()

void yaze::editor::DungeonObjectInteraction::HandleEmptySpaceClick ( const ImVec2 & canvas_mouse_pos)
private

Definition at line 231 of file dungeon_object_interaction.cc.

Referenced by HandleLeftClick().

◆ HandleMouseRelease()

void yaze::editor::DungeonObjectInteraction::HandleMouseRelease ( )
private

Definition at line 249 of file dungeon_object_interaction.cc.

Referenced by HandleCanvasMouseInput().

Member Data Documentation

◆ canvas_

gui::Canvas* yaze::editor::DungeonObjectInteraction::canvas_
private

Definition at line 288 of file dungeon_object_interaction.h.

Referenced by HandleCanvasMouseInput(), and SetContext().

◆ editor_system_

zelda3::DungeonEditorSystem* yaze::editor::DungeonObjectInteraction::editor_system_ = nullptr
private

Definition at line 289 of file dungeon_object_interaction.h.

Referenced by SetEditorSystem().

◆ rooms_

std::array<zelda3::Room, dungeon_coords::kRoomCount>* yaze::editor::DungeonObjectInteraction::rooms_ = nullptr
private

Definition at line 290 of file dungeon_object_interaction.h.

Referenced by UpdateCollisionPainting().

◆ current_room_id_

int yaze::editor::DungeonObjectInteraction::current_room_id_ = 0
private

Definition at line 291 of file dungeon_object_interaction.h.

Referenced by UpdateCollisionPainting().

◆ interaction_context_

◆ entity_coordinator_

◆ mode_manager_

◆ preview_object_

zelda3::RoomObject yaze::editor::DungeonObjectInteraction::preview_object_ {0, 0, 0, 0, 0}
private

Definition at line 312 of file dungeon_object_interaction.h.

◆ current_palette_group_

gfx::PaletteGroup yaze::editor::DungeonObjectInteraction::current_palette_group_
private

Definition at line 315 of file dungeon_object_interaction.h.

Referenced by SetCurrentPaletteGroup().

◆ selection_

◆ object_placed_callback_

std::function<void(const zelda3::RoomObject&) yaze::editor::DungeonObjectInteraction::object_placed_callback_)
private

Definition at line 321 of file dungeon_object_interaction.h.

Referenced by SetObjectPlacedCallback().


The documentation for this class was generated from the following files: