Merge branch 'master' of https://github.com/Vulpovile/Blocks3D.git into NT_x86

This commit is contained in:
NT_x86
2022-10-05 07:42:24 +03:00
7 changed files with 67 additions and 26 deletions

25
.github/workflows/sync-develop.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: Sync Back to Develop
on:
push:
branches:
- master
jobs:
sync-branches:
runs-on: ubuntu-latest
name: Syncing branches
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Node
uses: actions/setup-node@v1
with:
node-version: 12
- name: Opening pull request
id: pull
uses: tretuna/sync-branches@1.2.0
with:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
FROM_BRANCH: 'master'
TO_BRANCH: 'develop'

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity <assemblyIdentity
version="0.0.106.1" version="0.0.106.2"
processorArchitecture="*" processorArchitecture="*"
name="Blocks3D.Blocks3D.Blocks3D" name="Blocks3D.Blocks3D.Blocks3D"
type="win32" type="win32"

View File

@@ -7,6 +7,17 @@
#include <richedit.h> #include <richedit.h>
#include "src/include/resource.h" #include "src/include/resource.h"
#define APP_GENER 0
#define APP_MAJOR 0
#define APP_MINOR 106
#define APP_PATCH 2
#define APP_VER_STRING APP_GENER.APP_MAJOR.APP_MINOR.APP_PATCH
#define VER_PREFIX( N ) v##N
#define HSTR( N ) #N
#define STR( N ) HSTR( N )
#define VER_STR( N ) STR( VER_PREFIX( N ) )
@@ -18,8 +29,8 @@ IDB_BITMAP1 BITMAP "Parts.bmp"
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
1 VERSIONINFO 1 VERSIONINFO
FILEVERSION 0,0,106,1 FILEVERSION APP_GENER,APP_MAJOR,APP_MINOR,APP_PATCH
PRODUCTVERSION 0,0,106,1 PRODUCTVERSION APP_GENER,APP_MAJOR,APP_MINOR,APP_PATCH
FILEOS VOS__WINDOWS32 FILEOS VOS__WINDOWS32
FILETYPE VFT_APP FILETYPE VFT_APP
FILESUBTYPE VFT2_UNKNOWN FILESUBTYPE VFT2_UNKNOWN
@@ -33,14 +44,14 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
VALUE "Comments", "" VALUE "Comments", ""
VALUE "CompanyName", "Blocks3D Team" VALUE "CompanyName", "Blocks3D Team"
VALUE "FileDescription", "Blocks 3D" VALUE "FileDescription", "Blocks 3D"
VALUE "FileVersion", "v0.0.106.1" VALUE "FileVersion", VER_STR(APP_VER_STRING)
VALUE "InternalName", "Blocks3D" VALUE "InternalName", "Blocks3D"
VALUE "LegalCopyright", "Blocks3D Team - 2022" VALUE "LegalCopyright", "Blocks3D Team - 2022"
VALUE "LegalTrademarks", "" VALUE "LegalTrademarks", ""
VALUE "OriginalFilename", "Blocks3D.exe" VALUE "OriginalFilename", "Blocks3D.exe"
VALUE "PrivateBuild", "" VALUE "PrivateBuild", ""
VALUE "ProductName", "Blocks3D" VALUE "ProductName", "Blocks3D"
VALUE "ProductVersion", "v0.0.106.1" VALUE "ProductVersion", VER_STR(APP_VER_STRING)
VALUE "SpecialBuild", "" VALUE "SpecialBuild", ""
} }
} }

View File

@@ -1,6 +1,5 @@
#pragma once #pragma once
#include "DataModelV2/Instance.h" #include "DataModelV2/Instance.h"
#include <set>
class PropertyWindow { class PropertyWindow {
public: public:
@@ -15,4 +14,5 @@ private:
HWND _propGrid; HWND _propGrid;
HWND _explorerComboBox; HWND _explorerComboBox;
void _resize(); void _resize();
void clearExplorer();
}; };

View File

