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 infonullimage
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("imagȅɎ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 //Resourcez
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 * ÓIz
70 *
71 * shared_ptr<res>L邱ƂŁAǂQƂĂȂԂłێ悤ɂB
72 * Jsꍇ͎g̏LAIȃ\[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