Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }