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 std::string GetHash() const {
22 return m_hash;
23 }
24
25 virtual void SetHash(std::string& hash);
26
27 private:
28 void GenerateHashString();
29
30 private:
31 bool isUndestroyable = false;
32
33 protected:
34 std::string m_hash;
35
36 public:
37 friend class MemoryMgr;
38 };
39}