void CreateLandmarks() { plant = new PowerPlant(this); gasStation = new GasStation(this); CreateHangar(); Model shack = new Model("Shack"); (MainTerrain as TerrainVoxel).GetLandmarkTransform(MapLandmark.Docks, shack.Transformation, shack.GetMesh().GetBounds()); AddEntity("Shack", shack); InteractObject key = new InteractObject(null, "Key"); key.SetInteractNode(new PickupNode(key, PickupName.Key, "Key")); key.Transformation.SetPosition(shack.Transformation.GetPosition()); key.Transformation.SetRotation(shack.Transformation.GetRotation()); AddEntity("Key", key); SafeTrigger campTrigger = new SafeTrigger(); campTrigger.Transformation.SetPosition(shack.Transformation.GetPosition()); campTrigger.Transformation.SetScale(Vector3.One * 30); AddEntity("SafeTrigger", campTrigger); Model arena = new Model("Arena"); (MainTerrain as TerrainVoxel).GetLandmarkTransform(MapLandmark.Meadow, arena.Transformation, arena.GetMesh().GetBounds()); AddEntity("Arena", arena); Model windmill = new Model("Windmill"); (MainTerrain as TerrainVoxel).GetLandmarkTransform(MapLandmark.Windmill, windmill.Transformation, windmill.GetMesh().GetBounds()); AddEntity("Windmill", windmill); Model well = new Model("Well"); (MainTerrain as TerrainVoxel).GetLandmarkTransform(MapLandmark.Well, well.Transformation, well.GetMesh().GetBounds()); AddEntity("Well", well); Model tower = new Model("RadioTower"); (MainTerrain as TerrainVoxel).GetLandmarkTransform(MapLandmark.RadioTower, tower.Transformation, tower.GetMesh().GetBounds()); AddEntity("RadioTower", tower); CreateStartZone(); BoundingBox sandBounds = MainTerrain.Transformation.GetBounds(); sandBounds.Max.Y = 0; (MainTerrain as TerrainVoxel).SetUnavailableRegion(sandBounds); for (int i = 0; i < 50; i++) { Vector3 normalWeapon; Vector3 posWeapon; (MainTerrain as TerrainVoxel).GenerateRandomTransform(RandomHelper.RandomGen, out posWeapon, out normalWeapon); InteractObject weaponBox = new InteractObject(new WeaponBoxNode(this), "AmmoBox"); NormalTransform transform = new NormalTransform(); weaponBox.Transformation = transform; transform.ConformToNormal(normalWeapon); transform.SetPosition(posWeapon); AddEntity("WeaponBox", weaponBox); } sandBounds = MainTerrain.Transformation.GetBounds(); sandBounds.Max.Y = 16; (MainTerrain as TerrainVoxel).SetUnavailableRegion(sandBounds); }
public SwitchNode(PowerPlant plant, int bitFlag) { this.plant = plant; this.bitFlag = bitFlag; }