CSEngine
Loading...
Searching...
No Matches
SObject.h
1#pragma once
2
3#include <string>
4
5namespace CSE {
6
7 class SObject {
8 public:
9
10 SObject();
11 explicit SObject(bool isRegister);
12
13 virtual ~SObject();
14
15 virtual void Exterminate() = 0;
16
17 virtual void SetUndestroyable(bool enable);
18
19 virtual void Destroy();
20
21 virtual void __FORCE_DESTROY__();
22
23 virtual std::string GenerateMeta();
24
25 std::string GetHash() const {
26 return m_hash;
27 }
28
29 virtual void SetHash(std::string& hash);
30
31 private:
32 void GenerateHashString();
33
34 private:
35 bool isUndestroyable = false;
36
37 protected:
38 std::string m_hash;
39
40 public:
41 friend class MemoryMgr;
42 };
43}