]> git.localhorst.tv Git - blank.git/commitdiff
print block info on keypress
authorDaniel Karbach <daniel.karbach@localhorst.tv>
Fri, 13 Mar 2015 16:48:39 +0000 (17:48 +0100)
committerDaniel Karbach <daniel.karbach@localhorst.tv>
Fri, 13 Mar 2015 16:48:39 +0000 (17:48 +0100)
src/interface.cpp
src/interface.hpp

index 1f66b73e06ffc56afd1da35b1b502cafbdb0d193..00c291df605e7b799c820947ed09d5ca58ff439b 100644 (file)
@@ -3,8 +3,10 @@
 #include "geometry.hpp"
 #include "world.hpp"
 
+#include <iostream>
 #include <glm/glm.hpp>
 #include <glm/gtc/matrix_transform.hpp>
+#include <glm/gtx/io.hpp>
 
 
 namespace blank {
@@ -65,6 +67,15 @@ void Interface::Handle(const SDL_KeyboardEvent &event) {
                                TurnBlock();
                        }
                        break;
+
+               case SDLK_b:
+                       if (event.state == SDL_PRESSED) {
+                               PrintBlockInfo();
+                       }
+               case SDLK_p:
+                       if (event.state == SDL_PRESSED) {
+                               PrintSelectionInfo();
+                       }
        }
 }
 
@@ -78,6 +89,31 @@ void Interface::TurnBlock() {
        hud.Display(selection);
 }
 
+void Interface::PrintBlockInfo() {
+       std::cout << std::endl;
+       if (!aim_chunk) {
+               std::cout << "not looking at any block" << std::endl;
+               return;
+       }
+       std::cout << "looking at block " << aim_block
+               << " " << Chunk::ToCoords(aim_block)
+               << " of chunk " << aim_chunk->Position()
+               << std::endl;
+       Print(aim_chunk->BlockAt(aim_block));
+}
+
+void Interface::PrintSelectionInfo() {
+       std::cout << std::endl;
+       Print(selection);
+}
+
+void Interface::Print(const Block &block) {
+       std::cout << "type: " << block.type
+               << ", face: " << block.GetFace()
+               << ", turn: " << block.GetTurn()
+               << std::endl;
+}
+
 
 void Interface::Handle(const SDL_MouseMotionEvent &event) {
        ctrl.RotateYaw(event.xrel * yaw_sensitivity);
index a4b7a92cef1cf10c1d9c79d30ab0ff72e9cf818f..68173050bbb036bdd95b0f6a0f76935678b95555 100644 (file)
@@ -33,6 +33,10 @@ public:
        void PlaceBlock();
        void RemoveBlock();
 
+       void PrintBlockInfo();
+       void PrintSelectionInfo();
+       void Print(const Block &);
+
        void SelectNext();
        void SelectPrevious();