1#ifndef YAZE_APP_EDITOR_OVERWORLD_ENTITY_ENTITY_MUTATION_SERVICE_H
2#define YAZE_APP_EDITOR_OVERWORLD_ENTITY_ENTITY_MUTATION_SERVICE_H
7#include "absl/status/status.h"
8#include "absl/status/statusor.h"
10#include "imgui/imgui.h"
18class OverworldEntrance;
46 MutationResult
InsertEntity(
const std::string& type, ImVec2 pos,
int map_id,
47 int game_state, uint8_t item_id = 0);
58 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 InsertEntity(const std::string &type, ImVec2 pos, int map_id, int game_state, uint8_t item_id=0)
Dispatches entity insertion based on type string.
MutationResult DeleteEntrance(zelda3::OverworldEntrance *entrance)
MutationResult DeleteItem(const zelda3::OverworldItem &item_identity)
zelda3::Overworld & overworld_
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.
A class for managing sprites in the overworld and underworld.
std::string error_message
zelda3::GameEntity * entity