annotate LightClone/Source/ConfirmScreen.cpp @ 73:0574e2cf8bac

Additional screen types
author koryspansel
date Tue, 11 Oct 2011 17:44:10 -0700
parents
children 40c0b5305de8
rev   line source
73
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
1 /*
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
2 * ConfirmScreen
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
3 */
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
4
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
5 #include "ConfirmScreen.h"
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
6 #include "ScreenManager.h"
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
7
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
8 /*
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
9 * Initialize
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
10 */
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
11 ErrorCode ConfirmScreen::Initialize(ServiceProvider* pServiceProvider)
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
12 {
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
13 ErrorCode eCode = kInterface.Initialize(pServiceProvider);
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
14 if(eCode == Error_Success)
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
15 {
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
16 pDialog = new ChoiceDialog();
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
17 pDialog->Initialize(pServiceProvider);
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
18 pDialog->Subscribe(GuiDialog::EventResult, &ConfirmScreen::OnResult, this);
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
19
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
20 const D3DXVECTOR2& kMessageSize = pDialog->GetDimensions();
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
21 pDialog->SetPosition(0.5f * ((ScreenSizeX - 280) - kMessageSize.x), 0.5f * (ScreenSizeY - kMessageSize.y));
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
22 }
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
23
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
24 return Error_Success;
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
25 }
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
26
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
27 /*
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
28 * Terminate
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
29 */
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
30 void ConfirmScreen::Terminate()
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
31 {
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
32 kInterface.Terminate();
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
33
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
34 Screen::Terminate();
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
35 }
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
36
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
37 /*
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
38 * Update
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
39 */
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
40 void ConfirmScreen::Update(float fElapsed)
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
41 {
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
42 kInterface.Update(fElapsed);
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
43 }
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
44
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
45 /*
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
46 * Render
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
47 */
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
48 void ConfirmScreen::Render(RenderContext& kContext)
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
49 {
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
50 kCameraController.SetMode(CameraMode_2D);
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
51 kInterface.Render(kContext, kCameraController);
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
52 }
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
53
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
54 /*
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
55 * OnEnter
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
56 */
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
57 void ConfirmScreen::OnEnter()
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
58 {
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
59 pDialog->SetFlag(GuiElementFlag_Visible);
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
60 }
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
61
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
62 /*
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
63 * OnExit
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
64 */
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
65 void ConfirmScreen::OnExit()
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
66 {
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
67 pDialog->ClearFlag(GuiElementFlag_Visible);
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
68 }
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
69
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
70 /*
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
71 * OnResult
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
72 */
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
73 void ConfirmScreen::OnResult(GuiEventArguments& kArguments)
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
74 {
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
75 GuiResultArguments& kResultArguments = (GuiResultArguments&)kArguments;
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
76
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
77 if(kResultArguments.nResult == DialogResult_Yes)
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
78 {
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
79 pScreenManager->Set(NULL);
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
80 }
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
81 else
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
82
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
83 if(kResultArguments.nResult == DialogResult_No)
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
84 {
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
85 pScreenManager->Pop();
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
86 }
0574e2cf8bac Additional screen types
koryspansel
parents:
diff changeset
87 }