#include <minecart_track_editor_panel.h>


Classes | |
| struct | RoomTrackAudit |
Public Types | |
| using | ProjectChangedCallback |
| using | ProjectDraftChangedCallback = std::function<absl::Status()> |
| using | ProjectSaveCallback = std::function<absl::Status()> |
| using | CollisionBatchApplyCallback |
| using | TrackEditCallback |
| using | NodePlacementCallback |
| using | RoomNavigationCallback = std::function<void(int room_id)> |
Public Member Functions | |
| MinecartTrackEditorPanel ()=default | |
| std::string | GetId () const override |
| Unique identifier for this panel. | |
| std::string | GetWorkflowGroup () const override |
| Optional workflow group for hack-centric actions. | |
| std::string | GetDisplayName () const override |
| Human-readable name shown in menus and title bars. | |
| std::string | GetIcon () const override |
| Material Design icon for this panel. | |
| std::string | GetEditorCategory () const override |
| Editor category this panel belongs to. | |
| void | Draw (bool *p_open) override |
| Draw the panel content. | |
| void | SetRooms (DungeonRoomStore *rooms) |
| absl::Status | SetProject (project::YazeProject *project) |
| absl::Status | RebindProjectContext (project::YazeProject *project) |
| absl::Status | SaveTracks () |
| absl::Status | ReloadTracks () |
| absl::Status | DiscardUnpublishedChanges () |
| bool | HasUnpublishedChanges () const |
| absl::StatusOr< std::filesystem::path > | ResolveTrackSourcePath () const |
| absl::Status | UpdateTrack (size_t track_index, const MinecartTrack &track) |
| bool | HasPendingProjectDraftChanges () const |
| absl::Status | PrepareProjectSave () |
| void | SetTrackEditCallback (TrackEditCallback callback) |
| absl::Status | MoveCartStart (const MinecartTrack &before, const MinecartTrack &after) |
| absl::Status | RestoreTrackDraft (uint64_t generation, const MinecartTrack &expected, const MinecartTrack &replacement) |
| uint64_t | track_generation () const |
| uint64_t | canvas_revision () const |
| void | MarkPairedTrackDraft () |
| bool | HasPairedTrackDraft () const |
| bool | canvas_editing () const |
| void | set_canvas_editing (bool enabled) |
| int | selected_track () const |
| void | SelectTrack (int id) |
| void | SetActiveRoom (int room) |
| void | CancelPick () |
| void | SetRailPaletteCallback (std::function< bool()> draw) |
| void | SetCollisionStampCallback (MinecartCollisionApply apply) |
| const MinecartCollisionApply & | collision_stamp_callback () const |
| bool | collision_stamping () const |
| void | set_collision_stamping (bool enabled) |
| uint8_t | collision_stamp_value () const |
| int | collision_stamp_size () const |
| void | DrawRailTools () |
| void | DrawNodeTools () |
| void | SetNodePlacementCallback (NodePlacementCallback callback) |
| const NodePlacementCallback & | node_placement_callback () const |
| const std::optional< MinecartToolPayload > & | placement_brush () const |
| void | SetPlacementBrush (const MinecartToolPayload &brush) |
| void | CancelNodeDrag (const void *source_viewer=nullptr) |
| void | CancelNodePlacement () |
| void | ReportToolStatus (const absl::Status &status) |
| bool | automatic_rail_collision () const |
| void | set_automatic_rail_collision (bool enabled) |
| bool | IsPickingCoordinates () const |
| int | GetPickingTrackIndex () const |
| const std::vector< MinecartTrack > & | GetTracks () |
| void | SetRoomNavigationCallback (RoomNavigationCallback callback) |
| void | SetProjectChangedCallback (ProjectChangedCallback callback) |
| void | SetProjectDraftChangedCallback (ProjectDraftChangedCallback callback) |
| void | SetProjectSaveCallback (ProjectSaveCallback callback) |
| void | SetCollisionBatchApplyCallback (CollisionBatchApplyCallback callback) |
| void | InvalidateRoomAudit () |
| void | DetachRuntimeContext () |
Public Member Functions inherited from yaze::editor::WindowContent | |
| virtual | ~WindowContent ()=default |
| virtual void | OnFirstDraw () |
| Called once before the first Draw() in a session. | |
| virtual bool | RequiresLazyInit () const |
| Whether this panel uses lazy initialization. | |
| void | InvalidateLazyInit () |
| Reset lazy init state so OnFirstDraw() runs again. | |
| virtual void | OnOpen () |
| Called when panel becomes visible. | |
| virtual void | OnClose () |
| Called when panel is hidden. | |
| virtual void | OnFocus () |
| Called when panel receives focus. | |
| virtual WindowLifecycle | GetWindowLifecycle () const |
| Get the lifecycle category for this window. | |
| virtual WindowContextScope | GetContextScope () const |
| Optional context binding for this window (room/selection/etc) | |
| virtual WindowScope | GetScope () const |
| Get the registration scope for this window. | |
| virtual WindowPresentationPolicy | GetPresentationPolicy () const |
| How this content is hosted and advertised by workspace chrome. | |
| virtual bool | IsEnabled () const |
| Check if this panel is currently enabled. | |
| virtual std::string | GetDisabledTooltip () const |
| Get tooltip text when panel is disabled. | |
| virtual std::string | GetShortcutHint () const |
| Get keyboard shortcut hint for display. | |
| virtual int | GetPriority () const |
| Get display priority for menu ordering. | |
| virtual std::string | GetWorkflowLabel () const |
| Optional workflow label for menus/command palette. | |
| virtual std::string | GetWorkflowDescription () const |
| Optional workflow description for menus/command palette. | |
| virtual int | GetWorkflowPriority () const |
| Optional workflow ordering priority (lower sorts first). | |
| virtual float | GetPreferredWidth () const |
| Get preferred width for this panel (optional) | |
| virtual bool | HasExactPreferredWidth () const |
| Whether GetPreferredWidth() is an exact content width. | |
| virtual float | GetPreferredHeight () const |
| Get preferred height for this panel (optional) | |
| virtual bool | PrefersFloating () const |
| virtual bool | PreferAutoHideTabBar () const |
| Whether the dock node hosting this panel should auto-hide its tab bar. | |
| virtual bool | IsVisibleByDefault () const |
| Whether this panel should be visible by default. | |
| virtual std::string | GetParentPanelId () const |
| Get parent panel ID for cascade behavior. | |
| virtual bool | CascadeCloseChildren () const |
| Whether closing this panel should close child panels. | |
| void | DrawWithLazyInit (bool *p_open) |
| Execute lazy initialization if needed, then call Draw() | |
Private Types | |
| using | OverlayListMember |
Friends | |
| class | MinecartTrackEditorPanelTestPeer |
Additional Inherited Members | |
Protected Member Functions inherited from yaze::editor::WindowContent | |
| void | InvalidateCache () |
| Invalidate all cached computations. | |
| template<typename T > | |
| T & | GetCached (const std::string &key, std::function< T()> compute) |
| Get or compute a cached value. | |
| bool | IsCacheValid () const |
| Check if cache has been invalidated. | |
| void | ClearCache () |
| Clear all cached values (more aggressive than InvalidateCache) | |
Definition at line 29 of file minecart_track_editor_panel.h.
Definition at line 31 of file minecart_track_editor_panel.h.
| using yaze::editor::MinecartTrackEditorPanel::ProjectDraftChangedCallback = std::function<absl::Status()> |
Definition at line 33 of file minecart_track_editor_panel.h.
| using yaze::editor::MinecartTrackEditorPanel::ProjectSaveCallback = std::function<absl::Status()> |
Definition at line 34 of file minecart_track_editor_panel.h.
Definition at line 35 of file minecart_track_editor_panel.h.
Definition at line 73 of file minecart_track_editor_panel.h.
Definition at line 122 of file minecart_track_editor_panel.h.
| using yaze::editor::MinecartTrackEditorPanel::RoomNavigationCallback = std::function<void(int room_id)> |
Definition at line 177 of file minecart_track_editor_panel.h.
Definition at line 238 of file minecart_track_editor_panel.h.
|
default |
|
inlineoverridevirtual |
Unique identifier for this panel.
IDs should be:
Implements yaze::editor::WindowContent.
Definition at line 42 of file minecart_track_editor_panel.h.
Referenced by yaze::editor::DungeonEditorV2::Load().
|
inlineoverridevirtual |
Optional workflow group for hack-centric actions.
Reimplemented from yaze::editor::WindowContent.
Definition at line 43 of file minecart_track_editor_panel.h.
|
inlineoverridevirtual |
Human-readable name shown in menus and title bars.
Implements yaze::editor::WindowContent.
Definition at line 44 of file minecart_track_editor_panel.h.
|
inlineoverridevirtual |
Material Design icon for this panel.
Implements yaze::editor::WindowContent.
Definition at line 45 of file minecart_track_editor_panel.h.
References ICON_MD_TRAIN.
|
inlineoverridevirtual |
Editor category this panel belongs to.
Implements yaze::editor::WindowContent.
Definition at line 46 of file minecart_track_editor_panel.h.
|
overridevirtual |
Draw the panel content.
| p_open | Pointer to visibility flag (nullptr if not closable) |
Called by WorkspaceWindowManager when the panel is visible. Do NOT call ImGui::Begin/End - the PanelWindow wrapper handles that. Just draw your content directly.
Implements yaze::editor::WindowContent.
Definition at line 1057 of file minecart_track_editor_panel.cc.
References active_room_, ApplyCollisionPreview(), audit_dirty_, audit_includes_all_rooms_, bound_project_filepath_, BuildAllEligibleCollisionPreview(), BuildCollisionPreview(), CancelCoordinatePicking(), canvas_editing(), canvas_editing_, ClearCollisionPreview(), collision_batch_apply_callback_, collision_preview_, DiscardUnpublishedChanges(), DrawOverlaySettings(), DrawRailTools(), HasUnpublishedChanges(), ICON_MD_ARROW_FORWARD, ICON_MD_CANCEL, ICON_MD_CHECK_CIRCLE, ICON_MD_ERROR, ICON_MD_INFO, ICON_MD_MY_LOCATION, ICON_MD_PREVIEW, ICON_MD_REFRESH, ICON_MD_RESTORE, ICON_MD_SAVE, ICON_MD_WARNING_AMBER, yaze::gui::InputHexWordCustom(), IsDefaultTrack(), load_attempted_, LoadTracks(), picking_mode_, picking_track_index_, project_, yaze::project::YazeProject::project_opened(), project_save_callback_, RebuildAuditCache(), RefreshProjectBinding(), ReloadTracks(), room_audit_, room_navigation_callback_, rooms_, route_slot_used_, route_usage_rooms_, SaveProjectSettings(), SaveTracks(), selected_track_, set_canvas_editing(), show_success_, yaze::editor::DungeonRoomStore::size(), StartCoordinatePicking(), status_message_, tracks_, and UpdateTrack().
Referenced by yaze::editor::DungeonWorkbenchContent::DrawWorkbenchTool().
|
inline |
Definition at line 51 of file minecart_track_editor_panel.h.
References audit_dirty_, audit_includes_all_rooms_, collision_preview_, collision_preview_options_, and rooms_.
Referenced by yaze::editor::DungeonEditorV2::RefreshRomBackedState().
| absl::Status yaze::editor::MinecartTrackEditorPanel::SetProject | ( | project::YazeProject * | project | ) |
Definition at line 199 of file minecart_track_editor_panel.cc.
References bound_project_filepath_, bound_source_identity_, yaze::project::YazeProject::filepath, HasUnpublishedChanges(), overlay_inputs_initialized_, overlay_inputs_model_, project_, and ResetTrackSession().
Referenced by RebindProjectContext().

