#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 | 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 () |
| 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 27 of file minecart_track_editor_panel.h.
Definition at line 29 of file minecart_track_editor_panel.h.
| using yaze::editor::MinecartTrackEditorPanel::ProjectDraftChangedCallback = std::function<absl::Status()> |
Definition at line 31 of file minecart_track_editor_panel.h.
| using yaze::editor::MinecartTrackEditorPanel::ProjectSaveCallback = std::function<absl::Status()> |
Definition at line 32 of file minecart_track_editor_panel.h.
Definition at line 33 of file minecart_track_editor_panel.h.
Definition at line 71 of file minecart_track_editor_panel.h.
| using yaze::editor::MinecartTrackEditorPanel::RoomNavigationCallback = std::function<void(int room_id)> |
Definition at line 119 of file minecart_track_editor_panel.h.
Definition at line 178 of file minecart_track_editor_panel.h.
|
default |
|
inlineoverridevirtual |
Unique identifier for this panel.
IDs should be:
Implements yaze::editor::WindowContent.
Definition at line 40 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 41 of file minecart_track_editor_panel.h.
|
inlineoverridevirtual |
Human-readable name shown in menus and title bars.
Implements yaze::editor::WindowContent.
Definition at line 42 of file minecart_track_editor_panel.h.
|
inlineoverridevirtual |
Material Design icon for this panel.
Implements yaze::editor::WindowContent.
Definition at line 43 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 44 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 1055 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 49 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 198 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 220 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 1625 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 418 of file minecart_track_editor_panel.cc.
References HasUnpublishedChanges(), LoadTracks(), and RefreshProjectBinding().
Referenced by Draw().

| absl::Status yaze::editor::MinecartTrackEditorPanel::DiscardUnpublishedChanges | ( | ) |
Definition at line 401 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 330 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 263 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 355 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 334 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 350 of file minecart_track_editor_panel.cc.
References CommitOverlayInputsForSave().
Referenced by yaze::editor::DungeonEditorV2::PrepareProjectSave().

|
inline |
Definition at line 73 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 393 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 373 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 82 of file minecart_track_editor_panel.h.
References track_generation_.
|
inline |
Definition at line 84 of file minecart_track_editor_panel.h.
References canvas_revision_.
|
inline |
Definition at line 85 of file minecart_track_editor_panel.h.
References HasUnpublishedChanges(), and paired_track_draft_.

|
inline |
Definition at line 86 of file minecart_track_editor_panel.h.
References paired_track_draft_.
|
inline |
Definition at line 87 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 1034 of file minecart_track_editor_panel.cc.
References CancelCoordinatePicking(), 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(), yaze::editor::DungeonCanvasViewer::DrawMinecartCanvas(), DrawRailTools(), yaze::editor::DungeonWorkbenchContent::OpenTool(), and set_collision_stamping().

|
inline |
Definition at line 89 of file minecart_track_editor_panel.h.
References selected_track_.
|
inline |
Definition at line 90 of file minecart_track_editor_panel.h.
References selected_track_.
|
inline |
Definition at line 91 of file minecart_track_editor_panel.h.
References active_room_.
|
inline |
Definition at line 92 of file minecart_track_editor_panel.h.
References CancelCoordinatePicking().

|
inline |
Definition at line 94 of file minecart_track_editor_panel.h.
References draw_rail_palette_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 97 of file minecart_track_editor_panel.h.
References apply_collision_stamp_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 100 of file minecart_track_editor_panel.h.
References apply_collision_stamp_.
|
inline |
Definition at line 103 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 104 of file minecart_track_editor_panel.h.
References 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 109 of file minecart_track_editor_panel.h.
References collision_stamp_value_.
|
inline |
Definition at line 110 of file minecart_track_editor_panel.h.
References collision_stamp_large_.
| void yaze::editor::MinecartTrackEditorPanel::DrawRailTools | ( | ) |
Definition at line 8 of file minecart_rail_tools.cc.
References apply_collision_stamp_, yaze::gui::AutoRegisterLastItem(), collision_stamp_large_, collision_stamp_value_, collision_stamping_, draw_rail_palette_, set_canvas_editing(), and set_collision_stamping().
Referenced by Draw().

