KisaragiLibrary
 
読み取り中…
検索中…
一致する文字列を見つけられません
KisaragiFacade.h
[詳解]
1#pragma once
2#include "DxLib.h"
3#include <string>
4#include "Const.h"
6#include "GameObj.hpp"
7#include "ImgComponent.hpp"
8#include "Kisaragi_Resource.h"
9#include "Input/KeyInput.hpp"
10#include "ComponentFacade.hpp"
11#include "View.hpp"
12#include "Input/MouseInput.hpp"
14#include "KisaragiFacade.h"
15#include "Sound/Sound.hpp"
17
18#include "EngineSystem/FPS.hpp"
19
20using namespace Kisaragi_Lib::GameObj;
21using namespace Kisaragi_Lib::ImgComponent;
22using namespace Kisaragi_Lib;
23
24
25using string = std::string;
26
27/// <summary>
28/// KisaragiLibの設定用構造体.
29/// </summary>
31{
32 bool LogValidFlag; /*ログ出力*/
33 string mainWindowText; /*タイトル*/
34 unsigned int windowWidth; //ウィンドウサイズ(幅)
35 unsigned int windowHeigth; //ウィンドウサイズ(高さ).
36 unsigned int windowColorBit; //ウィンドウのカラービット
37 bool windowMode; //ウィンドウモードにするか.
38 bool waitVSyncFlag; //垂直同期を行うか.
39 unsigned int fps; //最大FPS
40 bool isMouseDisp; //マウスを表示するか
41 //TODO fpsにセッタをつけてもいいと思う
42
44 windowMode(TRUE), waitVSyncFlag(FALSE),fps(unsigned int(60)), isMouseDisp(true){};
45};
46
47/// <summary>
48/// KisaragiLibの受付クラス
49/// </summary>
51{
52public:
53 //初期化処理.
55 {
56 //既に初期化処理を行っている
57 if (isInit)
58 {
59 return FAIL;
60 }
61
62 table = _table;
63
64 SetOutApplicationLogValidFlag(_table.LogValidFlag); /*log*/
65 SetMainWindowText(_table.mainWindowText.c_str()); /*タイトル*/
66 SetGraphMode(_table.windowWidth, _table.windowHeigth, _table.windowColorBit); //ウィンドウサイズとカラービット数の指定
67 ChangeWindowMode(_table.windowMode); //ウィンドウモードをON
68 SetWaitVSyncFlag(_table.waitVSyncFlag); //垂直同期を行う
70
71 SetDrawScreen(DX_SCREEN_BACK); //裏画面へ描画(ダブルバッファ)
72
73
74 if (DxLib_Init() == -1)
75 {
76 return FAIL; //DXライブラリの初期化、エラーで終了
77 }
78
79 SetMouseDispFlag(_table.isMouseDisp);
80
81 isInit = true;
82
83
84 //先に生成だけしておく
85
91
92
93 SetDrawMode(DX_DRAWMODE_BILINEAR);
94
95
96 return SUCCESS;
97 }
98
100 {
101 Finalize();
102 }
103
104 const unsigned int& WindowWidth()
105 {
106 return table.windowWidth;
107 }
108
109 const unsigned int& WindowHeigth()
110 {
111 return table.windowHeigth;
112 }
113
118
119 void MainRoop()
120 {
121 //ゲームループ
122 while (ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0) {
123
124 //Key入力を受け取る.
126
128
130
132
133 //GameObjectのUpdateを実行する
134 gameObj.MessageUpdate();
135
136 //描画処理(旧版)
137 //GetLayerFacade().Draw();
138
139 //描画処理(新版)
141
142
143
144
145 //GameObject破棄
146 gameObj.Destroy();
147
148 //Component破棄
150
151 //GameObjectに登録されたComponnet配列の要素を解放.
153
154 //fps更新
156 }
157
159 }
160
161 //派生クラスでプライベートになる
162protected:
163
164 bool isInit = false;
165
167
169
170
171 //終了処理.
172 void Finalize()
173 {
174 DxLib_End(); //DXライブラリの終了処理
175 }
176};
177
178
Result
成否を表す.
Definition Const.h:8
@ FAIL
Definition Const.h:9
@ SUCCESS
Definition Const.h:10
KisaragiFacade & GetKisaragiFacadeInst()
Definition KisaragiFacade.h:179
std::string string
Definition KisaragiFacade.h:25
物理挙動を操作するコンポーネントRigidBody2Dを提供します
static void Collision()
Definition BoxCollisionFacade.cpp:28
void Destroy()
コンポーネントを破棄する.
Definition ComponentFacade.hpp:101
static void Init()
Definition Sound.cpp:41
static void FPSUpdate()
Definition FPS.cpp:163
static void CreateFpsControl(const int &_fps)
Definition FPS.cpp:158
Definition GameObj.hpp:123
void MessageRemoveComponent()
Definition GameObj.cpp:112
void KeyCheck()
Key入力を取得する
Definition KeyInput.hpp:209
static void InputCheck()
Definition MouseInput.cpp:131
static void Update()
Definition RigidBody2D.cpp:51
static void finalize()
o^ꂽFinalizes.
Definition Singleton.cpp:35
static T & GetInstance()
T^̃CX^X擾.
Definition Singleton.hpp:39
KisaragiLibの受付クラス
Definition KisaragiFacade.h:51
~KisaragiFacade()
Definition KisaragiFacade.h:99
void Finalize()
Definition KisaragiFacade.h:172
bool isInit
Definition KisaragiFacade.h:164
GameObjectFacade & gameObj
Definition KisaragiFacade.h:168
KisaragiFacadeTable table
Definition KisaragiFacade.h:166
void KisaragiLibEnd()
Definition KisaragiFacade.h:114
const unsigned int & WindowHeigth()
Definition KisaragiFacade.h:109
const unsigned int & WindowWidth()
Definition KisaragiFacade.h:104
Result Initialize(const KisaragiFacadeTable &_table)
Definition KisaragiFacade.h:54
void MainRoop()
Definition KisaragiFacade.h:119
Definition ComponentBase.hpp:13
GameObjectFacade & GetGameObjectFacade()
Definition GameObj.cpp:45
Definition ImgComponent.cpp:8
LayerFacade & GetLayerFacade()
Definition ImgComponent.cpp:30
ImgResource & GetImgResource()
Definition Kisaragi_Resource.cpp:130
Definition Accessor.hpp:110
KeyInput & GetKeyInput()
Definition KeyInput.hpp:295
ComponentFacade & GetComponentFacade()
Definition ComponentFacade.cpp:5
KisaragiLibの設定用構造体.
Definition KisaragiFacade.h:31
KisaragiFacadeTable()
Definition KisaragiFacade.h:43
bool windowMode
Definition KisaragiFacade.h:37
unsigned int windowWidth
Definition KisaragiFacade.h:34
bool isMouseDisp
Definition KisaragiFacade.h:40
string mainWindowText
Definition KisaragiFacade.h:33
unsigned int windowHeigth
Definition KisaragiFacade.h:35
bool waitVSyncFlag
Definition KisaragiFacade.h:38
unsigned int windowColorBit
Definition KisaragiFacade.h:36
unsigned int fps
Definition KisaragiFacade.h:39
bool LogValidFlag
Definition KisaragiFacade.h:32