| absl::Status yaze::editor::MinecartTrackEditorPanel::RebindProjectContext | ( | project::YazeProject * | project | ) |
Definition at line 221 of file minecart_track_editor_panel.cc.
References yaze::project::YazeProject::dungeon_overlay, InitializeOverlayInputs(), InvalidateRoomAudit(), overlay_inputs_initialized_, overlay_inputs_model_, SetProject(), show_success_, and status_message_.
Referenced by yaze::editor::DungeonEditorV2::SetDependencies().

| absl::Status yaze::editor::MinecartTrackEditorPanel::SaveTracks | ( | ) |
Definition at line 1637 of file minecart_track_editor_panel.cc.
References yaze::core::AcquireSourceArtifactPublicationLock(), ASSIGN_OR_RETURN, audit_dirty_, CancelCoordinatePicking(), yaze::core::ComputeSourceArtifactSha256(), HasUnpublishedChanges(), loaded_, loaded_source_identity_, loaded_source_path_, loaded_source_sha256_, loaded_tracks_, paired_track_draft_, yaze::editor::MinecartTrackSourceDocument::Parse(), yaze::core::PublishSourceArtifacts(), RefreshProjectBinding(), ResolveTrackSourcePath(), RETURN_IF_ERROR, source_document_, yaze::core::SourceArtifactUpdate::target, tracks_, and ValidateLoadedManifestIdentity().
Referenced by Draw().
| absl::Status yaze::editor::MinecartTrackEditorPanel::ReloadTracks | ( | ) |
Definition at line 419 of file minecart_track_editor_panel.cc.
References HasUnpublishedChanges(), LoadTracks(), and RefreshProjectBinding().
Referenced by Draw().

