1#ifndef YAZE_APP_EDITOR_OVERWORLD_ENTITY_ENTITY_MUTATION_SERVICE_H
2#define YAZE_APP_EDITOR_OVERWORLD_ENTITY_ENTITY_MUTATION_SERVICE_H
6#include "absl/status/status.h"
7#include "absl/status/statusor.h"
8#include "imgui/imgui.h"
16class OverworldEntrance;
44 MutationResult
InsertEntity(
const std::string& type, ImVec2 pos,
int map_id,
53 int offset_x,
int offset_y);
Editor-level service responsible for overworld entity mutations.
EntityMutationService(zelda3::Overworld &overworld)
MutationResult DuplicateItem(const zelda3::OverworldItem &source, int offset_x, int offset_y)
MutationResult DeleteEntrance(zelda3::OverworldEntrance *entrance)
MutationResult DeleteItem(const zelda3::OverworldItem &item_identity)
zelda3::Overworld & overworld_
MutationResult InsertEntity(const std::string &type, ImVec2 pos, int map_id, int game_state)
Dispatches entity insertion based on type string.
zelda3::OverworldItem * ResolveNextSelection(const zelda3::OverworldItem &anchor_identity)
Resolves the best next item to select after a deletion.
MutationResult DeleteExit(zelda3::OverworldExit *exit)
MutationResult DeleteSprite(zelda3::Sprite *sprite, int game_state)
Base class for all overworld and dungeon entities.
Represents an overworld exit that transitions from dungeon to overworld.
Represents the full Overworld data, light and dark world.
A class for managing sprites in the overworld and underworld.
std::string error_message
zelda3::GameEntity * entity