Began work on the client

This commit is contained in:
2015-08-02 03:20:59 +10:00
parent aa9081d9cf
commit 0150dbb929
17 changed files with 299 additions and 244 deletions
+13 -9
View File
@@ -65,6 +65,10 @@ DisconnectedScreen::~DisconnectedScreen() {
//Frame loop
//-------------------------
void DisconnectedScreen::FrameStart() {
//
}
void DisconnectedScreen::Update() {
if (std::chrono::steady_clock::now() - startTick > std::chrono::duration<int>(10)) {
SetNextScene(SceneList::MAINMENU);
@@ -74,10 +78,14 @@ void DisconnectedScreen::Update() {
while(UDPNetworkUtility::GetSingleton().Receive());
}
void DisconnectedScreen::Render(SDL_Surface* const screen) {
void DisconnectedScreen::FrameEnd() {
//
}
void DisconnectedScreen::RenderFrame(SDL_Renderer* renderer) {
ConfigUtility& config = ConfigUtility::GetSingleton();
backButton.DrawTo(screen);
backButton.DrawTo(renderer);
font.DrawStringTo(config["client.disconnectMessage"], screen, 50, 30);
}
@@ -85,10 +93,6 @@ void DisconnectedScreen::Render(SDL_Surface* const screen) {
//Event handlers
//-------------------------
void DisconnectedScreen::QuitEvent() {
SetNextScene(SceneList::QUIT);
}
void DisconnectedScreen::MouseMotion(SDL_MouseMotionEvent const& motion) {
backButton.MouseMotion(motion);
}
@@ -98,15 +102,15 @@ void DisconnectedScreen::MouseButtonDown(SDL_MouseButtonEvent const& button) {
}
void DisconnectedScreen::MouseButtonUp(SDL_MouseButtonEvent const& button) {
if (backButton.MouseButtonUp(button) == Button::State::HOVER) {
SetNextScene(SceneList::MAINMENU);
if (backButton.MouseButtonUp(button) == Button::State::RELEASED) {
SetSceneSignal(SceneSignal::MAINMENU);
}
}
void DisconnectedScreen::KeyDown(SDL_KeyboardEvent const& key) {
switch(key.keysym.sym) {
case SDLK_ESCAPE:
SetNextScene(SceneList::MAINMENU);
SetSceneSignal(SceneSignal::MAINMENU);
break;
}
}
+14 -15
View File
@@ -23,7 +23,6 @@
//graphics
#include "image.hpp"
#include "raster_font.hpp"
#include "button.hpp"
//client
@@ -38,24 +37,24 @@ public:
DisconnectedScreen();
~DisconnectedScreen();
protected:
//Frame loop
void Update();
void Render(SDL_Surface* const);
void RenderFrame(SDL_Renderer* renderer) override;
//Event handlers
void QuitEvent();
void MouseMotion(SDL_MouseMotionEvent const&);
void MouseButtonDown(SDL_MouseButtonEvent const&);
void MouseButtonUp(SDL_MouseButtonEvent const&);
void KeyDown(SDL_KeyboardEvent const&);
void KeyUp(SDL_KeyboardEvent const&);
protected:
//frame phases
void FrameStart() override;
void Update() override;
void FrameEnd() override;
//input events
void MouseMotion(SDL_MouseMotionEvent const& event) override;
void MouseButtonDown(SDL_MouseButtonEvent const& event) override;
void MouseButtonUp(SDL_MouseButtonEvent const& event) override;
void MouseWheel(SDL_MouseWheelEvent const& event) override;
void KeyDown(SDL_KeyboardEvent const& event) override;
void KeyUp(SDL_KeyboardEvent const& event) override;
//graphics
Image image;
RasterFont font;
//UI
Button backButton;
//auto return
+9 -5
View File
@@ -99,13 +99,13 @@ void LobbyMenu::FrameEnd() {
//
}
void LobbyMenu::Render(SDL_Surface* const screen) {
void ExampleScene::RenderFrame(SDL_Renderer* renderer) {
//TODO: (2) I need a proper UI system for the entire client and the editor
//UI
search.DrawTo(screen);
join.DrawTo(screen);
back.DrawTo(screen);
search.DrawTo(renderer);
join.DrawTo(renderer);
back.DrawTo(renderer);
//TODO: (3) draw headers for the server list
//TODO: (3) ping/delay displayed in the server list
@@ -173,10 +173,14 @@ void LobbyMenu::MouseButtonUp(SDL_MouseButtonEvent const& button) {
}
}
void LobbyMenu::MouseWheel(SDL_MouseWheelEvent const& event) {
//
}
void LobbyMenu::KeyDown(SDL_KeyboardEvent const& key) {
switch(key.keysym.sym) {
case SDLK_ESCAPE:
SetNextScene(SceneList::MAINMENU);
SetSceneSignal(SceneSignal::MAINMENU);
break;
}
}
+14 -14
View File
@@ -23,7 +23,6 @@
//graphics & ui
#include "image.hpp"
#include "raster_font.hpp"
#include "button.hpp"
#include "bounding_box.hpp"
@@ -44,19 +43,21 @@ public:
LobbyMenu(int* const argClientIndex, int* const argAccountIndex);
~LobbyMenu();
protected:
//Frame loop
void FrameStart();
void Update();
void FrameEnd();
void Render(SDL_Surface* const);
void RenderFrame(SDL_Renderer* renderer) override;
//Event handlers
void MouseMotion(SDL_MouseMotionEvent const&);
void MouseButtonDown(SDL_MouseButtonEvent const&);
void MouseButtonUp(SDL_MouseButtonEvent const&);
void KeyDown(SDL_KeyboardEvent const&);
void KeyUp(SDL_KeyboardEvent const&);
protected:
//frame phases
void FrameStart() override;
void Update() override;
void FrameEnd() override;
//input events
void MouseMotion(SDL_MouseMotionEvent const& event) override;
void MouseButtonDown(SDL_MouseButtonEvent const& event) override;
void MouseButtonUp(SDL_MouseButtonEvent const& event) override;
void MouseWheel(SDL_MouseWheelEvent const& event) override;
void KeyDown(SDL_KeyboardEvent const& event) override;
void KeyUp(SDL_KeyboardEvent const& event) override;
//Network handlers
void HandlePacket(SerialPacket* const);
@@ -79,7 +80,6 @@ protected:
//members
Image image;
RasterFont font;
Button search;
Button join;
Button back;
+14 -14
View File
@@ -24,7 +24,6 @@
#include "base_scene.hpp"
#include "image.hpp"
#include "raster_font.hpp"
#include "button.hpp"
class MainMenu : public BaseScene {
@@ -33,23 +32,24 @@ public:
MainMenu();
~MainMenu();
protected:
//Frame loop
void FrameStart();
void Update();
void FrameEnd();
void Render(SDL_Surface* const);
void RenderFrame(SDL_Renderer* renderer) override;
//Event handlers
void MouseMotion(SDL_MouseMotionEvent const&);
void MouseButtonDown(SDL_MouseButtonEvent const&);
void MouseButtonUp(SDL_MouseButtonEvent const&);
void KeyDown(SDL_KeyboardEvent const&);
void KeyUp(SDL_KeyboardEvent const&);
protected:
//frame phases
void FrameStart() override;
void Update() override;
void FrameEnd() override;
//input events
void MouseMotion(SDL_MouseMotionEvent const& event) override;
void MouseButtonDown(SDL_MouseButtonEvent const& event) override;
void MouseButtonUp(SDL_MouseButtonEvent const& event) override;
void MouseWheel(SDL_MouseWheelEvent const& event) override;
void KeyDown(SDL_KeyboardEvent const& event) override;
void KeyUp(SDL_KeyboardEvent const& event) override;
//members
Image image;
RasterFont font;
Button startButton;
Button optionsButton;
Button quitButton;
+14 -14
View File
@@ -24,7 +24,6 @@
#include "base_scene.hpp"
#include "image.hpp"
#include "raster_font.hpp"
#include "button.hpp"
//NOTE: The options screen needs to be USED
@@ -34,22 +33,23 @@ public:
OptionsMenu();
~OptionsMenu();
protected:
//Frame loop
void FrameStart();
void Update();
void FrameEnd();
void Render(SDL_Surface* const);
void RenderFrame(SDL_Renderer* renderer) override;
//Event handlers
void MouseMotion(SDL_MouseMotionEvent const&);
void MouseButtonDown(SDL_MouseButtonEvent const&);
void MouseButtonUp(SDL_MouseButtonEvent const&);
void KeyDown(SDL_KeyboardEvent const&);
void KeyUp(SDL_KeyboardEvent const&);
private:
//frame phases
void FrameStart() override;
void Update() override;
void FrameEnd() override;
//input events
void MouseMotion(SDL_MouseMotionEvent const& event) override;
void MouseButtonDown(SDL_MouseButtonEvent const& event) override;
void MouseButtonUp(SDL_MouseButtonEvent const& event) override;
void MouseWheel(SDL_MouseWheelEvent const& event) override;
void KeyDown(SDL_KeyboardEvent const& event) override;
void KeyUp(SDL_KeyboardEvent const& event) override;
//members
Image image;
RasterFont font;
Button backButton;
};
+6 -4
View File
@@ -40,12 +40,14 @@ SplashScreen::~SplashScreen() {
//Frame loop
//-------------------------
void SplashScreen::Update() {
void SplashScreen::FrameStart() {
if (std::chrono::steady_clock::now() - startTick > std::chrono::duration<int>(1)) {
SetNextScene(SceneList::MAINMENU);
SetSceneSignal(SceneSignal::MAINMENU);
}
}
void SplashScreen::Render(SDL_Surface* const screen) {
logo.DrawTo(screen, (screen->w - logo.GetClipW()) / 2, (screen->h - logo.GetClipH()) / 2);
void SplashScreen::RenderFrame(SDL_Renderer* renderer) {
int w = 0, h = 0;
SDL_GetLogicalSize(renderer, &w, &h);
logo.DrawTo(renderer, (w - logo.GetClipW()) / 2, (h - logo.GetClipH()) / 2);
}
+4 -3
View File
@@ -33,10 +33,11 @@ public:
SplashScreen();
~SplashScreen();
protected:
void RenderFrame(SDL_Renderer* renderer) override;
private:
//Frame loop
void Update();
void Render(SDL_Surface* const);
void FrameStart() override;
//members
std::chrono::steady_clock::time_point startTick;