forked from K0lb3/UnityPy
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathResourceManager.py
More file actions
23 lines (20 loc) · 793 Bytes
/
ResourceManager.py
File metadata and controls
23 lines (20 loc) · 793 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from .Object import Object
from .PPtr import PPtr, save_ptr
from ..streams import EndianBinaryReader, EndianBinaryWriter
class ResourceManager(Object):
def __init__(self, reader):
super().__init__(reader)
m_ContainerSize = reader.read_int()
self.m_Container = {
reader.read_aligned_string(): PPtr(reader)
for _ in range(m_ContainerSize)
}
def save(self, writer: EndianBinaryWriter = None):
if not writer:
writer = EndianBinaryWriter(endian=self.reader.endian)
super().save(writer, intern_call=True)
writer.write_int(len(self.m_Container))
for key, val in self.m_Container.items():
writer.write_aligned_string(key)
save_ptr(val, writer)
return writer