Esempio n. 1
0
    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);
            }
        }