|
inline |
Definition at line 114 of file minecart_track_editor_panel.h.
References picking_mode_.
Referenced by yaze::editor::DungeonCanvasViewer::DrawRoomCanvasOverlays().
|
inline |
Definition at line 115 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 731 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 120 of file minecart_track_editor_panel.h.
References room_navigation_callback_.
|
inline |
Definition at line 123 of file minecart_track_editor_panel.h.
References project_changed_callback_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 126 of file minecart_track_editor_panel.h.
References project_draft_changed_callback_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 129 of file minecart_track_editor_panel.h.
References project_save_callback_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 132 of file minecart_track_editor_panel.h.
References collision_batch_apply_callback_.
Referenced by yaze::editor::DungeonEditorV2::ConfigureMinecartProjectCallbacks().
|
inline |
Definition at line 135 of file minecart_track_editor_panel.h.
References audit_dirty_, audit_includes_all_rooms_, and ClearCollisionPreview().
Referenced by 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 140 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_, 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 1570 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 242 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 177 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_, selected_track_, source_document_, track_generation_, and tracks_.
Referenced by RefreshProjectBinding(), and SetProject().

|
private |
Definition at line 748 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 758 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 770 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 943 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 1003 of file minecart_track_editor_panel.cc.
References BuildCollisionPreview(), RebuildAuditCache(), and room_audit_.
Referenced by Draw().