| absl::Status yaze::editor::MinecartTrackEditorPanel::DiscardUnpublishedChanges | ( | ) |
Definition at line 402 of file minecart_track_editor_panel.cc.
References audit_dirty_, CancelCoordinatePicking(), canvas_revision_, HasUnpublishedChanges(), loaded_, loaded_tracks_, paired_track_draft_, track_generation_, and tracks_.
Referenced by Draw().

| bool yaze::editor::MinecartTrackEditorPanel::HasUnpublishedChanges | ( | ) | const |
Definition at line 331 of file minecart_track_editor_panel.cc.
References loaded_, loaded_tracks_, and tracks_.
Referenced by DiscardUnpublishedChanges(), Draw(), yaze::editor::DungeonEditorV2::HasUnpublishedMinecartTrackChanges(), MarkPairedTrackDraft(), RefreshProjectBinding(), ReloadTracks(), yaze::editor::DungeonEditorV2::Save(), SaveTracks(), and SetProject().
| absl::StatusOr< std::filesystem::path > yaze::editor::MinecartTrackEditorPanel::ResolveTrackSourcePath | ( | ) | const |
Definition at line 264 of file minecart_track_editor_panel.cc.
References bound_project_filepath_, yaze::project::YazeProject::filepath, yaze::project::YazeProject::hack_manifest, yaze::core::HackManifest::loaded(), yaze::core::HackManifest::minecart_track_layout(), project_, and yaze::core::MinecartTrackLayout::source.
Referenced by LoadTracks(), and SaveTracks().

| absl::Status yaze::editor::MinecartTrackEditorPanel::UpdateTrack | ( | size_t | track_index, |
| const MinecartTrack & | track ) |
Definition at line 356 of file minecart_track_editor_panel.cc.
References yaze::editor::MinecartTrack::id, loaded_, RestoreTrackDraft(), track_edit_callback_, track_generation_, and tracks_.
Referenced by Draw().

| bool yaze::editor::MinecartTrackEditorPanel::HasPendingProjectDraftChanges | ( | ) | const |
Definition at line 335 of file minecart_track_editor_panel.cc.
References yaze::project::YazeProject::dungeon_overlay, yaze::project::DungeonOverlaySettings::minecart_sprite_ids, overlay_inputs_initialized_, overlay_minecart_sprite_ids_input_, overlay_track_object_ids_input_, overlay_track_stop_tiles_input_, overlay_track_switch_tiles_input_, overlay_track_tiles_input_, project_, yaze::project::DungeonOverlaySettings::track_object_ids, yaze::project::DungeonOverlaySettings::track_stop_tiles, yaze::project::DungeonOverlaySettings::track_switch_tiles, and yaze::project::DungeonOverlaySettings::track_tiles.
Referenced by yaze::editor::DungeonEditorV2::HasPendingProjectDraftChanges().
| absl::Status yaze::editor::MinecartTrackEditorPanel::PrepareProjectSave | ( | ) |
Definition at line 351 of file minecart_track_editor_panel.cc.
References CommitOverlayInputsForSave().
Referenced by yaze::editor::DungeonEditorV2::PrepareProjectSave().

|
inline |
Definition at line 75 of file minecart_track_editor_panel.h.
References track_edit_callback_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
| absl::Status yaze::editor::MinecartTrackEditorPanel::MoveCartStart | ( | const MinecartTrack & | before, |
| const MinecartTrack & | after ) |
Definition at line 394 of file minecart_track_editor_panel.cc.
References track_edit_callback_.
| absl::Status yaze::editor::MinecartTrackEditorPanel::RestoreTrackDraft | ( | uint64_t | generation, |
| const MinecartTrack & | expected, | ||
| const MinecartTrack & | replacement ) |
Definition at line 374 of file minecart_track_editor_panel.cc.
References audit_dirty_, yaze::editor::MinecartTrack::id, loaded_, selected_track_, source_document_, track_generation_, and tracks_.
Referenced by UpdateTrack().
|
inline |
Definition at line 84 of file minecart_track_editor_panel.h.
References track_generation_.
|
inline |
Definition at line 86 of file minecart_track_editor_panel.h.
References canvas_revision_.
|
inline |
Definition at line 87 of file minecart_track_editor_panel.h.
References HasUnpublishedChanges(), and paired_track_draft_.

|
inline |
Definition at line 88 of file minecart_track_editor_panel.h.
References paired_track_draft_.
|
inline |
Definition at line 89 of file minecart_track_editor_panel.h.
References canvas_editing_.
Referenced by Draw(), yaze::editor::DungeonCanvasViewer::DrawCrumbleCanvas(), yaze::editor::DungeonCanvasViewer::DrawDungeonCanvas(), yaze::editor::DungeonCanvasViewer::DrawRoomCanvasOverlays(), and yaze::editor::DungeonCanvasViewer::HandleRoomCanvasNavigation().
| void yaze::editor::MinecartTrackEditorPanel::set_canvas_editing | ( | bool | enabled | ) |
Definition at line 1035 of file minecart_track_editor_panel.cc.
References CancelCoordinatePicking(), CancelNodePlacement(), canvas_editing_, collision_stamping_, load_attempted_, LoadTracks(), RefreshProjectBinding(), show_success_, status_message_, and tracks_.
Referenced by yaze::editor::DungeonWorkbenchContent::CloseToolInspector(), Draw(), yaze::editor::DungeonCanvasViewer::DrawDungeonCanvas(), DrawRailTools(), yaze::editor::DungeonWorkbenchContent::OpenTool(), set_collision_stamping(), and SetPlacementBrush().

