-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathObjectStorage.cs
More file actions
47 lines (36 loc) · 1.81 KB
/
ObjectStorage.cs
File metadata and controls
47 lines (36 loc) · 1.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using SkylinesPythonShared;
using SkylinesRemotePython.API;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SkylinesRemotePython
{
public class ObjectStorage
{
private ClientHandler _client;
[ThreadStatic]
public static ObjectStorage Instance;
public ObjectStorage(ClientHandler client)
{
_client = client;
Instance = this;
// feature - remove hardcoded limits
Nodes = new CitiesObjectStorage<NetNodeData, Node, uint>("node", new ArrayStorage<NetNodeData>(32768));
Buildings = new CitiesObjectStorage<BuildingData, Building, uint>("building", new ArrayStorage<BuildingData>(49152));
Segments = new CitiesObjectStorage<NetSegmentData, Segment, uint>("segment", new ArrayStorage<NetSegmentData>(36864));
Props = new CitiesObjectStorage<PropData, Prop, uint>("prop", new ArrayStorage<PropData>(65536));
Trees = new CitiesObjectStorage<TreeData, Tree, uint>("tree", new ArrayStorage<TreeData>(262144));
NetPrefabs = new CitiesObjectStorage<NetPrefabData, NetPrefab, string>("net prefab", new DictionaryStorage<string, NetPrefabData>());
NaturalResources = new NaturalResourcesManager(client);
}
public CitiesObjectStorage<NetNodeData, Node, uint> Nodes;
public CitiesObjectStorage<BuildingData, Building, uint> Buildings;
public CitiesObjectStorage<NetSegmentData, Segment, uint> Segments;
public CitiesObjectStorage<PropData, Prop, uint> Props;
public CitiesObjectStorage<TreeData, Tree, uint> Trees;
public CitiesObjectStorage<NetPrefabData, NetPrefab, string> NetPrefabs;
public NaturalResourcesManager NaturalResources;
}
}