public StaticObject spawnInstance(StaticModel model) { StaticObject obj = new StaticObject(); obj.gameObject = GameDatabase.Instance.GetModel(model.path + "/" + model.getSetting("mesh")); obj.setSetting("RadiusOffset", (float)FlightGlobals.ActiveVessel.altitude); obj.setSetting("CelestialBody", KerbalKonstructs.instance.getCurrentBody()); obj.setSetting("Group", "Ungrouped"); obj.setSetting("RadialPosition", KerbalKonstructs.instance.getCurrentBody().transform.InverseTransformPoint(FlightGlobals.ActiveVessel.transform.position)); obj.setSetting("RotationAngle", 0f); obj.setSetting("Orientation", Vector3.up); obj.setSetting("VisibilityRange", 25000f); string sPad = ((string)model.getSetting("DefaultLaunchPadTransform")); if (sPad != null) { obj.setSetting("LaunchPadTransform", sPad); } if (!KerbalKonstructs.instance.DevMode) { obj.setSetting("CustomInstance", "True"); } obj.model = model; KerbalKonstructs.instance.getStaticDB().addStatic(obj); enableColliders = false; obj.spawnObject(true, false); return(obj); }
public void CreatePreviewInstance(StaticModel model) { StaticObject obj = new StaticObject(); obj.gameObject = GameDatabase.Instance.GetModel(model.path + "/" + model.getSetting("mesh")); obj.setSetting("RadiusOffset", (float)FlightGlobals.ActiveVessel.altitude); obj.setSetting("CelestialBody", KerbalKonstructs.instance.getCurrentBody()); obj.setSetting("Group", "Ungrouped"); obj.setSetting("RadialPosition", KerbalKonstructs.instance.getCurrentBody().transform.InverseTransformPoint(FlightGlobals.ActiveVessel.transform.position)); obj.setSetting("RotationAngle", 0f); obj.setSetting("Orientation", Vector3.up); obj.setSetting("VisibilityRange", 25000f); obj.model = model; KerbalKonstructs.instance.getStaticDB().addStatic(obj); obj.spawnObject(true, true); // KerbalKonstructs.instance.selectObject(obj, false); currPreview = obj; }