add multi-place/remove

This commit is contained in:
Hunter 2023-05-27 20:01:30 -04:00
parent 2ba5548009
commit d10d2810ab
4 changed files with 175 additions and 9 deletions

View file

@ -4,7 +4,7 @@ Size=400,400
Collapsed=0 Collapsed=0
[Window][Phoenix Map Editor] [Window][Phoenix Map Editor]
Pos=833,459 Pos=816,436
Size=773,184 Size=773,184
Collapsed=0 Collapsed=0
@ -14,7 +14,7 @@ Size=357,247
Collapsed=0 Collapsed=0
[Window][Map Information Editor] [Window][Map Information Editor]
Pos=838,656 Pos=845,633
Size=588,347 Size=588,347
Collapsed=0 Collapsed=0

View file

@ -54,6 +54,168 @@ TILE FLOOR
TILE FLOOR TILE FLOOR
TILE FLOOR TILE FLOOR
TILE FLOOR TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE FLOOR
TILE WALL
TILE WALL
TILE WALL
TILE WALL
TILE WALL TILE WALL
TILE WALL TILE WALL
TILE WALL TILE WALL

View file

@ -99,12 +99,16 @@ void runMapEditor() {
!ImGui::IsAnyItemHovered()) { !ImGui::IsAnyItemHovered()) {
if (event.button.button == SDL_BUTTON_LEFT) { if (event.button.button == SDL_BUTTON_LEFT) {
if (editorState.placeTileMode) { if (editorState.placeTileMode) {
editorState.currentMap.data.mapTiles.push_back( for (int i = 0; i < editorState.tilePlaceAmount; i++) {
editorState.selectedTileName); editorState.currentMap.data.mapTiles.push_back(
editorState.selectedTileName);
}
} }
} else if (event.button.button == SDL_BUTTON_RIGHT) { } else if (event.button.button == SDL_BUTTON_RIGHT) {
if (editorState.placeTileMode) { if (editorState.placeTileMode) {
editorState.currentMap.data.mapTiles.pop_back(); for (int i = 0; i < editorState.tilePlaceAmount; i++) {
editorState.currentMap.data.mapTiles.pop_back();
}
} }
} }
} }
@ -175,10 +179,9 @@ void runMapEditor() {
const char *tileNames[] = {"WALL", "FLOOR"}; const char *tileNames[] = {"WALL", "FLOOR"};
ImGui::Text("Selected tile"); ImGui::Text("Tile placement");
ImGui::SameLine(); ImGui::InputInt("Tile count", &editorState.tilePlaceAmount);
if (ImGui::BeginCombo("##EditorSelectedTile", if (ImGui::BeginCombo("Selected tile", editorState.selectedTileName)) {
editorState.selectedTileName)) {
for (int i = 0; i < IM_ARRAYSIZE(tileNames); i++) { for (int i = 0; i < IM_ARRAYSIZE(tileNames); i++) {
bool isSelected = (editorState.selectedTileName == tileNames[i]); bool isSelected = (editorState.selectedTileName == tileNames[i]);
if (ImGui::Selectable(tileNames[i], isSelected)) { if (ImGui::Selectable(tileNames[i], isSelected)) {

View file

@ -10,4 +10,5 @@ struct EditorGlobalState {
Map currentMap; Map currentMap;
const char *selectedTileName = "WALL"; const char *selectedTileName = "WALL";
int editorScale = 1; int editorScale = 1;
int tilePlaceAmount = 1;
}; };