|
inline |
Definition at line 91 of file minecart_track_editor_panel.h.
References selected_track_.
|
inline |
Definition at line 92 of file minecart_track_editor_panel.h.
References selected_track_.
|
inline |
Definition at line 93 of file minecart_track_editor_panel.h.
References active_room_, and placement_brush_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 99 of file minecart_track_editor_panel.h.
References CancelCoordinatePicking().

|
inline |
Definition at line 101 of file minecart_track_editor_panel.h.
References draw_rail_palette_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 104 of file minecart_track_editor_panel.h.
References apply_collision_stamp_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 107 of file minecart_track_editor_panel.h.
References apply_collision_stamp_.
|
inline |
Definition at line 110 of file minecart_track_editor_panel.h.
References collision_stamping_.
Referenced by yaze::editor::DungeonCanvasViewer::DrawCrumbleCanvas(), and yaze::editor::DungeonCanvasViewer::HandleRoomCanvasNavigation().
|
inline |
Definition at line 111 of file minecart_track_editor_panel.h.
References CancelNodePlacement(), collision_stamping_, and set_canvas_editing().
Referenced by yaze::editor::DungeonWorkbenchContent::CloseToolInspector(), yaze::editor::DungeonCanvasViewer::DrawDungeonCanvas(), DrawRailTools(), and yaze::editor::DungeonWorkbenchContent::OpenTool().

|
inline |
Definition at line 118 of file minecart_track_editor_panel.h.
References collision_stamp_value_.
|
inline |
Definition at line 119 of file minecart_track_editor_panel.h.
References collision_stamp_large_.
| void yaze::editor::MinecartTrackEditorPanel::DrawRailTools | ( | ) |
Definition at line 10 of file minecart_rail_tools.cc.
References apply_collision_stamp_, automatic_rail_collision_, yaze::gui::AutoRegisterLastItem(), collision_stamp_large_, collision_stamp_value_, collision_stamping_, draw_rail_palette_, DrawNodeTools(), placement_brush_, set_canvas_editing(), and set_collision_stamping().
Referenced by Draw().

| void yaze::editor::MinecartTrackEditorPanel::DrawNodeTools | ( | ) |
Definition at line 100 of file minecart_rail_tools.cc.
References active_room_, apply_collision_stamp_, yaze::gui::AutoRegisterLastItem(), canvas_revision_, yaze::editor::kCartStart, yaze::editor::kMinecartNodeDragPayload, yaze::editor::kSwitch, yaze::editor::kSwitchTrack, node_departure_, node_id_, node_junction_, node_switch_orientation_, place_node_, and SetPlacementBrush().
Referenced by DrawRailTools().

|
inline |
Definition at line 124 of file minecart_track_editor_panel.h.
References place_node_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 127 of file minecart_track_editor_panel.h.
References place_node_.
|
inline |
Definition at line 130 of file minecart_track_editor_panel.h.
References placement_brush_.
Referenced by yaze::editor::DungeonCanvasViewer::DrawCrumbleCanvas(), and yaze::editor::DungeonCanvasViewer::HandleRoomCanvasNavigation().
|
inline |
Definition at line 133 of file minecart_track_editor_panel.h.
References active_room_, CancelNodePlacement(), canvas_revision_, collision_stamping_, yaze::editor::MinecartToolPayload::owner, placement_brush_, and set_canvas_editing().
Referenced by DrawNodeTools().

|
inline |
Definition at line 145 of file minecart_track_editor_panel.h.
References canvas_revision_, and yaze::editor::kMinecartNodeDragPayload.
Referenced by yaze::editor::DungeonCanvasViewer::CancelMinecartNodeDrag(), and CancelNodePlacement().
|
inline |
Definition at line 158 of file minecart_track_editor_panel.h.
References CancelNodeDrag(), and placement_brush_.
Referenced by yaze::editor::DungeonWorkbenchContent::CloseToolInspector(), yaze::editor::DungeonCanvasViewer::DrawDungeonCanvas(), yaze::editor::DungeonWorkbenchContent::OpenTool(), yaze::editor::DungeonCanvasViewer::RefreshRomBackedState(), set_canvas_editing(), set_collision_stamping(), yaze::editor::DungeonEditorV2::SetDependencies(), and SetPlacementBrush().

|
inline |
Definition at line 162 of file minecart_track_editor_panel.h.
References show_success_, and status_message_.
|
inline |
Definition at line 166 of file minecart_track_editor_panel.h.
References automatic_rail_collision_.
Referenced by yaze::editor::DungeonEditorV2::PairMinecartObjectCollision(), and yaze::editor::DungeonEditorV2::PreflightMinecartObjectCollision().
|
inline |
Definition at line 167 of file minecart_track_editor_panel.h.
References automatic_rail_collision_.
|
inline |
Definition at line 172 of file minecart_track_editor_panel.h.
References picking_mode_.
Referenced by yaze::editor::DungeonCanvasViewer::DrawRoomCanvasOverlays().
|
inline |
Definition at line 173 of file minecart_track_editor_panel.h.
References picking_track_index_.
Referenced by yaze::editor::DungeonCanvasViewer::DrawRoomCanvasOverlays().
| const std::vector< MinecartTrack > & yaze::editor::MinecartTrackEditorPanel::GetTracks | ( | ) |
Definition at line 732 of file minecart_track_editor_panel.cc.
References load_attempted_, LoadTracks(), RefreshProjectBinding(), show_success_, status_message_, and tracks_.
Referenced by yaze::editor::DungeonCanvasViewer::DrawRoomCanvasOverlays().

