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

Mode-specific state data. More...

#include <interaction_mode.h>

Public Member Functions

void Clear ()
 Clear all mode state.
 
void ClearPlacementData ()
 Clear only placement preview data.
 
void ClearDragData ()
 Clear only drag-related state.
 
void ClearRectangleData ()
 Clear only rectangle selection state.
 

Public Attributes

std::optional< zelda3::RoomObjectpreview_object
 
std::optional< zelda3::DoorTypepreview_door_type
 
std::optional< uint8_t > preview_sprite_id
 
std::optional< uint8_t > preview_item_id
 
zelda3::DoorDirection detected_door_direction = zelda3::DoorDirection::North
 
uint8_t snapped_door_position = 0
 
ImVec2 drag_start = ImVec2(0, 0)
 
ImVec2 drag_current = ImVec2(0, 0)
 
int rect_start_x = 0
 
int rect_start_y = 0
 
int rect_end_x = 0
 
int rect_end_y = 0
 
ImVec2 entity_drag_start = ImVec2(0, 0)
 
ImVec2 entity_drag_current = ImVec2(0, 0)
 

Detailed Description

Mode-specific state data.

Centralizes all preview data and drag state that was previously scattered across multiple member variables.

Definition at line 46 of file interaction_mode.h.

Member Function Documentation

◆ Clear()

◆ ClearPlacementData()

void yaze::editor::ModeState::ClearPlacementData ( )
inline

◆ ClearDragData()

void yaze::editor::ModeState::ClearDragData ( )
inline

Clear only drag-related state.

Definition at line 106 of file interaction_mode.h.

References drag_current, drag_start, entity_drag_current, and entity_drag_start.

Referenced by yaze::editor::InteractionModeManager::SetMode().

◆ ClearRectangleData()

void yaze::editor::ModeState::ClearRectangleData ( )
inline

Clear only rectangle selection state.

Definition at line 116 of file interaction_mode.h.

References rect_end_x, rect_end_y, rect_start_x, and rect_start_y.

Referenced by yaze::editor::InteractionModeManager::SetMode().

Member Data Documentation

◆ preview_object

std::optional<zelda3::RoomObject> yaze::editor::ModeState::preview_object

◆ preview_door_type

◆ preview_sprite_id

◆ preview_item_id

◆ detected_door_direction

zelda3::DoorDirection yaze::editor::ModeState::detected_door_direction = zelda3::DoorDirection::North

◆ snapped_door_position

uint8_t yaze::editor::ModeState::snapped_door_position = 0

Definition at line 55 of file interaction_mode.h.

Referenced by Clear(), and ClearPlacementData().

◆ drag_start

ImVec2 yaze::editor::ModeState::drag_start = ImVec2(0, 0)

◆ drag_current

ImVec2 yaze::editor::ModeState::drag_current = ImVec2(0, 0)

◆ rect_start_x

int yaze::editor::ModeState::rect_start_x = 0

◆ rect_start_y

int yaze::editor::ModeState::rect_start_y = 0

Definition at line 63 of file interaction_mode.h.

Referenced by Clear(), and ClearRectangleData().

◆ rect_end_x

int yaze::editor::ModeState::rect_end_x = 0

Definition at line 64 of file interaction_mode.h.

Referenced by Clear(), and ClearRectangleData().

◆ rect_end_y

int yaze::editor::ModeState::rect_end_y = 0

Definition at line 65 of file interaction_mode.h.

Referenced by Clear(), and ClearRectangleData().

◆ entity_drag_start

ImVec2 yaze::editor::ModeState::entity_drag_start = ImVec2(0, 0)

◆ entity_drag_current

ImVec2 yaze::editor::ModeState::entity_drag_current = ImVec2(0, 0)

Definition at line 69 of file interaction_mode.h.

Referenced by Clear(), and ClearDragData().


The documentation for this struct was generated from the following file: