KisaragiLibrary
èªã�¿å�–りä¸â€¦
検索ä¸â€¦
一致ã�™ã‚‹æ–‡å—列を見ã�¤ã�‘られã�¾ã�›ã‚“
ResourceContainer.hpp
[詳解]
1
#pragma once
2
3
#include <unordered_map>
4
#include <memory>
5
#include <typeindex>
6
#include <string>
7
#include <functional>
8
#include "DxLib.h"
9
#include "
Resouce.hpp
"
10
#include "
../../ConsoleDebug/Debug.hpp
"
11
12
using namespace
Kisaragi_Lib
;
13
14
namespace
Kisaragi_ECS
15
{
16
17
using
FilePass
= std::string;
18
19
class
ResourceLoader
20
{
21
static
std::shared_ptr<ResourceInfo>
ImageLoad
(
FilePass
_img)
22
{
23
24
std::shared_ptr<ResourceInfo> info;
25
26
int
image = LoadGraph(_img.c_str());
27
if
(image == -1)
28
{
29
Debug::PrintWarningStatic
(
"‰æ‘œƒtƒ@ƒCƒ‹‚ª“Ç‚Ý�ž‚߂܂¹‚ñ‚Å‚µ‚½"
);
30
31
//TODO info‚Énullimage‚ð‘ã“ü
32
}
33
else
34
{
35
info = std::make_shared<ResourceInfo>();
36
info->resource = std::make_shared<int>(image);
37
info->destroy = [image]()
38
{
39
int
reesult = DeleteGraph(image);
40
if
(reesult == -1)
41
{
42
Debug::PrintStatic
(
"image‚Ì�Á‹Ž‚ÉŽ¸”s‚µ‚Ü‚µ‚½"
);
43
}
44
};
45
}
46
47
return
info;
48
}
49
};
50
51
//Pass To Id‚ðŽ�‚½‚¹‚é
52
53
using
ResourceID
= UINT32;
54
using
ResourceName
= std::string;
55
56
class
ResourceContainer
57
{
58
private
:
59
std::unordered_map<FilePass, ResourceID>
passToId
;
60
std::unordered_map<ResourceName, ResourceID>
nameToId
;
61
62
//Resource”z—ñ
63
std::unordered_map<std::type_index, std::unordered_map<ResourceID, std::weak_ptr<ResourceInfo>>>
resources
;
64
65
std::unordered_map<std::type_index, std::unordered_map<ResourceID, std::shared_ptr<ResourceInfo>>>
staticResources
;
66
67
68
/*
69
* �ÓI”z—ñ
70
*
71
* shared_ptr<res>‚ð�Š—L‚·‚邱‚Æ‚Å�A‚Ç‚±‚©‚ç‚àŽQ�Æ‚³‚ê‚ĂȂ¢�ó‘Ô‚Å‚à•ÛŽ�‚·‚邿‚¤‚É‚·‚é�B
72
* ŠJ•ú‚ð�s‚Á‚½�ê�‡‚ÍŽ©�g‚Ì�Š—LŒ ‚ðŽè•ú‚µ�A“®“I‚ÈƒŠƒ\�[ƒX‚Ì�ó‘Ô‚É–ß‚·,
73
*/
74
75
};
76
}
Debug.hpp
DebugConsole�作クラス
Resouce.hpp
Kisaragi_ECS::ResourceContainer
Definition
ResourceContainer.hpp:57
Kisaragi_ECS::ResourceContainer::passToId
std::unordered_map< FilePass, ResourceID > passToId
Definition
ResourceContainer.hpp:59
Kisaragi_ECS::ResourceContainer::nameToId
std::unordered_map< ResourceName, ResourceID > nameToId
Definition
ResourceContainer.hpp:60
Kisaragi_ECS::ResourceContainer::resources
std::unordered_map< std::type_index, std::unordered_map< ResourceID, std::weak_ptr< ResourceInfo > > > resources
Definition
ResourceContainer.hpp:63
Kisaragi_ECS::ResourceContainer::staticResources
std::unordered_map< std::type_index, std::unordered_map< ResourceID, std::shared_ptr< ResourceInfo > > > staticResources
Definition
ResourceContainer.hpp:65
Kisaragi_ECS::ResourceLoader
Definition
ResourceContainer.hpp:20
Kisaragi_ECS::ResourceLoader::ImageLoad
static std::shared_ptr< ResourceInfo > ImageLoad(FilePass _img)
Definition
ResourceContainer.hpp:21
Kisaragi_Lib::Debug::PrintStatic
static void PrintStatic(const std::string _in)
コンソール出力(改行��)
Definition
Debug.cpp:137
Kisaragi_Lib::Debug::PrintWarningStatic
static void PrintWarningStatic(const std::string _in)
è¦å‘Šç”¨ã‚³ãƒ³ã‚½ãƒ¼ãƒ«å‡ºåŠ›(æ–‡å—色ã�—ã�‹å¤‰ã‚�らã�ªã�„)
Definition
Debug.cpp:147
Kisaragi_ECS
Definition
Resouce.hpp:8
Kisaragi_ECS::FilePass
std::string FilePass
Definition
ResourceContainer.hpp:17
Kisaragi_ECS::ResourceID
UINT32 ResourceID
Definition
ResourceContainer.hpp:53
Kisaragi_ECS::ResourceName
std::string ResourceName
Definition
ResourceContainer.hpp:54
Kisaragi_Lib
Definition
Accessor.hpp:110
src
ECS
Resource
ResourceContainer.hpp
構築:
1.13.2