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
[Window][Phoenix Map Editor]
Pos=833,459
Pos=816,436
Size=773,184
Collapsed=0
@ -14,7 +14,7 @@ Size=357,247
Collapsed=0
[Window][Map Information Editor]
Pos=838,656
Pos=845,633
Size=588,347
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 WALL
TILE WALL
TILE WALL
TILE WALL
TILE WALL
TILE WALL
TILE WALL

View file

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

View file

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