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 PythonEngine(ClientHandler client) { this.client = client; Instance = this; _engine = Python.CreateEngine(); _scope = _engine.CreateScope(); _cachedObjects = new ObjectStorage(client); _gameAPI = new GameAPI(client, _scope); _engineAPI = new EngineAPI(client); PrepareStaticLocals(); var outputStream = new MemoryStream(); var outputStreamWriter = new TcpStreamWriter(outputStream, client); _engine.Runtime.IO.SetOutput(outputStream, outputStreamWriter); }