|
inline |
Definition at line 178 of file minecart_track_editor_panel.h.
References room_navigation_callback_.
|
inline |
Definition at line 181 of file minecart_track_editor_panel.h.
References project_changed_callback_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 184 of file minecart_track_editor_panel.h.
References project_draft_changed_callback_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 187 of file minecart_track_editor_panel.h.
References project_save_callback_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 190 of file minecart_track_editor_panel.h.
References collision_batch_apply_callback_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 193 of file minecart_track_editor_panel.h.
References audit_dirty_, audit_includes_all_rooms_, and ClearCollisionPreview().
Referenced by yaze::editor::DungeonEditorV2::ApplyCustomCollisionImportBatch(), yaze::editor::DungeonEditorV2::ApplyMinecartCollisionBatch(), yaze::editor::DungeonEditorV2::ApplyMinecartCollisionStamp(), yaze::editor::DungeonEditorV2::FinalizeCollisionUndoAction(), yaze::editor::DungeonEditorV2::FinalizeUndoAction(), RebindProjectContext(), yaze::editor::DungeonEditorV2::RefreshSelectionEditViews(), yaze::editor::DungeonEditorV2::RestoreRoomCustomCollision(), yaze::editor::DungeonEditorV2::RestoreRoomCustomCollisionBatch(), and yaze::editor::DungeonEditorV2::RestoreRoomObjects().

|
inline |
Definition at line 198 of file minecart_track_editor_panel.h.
References apply_collision_stamp_, canvas_editing_, collision_batch_apply_callback_, collision_preview_, collision_stamping_, draw_rail_palette_, picking_mode_, picking_track_index_, place_node_, placement_brush_, project_, project_changed_callback_, project_draft_changed_callback_, project_save_callback_, room_navigation_callback_, rooms_, and track_edit_callback_.
Referenced by yaze::editor::DungeonEditorV2::PrepareForSessionTeardown().
|
private |
Definition at line 1582 of file minecart_track_editor_panel.cc.
References ASSIGN_OR_RETURN, audit_dirty_, canvas_revision_, yaze::core::ComputeSourceArtifactSha256(), yaze::project::YazeProject::hack_manifest, load_attempted_, yaze::core::HackManifest::loaded(), loaded_, loaded_source_identity_, loaded_source_path_, loaded_source_sha256_, loaded_tracks_, yaze::core::HackManifest::minecart_track_layout(), yaze::editor::MinecartTrackSourceDocument::Parse(), project_, ResolveTrackSourcePath(), show_success_, yaze::core::MinecartTrackLayout::source, source_document_, status_message_, track_generation_, and tracks_.
Referenced by Draw(), GetTracks(), ReloadTracks(), and set_canvas_editing().
|
private |
Definition at line 243 of file minecart_track_editor_panel.cc.
References yaze::project::YazeProject::hack_manifest, yaze::core::HackManifest::loaded(), loaded_source_identity_, yaze::core::HackManifest::minecart_track_layout(), project_, and yaze::core::MinecartTrackLayout::source.
Referenced by SaveTracks().

|
private |
Definition at line 178 of file minecart_track_editor_panel.cc.
References bound_project_filepath_, bound_source_identity_, yaze::project::YazeProject::filepath, HasUnpublishedChanges(), overlay_inputs_initialized_, overlay_inputs_model_, project_, and ResetTrackSession().
Referenced by Draw(), GetTracks(), ReloadTracks(), SaveTracks(), and set_canvas_editing().

|
private |
Definition at line 157 of file minecart_track_editor_panel.cc.
References audit_dirty_, CancelCoordinatePicking(), canvas_editing_, canvas_revision_, ClearCollisionPreview(), collision_stamping_, load_attempted_, loaded_, loaded_source_identity_, loaded_source_path_, loaded_source_sha256_, loaded_tracks_, paired_track_draft_, placement_brush_, selected_track_, source_document_, track_generation_, and tracks_.
Referenced by RefreshProjectBinding(), and SetProject().

|
private |
Definition at line 749 of file minecart_track_editor_panel.cc.
References canvas_editing_, picking_mode_, picking_track_index_, selected_track_, show_success_, and status_message_.
Referenced by Draw().
|
private |
Definition at line 759 of file minecart_track_editor_panel.cc.
References picking_mode_, picking_track_index_, and status_message_.
Referenced by CancelPick(), DiscardUnpublishedChanges(), Draw(), ResetTrackSession(), SaveTracks(), and set_canvas_editing().
|
private |
Definition at line 771 of file minecart_track_editor_panel.cc.
References audit_dirty_, audit_includes_all_rooms_, yaze::project::YazeProject::dungeon_overlay, yaze::editor::DungeonRoomStore::game_data(), yaze::editor::DungeonRoomStore::GetIfMaterialized(), yaze::editor::MinecartTrackEditorPanel::RoomTrackAudit::has_any_custom_collision, yaze::editor::MinecartTrackEditorPanel::RoomTrackAudit::has_minecart_on_stop, yaze::editor::MinecartTrackEditorPanel::RoomTrackAudit::has_minecart_sprite, yaze::editor::MinecartTrackEditorPanel::RoomTrackAudit::has_stop_tiles, yaze::editor::MinecartTrackEditorPanel::RoomTrackAudit::has_track_collision, yaze::Rom::is_loaded(), yaze::zelda3::IsMinecartTrackGraphicsSubtype(), yaze::project::DungeonOverlaySettings::minecart_sprite_ids, project_, yaze::editor::DungeonRoomStore::rom(), room_audit_, rooms_, route_slot_used_, yaze::editor::MinecartTrackEditorPanel::RoomTrackAudit::route_slots, route_usage_rooms_, yaze::editor::DungeonRoomStore::size(), yaze::project::DungeonOverlaySettings::track_object_ids, yaze::project::DungeonOverlaySettings::track_stop_tiles, yaze::editor::MinecartTrackEditorPanel::RoomTrackAudit::track_subtypes, yaze::project::DungeonOverlaySettings::track_switch_tiles, and yaze::project::DungeonOverlaySettings::track_tiles.
Referenced by BuildAllEligibleCollisionPreview(), and Draw().
|
private |
Definition at line 944 of file minecart_track_editor_panel.cc.
References ASSIGN_OR_RETURN, collision_preview_, collision_preview_options_, yaze::editor::DungeonRoomStore::game_data(), yaze::zelda3::GenerateTrackCollision(), yaze::editor::DungeonRoomStore::GetIfMaterialized(), yaze::Rom::is_loaded(), yaze::zelda3::LoadRoomFromRom(), ResolveGeneratorOptions(), yaze::editor::DungeonRoomStore::rom(), rooms_, and yaze::editor::DungeonRoomStore::size().
Referenced by BuildAllEligibleCollisionPreview(), and Draw().
|
private |
Definition at line 1004 of file minecart_track_editor_panel.cc.
References BuildCollisionPreview(), RebuildAuditCache(), and room_audit_.
Referenced by Draw().

