void RepairAircraft() { FlightAssist flightAssist = GetComponentInChildren <FlightAssist>(); if (flightAssist != null) { flightAssist.assistEnabled = true; } else { Debug.Log("Could not fix flight assists"); } RCSController rcsController = GetComponentInChildren <RCSController>(); if (rcsController != null) { Traverse.Create(rcsController).Field("alive").SetValue(true); } else { Debug.Log("Could not fix rcs controller"); } Battery battery = GetComponentInChildren <Battery>(); if (battery != null) { Traverse.Create(battery).Field("isAlive").SetValue(true); battery.Connect(); } else { Debug.Log("Could not fix battery"); } GameObject hud = GameObject.Find("CollimatedHud"); if (hud != null) { hud.SetActive(true); } else { Debug.Log("Could not fix hud"); } GameObject hudWaypoint = GameObject.Find("WaypointLead"); if (hudWaypoint != null) { hudWaypoint.SetActive(true); } else { Debug.Log("Could not fix hudWaypoint"); } VRJoystick joystick = GetComponentInChildren <VRJoystick>(); if (joystick != null) { joystick.sendEvents = true; } else { Debug.Log("Could not fix joystick"); } VRInteractable[] levers = GetComponentsInChildren <VRInteractable>(); foreach (VRInteractable lever in levers) { lever.enabled = true; } Debug.Log("Fixed " + levers.Length + " levers"); }
WaterfallController CreateNewController() { if (controllerTypes[controllerFlag] == "atmosphere_density") { AtmosphereDensityController newCtrl = new AtmosphereDensityController(); newCtrl.name = newControllerName; newCtrl.linkedTo = controllerTypes[controllerFlag]; return(newCtrl); } else if (controllerTypes[controllerFlag] == "custom") { CustomController newCtrl = new CustomController(); newCtrl.name = newControllerName; newCtrl.linkedTo = controllerTypes[controllerFlag]; return(newCtrl); } else if (controllerTypes[controllerFlag] == "engineEvent") { EngineEventController newCtrl = new EngineEventController(); newCtrl.name = newControllerName; newCtrl.linkedTo = controllerTypes[controllerFlag]; newCtrl.eventName = eventTypes[eventFlag]; newCtrl.eventCurve = eventCurve; newCtrl.eventDuration = eventDuration; return(newCtrl); } else if (controllerTypes[controllerFlag] == "gimbal") { GimbalController newCtrl = new GimbalController(); newCtrl.name = newControllerName; newCtrl.axis = axisTypes[axisFlag]; newCtrl.linkedTo = controllerTypes[controllerFlag]; return(newCtrl); } else if (controllerTypes[controllerFlag] == "light") { LightController newCtrl = new LightController(); newCtrl.name = newControllerName; newCtrl.linkedTo = controllerTypes[controllerFlag]; return(newCtrl); } else if (controllerTypes[controllerFlag] == "mach") { MachController newCtrl = new MachController(); newCtrl.name = newControllerName; newCtrl.linkedTo = controllerTypes[controllerFlag]; return(newCtrl); } else if (controllerTypes[controllerFlag] == "random") { RandomnessController newCtrl = new RandomnessController(); newCtrl.name = newControllerName; newCtrl.range = randomRange; newCtrl.scale = perlinScale; newCtrl.minimum = perlinMin; newCtrl.seed = perlinSeed; newCtrl.speed = perlinSpeed; newCtrl.noiseType = randTypes[randFlag]; newCtrl.linkedTo = controllerTypes[controllerFlag]; return(newCtrl); } else if (controllerTypes[controllerFlag] == "rcs") { RCSController newCtrl = new RCSController(); newCtrl.name = newControllerName; newCtrl.linkedTo = controllerTypes[controllerFlag]; newCtrl.responseRateUp = rampRateUp; newCtrl.responseRateDown = rampRateDown; return(newCtrl); } else if (controllerTypes[controllerFlag] == "throttle") { ThrottleController newCtrl = new ThrottleController(); newCtrl.name = newControllerName; newCtrl.linkedTo = controllerTypes[controllerFlag]; newCtrl.responseRateUp = rampRateUp; newCtrl.responseRateDown = rampRateDown; return(newCtrl); } else if (controllerTypes[controllerFlag] == "thrust") { ThrustController newCtrl = new ThrustController(); newCtrl.name = newControllerName; newCtrl.linkedTo = controllerTypes[controllerFlag]; return(newCtrl); } else { return(null); } }