game: F12 to draw debug geometry

This commit is contained in:
Crypto City 2019-12-12 00:50:44 +00:00
parent ed8adb98ff
commit 0223c854f8

View File

@ -98,6 +98,7 @@ public:
void HandleKeyUp(StringHash eventType, VariantMap& eventData);
void HandleKeyDown(StringHash eventType, VariantMap& eventData);
void HandleUpdate(StringHash eventType, VariantMap& eventData);
void HandlePostRenderUpdate(StringHash eventType, VariantMap& eventData);
void HandleMouseModeRequest(StringHash eventType, VariantMap& eventData);
void HandleMouseModeChange(StringHash eventType, VariantMap& eventData);
void HandleMouseButtonDown(StringHash eventType, VariantMap& eventData);
@ -194,6 +195,7 @@ private:
float yaw_;
float pitch_;
bool useGroups_;
bool drawDebugGeometry_;
bool hasSelection_;
uint32_t mouse_x, mouse_y, mouse_h;
@ -233,6 +235,7 @@ CryptoCityUrho3D::CryptoCityUrho3D(Context *ctx):
yaw_(0.0f),
pitch_(0.0f),
useGroups_(false),
drawDebugGeometry_(false),
hasSelection_(false),
mouse_x(0),
mouse_y(0),
@ -375,6 +378,7 @@ void CryptoCityUrho3D::Start()
SubscribeToEvent(E_KEYUP, URHO3D_HANDLER(CryptoCityUrho3D, HandleKeyUp));
// Subscribe scene update event
SubscribeToEvent(E_SCENEUPDATE, URHO3D_HANDLER(CryptoCityUrho3D, HandleSceneUpdate));
SubscribeToEvent(E_POSTRENDERUPDATE, URHO3D_HANDLER(CryptoCityUrho3D, HandlePostRenderUpdate));
// Setup the viewport for displaying the scene
SetupViewport();
@ -1052,6 +1056,12 @@ void CryptoCityUrho3D::HandleSceneUpdate(StringHash /*eventType*/, VariantMap& e
}
}
void CryptoCityUrho3D::HandlePostRenderUpdate(StringHash /*eventType*/, VariantMap& eventData)
{
if (drawDebugGeometry_)
GetSubsystem<Renderer>()->DrawDebugGeometry(false);
}
void CryptoCityUrho3D::HandleLoadWallet(StringHash eventType, VariantMap& eventData)
{
UnsetFocus();
@ -2390,6 +2400,11 @@ void CryptoCityUrho3D::HandleKeyDown(StringHash /*eventType*/, VariantMap& event
screenshot.SaveJPG(base_filename + ".jpeg", 0);
}
else if (key == KEY_F12)
{
drawDebugGeometry_ = !drawDebugGeometry_;
}
// mouse-based building
else if (key == 'z')
{