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"
11
12using namespace Kisaragi_Lib;
13
14namespace Kisaragi_ECS
15{
16
17 using FilePass = std::string;
18
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
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}
DebugConsole�作クラス
Definition ResourceContainer.hpp:57
std::unordered_map< FilePass, ResourceID > passToId
Definition ResourceContainer.hpp:59
std::unordered_map< ResourceName, ResourceID > nameToId
Definition ResourceContainer.hpp:60
std::unordered_map< std::type_index, std::unordered_map< ResourceID, std::weak_ptr< ResourceInfo > > > resources
Definition ResourceContainer.hpp:63
std::unordered_map< std::type_index, std::unordered_map< ResourceID, std::shared_ptr< ResourceInfo > > > staticResources
Definition ResourceContainer.hpp:65
Definition ResourceContainer.hpp:20
static std::shared_ptr< ResourceInfo > ImageLoad(FilePass _img)
Definition ResourceContainer.hpp:21
static void PrintStatic(const std::string _in)
コンソール出力(改行��)
Definition Debug.cpp:137
static void PrintWarningStatic(const std::string _in)
警告用コンソール出力(文字色��変�ら��)
Definition Debug.cpp:147
Definition Resouce.hpp:8
std::string FilePass
Definition ResourceContainer.hpp:17
UINT32 ResourceID
Definition ResourceContainer.hpp:53
std::string ResourceName
Definition ResourceContainer.hpp:54
Definition Accessor.hpp:110