bool antialias() const;
std::string host() const;
int port() const;
+
int max_script_execution_time() const;
int max_local_storage_size() const;
bool upnp() const;
current_scene_) {
InputManager::Update();
+ InputManager input;
+
+ current_scene_->ProcessInput(&input);
current_scene_->Update();
current_scene_->Draw();
#include "DxLib.h"
#include <memory>
#include "../../common/unicode.hpp"
+#include "../InputManager.hpp"
namespace scene {
class Base;
typedef std::shared_ptr<Base> BasePtr;
-class Base {
+class Base : public std::enable_shared_from_this<Base> {
public:
virtual ~Base();
virtual void Begin() = 0;
virtual void Update() = 0;
+ virtual void ProcessInput(InputManager*) = 0;
virtual void Draw() = 0;
virtual void End() = 0;
virtual BasePtr NextScene() {return BasePtr();};
break;
}
- InputManager input;
- button_.ProcessInput(&input);
button_.Update();
button_label_.Update();
message_.Update();
}
+void Connect::ProcessInput(InputManager* input)
+{
+ button_.ProcessInput(input);
+}
+
void Connect::Draw()
{
int width, height;
~Connect();
void Begin();
void Update();
+ void ProcessInput(InputManager*);
void Draw();
void End();
BasePtr NextScene();
void Begin();
void Update();
void Draw();
+ void ProcessInput(InputManager*);
void End();
BasePtr NextScene();
void AsyncInitialize();
private:
- ManagerAccessorPtr manager_accesor_;
+ ManagerAccessorPtr manager_accessor_;
ConfigManagerPtr config_manager_;
CardManagerPtr card_manager_;
AccountManagerPtr account_manager_;
//
#include "MainLoop.hpp"
+#include "Option.hpp"
#include <vector>
#include <algorithm>
#include "../ResourceManager.hpp"
void MainLoop::Update()
{
command_manager_->Update();
-
- InputManager input;
-
- inputbox_.ProcessInput(&input);
inputbox_.Update();
-
- player_manager_->ProcessInput(&input);
player_manager_->Update();
-
- card_manager_->ProcessInput(&input);
card_manager_->Update();
-
- minimap_.ProcessInput(&input);
minimap_.Update();
-
- world_manager_->ProcessInput(&input);
world_manager_->Update();
-
}
-void MainLoop::Draw()
+void MainLoop::ProcessInput(InputManager* input)
{
- world_manager_->Draw();
- player_manager_->Draw();
- card_manager_->Draw();
- inputbox_.Draw();
- minimap_.Draw();
-
- InputManager input;
+ inputbox_.ProcessInput(input);
+ player_manager_->ProcessInput(input);
+ card_manager_->ProcessInput(input);
+ minimap_.ProcessInput(input);
+ world_manager_->ProcessInput(input);
- ProcessInput(&input);
-}
-
-void MainLoop::End()
-{
-}
-
-void MainLoop::ProcessInput(InputManager *input)
-{
if(input->GetKeyCount(InputManager::KEYBIND_SCREEN_SHOT) > 0 && !inputbox_.IsActive())
{
TCHAR tmp_str[MAX_PATH];
}
}
+void MainLoop::Draw()
+{
+ world_manager_->Draw();
+ player_manager_->Draw();
+ card_manager_->Draw();
+ inputbox_.Draw();
+ minimap_.Draw();
+}
+
+void MainLoop::End()
+{
+}
+
BasePtr MainLoop::NextScene()
{
+ InputManager input;
if(world_manager_->stage()->host_change_flag())
{
//account_manager_->set_host(world_manager_->stage()->host_change_flag().second);
void Begin();
void Update();
void Draw();
+ void ProcessInput(InputManager*);
void End();
BasePtr NextScene();
private:
std::function<void(const tstring&)> push_message_;
- void ProcessInput(InputManager *input);
private:
// アクセサ
--- /dev/null
+//
+// Option.cpp
+//
+
+#include "Option.hpp"
+
+namespace scene {
+
+Option::Option(const ManagerAccessorPtr& manager_accessor,
+ const BasePtr& background_scene) :
+ manager_accesor_(manager_accessor),
+ config_manager_(manager_accessor->config_manager().lock()),
+ card_manager_(manager_accessor->card_manager().lock()),
+ account_manager_(manager_accessor->account_manager().lock()),
+ background_scene_(background_scene),
+ start_count_(0)
+{
+ manager_accesor_->set_config_manager(config_manager_);
+ manager_accesor_->set_card_manager(card_manager_);
+ manager_accesor_->set_account_manager(account_manager_);
+
+}
+
+Option::~Option()
+{
+}
+
+void Option::Begin()
+{
+
+}
+
+void Option::Update()
+{
+ start_count_++;
+ if (background_scene_) {
+ background_scene_->Update();
+ }
+}
+
+void Option::ProcessInput(InputManager* input)
+{
+
+}
+
+void Option::Draw()
+{
+ if (background_scene_) {
+ background_scene_->Draw();
+ }
+
+ int width, height;
+ GetScreenState(&width, &height, nullptr);
+ SetDrawBlendMode(DX_BLENDMODE_ALPHA, 200);
+ DrawBox(0, 0, width, height, GetColor(157, 212, 187), TRUE);
+ SetDrawBlendMode(DX_BLENDMODE_NOBLEND, 0);
+}
+
+void Option::End()
+{
+
+}
+
+BasePtr Option::NextScene()
+{
+ if (start_count_ > 30) {
+ return background_scene_;
+ } else {
+ return BasePtr();
+ }
+}
+
+}
\ No newline at end of file
--- /dev/null
+//
+// Option.hpp
+//
+
+#pragma once
+
+#include "Base.hpp"
+#include "../ManagerHeader.hpp"
+#include "../ManagerAccessor.hpp"
+
+namespace scene {
+class Option : public Base {
+
+ public:
+ Option(const ManagerAccessorPtr& manager_accessor,
+ const BasePtr& background_scene);
+ ~Option();
+ void Begin();
+ void Update();
+ void ProcessInput(InputManager*);
+ void Draw();
+ void End();
+ BasePtr NextScene();
+
+ private:
+ void AsyncInitialize();
+
+ private:
+ ManagerAccessorPtr manager_accesor_;
+ ConfigManagerPtr config_manager_;
+ CardManagerPtr card_manager_;
+ AccountManagerPtr account_manager_;
+
+ BasePtr background_scene_;
+
+ int start_count_;
+};
+}
\ No newline at end of file
{
}
+void ServerChange::ProcessInput(InputManager* input)
+{
+
+}
+
void ServerChange::Draw()
{
}
~ServerChange();
void Begin();
void Update();
+ void ProcessInput(InputManager*);
void Draw();
void End();
BasePtr NextScene();
~Title();
void Begin();
void Update();
+ void ProcessInput(InputManager*);
void Draw();
void End();
BasePtr NextScene();
body = buffer.substr(sizeof(header));\r
}\r
\r
+ // 復号\r
+ if (session.lock() && header == header::ENCRYPT_HEADER) {\r
+ body.erase(0, sizeof(header));\r
+ body = session.lock()->encrypter().Decrypt(body);\r
+ Utils::Deserialize(body, &header);\r
+ body = buffer.substr(sizeof(header));\r
+ }\r
+\r
if (header == network::header::ServerRequstedStatus) {\r
SendUDP(GetStatusJSON(), endpoint);\r
} else {\r