void DebugMenuTouchHandlers::OnTouchUpHandlers(UiObject* uiObject, Touch /* touch */) { GameObject* debugCam = (GameObject*)ENGINE->GetSceneGraph3D()->GetMainCamera()->GetObject(); Transform* trans = debugCam->GetTransform(); if (uiObject->GetName() == "up") { trans->Translate(this->cameraSpeed, trans->GetForward()); ASSERT(uiObject->GetClassType() & CLASS_TYPE_UIELEMENT, "UiObject is a ui element"); ((UiElement*)uiObject)->SetSpriteTextureIndex(TEXTURE_INDEX_BUTTON_UP); } else if (uiObject->GetName() == "down") { trans->Translate(-this->cameraSpeed, trans->GetForward()); ASSERT(uiObject->GetClassType() & CLASS_TYPE_UIELEMENT, "UiObject is a ui element"); ((UiElement*)uiObject)->SetSpriteTextureIndex(TEXTURE_INDEX_BUTTON_UP); } else if (uiObject->GetName() == "left") { trans->Translate(this->cameraSpeed, trans->GetLeft()); ASSERT(uiObject->GetClassType() & CLASS_TYPE_UIELEMENT, "UiObject is a ui element"); ((UiElement*)uiObject)->SetSpriteTextureIndex(TEXTURE_INDEX_BUTTON_UP); } else if (uiObject->GetName() == "right") { trans->Translate(-this->cameraSpeed, trans->GetLeft()); ASSERT(uiObject->GetClassType() & CLASS_TYPE_UIELEMENT, "UiObject is a ui element"); ((UiElement*)uiObject)->SetSpriteTextureIndex(TEXTURE_INDEX_BUTTON_UP); } else if (uiObject->GetName() == "back") { SINGLETONS->GetMenuManager()->LoadGameMenu(); GameObject* debugCam = (GameObject*)ENGINE->GetSceneGraph3D()->GetMainCamera()->GetObject(); ENGINE->GetSceneGraph3D()->SetMainCameraId(this->shadyCamId); delete debugCam; } }
void DebugMenuTouchHandlers::OnTouchMoveHandlers(UiObject* uiObject, Touch touch ) { if (uiObject->GetName() == "touchPad") { // Do something glm::vec2 moveDir = touch.pos - touch.prevPos; GameObject* debugCam = (GameObject*)ENGINE->GetSceneGraph3D()->GetMainCamera()->GetObject(); Transform* trans = debugCam->GetTransform(); trans->Rotate(-moveDir.x inRadians, YAXIS); trans->Rotate(moveDir.y inRadians, trans->GetLeft()); } else { // Do something } }