diff --git a/gameObjectFrameController.cpp b/gameObjectFrameController.cpp index a55ab7a..313e1ed 100644 --- a/gameObjectFrameController.cpp +++ b/gameObjectFrameController.cpp @@ -229,6 +229,13 @@ namespace battleship{ if(!placingVertically) minDepthCalculated = false; } + void GameObjectFrameController::addGameObjectFrame(GameObjectFrame u){ + gameObjectFrames.push_back(u); + vector results = Map::getSingleton()->raycastTerrain(u.getPos(), -Vector3::VEC_J, true); + + if(!results.empty()) placementPos = results[0].pos; + } + void GameObjectFrameController::removeGameObjectFrame(int i){ gameObjectFrames[i].destroy(); gameObjectFrames.erase(gameObjectFrames.begin() + i); diff --git a/gameObjectFrameController.h b/gameObjectFrameController.h index 2726e9e..5a6c217 100644 --- a/gameObjectFrameController.h +++ b/gameObjectFrameController.h @@ -22,8 +22,8 @@ namespace battleship{ void removeGameObjectFrames(); void rotateGameObjectFrames(float); void checkPlacement(GameObjectFrame&); + void addGameObjectFrame(GameObjectFrame); inline int getNumGameObjectFrames(){return gameObjectFrames.size();} - inline void addGameObjectFrame(GameObjectFrame u){gameObjectFrames.push_back(u);} inline GameObjectFrame& getGameObjectFrame(int i){return gameObjectFrames[i];} inline bool isPaintSelecting(){return paintSelecting;} inline void setPaintSelecting(bool ps){paintSelecting = ps;}