AireEngine
A 3D Open-World Game Engine
Loading...
Searching...
No Matches
resource.h
1#pragma once
2#ifndef _resource_H_
3
4#include<string>
5
6namespace Aire {
7
8 typedef size_t ResourceHandle;
9
10 using std::string;
11
13 enum ResourceState
14 {
16 LOAD_FROM_DISK_TO_MEMORY,
18 LOAD_IN_GPU,
20 LOAD_IN_GPU_FREE_CPU,
22 FREE
23 };
24
26 class Resource {
27
28
29 protected:
30 ResourceState resourceState;
31 public:
32 //Resource(ResourceManager* creator, const string& Name, ResourceHandle a);
33
35 Resource();
36
38 virtual ~Resource();
39
40 //TODO add any other attribute if we need.
41
43 virtual uint32_t getSize() = 0;
44
46 bool isLoadToGpu();
47
49 ResourceState getState();
50
53 void setState(ResourceState state);
54 };
55}
56#endif // _resource_H_
A base resource class.
Definition resource.h:26
virtual ~Resource()
Default destructor.
Definition resource.cpp:13
ResourceState getState()
Definition resource.cpp:28
bool isLoadToGpu()
Definition resource.cpp:18
virtual uint32_t getSize()=0
void setState(ResourceState state)
Definition resource.cpp:23
Resource()
Default constructor.
Definition resource.cpp:4