public EditLocationsGuiSet(Game _game, UserInput _keyboard, EditorLevel _editor) : base(_game, _keyboard, _editor) { exitButton = NewButton("Back", 0, Exit); label = NewLabel("Add:", 8); addBoxButton = NewButton("Box", 7, () => AddBox("box"+(locationCount++))); addPointButton = NewButton("Point", 6, () => AddPoint("point"+(locationCount++))); setEndLocationButton = NewButton("End zone", 10, () => AddBox(endzone)); setStartLocationButton = NewButton("StartPoint", 11, () => AddPoint(startpoint)); deleteButton = NewButton("Delete", 4, Delete); locationLabel = NewTextBox("Location label", "", 2); BoxDescription endzoneDesc = m_editor.Map.locationData.end; if (endzoneDesc != null && endzoneDesc.box != null) { makeBox(endzoneDesc.name, endzoneDesc.box); } PointDescription startpointDesc = m_editor.Map.locationData.start; if (startpointDesc != null && startpointDesc.point != null) { makePoint(startpointDesc.name, startpointDesc.point); } boxes2boxes.Clear(); foreach (BoxDescription box in m_editor.Map.locationData.boxes) { var rBox = makeBox(box.name, box.box); boxes2boxes.Add(rBox, box); } points2points.Clear(); foreach (PointDescription point in m_editor.Map.locationData.points) { var mPoint = makePoint(point.name, point.point); points2points.Add(mPoint, point); } }
public EditorTooltipActor(EditorLevel level) : base(level, ActorType.Tooltip, level.getUnusedActorId()) { _position = level.controller.worldMouse; _radius = 1f; _message = "Default Message"; }
public EditorTooltipActor(EditorLevel level, XElement data) : base(level, data) { _position = Loader.loadVector2(data.Attribute("position"), Vector2.Zero); _radius = Loader.loadFloat(data.Attribute("radius"), 1f); _message = Loader.loadString(data.Attribute("message"), "Default Message"); }
public static double ParseReconditioningFormula(BuildListVessel vessel, bool isReconditioning) { double loadedMass, emptyMass, loadedCost, emptyCost; loadedCost = vessel.Cost; emptyCost = vessel.EmptyCost; loadedMass = vessel.GetTotalMass(); emptyMass = vessel.EmptyMass; float LaunchSiteLvl; int EditorLevel, EditorMax, LaunchSiteMax; int isVABVessel = 0; if (vessel.Type == BuildListVessel.ListType.VAB) { EditorLevel = Utilities.GetBuildingUpgradeLevel(SpaceCenterFacility.VehicleAssemblyBuilding); LaunchSiteLvl = KCTGameStates.ActiveKSC.ActiveLPInstance.fractionalLevel; EditorMax = Utilities.GetBuildingUpgradeMaxLevel(SpaceCenterFacility.VehicleAssemblyBuilding); LaunchSiteMax = Utilities.GetBuildingUpgradeMaxLevel(SpaceCenterFacility.LaunchPad); isVABVessel = 1; } else { EditorLevel = Utilities.GetBuildingUpgradeLevel(SpaceCenterFacility.SpaceplaneHangar); LaunchSiteLvl = Utilities.GetBuildingUpgradeLevel(SpaceCenterFacility.Runway); EditorMax = Utilities.GetBuildingUpgradeMaxLevel(SpaceCenterFacility.SpaceplaneHangar); LaunchSiteMax = Utilities.GetBuildingUpgradeMaxLevel(SpaceCenterFacility.Runway); } double BP = vessel.BuildPoints; double OverallMult = PresetManager.Instance.ActivePreset.TimeSettings.OverallMultiplier; double ReconEffect = PresetManager.Instance.ActivePreset.TimeSettings.ReconditioningEffect; double MaxRecon = PresetManager.Instance.ActivePreset.TimeSettings.MaxReconditioning; var variables = new Dictionary <string, string> { { "M", loadedMass.ToString() }, { "m", emptyMass.ToString() }, { "C", loadedCost.ToString() }, { "c", emptyCost.ToString() }, { "VAB", isVABVessel.ToString() }, { "BP", BP.ToString() }, { "L", LaunchSiteLvl.ToString() }, { "LM", LaunchSiteMax.ToString() }, { "EL", EditorLevel.ToString() }, { "ELM", EditorMax.ToString() }, { "O", OverallMult.ToString() }, { "E", ReconEffect.ToString() }, { "X", MaxRecon.ToString() }, { "RE", (isReconditioning ? 1 : 0).ToString() }, { "S", PresetManager.Instance.ActivePreset.TimeSettings.RolloutReconSplit.ToString() }, { "SN", vessel.NumStages.ToString() }, { "SP", vessel.NumStageParts.ToString() }, { "SC", vessel.StagePartCost.ToString() } }; AddCrewVariables(variables); return(GetStandardFormulaValue("Reconditioning", variables)); }
public EditorItemActor(EditorLevel level, XElement data) : base(level, data) { _position = Loader.loadVector2(data.Attribute("position"), Vector2.Zero); _itemUID = data.Attribute("item_uid").Value; _quantity = Loader.loadInt(data.Attribute("quantity"), 1); _currentRangeLimit = Loader.loadFloat(data.Attribute("current_range_limit"), 10f); }
public EditorItemActor(EditorLevel level, string itemUID) : base(level, ActorType.Item, level.controller.getUnusedActorID()) { _itemUID = itemUID; _quantity = 1; _currentRangeLimit = 10; _position = level.controller.worldMouse; }
// loadLevel public void loadLevel(string filePath) { using (FileStream fileStream = new FileStream(filePath, FileMode.Open)) { XElement data = XElement.Load(fileStream); _level = new EditorLevel(this, data); } }
public EditorDecalActor(EditorLevel level, XElement data) : base(level, data) { _position = Loader.loadVector2(data.Attribute("position"), Vector2.Zero); _decalType = Loader.loadString(data.Attribute("decal_type"), "default_decal"); textureUid = Loader.loadString(data.Attribute("texture_uid"), "default"); _origin = Loader.loadVector2(data.Attribute("origin"), Vector2.Zero); _angle = Loader.loadFloat(data.Attribute("angle"), 0f); }
public EditorRopeActor(EditorLevel level, XElement data) : base(level, data) { _doubleAnchor = Loader.loadBool(data.Attribute("double_anchor"), false); _ropeMaterialUID = Loader.loadString(data.Attribute("rope_material_uid"), "default_rope_material"); _nodeA = new PointListNode(Loader.loadVector2(data.Attribute("point_a"), Vector2.Zero)); _nodeB = new PointListNode(Loader.loadVector2(data.Attribute("point_b"), Vector2.Zero)); _selectedPoints = new List<PointListNode>(); }
public EditorDecalActor(EditorLevel level) : base(level, ActorType.Decal, level.controller.getUnusedActorID()) { _position = level.controller.worldMouse; _decalType = "default_decal"; textureUid = "default"; _origin = Vector2.Zero; _angle = 0f; }
public EditorCollisionFilterActor(EditorLevel level) : base(level, ActorType.CollisionFilter, level.getUnusedActorId()) { Vector2 worldMouse = _level.controller.worldMouse; _selectedPoints = new List<PointListNode>(); initializeControls(worldMouse + new Vector2(0f, -0.5f), worldMouse + new Vector2(0f, 0.5f)); _selectedPoints.Add(_nodeA); _selectedPoints.Add(_nodeB); _layerDepth = 0.1f; }
public EditorCollisionFilterActor(EditorLevel level, XElement data) : base(level, data) { _selectedPoints = new List<PointListNode>(); if (data.Attribute("actor_a").Value != "-1") _actorA = level.getActor(int.Parse(data.Attribute("actor_a").Value)); if (data.Attribute("actor_b").Value != "-1") _actorB = level.getActor(int.Parse(data.Attribute("actor_b").Value)); initializeControls(Vector2.Zero, Vector2.Zero); }
public EditorLevelTransitionActor(EditorLevel level, XElement data) : base(level, data) { _position = Loader.loadVector2(data.Attribute("position"), Vector2.Zero); _halfWidth = Loader.loadFloat(data.Attribute("half_width"), 0.5f); _halfHeight = Loader.loadFloat(data.Attribute("half_height"), 0.5f); _angle = Loader.loadFloat(data.Attribute("angle"), 0f); _levelUid = Loader.loadString(data.Attribute("level_uid"), "default"); _positionInLevel = Loader.loadVector2(data.Attribute("position_in_level"), Vector2.Zero); _requiresActivation = Loader.loadBool(data.Attribute("requires_activation"), true); }
public EditorLevelTransitionActor(EditorLevel level) : base(level, ActorType.LevelTransition, level.getUnusedActorId()) { _position = level.controller.worldMouse; _halfWidth = 0.5f; _halfHeight = 0.5f; _angle = 0f; _levelUid = "default"; _positionInLevel = Vector2.Zero; _requiresActivation = true; }
public EditorWaypointActor(EditorLevel level) : base(level, ActorType.Waypoint, level.getUnusedActorId()) { _selectedPoints = new List<PointListNode>(); _layerDepth = 0.1f; _uid = "default_waypoint"; Vector2 worldMouse = level.controller.worldMouse; _headPoint = new PointListNode(worldMouse + new Vector2(-0.5f, 0f)); _selectedPoints.Add(_headPoint); _selectedPoints.Add(_headPoint.tail.insertAfter(worldMouse + new Vector2(0.5f, 0f))); }
public EditorRopeActor(EditorLevel level) : base(level, ActorType.Rope, level.controller.getUnusedActorID()) { Vector2 worldMouse = _level.controller.worldMouse; _nodeA = new PointListNode(worldMouse + new Vector2(0f, -0.5f)); _nodeB = new PointListNode(worldMouse + new Vector2(0f, 0.5f)); _selectedPoints = new List<PointListNode>(); _selectedPoints.Add(_nodeA); _selectedPoints.Add(_nodeB); _ropeMaterialUID = "default_rope_material"; _layerDepth = 0.1f; }
public EditorWaypointActor(EditorLevel level, XElement data) : base(level, data) { _selectedPoints = new List<PointListNode>(); _uid = Loader.loadString(data.Attribute("uid"), "default_waypoint"); foreach (XElement pointData in data.Elements("Point")) { if (_headPoint == null) _headPoint = new PointListNode(Loader.loadVector2(pointData, Vector2.Zero)); else _headPoint.tail.insertAfter(Loader.loadVector2(pointData, Vector2.Zero)); } }
public EditorPrismaticActor(EditorLevel level) : base(level, ActorType.Prismatic, level.controller.getUnusedActorID()) { _position = level.controller.worldMouse; _angle = 0f; _lowerLimit = 0f; _upperLimit = 0f; _autoForceDifference = 1f; _motorSpeed = 0f; initializeControls(); _selectedConnectionA = true; _selectedConnectionB = true; _moveActor = true; }
public StandardGuiSet(Game _game, UserInput _keyboard, EditorLevel _editor) : base(_game, _keyboard, _editor) { tileClicks = new int[m_editor.Size.X, m_editor.Size.Y]; spikyButton = NewChangeTileTypeButton("Spiky", 0, TileMap.SPIKY); blockButton = NewChangeTileTypeButton("Block", 1, TileMap.BLOCK); floorButton = NewChangeTileTypeButton("Floor", 2, TileMap.FLOOR); emptyButton = NewChangeTileTypeButton("Empty", 3, TileMap.EMPTY); playButton = NewButton("Play", 10, PlayLevel); fileButton = NewButton("File", 11, FileMode); locationsButton = NewButton("Locations", 12, LocationsMode); }
public EditorCircleActor(EditorLevel level, XElement data) : base(level, data) { _bodyType = (BodyType)Loader.loadEnum(typeof(BodyType), data.Attribute("body_type"), (int)BodyType.Static); _destructible = Loader.loadBool(data.Attribute("destructible"), false); _chunkSpacingX = Loader.loadFloat(data.Attribute("chunk_spacing_x"), 1f); _chunkSpacingY = Loader.loadFloat(data.Attribute("chunk_spacing_y"), 1f); _destructibleSeed = Loader.loadInt(data.Attribute("destructible_seed"), 12345); _position = Loader.loadVector2(data.Attribute("position"), Vector2.Zero); _radius = Loader.loadFloat(data.Attribute("radius"), 1f); _density = Loader.loadFloat(data.Attribute("density"), 0.5f); _friction = Loader.loadFloat(data.Attribute("friction"), 1f); _restitution = Loader.loadFloat(data.Attribute("restitution"), 0f); _materialUID = Loader.loadString(data.Attribute("material_uid"), "default"); }
public EditorCircleActor(EditorLevel level) : base(level, ActorType.Circle, level.controller.getUnusedActorID()) { _bodyType = BodyType.Static; _destructible = false; _chunkSpacingX = 1f; _chunkSpacingY = 1f; _destructibleSeed = 12345; _position = level.controller.worldMouse; _radius = 1f; _density = 0.5f; _friction = 1f; _restitution = 0f; _layerDepth = 0.1f; _materialUID = "default"; }
public EditorTerrainActor(EditorLevel level) : base(level, ActorType.Terrain) { _bodyType = BodyType.Static; _destructible = false; _chunkSpacingX = 1f; _chunkSpacingY = 1f; _chunkJitterX = 0.2f; _chunkJitterY = 0.2f; _destructibleSeed = 12345; _density = 0.5f; _friction = 1f; _restitution = 0f; _materialUID = "default"; _blockTreeLimbs = false; }
public EditorTerrainActor(EditorLevel level, XElement data) : base(level, data) { _bodyType = (BodyType)Loader.loadEnum(typeof(BodyType), data.Attribute("body_type"), (int)BodyType.Static); _destructible = Loader.loadBool(data.Attribute("destructible"), false); _wall = Loader.loadBool(data.Attribute("wall"), false); _chunkSpacingX = Loader.loadFloat(data.Attribute("chunk_spacing_x"), 1f); _chunkSpacingY = Loader.loadFloat(data.Attribute("chunk_spacing_y"), 1f); _chunkJitterX = Loader.loadFloat(data.Attribute("chunk_jitter_x"), 0.2f); _chunkJitterY = Loader.loadFloat(data.Attribute("chunk_jitter_y"), 0.2f); _destructibleSeed = Loader.loadInt(data.Attribute("destructible_seed"), 12345); _density = Loader.loadFloat(data.Attribute("density"), 0.5f); _friction = Loader.loadFloat(data.Attribute("friction"), 1f); _restitution = Loader.loadFloat(data.Attribute("restitution"), 0f); _materialUID = Loader.loadString(data.Attribute("material_uid"), "default"); _blockTreeLimbs = Loader.loadBool(data.Attribute("block_tree_limbs"), false); }
public OkCancelGuiSet(Game _game, UserInput _keyboard, EditorLevel _editor) : base(_game, _keyboard, _editor) { Button okButton = new Button(m_keyboard, "OK", m_game.Camera); okButton.Position = new Vector2f(okButton.Position.X, 1); okButton.Right(); Console.WriteLine("ok button pos: {0}", okButton.Position); Button cancelButton = new Button(m_keyboard, "Cancel", m_game.Camera); cancelButton.Position = new Vector2f(cancelButton.Position.X, 3); cancelButton.Right(); okButton.Pressed += Ok; cancelButton.Pressed += Cancel; items.Add(okButton); items.Add(cancelButton); }
public EditorPrismaticActor(EditorLevel level, XElement data) : base(level, data) { int actorIdA = Loader.loadInt(data.Attribute("actor_a"), -1); int actorIdB = Loader.loadInt(data.Attribute("actor_b"), -1); _position = Loader.loadVector2(data.Attribute("position"), Vector2.Zero); _actorA = actorIdA == -1 ? null : level.getActor(actorIdA); _actorB = actorIdB == -1 ? null : level.getActor(actorIdB); Vector2 axis = Loader.loadVector2(data.Attribute("axis"), new Vector2(1, 0)); _angle = (float)Math.Atan2(axis.Y, axis.X); lowerLimit = Loader.loadFloat(data.Attribute("lower_limit"), 0f); upperLimit = Loader.loadFloat(data.Attribute("upper_limit"), 0f); _autoCalculateForce = Loader.loadBool(data.Attribute("auto_calculate_force"), false); _autoForceDifference = Loader.loadFloat(data.Attribute("auto_force_difference"), 0f); _motorSpeed = Loader.loadFloat(data.Attribute("motor_speed"), 0f); _motorEnabled = Loader.loadBool(data.Attribute("motor_enabled"), false); _maxMotorForce = Loader.loadFloat(data.Attribute("max_motor_force"), 0f); initializeControls(); }
public FileGuiSet(Game _game, UserInput _keyboard, EditorLevel _editor) : base(_game, _keyboard, _editor) { saveButton = NewButton("Save", 3, SaveLevel); loadButton = NewButton("Load", 4, LoadLevel); filenameBox = NewTextBox("Filename", m_editor.filename, 5); widthBox = new NumberBox(m_keyboard, new Vector2f(5,2), m_game.Camera); widthBox.Position = new Vector2f(1, 4); items.Add(widthBox); widthMinusButton = new Button(m_keyboard, "-", m_game.Camera); widthMinusButton.Position = new Vector2f(1 + widthBox.Size.X + 0.5f, 4); items.Add(widthMinusButton); widthPlusButton = new Button(m_keyboard, "+", m_game.Camera); widthPlusButton.Position = new Vector2f(6.5f + widthMinusButton.Size.X + 0.5f, 4); items.Add(widthPlusButton); backButton = NewButton("Back", 0, GoBack); }
void Setup() { Debug.Log("LightsOut: First Time Setup"); EditorFacility facility = EditorDriver.editorFacility; EditorLevel level = 0; switch (facility) { case EditorFacility.SPH: // 0 = base, 0.5 = 1st, 1 = final level = (EditorLevel)(2 * ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.SpaceplaneHangar) + 1); break; case EditorFacility.VAB: // 0 = base, 0.5 = 1st, 1 = final level = (EditorLevel)(2 * ScenarioUpgradeableFacilities.GetFacilityLevel(SpaceCenterFacility.VehicleAssemblyBuilding) + 1); break; } Debug.Log("LightsOut: Entered " + facility + " " + level); // Set up ambient and shader managers GameObject[] gameObjects = FindObjectsOfType(typeof(GameObject)) as GameObject[]; Camera[] cameras = FindObjectsOfType(typeof(Camera)) as Camera[]; foreach (Camera camera in cameras) { if (camera.name == "sceneryCam") { ambientManager = new LOAmbient(facility, level, gameObjects, camera, newLayer); } } shaderManager = new LOShaders(facility, level, gameObjects); externalLightsManager = new LOExternalLights(facility, level); firstTime = false; }
public EditorFluidActor(EditorLevel level, XElement data) : base(level, data) { }
public EditorFluidActor(EditorLevel level) : base(level, ActorType.Fluid) { }
public LOAmbient(EditorFacility facility, EditorLevel level, GameObject[] gameObjects, Camera camera, int layer) { mainCamera = camera; newLayer = layer; currentFacility = facility; originalCullingMask = camera.cullingMask; originalClearFlags = camera.clearFlags; originalAmbientLight = RenderSettings.ambientLight; originalSkybox = RenderSettings.skybox; originalLightmapData = LightmapSettings.lightmaps; originalAmbientMode = RenderSettings.ambientMode; // Create fake skybox skyCamera = new GameObject("NightSkyboxCamera", typeof(Camera)); // skyCamera.AddComponent<Camera>(); skyCamera.GetComponent<Camera>().depth = mainCamera.depth - 1; skyCamera.GetComponent<Camera>().clearFlags = CameraClearFlags.Skybox; skyCamera.GetComponent<Camera>().cullingMask = 0; nightSkyboxMaterial = new Material(originalSkybox); // GalaxyTex_PositiveX should be viewed outside window // Debug.Log("LightsOut: Loading Night Sky Textures"); foreach (Material material in Resources.FindObjectsOfTypeAll<Material>()) { Texture texture = material.mainTexture; if (texture) { switch (material.name) { case "ZP": nightSkyboxMaterial.SetTexture("_FrontTex", material.mainTexture); break; case "ZN": nightSkyboxMaterial.SetTexture("_BackTex", material.mainTexture); break; case "XP": nightSkyboxMaterial.SetTexture("_LeftTex", material.mainTexture); break; case "XN": nightSkyboxMaterial.SetTexture("_RightTex", material.mainTexture); break; case "YP": nightSkyboxMaterial.SetTexture("_UpTex", material.mainTexture); break; case "YN": nightSkyboxMaterial.SetTexture("_DownTex", material.mainTexture); break; default: break; } } } skyCamera.AddComponent<Skybox>(); skyCamera.GetComponent<Skybox>().material = nightSkyboxMaterial; if (facility == EditorFacility.VAB) { switch (level) { case EditorLevel.Level1: break; case EditorLevel.Level2: break; case EditorLevel.Level3: foreach (GameObject gameObject in gameObjects) { ChangeLayersRecursively(gameObject, newLayer, "model_vab_interior_floor_cover_v20"); } break; } } else if (facility == EditorFacility.SPH) { switch (level) { case EditorLevel.Level1: break; case EditorLevel.Level2: break; case EditorLevel.Level3: foreach (GameObject gameObject in gameObjects) { // These are all subsets of model_sph_interior_lights_v16 // Component_611_1 to 6 is window reflection // ChangeLayersRecursively(gameObject, newLayer, "Component_611_1"); // ChangeLayersRecursively(gameObject, newLayer, "Component_611_2"); // ChangeLayersRecursively(gameObject, newLayer, "Component_611_3"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_4"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_5"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_6"); ChangeLayersRecursively(gameObject, newLayer, "Component_749_1"); // Glow from Side Lights! ChangeLayersRecursively(gameObject, newLayer, "Component_750_1"); // Lights! } break; } } }
public void setProperties(EditorLevel level) { levelPropertiesGrid.SelectedObject = level; }
public LOExternalLights(EditorFacility facility, EditorLevel level) { currentFacility = facility; currentLevel = level; if (currentFacility == EditorFacility.VAB) { switch (currentLevel) { case EditorLevel.Level1: //[LOG 17:53:55.152] Light 0: Scaledspace SunLight, RGBA(1.000, 1.000, 1.000, 1.000), Default OFF //[LOG 17:53:55.153] Parent: SunLight //[LOG 17:53:55.154] Light 1: SunLight, RGBA(1.000, 1.000, 1.000, 1.000), Default OFF //[LOG 17:53:55.154] Parent: Scenery //[LOG 17:53:55.155] Light 2: Directional light, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:53:55.155] Parent: _UI //[LOG 17:53:55.156] Light 3: Shadow Light, RGBA(1.000, 0.955, 0.896, 1.000), Default ON //[LOG 17:53:55.156] Parent: Day Lights //[LOG 17:53:55.157] Light 4: SpotlightSun, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:53:55.158] Parent: Day Lights //[LOG 17:53:55.158] Light 5: Spotlight, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:53:55.159] Parent: Day Lights lightsToChange = new List <LightToChange>() { new LightToChange() { name = "SpotlightCraft", parentName = "Day Lights" }, new LightToChange() { name = "SpotlightSun", parentName = "VAB_interior_modern" }, // new LightToChange() { name = "Realtime_SpotlightScenery", parentName = "Lighting_Realtime" }, new LightToChange() { name = "Shadow Light", parentName = "Day Lights" } }; break; case EditorLevel.Level2: //[LOG 17:56:18.866] Light 0: Scaledspace SunLight, RGBA(1.000, 1.000, 1.000, 1.000), Default OFF //[LOG 17:56:18.867] Parent: SunLight //[LOG 17:56:18.867] Light 1: SunLight, RGBA(1.000, 1.000, 1.000, 1.000), Default OFF //[LOG 17:56:18.868] Parent: Scenery //[LOG 17:56:18.868] Light 2: Directional light, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:56:18.869] Parent: _UI //[LOG 17:56:18.869] Light 3: Shadow Light, RGBA(1.000, 0.955, 0.896, 1.000), Default ON //[LOG 17:56:18.870] Parent: Day Lights //[LOG 17:56:18.871] Light 4: SpotlightSun, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:56:18.871] Parent: Day Lights //[LOG 17:56:18.872] Light 5: roofFill, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:56:18.872] Parent: Day Lights //[LOG 17:56:18.873] Light 6: Spotlight, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:56:18.873] Parent: Day Lights //[LOG 17:56:18.874] Light 7: Spotlight, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:56:18.875] Parent: Day Lights lightsToChange = new List <LightToChange>() { new LightToChange() { name = "SpotlightCraft", parentName = "Day Lights" }, new LightToChange() { name = "SpotlightSun", parentName = "VAB_interior_modern" }, // new LightToChange() { name = "Realtime_SpotlightScenery", parentName = "Lighting_Realtime" }, new LightToChange() { name = "Shadow Light", parentName = "Day Lights" } }; break; case EditorLevel.Level3: //[LOG 17:58:21.702] Light 0: Scaledspace SunLight, RGBA(1.000, 1.000, 1.000, 1.000), Default OFF //[LOG 17:58:21.703] Parent: SunLight //[LOG 17:58:21.703] Light 1: SunLight, RGBA(1.000, 1.000, 1.000, 1.000), Default OFF //[LOG 17:58:21.704] Parent: Scenery //[LOG 17:58:21.704] Light 2: Directional light, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:58:21.705] Parent: _UI //[LOG 17:58:21.705] Light 3: Shadow Light, RGBA(1.000, 0.955, 0.896, 1.000), Default ON //[LOG 17:58:21.706] Parent: Day Lights //[LOG 17:58:21.707] Light 4: SpotlightSun, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:58:21.707] Parent: Day Lights //[LOG 17:58:21.708] Light 5: Spotlight, RGBA(1.000, 0.236, 0.104, 1.000), Default ON //[LOG 17:58:21.708] Parent: model_prop_truck_h03 //[LOG 17:58:21.709] Light 6: Spotlight, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:58:21.710] Parent: Day Lights //[LOG 17:58:21.710] Light 7: Spotlight, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:58:21.711] Parent: model_vab_prop_truck_01 //[LOG 17:58:21.711] Light 8: Spotlight, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:58:21.712] Parent: model_prop_truck_h02 //[LOG 17:58:21.712] Light 9: Spotlight, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:58:21.713] Parent: Day Lights lightsToChange = new List <LightToChange>() { new LightToChange() { name = "SpotlightCraft", parentName = "Day Lights" }, new LightToChange() { name = "SpotlightSun", parentName = "VAB_interior_modern" }, // new LightToChange() { name = "Realtime_SpotlightScenery", parentName = "Lighting_Realtime" }, new LightToChange() { name = "Shadow Light", parentName = "Day Lights" } }; break; } } else if (currentFacility == EditorFacility.SPH) { switch (currentLevel) { case EditorLevel.Level1: //[LOG 17:54:50.069] Light 0: Scaledspace SunLight, RGBA(1.000, 1.000, 1.000, 1.000), Default OFF //[LOG 17:54:50.070] Parent: SunLight //[LOG 17:54:50.070] Light 1: SunLight, RGBA(1.000, 1.000, 1.000, 1.000), Default OFF //[LOG 17:54:50.071] Parent: Scenery //[LOG 17:54:50.072] Light 2: Directional light, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:54:50.072] Parent: _UI //[LOG 17:54:50.073] Light 3: SpotlightWindow, RGBA(0.866, 0.863, 0.903, 1.000), Default OFF //[LOG 17:54:50.073] Parent: Editors_DayLights //[LOG 17:54:50.074] Light 4: Shadow Light, RGBA(1.000, 0.955, 0.896, 1.000), Default ON //[LOG 17:54:50.075] Parent: Editors_DayLights //[LOG 17:54:50.075] Light 5: SpotlightCraft, RGBA(0.866, 0.863, 0.903, 1.000), Default ON //[LOG 17:54:50.076] Parent: Editors_DayLights //[LOG 17:54:50.076] Light 6: SpotlightExteriorSun, RGBA(0.866, 0.863, 0.903, 1.000), Default ON //[LOG 17:54:50.077] Parent: Editors_DayLights //[LOG 17:54:50.077] Light 7: SpotlightWindow, RGBA(0.866, 0.863, 0.903, 1.000), Default OFF //[LOG 17:54:50.078] Parent: Editors_DayLights lightsToChange = new List <LightToChange>() { new LightToChange() { name = "Realtime_SpotlightCraft", parentName = "Lighting_Realtime" }, new LightToChange() { name = "Realtime_ExteriorSun", parentName = "Lighting_Realtime" }, new LightToChange() { name = "Realtime_SpotlightScenery", parentName = "Lighting_Realtime" }, new LightToChange() { name = "Realtime_Shadow Light", parentName = "Lighting_Realtime" } }; break; case EditorLevel.Level2: //[LOG 17:57:04.716] Light 0: Scaledspace SunLight, RGBA(1.000, 1.000, 1.000, 1.000), Default OFF //[LOG 17:57:04.717] Parent: SunLight //[LOG 17:57:04.717] Light 1: SunLight, RGBA(1.000, 1.000, 1.000, 1.000), Default OFF //[LOG 17:57:04.718] Parent: Scenery //[LOG 17:57:04.718] Light 2: Directional light, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:57:04.719] Parent: _UI //[LOG 17:57:04.720] Light 3: SpotlightWindow, RGBA(0.866, 0.863, 0.903, 1.000), Default OFF //[LOG 17:57:04.720] Parent: Editors_DayLights //[LOG 17:57:04.721] Light 4: Shadow Light, RGBA(1.000, 0.955, 0.896, 1.000), Default ON //[LOG 17:57:04.721] Parent: Editors_DayLights //[LOG 17:57:04.722] Light 5: SpotlightCraft, RGBA(0.866, 0.863, 0.903, 1.000), Default ON //[LOG 17:57:04.723] Parent: Editors_DayLights //[LOG 17:57:04.723] Light 6: SpotlightExteriorSun, RGBA(0.866, 0.863, 0.903, 1.000), Default ON //[LOG 17:57:04.724] Parent: Editors_DayLights //[LOG 17:57:04.724] Light 7: SpotlightWindow, RGBA(0.866, 0.863, 0.903, 1.000), Default OFF //[LOG 17:57:04.725] Parent: Editors_DayLights lightsToChange = new List <LightToChange>() { new LightToChange() { name = "Realtime_SpotlightCraft", parentName = "Lighting_Realtime" }, new LightToChange() { name = "Realtime_ExteriorSun", parentName = "Lighting_Realtime" }, new LightToChange() { name = "Realtime_SpotlightScenery", parentName = "Lighting_Realtime" }, new LightToChange() { name = "Realtime_Shadow Light", parentName = "Lighting_Realtime" } }; break; case EditorLevel.Level3: //[LOG 17:59:41.825] Light 0: Scaledspace SunLight, RGBA(1.000, 1.000, 1.000, 1.000), Default OFF //[LOG 17:59:41.826] Parent: SunLight //[LOG 17:59:41.826] Light 1: SunLight, RGBA(1.000, 1.000, 1.000, 1.000), Default OFF //[LOG 17:59:41.827] Parent: Scenery //[LOG 17:59:41.828] Light 2: Directional light, RGBA(1.000, 1.000, 1.000, 1.000), Default ON //[LOG 17:59:41.828] Parent: _UI //[LOG 17:59:41.829] Light 3: Shadow Light, RGBA(1.000, 0.955, 0.896, 1.000), Default ON //[LOG 17:59:41.829] Parent: Editors_DayLights //[LOG 17:59:41.830] Light 4: SpotlightCraft, RGBA(0.866, 0.863, 0.903, 1.000), Default ON //[LOG 17:59:41.831] Parent: Editors_DayLights //[LOG 17:59:41.831] Light 5: Spotlight, RGBA(1.000, 0.236, 0.104, 1.000), Default ON //[LOG 17:59:41.832] Parent: model_prop_truck_h03 //[LOG 17:59:41.832] Light 6: SpotlightExteriorSun, RGBA(0.866, 0.863, 0.903, 1.000), Default ON //[LOG 17:59:41.833] Parent: Editors_DayLights //[LOG 17:59:41.833] Light 7: SpotlightWindow, RGBA(0.866, 0.863, 0.903, 1.000), Default ON //[LOG 17:59:41.834] Parent: Editors_DayLights lightsToChange = new List <LightToChange>() { new LightToChange() { name = "Realtime_SpotlightCraft", parentName = "Lighting_Realtime" }, new LightToChange() { name = "Realtime_ExteriorSun", parentName = "Lighting_Realtime" }, new LightToChange() { name = "Realtime_SpotlightScenery", parentName = "Lighting_Realtime" }, new LightToChange() { name = "Realtime_Shadow Light", parentName = "Lighting_Realtime" } }; break; } } }
// createNewLevel public void createNewLevel() { _level = new EditorLevel(this, "new_level"); }
public LOShaders(EditorFacility facility, EditorLevel level, GameObject[] gameObjects) { List <ShaderToChange> shadersToFind = new List <ShaderToChange>(); List <string> defaultShaders = new List <string>() { "KSP/Emissive/Specular", "KSP/Emissive/Bumped", "KSP/Emissive/Diffuse" }; if (facility == EditorFacility.VAB) { switch (level) { case EditorLevel.Level1: { //INTERIOR_VAB_lev2 1_MeshPart1 ShaderToChange shader = new ShaderToChange(); shader.path.Add("VAB_lev1_interior"); shader.path.Add("INTERIOR_VAB_lev2 1"); shader.name = "INTERIOR_VAB_lev2 1_MeshPart1"; shader.shaders = new List <string>(defaultShaders); shadersToFind.Add(shader); break; } case EditorLevel.Level2: // shader.path.Add("VAB_lev3_mainStructure"); break; case EditorLevel.Level3: for (int i = 0; i < 3; i++) { ShaderToChange shader = new ShaderToChange(); shader.path.Add("VAB_Interior_Geometry"); shader.shaders = new List <string>(defaultShaders); switch (i) { case 0: shader.name = "model_vab_interior_props_v16"; break; case 1: shader.name = "model_vab_walls"; break; case 2: shader.name = "model_vab_windows"; break; } shadersToFind.Add(shader); } break; } } else if (facility == EditorFacility.SPH) { switch (level) { case EditorLevel.Level1: { ShaderToChange shader = new ShaderToChange(); shader.path.Add("SPH-1_Interior"); shader.name = "group37_polySurface813"; shader.shaders = new List <string>(defaultShaders); shadersToFind.Add(shader); break; } case EditorLevel.Level2: for (int i = 0; i < 3; i++) { ShaderToChange shader = new ShaderToChange(); shader.shaders = new List <string>(defaultShaders); switch (i) { case 0: shader.path.Add("SPH_2_interior"); shader.name = "SPH_2_windows"; break; case 1: shader.path.Add("SPH_2_interior"); shader.name = "SPH_2_door3"; break; case 2: shader.path.Add("SPH_2_interior"); shader.name = "SPH_2_door4"; break; } shadersToFind.Add(shader); } break; case EditorLevel.Level3: for (int i = 0; i < 2; i++) { ShaderToChange shader = new ShaderToChange(); shader.path.Add("SPH_Interior_Geometry"); shader.shaders = new List <string>(defaultShaders); switch (i) { case 0: shader.name = "model_sph_interior_main_v16"; break; case 1: shader.path.Add("model_sph_interior_gates_v16"); shader.name = "Component_755_1"; break; } shadersToFind.Add(shader); } break; } } foreach (ShaderToChange shader in shadersToFind) { foreach (GameObject gameObject in gameObjects) { FindShader(gameObject, shader, 0); } } }
public EditorPlayerSpawnActor(EditorLevel level, XElement data) : base(level, data) { _position = Loader.loadVector2(data.Attribute("position"), Vector2.Zero); }
// addLevelSettings public void addLevelSettings(EditorLevel level) { _levelSettings = new LevelSettings(); _levelSettings.setProperties(level); mainSplit.Panel1.Controls.Add(_levelSettings); }
// addLevelSettings public void addLevelSettings(EditorLevel level) { _levelSettings = new LevelSettings(); _levelSettings.setProperties(level); mainSplit.Panel1.Controls.Add(_levelSettings); }
public void addLevel(EditorLevel level) { level.syncObjectManager(); //Levels.Add(level); }
//public void addInstance(InstanceDescriptor iDesc) //{ // iDescs.Add(iDesc); //} //public void clear() //{ // iDescs.Clear(); //} //public State getState() //{ // State state = new State(); // state.Name = "test"; // foreach (InstanceDescriptor inst in iDescs) // { // state.GameObjects.Add(inst); // } // return state; //} //public void setState(State state) //{ // foreach (GameObject gob in state.GameObjects) // { // addInstance((InstanceDescriptor)gob); // } //} /// <summary> /// Convert a level that is used in the editor, to a level that can be used /// by Whiskey.Core. /// </summary> /// <param name="dllPathIn">The path to the GameData.dll, that contains the type information</param> /// <param name="editorLevel">Some level that contains a set of instance descriptors</param> /// <returns>The path to the state file that Whiskey.Core will load</returns> public string convertToGobs(string dllPathIn, EditorLevel editorLevel) { AppDomain buildDomain = AppDomain.CreateDomain("BuildDomain"); string statePath = ProjectManager.Instance.ActiveProject.PathBuildStates + Path.DirectorySeparatorChar + editorLevel.LevelName + ".state"; buildDomain.SetData("level", editorLevel); buildDomain.SetData("color", editorLevel.BackgroundColor); buildDomain.SetData("dllPath", dllPathIn); buildDomain.SetData("statePath", statePath); editorLevel.getInstances().ForEach((i) => { i.updateTypeDescriptor(); }); buildDomain.SetData("stateName", editorLevel.LevelName); buildDomain.SetData("iDescs", editorLevel.getInstances()); buildDomain.SetData("scriptTable", ScriptManager.Instance.getScriptTable()); try { buildDomain.DoCallBack(new CrossAppDomainDelegate(() => { try { string appDllPath = (string)AppDomain.CurrentDomain.GetData("dllPath"); string appStateName = (string)AppDomain.CurrentDomain.GetData("stateName"); string appStatePath = (string)AppDomain.CurrentDomain.GetData("statePath"); Color backGroundColor = (Color)AppDomain.CurrentDomain.GetData("color"); EditorLevel eLevel = (EditorLevel)AppDomain.CurrentDomain.GetData("level"); List <InstanceDescriptor> appIDescs = (List <InstanceDescriptor>)AppDomain.CurrentDomain.GetData("iDescs"); Dictionary <String, ScriptDescriptor> appScriptTable = (Dictionary <String, ScriptDescriptor>)AppDomain.CurrentDomain.GetData("scriptTable"); Assembly gameData = Assembly.LoadFrom(appDllPath); GameLevel level = new GameLevel(appStateName); level.init(); level.BloomSettings = eLevel.BloomSettings; int c = 0; List <GameObject> lGobs = new List <GameObject>(); try { foreach (InstanceDescriptor iDesc in appIDescs) { iDesc.X = iDesc.Position.X; iDesc.Y = iDesc.Position.Y; string typeName = iDesc.TypeDescriptorCompile.QualifiedName; Type type = gameData.GetType(typeName, true, false); GameObject gob = (GameObject)type.GetConstructor (new Type[] { typeof(ObjectManager) }).Invoke (new object[] { level }); gob.Sprite.setRender(GameManager.Renderer); gob.Sprite.setResources(GameManager.Resources); foreach (PropertyDescriptor typeProp in iDesc.TypeDescriptorCompile.getPropertySetClone()) { Console.WriteLine("converting " + c + " " + typeProp.Name); PropertyInfo propInfo = gob.GetType().GetProperty(typeProp.Name); if (propInfo.SetMethod != null) { propInfo.GetSetMethod().Invoke(gob, new object[] { iDesc.getTypeValOfName(typeProp.Name).Value }); } } //IS IT A DEBUG ONLY SPRITE? if (iDesc.IsDebug) { gob.Sprite.Visible = false; } gob.clearScripts(); foreach (String scriptName in iDesc.getScriptNames()) { Type scriptType = gameData.GetType(appScriptTable[scriptName].QualifiedName, false); object script = scriptType.GetConstructor(new Type[] { }).Invoke(new object[] { }); Script megaScript = (Script)script; megaScript.Active = iDesc.getScriptActive(scriptName); gob.addScript(megaScript); } //TODO THIS IS A TEMPORARY WORK AROUND gob.initializeObject(); lGobs.Add(gob); } } catch (Exception e) { Console.WriteLine(e.GetType() + " | " + e.Message); } //State state = new State(); //state.GameObjects = lGobs; //state.BackgroundColor = backGroundColor; //state.Name = appStateName; //string filename = State.serialize( // state, // appStatePath); level.BackgroundColor = backGroundColor; level.AmbientLight = eLevel.AmbientLight; level.LightingEnabled = eLevel.LightingEnabled; level.ShadowsEnabled = eLevel.ShadowingEnabled; level.BloomLightSettings = eLevel.LightBloomSettings; level.ShaderParameters = eLevel.ShaderParameters; level.Layers = eLevel.Layers; string filename = GameLevel.serialize(level, appStatePath); //TempFilePath = filename; //AppDomain.CurrentDomain.SetData("fileName", filename); } catch (Exception e) { Console.WriteLine(e.Message); throw e; } })); } catch (Exception e) { Console.WriteLine("conversion broken"); } AppDomain.Unload(buildDomain); return(statePath); }
public LOAmbient(EditorFacility facility, EditorLevel level, GameObject[] gameObjects, Camera camera, int layer) { mainCamera = camera; newLayer = layer; currentFacility = facility; originalCullingMask = camera.cullingMask; originalClearFlags = camera.clearFlags; originalAmbientLight = RenderSettings.ambientLight; originalSkybox = RenderSettings.skybox; originalLightmapData = LightmapSettings.lightmaps; // Create fake skybox skyCamera = new GameObject("NightSkyboxCamera", typeof(Camera)); skyCamera.camera.depth = mainCamera.depth - 1; skyCamera.camera.clearFlags = CameraClearFlags.Skybox; skyCamera.camera.cullingMask = 0; nightSkyboxMaterial = new Material(originalSkybox); // GalaxyTex_PositiveX should be viewed outside window Debug.Log("LightsOut: Loading Night Sky Textures"); foreach (Material material in Resources.FindObjectsOfTypeAll <Material>()) { Texture texture = material.mainTexture; if (texture) { switch (material.name) { case "ZP (Instance)": nightSkyboxMaterial.SetTexture("_FrontTex", material.mainTexture); break; case "ZN (Instance)": nightSkyboxMaterial.SetTexture("_BackTex", material.mainTexture); break; case "XP (Instance)": nightSkyboxMaterial.SetTexture("_LeftTex", material.mainTexture); break; case "XN (Instance)": nightSkyboxMaterial.SetTexture("_RightTex", material.mainTexture); break; case "YP (Instance)": nightSkyboxMaterial.SetTexture("_UpTex", material.mainTexture); break; case "YN (Instance)": nightSkyboxMaterial.SetTexture("_DownTex", material.mainTexture); break; default: break; } } } skyCamera.AddComponent <Skybox>(); skyCamera.GetComponent <Skybox>().material = nightSkyboxMaterial; if (facility == EditorFacility.VAB) { switch (level) { case EditorLevel.Level1: break; case EditorLevel.Level2: break; case EditorLevel.Level3: foreach (GameObject gameObject in gameObjects) { ChangeLayersRecursively(gameObject, newLayer, "model_vab_interior_floor_cover_v20"); } break; } } else if (facility == EditorFacility.SPH) { switch (level) { case EditorLevel.Level1: break; case EditorLevel.Level2: break; case EditorLevel.Level3: foreach (GameObject gameObject in gameObjects) { // These are all subsets of model_sph_interior_lights_v16 // Component_611_1 to 6 is window reflection ChangeLayersRecursively(gameObject, newLayer, "Component_611_1"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_2"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_3"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_4"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_5"); ChangeLayersRecursively(gameObject, newLayer, "Component_611_6"); //ChangeLayersRecursively(gameObject, newLayer, "Component_749_1"); // Glow from Side Lights! //ChangeLayersRecursively(gameObject, newLayer, "Component_750_1"); // Lights! } break; } } }
// closeLevel public void closeLevel() { _level = null; _levelView.Invalidate(); }
public EditorPlayerSpawnActor(EditorLevel level) : base(level, ActorType.PlayerSpawn, level.controller.getUnusedActorID()) { _position = level.controller.worldMouse; }