|
private |
Definition at line 1014 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 1029 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 929 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 764 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 688 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 430 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 448 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 456 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 476 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 524 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 605 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 650 of file minecart_track_editor_panel.cc.
References project_, and project_changed_callback_.
Referenced by CommitOverlayInputsForSave(), CommitOverlayList(), and ResetOverlaySettings().
|
private |
Definition at line 662 of file minecart_track_editor_panel.cc.
References project_, and project_draft_changed_callback_.
Referenced by UpdateOverlayList().
|
private |
Definition at line 673 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 159 of file minecart_track_editor_panel.h.
|
private |
Definition at line 201 of file minecart_track_editor_panel.h.
Referenced by DetachRuntimeContext(), DrawRailTools(), and SetRailPaletteCallback().
|
private |
Definition at line 202 of file minecart_track_editor_panel.h.
Referenced by collision_stamp_callback(), DetachRuntimeContext(), DrawRailTools(), and SetCollisionStampCallback().
|
private |
Definition at line 203 of file minecart_track_editor_panel.h.
Referenced by collision_stamping(), DetachRuntimeContext(), DrawRailTools(), ResetTrackSession(), set_canvas_editing(), and set_collision_stamping().
|
private |
Definition at line 204 of file minecart_track_editor_panel.h.
Referenced by collision_stamp_size(), and DrawRailTools().
|
private |
Definition at line 205 of file minecart_track_editor_panel.h.
Referenced by collision_stamp_value(), and DrawRailTools().
|
private |
Definition at line 206 of file minecart_track_editor_panel.h.
Referenced by DetachRuntimeContext(), MoveCartStart(), SetTrackEditCallback(), and UpdateTrack().
|
private |
Definition at line 207 of file minecart_track_editor_panel.h.
Referenced by DiscardUnpublishedChanges(), LoadTracks(), ResetTrackSession(), RestoreTrackDraft(), track_generation(), and UpdateTrack().
|
private |
Definition at line 208 of file minecart_track_editor_panel.h.
Referenced by canvas_revision(), DiscardUnpublishedChanges(), LoadTracks(), and ResetTrackSession().
|
private |
Definition at line 209 of file minecart_track_editor_panel.h.
Referenced by Draw(), ResetTrackSession(), RestoreTrackDraft(), selected_track(), SelectTrack(), and StartCoordinatePicking().
|
private |
Definition at line 210 of file minecart_track_editor_panel.h.
Referenced by Draw(), and SetActiveRoom().
|
private |
Definition at line 211 of file minecart_track_editor_panel.h.
Referenced by canvas_editing(), DetachRuntimeContext(), Draw(), ResetTrackSession(), set_canvas_editing(), and StartCoordinatePicking().
|
private |
Definition at line 212 of file minecart_track_editor_panel.h.
Referenced by DiscardUnpublishedChanges(), HasPairedTrackDraft(), MarkPairedTrackDraft(), ResetTrackSession(), and SaveTracks().
|
private |
Definition at line 213 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 214 of file minecart_track_editor_panel.h.
Referenced by DiscardUnpublishedChanges(), HasUnpublishedChanges(), LoadTracks(), ResetTrackSession(), and SaveTracks().
|
private |
Definition at line 215 of file minecart_track_editor_panel.h.
Referenced by LoadTracks(), ResetTrackSession(), RestoreTrackDraft(), and SaveTracks().
|
private |
Definition at line 216 of file minecart_track_editor_panel.h.
Referenced by LoadTracks(), ResetTrackSession(), SaveTracks(), and ValidateLoadedManifestIdentity().
|
private |
Definition at line 217 of file minecart_track_editor_panel.h.
Referenced by LoadTracks(), ResetTrackSession(), and SaveTracks().
|
private |
Definition at line 218 of file minecart_track_editor_panel.h.
Referenced by LoadTracks(), ResetTrackSession(), and SaveTracks().
|
private |
Definition at line 219 of file minecart_track_editor_panel.h.
Referenced by Draw(), RefreshProjectBinding(), ResolveTrackSourcePath(), and SetProject().
|
private |
Definition at line 220 of file minecart_track_editor_panel.h.
Referenced by RefreshProjectBinding(), and SetProject().
|
private |
Definition at line 221 of file minecart_track_editor_panel.h.
Referenced by BuildCollisionPreview(), DetachRuntimeContext(), Draw(), RebuildAuditCache(), and SetRooms().
|
private |
Definition at line 222 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 223 of file minecart_track_editor_panel.h.
Referenced by BuildAllEligibleCollisionPreview(), Draw(), and RebuildAuditCache().
|
private |
Definition at line 224 of file minecart_track_editor_panel.h.
Referenced by Draw(), and RebuildAuditCache().
|
private |
Definition at line 225 of file minecart_track_editor_panel.h.
Referenced by Draw(), and RebuildAuditCache().
|
private |
Definition at line 226 of file minecart_track_editor_panel.h.
Referenced by ApplyCollisionPreview(), BuildCollisionPreview(), ClearCollisionPreview(), DetachRuntimeContext(), Draw(), and SetRooms().
|
private |
Definition at line 227 of file minecart_track_editor_panel.h.
Referenced by ApplyCollisionPreview(), BuildCollisionPreview(), ClearCollisionPreview(), and SetRooms().
|
private |
Definition at line 228 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 229 of file minecart_track_editor_panel.h.
Referenced by Draw(), InvalidateRoomAudit(), RebuildAuditCache(), and SetRooms().
|
private |
Definition at line 230 of file minecart_track_editor_panel.h.
Referenced by Draw(), GetTracks(), LoadTracks(), ResetTrackSession(), and set_canvas_editing().
|
private |
Definition at line 231 of file minecart_track_editor_panel.h.
Referenced by DiscardUnpublishedChanges(), HasUnpublishedChanges(), LoadTracks(), ResetTrackSession(), RestoreTrackDraft(), SaveTracks(), and UpdateTrack().
|
private |
Definition at line 232 of file minecart_track_editor_panel.h.
Referenced by CancelCoordinatePicking(), CommitOverlayInputsForSave(), CommitOverlayList(), Draw(), GetTracks(), LoadTracks(), RebindProjectContext(), ResetOverlaySettings(), set_canvas_editing(), StartCoordinatePicking(), and UpdateOverlayList().
|
private |
Definition at line 233 of file minecart_track_editor_panel.h.
Referenced by CommitOverlayInputsForSave(), CommitOverlayList(), Draw(), GetTracks(), LoadTracks(), RebindProjectContext(), ResetOverlaySettings(), set_canvas_editing(), StartCoordinatePicking(), and UpdateOverlayList().
|
private |
Definition at line 234 of file minecart_track_editor_panel.h.
|
private |
Definition at line 237 of file minecart_track_editor_panel.h.
Referenced by CancelCoordinatePicking(), DetachRuntimeContext(), Draw(), IsPickingCoordinates(), and StartCoordinatePicking().
|
private |
Definition at line 238 of file minecart_track_editor_panel.h.
Referenced by CancelCoordinatePicking(), DetachRuntimeContext(), Draw(), GetPickingTrackIndex(), and StartCoordinatePicking().
|
private |
Definition at line 240 of file minecart_track_editor_panel.h.
Referenced by DetachRuntimeContext(), Draw(), and SetRoomNavigationCallback().
|
private |
Definition at line 241 of file minecart_track_editor_panel.h.
Referenced by DetachRuntimeContext(), NotifyProjectChanged(), and SetProjectChangedCallback().
|
private |
Definition at line 242 of file minecart_track_editor_panel.h.
Referenced by DetachRuntimeContext(), NotifyProjectDraftChanged(), and SetProjectDraftChangedCallback().
|
private |
Definition at line 243 of file minecart_track_editor_panel.h.
Referenced by DetachRuntimeContext(), Draw(), SaveProjectSettings(), and SetProjectSaveCallback().
|
private |
Definition at line 244 of file minecart_track_editor_panel.h.
Referenced by ApplyCollisionPreview(), DetachRuntimeContext(), Draw(), and SetCollisionBatchApplyCallback().
|
private |
Definition at line 247 of file minecart_track_editor_panel.h.
Referenced by HasPendingProjectDraftChanges(), InitializeOverlayInputs(), RebindProjectContext(), RefreshProjectBinding(), and SetProject().
|
private |
Definition at line 248 of file minecart_track_editor_panel.h.
Referenced by CommitOverlayInputsForSave(), CommitOverlayList(), InitializeOverlayInputs(), RebindProjectContext(), RefreshProjectBinding(), ResetOverlaySettings(), and SetProject().
|
private |
Definition at line 249 of file minecart_track_editor_panel.h.
Referenced by ClearOverlayInputs(), CommitOverlayInputsForSave(), DrawOverlaySettings(), HasPendingProjectDraftChanges(), and InitializeOverlayInputs().
|
private |
Definition at line 250 of file minecart_track_editor_panel.h.
Referenced by ClearOverlayInputs(), CommitOverlayInputsForSave(), DrawOverlaySettings(), HasPendingProjectDraftChanges(), and InitializeOverlayInputs().
|
private |
Definition at line 251 of file minecart_track_editor_panel.h.
Referenced by ClearOverlayInputs(), CommitOverlayInputsForSave(), DrawOverlaySettings(), HasPendingProjectDraftChanges(), and InitializeOverlayInputs().
|
private |
Definition at line 252 of file minecart_track_editor_panel.h.
Referenced by ClearOverlayInputs(), CommitOverlayInputsForSave(), DrawOverlaySettings(), HasPendingProjectDraftChanges(), and InitializeOverlayInputs().
|
private |
Definition at line 253 of file minecart_track_editor_panel.h.
Referenced by ClearOverlayInputs(), CommitOverlayInputsForSave(), DrawOverlaySettings(), HasPendingProjectDraftChanges(), and InitializeOverlayInputs().