add multi-place/remove
This commit is contained in:
parent
2ba5548009
commit
d10d2810ab
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)) {
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue