public void Add(ObjectPool objectPool) { foreach (ObjectClass objClass in objectPool.ObjectClasses.Values) { _registry[objClass.Id] = objectPool; _objectRegistry[objClass.Id] = objClass; } }
public ObjectInstance(ObjectPool objectPool, int id, int x, int y) { _objectPool = objectPool; Id = id; X = x; Y = y; }
internal Level(ContentReader reader) : this() { string levelName = reader.ReadString(); int originX = reader.ReadInt32(); int originY = reader.ReadInt32(); Width = reader.ReadInt32(); Height = reader.ReadInt32(); Properties = new PropertyCollection(reader); int tilesetCount = reader.ReadInt32(); for (int i = 0; i < tilesetCount; i++) { TileSet tileset = new TileSet(reader); _tileRegistry.Add(tileset); } int objectPoolCount = reader.ReadInt32(); for (int i = 0; i < objectPoolCount; i++) { //string asset = reader.ReadString(); //ObjectPool pool = reader.ContentManager.Load<ObjectPool>(asset); ObjectPool pool = new ObjectPool(reader); _objectRegistry.Add(pool); } int layerCount = reader.ReadInt32(); for (int i = 0; i < layerCount; i++) { string type = reader.ReadString(); switch (type) { case "TILE": _layers.Add(new TileLayer(reader, _tileRegistry)); break; case "OBJE": _layers.Add(new ObjectLayer(reader, _objectRegistry)); break; } } }
public ObjectClass(ObjectPool pool, int id, string name) { _objectPool = pool; Id = id; Name = name; }