KisaragiLibrary
 
読��り中…
検索中…
一致�る文字列を見��られ��ん
Kisaragi_Resource.h
[詳解]
1#pragma once
2
3#include "Const.h"
4#include <string>
5#include <map>
7#include <DxLib.h>
8
9using std::string;
10using std::map;
11
12namespace Kisaragi_Lib
13{
14 namespace Resource
15 {
16
17 /// <summary>
18 /// 4•û‚Ì“§–¾•”•ª‚ðƒJƒbƒg‚µ‚½‚©‰æ‘œ‚ð•Û‘¶‚·‚é.
19 /// </summary>
20 /// <param name="_pass">‰æ‘œ‚̃pƒX</param>
21 /// <returns>‰æ‘œƒnƒ“ƒhƒ‹</returns>
22 int LoadAlphCutImg(string _pass);
23
25 {
26
27 };
28
29
30 /// <summary>
31 /// ƒtƒ@ƒCƒ‹ƒpƒX‚ÆKey‚ð‹L‰¯‚µƒŠƒ\�[ƒX‚ª‘¶�Ý‚·‚é‚©‚ð’T‚·.
32 /// </summary>
34 {
35 private:
36 //map<key,pass>
37 std::map<string, string>keyToPass;
38 //map<pass,key>
39 std::map<string, string>passToKey;
40
41 public:
42 /// <summary>
43 /// _key‚ª‘¶�Ý‚·‚é‚©Šm”F‚·‚é.
44 /// </summary>
45 /// <param name="_key">ŒŸ�õ‚·‚ékey</param>
46 /// <returns>true = ‘¶�Ý‚µ‚È‚¢. false = ‘¶�Ý‚·‚é
47 bool IsEmptyKey(string _key)
48 {
49 bool empty = true;
50 if (keyToPass.end() != keyToPass.find(_key))
51 {
52 empty = false;
53 }
54 return empty;
55 }
56
57 /// <summary>
58 /// _pass‚ª‘¶�Ý‚·‚é‚©ŒŸ�õ‚·‚é.
59 /// </summary>
60 /// <param name="_pass">ŒŸ�õ‚·‚éƒpƒX</param>
61 /// <returns>true = ‘¶�Ý‚µ‚È‚¢. false = ‘¶�Ý‚·‚é
62 bool IsEmptyPass(string _pass)
63 {
64 bool empty = true;
65 if (passToKey.end() != passToKey.find(_pass))
66 {
67 empty = false;
68 }
69 return empty;
70 }
71
72 /// <summary>
73 /// —v‘f‚̒ljÁ‚ð�s‚¤.�d•¡•s‰Â.
74 /// </summary>
75 /// <param name="_key">’ljÁ‚µ‚½‚¢Key</param>
76 /// <param name="_pass">’ljÁ‚µ‚½‚¢Pass</param>
77 /// <returns>’ljÁ‚ª�¬Œ÷‚µ‚½‚©‚Ç‚¤‚©</returns>
78 Result Add(string _key, string _pass)
79 {
80 //_key‚ª‘¶�Ý‚·‚é‚È‚ç‹A‚é
81 if (!IsEmptyKey(_key))
82 {
83 return FAIL;
84 }
85
86 //_pass‚ª�d•¡‚·‚é‚È‚ç‹A‚é
87 if (!IsEmptyPass(_pass))
88 {
89 return FAIL;
90 }
91
92 //map‚ɒljÁ.
93 keyToPass.emplace(_key, _pass);
94 passToKey.emplace(_pass, _key);
95
96 return SUCCESS;
97 }
98
99 /// <summary>
100 /// —v‘f‚Ì�í�œ‚ð�s‚¤.
101 /// </summary>
102 /// <param name="_key">�í�œ‚µ‚½‚¢—v‘f‚ÌKey</param>
103 /// <returns>�í�œ‚̉”Û
104 Result Remove(string _key)
105 {
106 //key‚ª‘¶�Ý‚µ‚È‚¢‚È‚ç
107 if (!IsEmptyKey(_key))
108 {
109 return FAIL;
110 }
111
112 passToKey.erase(KeyToPass(_key));
113 keyToPass.erase(_key);
114 return SUCCESS;
115 }
116
117 /// <summary>
118 /// Key‚ðƒpƒX‚ɕϊ·‚·‚é.
119 /// </summary>
120 /// <param name="_key">•ÏŠ·‚µ‚½‚¢key</param>
121 /// <returns>_key‚ɑΉž‚·‚éƒpƒX</returns>
122 string KeyToPass(const string _key)
123 {
124 return keyToPass[_key];
125 }
126
127 /// <summary>
128 /// ƒpƒX‚ðKey‚ɕϊ·‚·‚é.
129 /// </summary>
130 /// <param name="_pass">•ÏŠ·‚µ‚½‚¢ƒpƒX</param>
131 /// <returns>_pass‚ɑΉž‚·‚ékey</returns>
132 string PassToKey(const string _pass)
133 {
134 return passToKey[_pass];
135 }
136
137 void Reset()
138 {
139 keyToPass.clear();
140 passToKey.clear();
141 }
142 };
143
145 {
146 protected:
148
149 public:
151 {
152 return resourceFind;
153 }
154
155 virtual Result Add(const string _key, const string _pass) = 0;
156
157 virtual Result Remove(const string _key) = 0;
158
159 virtual void Reset() = 0;
160
161 };
162
163 //“¯Šú“Ç‚Ý�ž‚Ý�ê—p‚̉摜ƒŠƒ\�[ƒXƒNƒ‰ƒX
165 {
166 private:
167 map<string, int> imgData;
168
169 public:
170
171 Result Add(const string _key, const string _pass) override
172 {
173 int* tmp = new int();
174 *tmp = DxLib::LoadGraph(_pass.c_str());
175
176 if (*tmp == -1)
177 {
178 delete tmp;
179 return FAIL;
180 }
181
182
183 //key‚̒ljÁ‚ÉŽ¸”s
184 if (resourceFind.Add(_key, _pass) == FAIL)
185 {
186 delete tmp;
187 return FAIL;
188 }
189
190 imgData.emplace(_key, *tmp);
191
192 delete tmp;
193 return SUCCESS;
194 }
195
196 /// <summary>
197 /// 4•û‚Ì“§–¾‰Ó�Š‚ð�Ø‚èŽæ‚Á‚½‰æ‘œ‚ð’ljÁ‚µ‚Ü‚·.
198 /// </summary>
199 /// <param name="_key">‰æ‘œƒf�[ƒ^‚̃L�[</param>
200 /// <param name="_pass">‰æ‘œ‚̃pƒX</param>
201 /// <returns>ŠÖ�”‚Ì�¬”Û
202 Result Add_AlphaCut(const string _key, const string _pass)
203 {
204 int* tmp = new int();
205 *tmp = LoadAlphCutImg(_pass);
206
207 if (*tmp == -1)
208 {
209 delete tmp;
210 return FAIL;
211 }
212
213
214 //key‚̒ljÁ‚ÉŽ¸”s
215 if (resourceFind.Add(_key, _pass) == FAIL)
216 {
217 delete tmp;
218 return FAIL;
219 }
220
221 imgData.emplace(_key, *tmp);
222
223 delete tmp;
224 return SUCCESS;
225 }
226
227 int GetImg(const string _key)
228 {
229 if (imgData.count(_key) == 0)
230 {
231 return -1;
232 }
233
234 return imgData[_key];
235 }
236
237 Result Remove(const string _key) override
238 {
239 if (resourceFind.IsEmptyKey(_key) == false)
240 {
241 return FAIL;
242 }
243
244 resourceFind.Remove(_key);
245 DeleteGraph(imgData[_key]);
246
247 imgData.erase(_key);
248
249 return SUCCESS;
250 }
251
252 void Reset() override
253 {
254 imgData.clear();
255 resourceFind.Reset();
256 InitGraph();
257 }
258
259 };
260
261
262 ImgResource& GetImgResource();
263 }
264}
Result
��を表�.
Definition Const.h:8
@ FAIL
Definition Const.h:9
@ SUCCESS
Definition Const.h:10
Definition Kisaragi_Resource.h:165
void Reset() override
Definition Kisaragi_Resource.h:252
int GetImg(const string _key)
Definition Kisaragi_Resource.h:227
map< string, int > imgData
Definition Kisaragi_Resource.h:167
Result Add_AlphaCut(const string _key, const string _pass)
4•û‚Ì“§–¾‰Ó�Š‚ð�Ø‚èŽæ‚Á‚½‰æ‘œ‚ð’ljÁ‚µ‚Ü‚·.
Definition Kisaragi_Resource.h:202
Result Remove(const string _key) override
Definition Kisaragi_Resource.h:237
Result Add(const string _key, const string _pass) override
Definition Kisaragi_Resource.h:171
Definition Kisaragi_Resource.h:145
ResourceFind ResourceFind()
Definition Kisaragi_Resource.h:150
virtual Result Remove(const string _key)=0
ResourceFind resourceFind
Definition Kisaragi_Resource.h:147
virtual Result Add(const string _key, const string _pass)=0
Definition Kisaragi_Resource.h:25
ƒtƒ@ƒCƒ‹ƒpƒX‚ÆKey‚ð‹L‰¯‚µƒŠƒ\�[ƒX‚ª‘¶�Ý‚·‚é‚©‚ð’T‚·.
Definition Kisaragi_Resource.h:34
Result Remove(string _key)
—v‘f‚Ì�í�œ‚ð�s‚¤.
Definition Kisaragi_Resource.h:104
Result Add(string _key, string _pass)
—v‘f‚̒ljÁ‚ð�s‚¤.�d•¡•s‰Â.
Definition Kisaragi_Resource.h:78
std::map< string, string > passToKey
Definition Kisaragi_Resource.h:39
void Reset()
Definition Kisaragi_Resource.h:137
bool IsEmptyKey(string _key)
_key‚ª‘¶�Ý‚·‚é‚©Šm”F‚·‚é.
Definition Kisaragi_Resource.h:47
string KeyToPass(const string _key)
Key‚ðƒpƒX‚ɕϊ·‚·‚é.
Definition Kisaragi_Resource.h:122
bool IsEmptyPass(string _pass)
_pass‚ª‘¶�Ý‚·‚é‚©ŒŸ�õ‚·‚é.
Definition Kisaragi_Resource.h:62
string PassToKey(const string _pass)
ƒpƒX‚ðKey‚ɕϊ·‚·‚é.
Definition Kisaragi_Resource.h:132
std::map< string, string > keyToPass
Definition Kisaragi_Resource.h:37
Definition Kisaragi_Resource.cpp:6
int LoadAlphCutImg(string _pass)
4•û‚Ì“§–¾•”•ª‚ðƒJƒbƒg‚µ‚½‚©‰æ‘œ‚ð•Û‘¶‚·‚é.
Definition Kisaragi_Resource.cpp:12
ImgResource & GetImgResource()
Definition Kisaragi_Resource.cpp:130
Definition Accessor.hpp:110