small bugfixes

This commit is contained in:
devZoGok
2023-11-26 12:41:16 +02:00
parent ba65842421
commit cf1d4d908e
5 changed files with 20 additions and 25 deletions
+3 -3
View File
@@ -10,7 +10,7 @@ gui = {
imagePath = '', imagePath = '',
guiType = GuiType.BUTTON, guiType = GuiType.BUTTON,
buttonType = ButtonType.BUILD, buttonType = ButtonType.BUILD,
trigger = 75, trigger = 76,
structureId = 8 structureId = 8
}, },
{ {
@@ -30,7 +30,7 @@ gui = {
imagePath = '', imagePath = '',
guiType = GuiType.BUTTON, guiType = GuiType.BUTTON,
buttonType = ButtonType.BUILD, buttonType = ButtonType.BUILD,
trigger = 75, trigger = 77,
structureId = 10 structureId = 10
}, },
{ {
@@ -50,7 +50,7 @@ gui = {
imagePath = '', imagePath = '',
guiType = GuiType.BUTTON, guiType = GuiType.BUTTON,
buttonType = ButtonType.BUILD, buttonType = ButtonType.BUILD,
trigger = 80, trigger = 68,
structureId = 12 structureId = 12
} }
} }
+8 -6
View File
@@ -199,12 +199,14 @@ namespace battleship{
Vector3 dragboxOrigin = dragboxNode->getPosition(), dragboxEnd = dragboxOrigin + dragboxSize; Vector3 dragboxOrigin = dragboxNode->getPosition(), dragboxEnd = dragboxOrigin + dragboxSize;
Vector2 pos = u->getScreenPos(); Vector2 pos = u->getScreenPos();
if(!mainPlayer->getSelectedUnitsByClass(UnitClass::ENGINEER).empty()) if(buttons.empty()){
guiManager->readLuaScreenScript("engineerCommands.lua"); if(!mainPlayer->getSelectedUnitsByClass(UnitClass::ENGINEER).empty())
else if(!mainPlayer->getSelectedUnitsByClass(UnitClass::LAND_FACTORY).empty()) guiManager->readLuaScreenScript("engineerCommands.lua");
guiManager->readLuaScreenScript("landFactoryCommands.lua"); else if(!mainPlayer->getSelectedUnitsByClass(UnitClass::LAND_FACTORY).empty())
else if(!mainPlayer->getSelectedUnitsByClass(UnitClass::NAVAL_FACTORY).empty()) guiManager->readLuaScreenScript("landFactoryCommands.lua");
guiManager->readLuaScreenScript("navalFactoryCommands.lua"); else if(!mainPlayer->getSelectedUnitsByClass(UnitClass::NAVAL_FACTORY).empty())
guiManager->readLuaScreenScript("navalFactoryCommands.lua");
}
if(isSelectionBox && fabs(pos.x - dragboxOrigin.x) < .5 * dragboxSize.x && fabs(pos.y - dragboxOrigin.y) < .5 * dragboxSize.y){ if(isSelectionBox && fabs(pos.x - dragboxOrigin.x) < .5 * dragboxSize.x && fabs(pos.y - dragboxOrigin.y) < .5 * dragboxSize.y){
if(!u->isSelected()){ if(!u->isSelected()){
-1
View File
@@ -1,5 +1,4 @@
#include "gameObjectFrame.h" #include "gameObjectFrame.h"
namespace battleship{ namespace battleship{
} }
+1 -1
View File
@@ -14,7 +14,7 @@ namespace battleship{
initModel(false); initModel(false);
} }
~GameObjectFrame(){} ~GameObjectFrame(){}
void update(){GameObject::update();} void destroy(){destroyModel();}
Status status; Status status;
}; };
+8 -14
View File
@@ -52,10 +52,9 @@ namespace battleship{
//TODO implement terrain evenness check //TODO implement terrain evenness check
void GameObjectFrameController::placeGameObjectFrame(int id, Vector3 newPos, float width, float length){ void GameObjectFrameController::placeGameObjectFrame(int id, Vector3 newPos, float width, float length){
GameObjectFrame &s = gameObjectFrames[id]; GameObjectFrame &s = gameObjectFrames[id];
Model *model = s.getModel();
if(!rotatingStructure) if(!rotatingStructure)
model->setPosition(newPos); s.placeAt(newPos);
Map *map = Map::getSingleton(); Map *map = Map::getSingleton();
MeshData meshData = map->getNodeParent()->getChild(0)->getMesh(0)->getMeshBase(); MeshData meshData = map->getNodeParent()->getChild(0)->getMesh(0)->getMeshBase();
@@ -65,9 +64,9 @@ namespace battleship{
float maxUnevenness = generateView()["maxUnevenness"], unevenness = 0; float maxUnevenness = generateView()["maxUnevenness"], unevenness = 0;
for(int i = 0; i < numVerts; i++){ for(int i = 0; i < numVerts; i++){
float diffX = fabs(model->getPosition().x - verts[i].pos.x); float diffX = fabs(s.getPos().x - verts[i].pos.x);
float diffY = fabs(model->getPosition().y - verts[i].pos.y); float diffY = fabs(s.getPos().y - verts[i].pos.y);
float diffZ = fabs(model->getPosition().z - verts[i].pos.z); float diffZ = fabs(s.getPos().z - verts[i].pos.z);
if(diffX < 0.5 * width && diffZ < 0.5 * length && diffY > unevenness){ if(diffX < 0.5 * width && diffZ < 0.5 * length && diffY > unevenness){
unevenness = diffY; unevenness = diffY;
@@ -88,7 +87,7 @@ namespace battleship{
s.status = GameObjectFrame::PLACEABLE; s.status = GameObjectFrame::PLACEABLE;
} }
Material *mat = model->getMaterial(); Material *mat = s.getModel()->getMaterial();
mat->setVec4Uniform("diffuseColor", color); mat->setVec4Uniform("diffuseColor", color);
} }
@@ -123,9 +122,7 @@ namespace battleship{
} }
void GameObjectFrameController::removeGameObjectFrame(int i){ void GameObjectFrameController::removeGameObjectFrame(int i){
Model *model = gameObjectFrames[i].getModel(); gameObjectFrames[i].destroy();
model->getParent()->dettachChild(model);
delete model;
gameObjectFrames.erase(gameObjectFrames.begin() + i); gameObjectFrames.erase(gameObjectFrames.begin() + i);
} }
@@ -136,10 +133,7 @@ namespace battleship{
void GameObjectFrameController::rotateGameObjectFrames(float angle){ void GameObjectFrameController::rotateGameObjectFrames(float angle){
for(GameObjectFrame &s : gameObjectFrames) for(GameObjectFrame &s : gameObjectFrames)
if(s.status != GameObjectFrame::PLACED){ if(s.status != GameObjectFrame::PLACED)
Model *model = s.getModel(); s.orientAt(Quaternion(angle, Vector3::VEC_J) * s.getRot());
Quaternion rot = model->getOrientation();
model->setOrientation(Quaternion(angle, Vector3::VEC_J) * rot);
}
} }
} }