-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathFrontendController.cpp
More file actions
83 lines (67 loc) · 1.89 KB
/
Copy pathFrontendController.cpp
File metadata and controls
83 lines (67 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include "stdafx.h"
#include "FrontendController.h"
#include "GameWorld.h"
#include "GameMain.h"
FrontendController::FrontendController()
: mMenuScreen(*this)
{
}
void FrontendController::OnStartSinglePlayerGameSelected()
{
GetGameEventBus().Send_StartScenarioRequest("level1");
//GetGameEventBus().Send_StartScenarioRequest("Devmap");
}
void FrontendController::OnQuitGameSelected()
{
GetGameEventBus().Send_QuitGameRequest();
}
void FrontendController::OnSessionLoaded()
{
Player& localPlayer = GetGameSession().GetLocalPlayer();
// setup camera
mCameraController.ResetCamera();
glm::vec3 cameraTileCoord = MapUtils::ComputeTileCenter(localPlayer.GetStartCameraTilePosition());
cameraTileCoord[1] = 1.65f; // height
cameraTileCoord[2] -= 0.5f;
mCameraController.SetStartPosition(cameraTileCoord);
mCameraController.CaptureCamera(&GetGameWorld().GetMainCamera());
}
void FrontendController::OnSessionStart()
{
if (!mMenuScreen.IsActive())
{
mMenuScreen.Activate();
}
}
void FrontendController::OnSessionShutdown()
{
mCameraController.ReleaseCamera();
if (mMenuScreen.IsActive())
{
mMenuScreen.Deactivate();
mMenuScreen.Cleanup();
}
}
void FrontendController::UpdateFrame(float deltaTime)
{
mCameraController.UpdateFrame(deltaTime);
}
void FrontendController::UpdateLogic(float stepDeltaTime)
{
}
void FrontendController::InputEvent(MouseButtonInputEvent& inputEvent)
{
mCameraController.InputEvent(inputEvent);
}
void FrontendController::InputEvent(KeyInputEvent& inputEvent)
{
mCameraController.InputEvent(inputEvent);
}
void FrontendController::InputEvent(MouseMovedInputEvent& inputEvent)
{
mCameraController.InputEvent(inputEvent);
}
void FrontendController::InputEvent(MouseScrollInputEvent& inputEvent)
{
mCameraController.InputEvent(inputEvent);
}