|
private |
Definition at line 1015 of file minecart_track_editor_panel.cc.
References audit_dirty_, ClearCollisionPreview(), collision_batch_apply_callback_, collision_preview_, collision_preview_options_, and RETURN_IF_ERROR.
Referenced by Draw().

|
private |
Definition at line 1030 of file minecart_track_editor_panel.cc.
References collision_preview_, and collision_preview_options_.
Referenced by ApplyCollisionPreview(), CommitOverlayInputsForSave(), CommitOverlayList(), Draw(), InvalidateRoomAudit(), ResetOverlaySettings(), and ResetTrackSession().
|
private |
Definition at line 930 of file minecart_track_editor_panel.cc.
References yaze::project::YazeProject::dungeon_overlay, project_, yaze::zelda3::GeneratorOptions::track_object_id, and yaze::project::DungeonOverlaySettings::track_object_ids.
Referenced by BuildCollisionPreview().
|
private |
Definition at line 765 of file minecart_track_editor_panel.cc.
References yaze::editor::MinecartTrack::room_id, yaze::editor::MinecartTrack::start_x, and yaze::editor::MinecartTrack::start_y.
Referenced by Draw().
|
private |
Definition at line 689 of file minecart_track_editor_panel.cc.
References ICON_MD_TUNE, InitializeOverlayInputs(), yaze::project::DungeonOverlaySettings::minecart_sprite_ids, overlay_minecart_sprite_ids_input_, overlay_track_object_ids_input_, overlay_track_stop_tiles_input_, overlay_track_switch_tiles_input_, overlay_track_tiles_input_, project_, ResetOverlaySettings(), yaze::project::DungeonOverlaySettings::track_object_ids, yaze::project::DungeonOverlaySettings::track_stop_tiles, yaze::project::DungeonOverlaySettings::track_switch_tiles, yaze::project::DungeonOverlaySettings::track_tiles, and UpdateOverlayList().
Referenced by Draw().

|
private |
Definition at line 431 of file minecart_track_editor_panel.cc.
References yaze::project::YazeProject::dungeon_overlay, yaze::project::DungeonOverlaySettings::minecart_sprite_ids, overlay_inputs_initialized_, overlay_inputs_model_, overlay_minecart_sprite_ids_input_, overlay_track_object_ids_input_, overlay_track_stop_tiles_input_, overlay_track_switch_tiles_input_, overlay_track_tiles_input_, project_, yaze::project::DungeonOverlaySettings::track_object_ids, yaze::project::DungeonOverlaySettings::track_stop_tiles, yaze::project::DungeonOverlaySettings::track_switch_tiles, and yaze::project::DungeonOverlaySettings::track_tiles.
Referenced by CommitOverlayInputsForSave(), DrawOverlaySettings(), and RebindProjectContext().
|
private |
Definition at line 449 of file minecart_track_editor_panel.cc.
References overlay_minecart_sprite_ids_input_, overlay_track_object_ids_input_, overlay_track_stop_tiles_input_, overlay_track_switch_tiles_input_, and overlay_track_tiles_input_.
Referenced by ResetOverlaySettings().
|
private |
Definition at line 457 of file minecart_track_editor_panel.cc.
References CommitOverlayList(), yaze::project::YazeProject::dungeon_overlay, NotifyProjectDraftChanged(), project_, show_success_, and status_message_.
Referenced by DrawOverlaySettings().

|
private |
Definition at line 477 of file minecart_track_editor_panel.cc.
References audit_dirty_, ClearCollisionPreview(), yaze::project::YazeProject::dungeon_overlay, NotifyProjectChanged(), overlay_inputs_model_, project_, show_success_, and status_message_.
Referenced by UpdateOverlayList().

|
private |
Definition at line 525 of file minecart_track_editor_panel.cc.
References audit_dirty_, ClearCollisionPreview(), yaze::project::YazeProject::dungeon_overlay, InitializeOverlayInputs(), yaze::project::DungeonOverlaySettings::minecart_sprite_ids, NotifyProjectChanged(), overlay_inputs_model_, overlay_minecart_sprite_ids_input_, overlay_track_object_ids_input_, overlay_track_stop_tiles_input_, overlay_track_switch_tiles_input_, overlay_track_tiles_input_, project_, show_success_, status_message_, yaze::project::DungeonOverlaySettings::track_object_ids, yaze::project::DungeonOverlaySettings::track_stop_tiles, yaze::project::DungeonOverlaySettings::track_switch_tiles, and yaze::project::DungeonOverlaySettings::track_tiles.
Referenced by PrepareProjectSave(), and SaveProjectSettings().

|
private |
Definition at line 606 of file minecart_track_editor_panel.cc.
References audit_dirty_, ClearCollisionPreview(), ClearOverlayInputs(), yaze::project::YazeProject::dungeon_overlay, yaze::project::DungeonOverlaySettings::minecart_sprite_ids, NotifyProjectChanged(), overlay_inputs_model_, project_, show_success_, status_message_, yaze::project::DungeonOverlaySettings::track_object_ids, yaze::project::DungeonOverlaySettings::track_stop_tiles, yaze::project::DungeonOverlaySettings::track_switch_tiles, and yaze::project::DungeonOverlaySettings::track_tiles.
Referenced by DrawOverlaySettings().

|
private |
Definition at line 651 of file minecart_track_editor_panel.cc.
References project_, and project_changed_callback_.
Referenced by CommitOverlayInputsForSave(), CommitOverlayList(), and ResetOverlaySettings().
|
private |
Definition at line 663 of file minecart_track_editor_panel.cc.
References project_, and project_draft_changed_callback_.
Referenced by UpdateOverlayList().
|
private |
Definition at line 674 of file minecart_track_editor_panel.cc.
References CommitOverlayInputsForSave(), project_, yaze::project::YazeProject::project_opened(), and project_save_callback_.
Referenced by Draw().

