yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
dungeon_entrance_edit_policy.h
Go to the documentation of this file.
1#ifndef YAZE_APP_EDITOR_DUNGEON_DUNGEON_ENTRANCE_EDIT_POLICY_H_
2#define YAZE_APP_EDITOR_DUNGEON_DUNGEON_ENTRANCE_EDIT_POLICY_H_
3
6
7namespace yaze::editor {
8
9inline constexpr char kDungeonSpawnReadOnlyReason[] =
10 "Spawn properties are read-only in this legacy view. Use Entrance "
11 "Properties to edit the dedicated DungeonSpawnPoint record.";
12
13inline bool CanEditDungeonEntrance(int slot_index,
14 const zelda3::RoomEntrance& entrance) {
15 return slot_index >= zelda3::kNumDungeonSpawnPoints &&
17 !entrance.is_spawn_point();
18}
19
20inline bool MarkDungeonEntranceDirtyIfEditable(int slot_index,
21 zelda3::RoomEntrance& entrance,
22 bool properties_changed) {
23 if (!properties_changed || !CanEditDungeonEntrance(slot_index, entrance)) {
24 return false;
25 }
26 entrance.MarkDirty();
27 return true;
28}
29
30inline bool CanEditDungeonSpawnPoint(int slot_index,
31 const zelda3::DungeonSpawnPoint& spawn) {
32 return slot_index >= 0 && slot_index < zelda3::kNumDungeonSpawnPoints &&
33 spawn.spawn_id() == slot_index;
34}
35
37 int slot_index, zelda3::DungeonSpawnPoint& spawn, bool properties_changed) {
38 if (!properties_changed || !CanEditDungeonSpawnPoint(slot_index, spawn)) {
39 return false;
40 }
41 spawn.MarkDirty();
42 return true;
43}
44
45} // namespace yaze::editor
46
47#endif // YAZE_APP_EDITOR_DUNGEON_DUNGEON_ENTRANCE_EDIT_POLICY_H_
Dungeon Room Entrance or Spawn Point.
Editors are the view controllers for the application.
bool CanEditDungeonEntrance(int slot_index, const zelda3::RoomEntrance &entrance)
constexpr char kDungeonSpawnReadOnlyReason[]
bool CanEditDungeonSpawnPoint(int slot_index, const zelda3::DungeonSpawnPoint &spawn)
bool MarkDungeonEntranceDirtyIfEditable(int slot_index, zelda3::RoomEntrance &entrance, bool properties_changed)
bool MarkDungeonSpawnPointDirtyIfEditable(int slot_index, zelda3::DungeonSpawnPoint &spawn, bool properties_changed)
constexpr int kNumDungeonSpawnPoints
constexpr int kNumDungeonEntranceSlots