private void Initialize(BuildingDataset dataset) { if (dataset != null) { texture = game.Content.Load <Texture2D>(Path.Combine(@"Buildings", dataset.AssetName)); size = dataset.Size; color = Color.White; Doors = new Door[dataset.Doors.Length]; for (int doorIndex = 0; doorIndex < dataset.Doors.Length; doorIndex++) { var doorDataset = dataset.Doors[doorIndex]; Door door = new Door(game, this, doorDataset, mapContainedIn); Doors[doorIndex] = door; } world.WorldObjects.AddGameObjects(Doors); } else { Doors = new Door[0]; size = new Size(128, 64); texture = KhvGame.Temp; color = Color.Brown; } Collider = new BoxCollider(world, this); MapLocator mapLocator; Components.AddComponent(mapLocator = new MapLocator(world, this, mapContainedIn)); mapLocator.ContainingMapActive += new MapLocatorEventHandler(mapLocator_ContainedMapActive); mapLocator.ContainingMapChanged += new MapLocatorEventHandler(mapLocator_ContainedMapChanged); }
private void InitializeLocator() { MapLocator mapLocator = new MapLocator(world, this, MapContainedIn); mapLocator.ContainingMapActive += new MapLocatorEventHandler(mapLocator_ContainingMapActive); mapLocator.ContainingMapChanged += new MapLocatorEventHandler(mapLocator_ContainingMapChanged); Components.AddComponent(mapLocator); }