|
friend |
Definition at line 219 of file minecart_track_editor_panel.h.
|
private |
Definition at line 261 of file minecart_track_editor_panel.h.
Referenced by DetachRuntimeContext(), DrawRailTools(), and SetRailPaletteCallback().
|
private |
Definition at line 262 of file minecart_track_editor_panel.h.
Referenced by collision_stamp_callback(), DetachRuntimeContext(), DrawNodeTools(), DrawRailTools(), and SetCollisionStampCallback().
|
private |
Definition at line 263 of file minecart_track_editor_panel.h.
Referenced by collision_stamping(), DetachRuntimeContext(), DrawRailTools(), ResetTrackSession(), set_canvas_editing(), set_collision_stamping(), and SetPlacementBrush().
|
private |
Definition at line 264 of file minecart_track_editor_panel.h.
Referenced by automatic_rail_collision(), DrawRailTools(), and set_automatic_rail_collision().
|
private |
Definition at line 265 of file minecart_track_editor_panel.h.
Referenced by CancelNodePlacement(), DetachRuntimeContext(), DrawRailTools(), placement_brush(), ResetTrackSession(), SetActiveRoom(), and SetPlacementBrush().
|
private |
Definition at line 266 of file minecart_track_editor_panel.h.
Referenced by DetachRuntimeContext(), DrawNodeTools(), node_placement_callback(), and SetNodePlacementCallback().
|
private |
Definition at line 267 of file minecart_track_editor_panel.h.
Referenced by DrawNodeTools().
|
private |
Definition at line 268 of file minecart_track_editor_panel.h.
Referenced by DrawNodeTools().
|
private |
Definition at line 269 of file minecart_track_editor_panel.h.
Referenced by DrawNodeTools().
|
private |
Definition at line 270 of file minecart_track_editor_panel.h.
Referenced by DrawNodeTools().
|
private |
Definition at line 271 of file minecart_track_editor_panel.h.
Referenced by collision_stamp_size(), and DrawRailTools().
|
private |
Definition at line 272 of file minecart_track_editor_panel.h.
Referenced by collision_stamp_value(), and DrawRailTools().
|
private |
Definition at line 273 of file minecart_track_editor_panel.h.
Referenced by DetachRuntimeContext(), MoveCartStart(), SetTrackEditCallback(), and UpdateTrack().
|
private |
Definition at line 274 of file minecart_track_editor_panel.h.
Referenced by DiscardUnpublishedChanges(), LoadTracks(), ResetTrackSession(), RestoreTrackDraft(), track_generation(), and UpdateTrack().
|
private |
Definition at line 275 of file minecart_track_editor_panel.h.
Referenced by CancelNodeDrag(), canvas_revision(), DiscardUnpublishedChanges(), DrawNodeTools(), LoadTracks(), ResetTrackSession(), and SetPlacementBrush().
|
private |
Definition at line 276 of file minecart_track_editor_panel.h.
Referenced by Draw(), ResetTrackSession(), RestoreTrackDraft(), selected_track(), SelectTrack(), and StartCoordinatePicking().
|
private |
Definition at line 277 of file minecart_track_editor_panel.h.
Referenced by Draw(), DrawNodeTools(), SetActiveRoom(), and SetPlacementBrush().
|
private |
Definition at line 278 of file minecart_track_editor_panel.h.
Referenced by canvas_editing(), DetachRuntimeContext(), Draw(), ResetTrackSession(), set_canvas_editing(), and StartCoordinatePicking().
|
private |
Definition at line 279 of file minecart_track_editor_panel.h.
Referenced by DiscardUnpublishedChanges(), HasPairedTrackDraft(), MarkPairedTrackDraft(), ResetTrackSession(), and SaveTracks().
|
private |
Definition at line 280 of file minecart_track_editor_panel.h.
Referenced by DiscardUnpublishedChanges(), Draw(), GetTracks(), HasUnpublishedChanges(), LoadTracks(), ResetTrackSession(), RestoreTrackDraft(), SaveTracks(), set_canvas_editing(), and UpdateTrack().
|
private |
Definition at line 281 of file minecart_track_editor_panel.h.
Referenced by DiscardUnpublishedChanges(), HasUnpublishedChanges(), LoadTracks(), ResetTrackSession(), and SaveTracks().
|
private |
Definition at line 282 of file minecart_track_editor_panel.h.
Referenced by LoadTracks(), ResetTrackSession(), RestoreTrackDraft(), and SaveTracks().
|
private |
Definition at line 283 of file minecart_track_editor_panel.h.
Referenced by LoadTracks(), ResetTrackSession(), SaveTracks(), and ValidateLoadedManifestIdentity().
|
private |
Definition at line 284 of file minecart_track_editor_panel.h.
Referenced by LoadTracks(), ResetTrackSession(), and SaveTracks().
|
private |
Definition at line 285 of file minecart_track_editor_panel.h.
Referenced by LoadTracks(), ResetTrackSession(), and SaveTracks().
|
private |
Definition at line 286 of file minecart_track_editor_panel.h.
Referenced by Draw(), RefreshProjectBinding(), ResolveTrackSourcePath(), and SetProject().
|
private |
Definition at line 287 of file minecart_track_editor_panel.h.
Referenced by RefreshProjectBinding(), and SetProject().
|
private |
Definition at line 288 of file minecart_track_editor_panel.h.
Referenced by BuildCollisionPreview(), DetachRuntimeContext(), Draw(), RebuildAuditCache(), and SetRooms().
|
private |
Definition at line 289 of file minecart_track_editor_panel.h.
Referenced by CommitOverlayInputsForSave(), CommitOverlayList(), DetachRuntimeContext(), Draw(), DrawOverlaySettings(), HasPendingProjectDraftChanges(), InitializeOverlayInputs(), LoadTracks(), NotifyProjectChanged(), NotifyProjectDraftChanged(), RebuildAuditCache(), RefreshProjectBinding(), ResetOverlaySettings(), ResolveGeneratorOptions(), ResolveTrackSourcePath(), SaveProjectSettings(), SetProject(), UpdateOverlayList(), and ValidateLoadedManifestIdentity().
|
private |
Definition at line 290 of file minecart_track_editor_panel.h.
Referenced by BuildAllEligibleCollisionPreview(), Draw(), and RebuildAuditCache().
|
private |
Definition at line 291 of file minecart_track_editor_panel.h.
Referenced by Draw(), and RebuildAuditCache().
|
private |
Definition at line 292 of file minecart_track_editor_panel.h.
Referenced by Draw(), and RebuildAuditCache().
|
private |
Definition at line 293 of file minecart_track_editor_panel.h.
Referenced by ApplyCollisionPreview(), BuildCollisionPreview(), ClearCollisionPreview(), DetachRuntimeContext(), Draw(), and SetRooms().
|
private |
Definition at line 294 of file minecart_track_editor_panel.h.
Referenced by ApplyCollisionPreview(), BuildCollisionPreview(), ClearCollisionPreview(), and SetRooms().
|
private |
Definition at line 295 of file minecart_track_editor_panel.h.
Referenced by ApplyCollisionPreview(), CommitOverlayInputsForSave(), CommitOverlayList(), DiscardUnpublishedChanges(), Draw(), InvalidateRoomAudit(), LoadTracks(), RebuildAuditCache(), ResetOverlaySettings(), ResetTrackSession(), RestoreTrackDraft(), SaveTracks(), and SetRooms().
|
private |
Definition at line 296 of file minecart_track_editor_panel.h.
Referenced by Draw(), InvalidateRoomAudit(), RebuildAuditCache(), and SetRooms().
|
private |
Definition at line 297 of file minecart_track_editor_panel.h.
Referenced by Draw(), GetTracks(), LoadTracks(), ResetTrackSession(), and set_canvas_editing().
|
private |
Definition at line 298 of file minecart_track_editor_panel.h.
Referenced by DiscardUnpublishedChanges(), HasUnpublishedChanges(), LoadTracks(), ResetTrackSession(), RestoreTrackDraft(), SaveTracks(), and UpdateTrack().
|
private |
Definition at line 299 of file minecart_track_editor_panel.h.
Referenced by CancelCoordinatePicking(), CommitOverlayInputsForSave(), CommitOverlayList(), Draw(), GetTracks(), LoadTracks(), RebindProjectContext(), ReportToolStatus(), ResetOverlaySettings(), set_canvas_editing(), StartCoordinatePicking(), and UpdateOverlayList().
|
private |
Definition at line 300 of file minecart_track_editor_panel.h.
Referenced by CommitOverlayInputsForSave(), CommitOverlayList(), Draw(), GetTracks(), LoadTracks(), RebindProjectContext(), ReportToolStatus(), ResetOverlaySettings(), set_canvas_editing(), StartCoordinatePicking(), and UpdateOverlayList().
|
private |
Definition at line 301 of file minecart_track_editor_panel.h.
|
private |
Definition at line 304 of file minecart_track_editor_panel.h.
Referenced by CancelCoordinatePicking(), DetachRuntimeContext(), Draw(), IsPickingCoordinates(), and StartCoordinatePicking().
|
private |
Definition at line 305 of file minecart_track_editor_panel.h.
Referenced by CancelCoordinatePicking(), DetachRuntimeContext(), Draw(), GetPickingTrackIndex(), and StartCoordinatePicking().
|
private |
Definition at line 307 of file minecart_track_editor_panel.h.
Referenced by DetachRuntimeContext(), Draw(), and SetRoomNavigationCallback().
|
private |
Definition at line 308 of file minecart_track_editor_panel.h.
Referenced by DetachRuntimeContext(), NotifyProjectChanged(), and SetProjectChangedCallback().
|
private |
Definition at line 309 of file minecart_track_editor_panel.h.
Referenced by DetachRuntimeContext(), NotifyProjectDraftChanged(), and SetProjectDraftChangedCallback().
|
private |
Definition at line 310 of file minecart_track_editor_panel.h.
Referenced by DetachRuntimeContext(), Draw(), SaveProjectSettings(), and SetProjectSaveCallback().
|
private |
Definition at line 311 of file minecart_track_editor_panel.h.
Referenced by ApplyCollisionPreview(), DetachRuntimeContext(), Draw(), and SetCollisionBatchApplyCallback().
|
private |
Definition at line 314 of file minecart_track_editor_panel.h.
Referenced by HasPendingProjectDraftChanges(), InitializeOverlayInputs(), RebindProjectContext(), RefreshProjectBinding(), and SetProject().
|
private |
Definition at line 315 of file minecart_track_editor_panel.h.
Referenced by CommitOverlayInputsForSave(), CommitOverlayList(), InitializeOverlayInputs(), RebindProjectContext(), RefreshProjectBinding(), ResetOverlaySettings(), and SetProject().
|
private |
Definition at line 316 of file minecart_track_editor_panel.h.
Referenced by ClearOverlayInputs(), CommitOverlayInputsForSave(), DrawOverlaySettings(), HasPendingProjectDraftChanges(), and InitializeOverlayInputs().
|
private |
Definition at line 317 of file minecart_track_editor_panel.h.
Referenced by ClearOverlayInputs(), CommitOverlayInputsForSave(), DrawOverlaySettings(), HasPendingProjectDraftChanges(), and InitializeOverlayInputs().
|
private |
Definition at line 318 of file minecart_track_editor_panel.h.
Referenced by ClearOverlayInputs(), CommitOverlayInputsForSave(), DrawOverlaySettings(), HasPendingProjectDraftChanges(), and InitializeOverlayInputs().
|
private |
Definition at line 319 of file minecart_track_editor_panel.h.
Referenced by ClearOverlayInputs(), CommitOverlayInputsForSave(), DrawOverlaySettings(), HasPendingProjectDraftChanges(), and InitializeOverlayInputs().
|
private |
Definition at line 320 of file minecart_track_editor_panel.h.
Referenced by ClearOverlayInputs(), CommitOverlayInputsForSave(), DrawOverlaySettings(), HasPendingProjectDraftChanges(), and InitializeOverlayInputs().