@@ -161,22 +161,23 @@ void Application::deleteInstance()
{ {
if(_dataModel->getSelectionService()->getSelection().size() > 0) if(_dataModel->getSelectionService()->getSelection().size() > 0)
{ {
size_t undeletable = 0; std::vector<Instance *> selection = _dataModel->getSelectionService()->getSelection();
while(_dataModel->getSelectionService()->getSelection().size() > undeletable) std::vector<Instance *> toDelete;
for(size_t i = 0; i < selection.size(); i++) {
if(selection[i]->canDelete) {
toDelete.push_back(selection[i]);
}
}
if(toDelete.size() > 0)
{ {
if(_dataModel->getSelectionService()->getSelection()[0]->canDelete) AudioPlayer::playSound(GetFileInPath("/content/sounds/pageturn.wav"));
{ for(size_t i = 0; i < toDelete.size(); i++) {
AudioPlayer::playSound(GetFileInPath("/content/sounds/pageturn.wav")); Instance* selectedInstance = toDelete[i];
Instance* selectedInstance = g_dataModel->getSelectionService()->getSelection()[0]; _dataModel->getSelectionService()->removeSelected(selectedInstance);
_dataModel->getSelectionService()->removeChild(selectedInstance);
selectedInstance->setParent(NULL); selectedInstance->setParent(NULL);
delete selectedInstance; delete selectedInstance;
selectedInstance = NULL; selectedInstance = NULL;
} }
else
{
undeletable++;
}
} }
} }
if(_dataModel->getSelectionService()->getSelection().size() == 0) if(_dataModel->getSelectionService()->getSelection().size() == 0)

View File

@@ -21,6 +21,7 @@ void SelectionService::clearSelection(){
this->selection.clear(); this->selection.clear();
if(propertyWindow != NULL) if(propertyWindow != NULL)
propertyWindow->ClearProperties(); propertyWindow->ClearProperties();
printf("selectionSize: %d\n", selection.size());
} }
bool SelectionService::isSelected(Instance * instance){ bool SelectionService::isSelected(Instance * instance){
return std::find(selection.begin(), selection.end(), instance) != selection.end(); return std::find(selection.begin(), selection.end(), instance) != selection.end();
@@ -30,11 +31,13 @@ void SelectionService::addSelected(Instance * instance){
this->selection.push_back(instance); this->selection.push_back(instance);
if(propertyWindow != NULL) if(propertyWindow != NULL)
propertyWindow->UpdateSelected(selection); propertyWindow->UpdateSelected(selection);
printf("selectionSize: %d\n", selection.size());
} }
void SelectionService::removeSelected(Instance * instance){ void SelectionService::removeSelected(Instance * instance){
selection.erase(std::remove(selection.begin(), selection.end(), instance), selection.end()); selection.erase(std::remove(selection.begin(), selection.end(), instance), selection.end());
if(propertyWindow != NULL) if(propertyWindow != NULL)
propertyWindow->UpdateSelected(selection); propertyWindow->UpdateSelected(selection);
printf("selectionSize: %d\n", selection.size());
} }
void SelectionService::addSelected(const std::vector<Instance *> &instances){ void SelectionService::addSelected(const std::vector<Instance *> &instances){
for(size_t i = 0; i < instances.size(); i++) for(size_t i = 0; i < instances.size(); i++)
@@ -44,10 +47,12 @@ void SelectionService::addSelected(const std::vector<Instance *> &instances){
} }
if(propertyWindow != NULL) if(propertyWindow != NULL)
propertyWindow->UpdateSelected(selection); propertyWindow->UpdateSelected(selection);
printf("selectionSize: %d\n", selection.size());
} }
void SelectionService::setPropertyWindow(PropertyWindow * propertyWindow) void SelectionService::setPropertyWindow(PropertyWindow * propertyWindow)
{ {
this->propertyWindow = propertyWindow; this->propertyWindow = propertyWindow;
if(propertyWindow != NULL) if(propertyWindow != NULL)
propertyWindow->ClearProperties(); propertyWindow->ClearProperties();
printf("selectionSize: %d\n", selection.size());
} }

View File

@@ -3,7 +3,6 @@
#include "WindowFunctions.h" #include "WindowFunctions.h"
#include "resource.h" #include "resource.h"
#include "PropertyWindow.h" #include "PropertyWindow.h"
#include "Globals.h"
#include "strsafe.h" #include "strsafe.h"
#include "Application.h" #include "Application.h"
@@ -203,6 +202,12 @@ LRESULT CALLBACK PropProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
return 0; return 0;
} }
void PropertyWindow::clearExplorer()
{
SendMessage(_explorerComboBox,CB_RESETCONTENT,0,0);
SendMessage(_explorerComboBox,CB_SETCURSEL,0,(LPARAM)0);
}
void PropertyWindow::refreshExplorer(std::vector<Instance*> selectedInstances) void PropertyWindow::refreshExplorer(std::vector<Instance*> selectedInstances)
{ {
Instance * instance = selectedInstances[0]; Instance * instance = selectedInstances[0];
@@ -367,12 +372,6 @@ void PropertyWindow::UpdateSelected(std::vector<Instance *> instances)
void PropertyWindow::ClearProperties() void PropertyWindow::ClearProperties()
{ {
if(g_dataModel != NULL) clearExplorer();
{ PropGrid_ResetContent(_propGrid);
g_dataModel->getSelectionService()->addSelected(g_dataModel);
}
else
{
PropGrid_ResetContent(_propGrid);
}
} }