示例#1
0
    void Awake()
    {
        typeDefiner = GetComponent <VehicleTypeDefiner> ();
        Dragons     = new List <Interest> ();
        int i = 0;

        foreach (Transform dragon in DragonManager.Instance.units)
        {
            Dragons.Add(new Interest());
            dragon.GetComponentInChildren <DragonSensesAnalizator> ().interestID = i;
            i++;
        }
    }
示例#2
0
    public void IntoVehicle(VehicleTypeDefiner newVehicle)
    {
        ParentAndZero(newVehicle.transform, transform);
        UnparentRigidbodies UNPR = newVehicle.GetComponent <UnparentRigidbodies>();

        Transform[] manytransforms;
        if (UNPR != null)
        {
            manytransforms = UNPR.originalChildren;
        }
        else
        {
            manytransforms = newVehicle.GetComponentsInChildren <Transform>();
        }
        Transform cameraPoint = null;
        Transform Driver      = null;

        for (int i = 0; i < manytransforms.Length; i++)
        {
            if (manytransforms[i].name == "CameraPoint")
            {
                cameraPoint = manytransforms[i];
            }
            if (manytransforms[i].name == "Driver")
            {
                Driver = manytransforms[i];
            }
        }
        if (cameraPoint == null)
        {
            Debug.LogError("There's no \"CameraPoint\" in " + newVehicle.name);
            return;
        }
        weaponManager = newVehicle.GetComponent <WeaponManager>();
        if (weaponManager == null)
        {
            Debug.Log("There's no \"WeaponManager\" in " + newVehicle.name);
        }
        //camera = GameManager.Instance.camera.transform;


        switch (newVehicle.vehicleType)
        {
        case VehicleType.Drone:
            ParentAndZero(cameraPoint, camera.transform);

            playerSteering.steeringDrone         = newVehicle.GetComponent <SteeringDrone>();
            playerSteering.steeringDrone.enabled = true;

            break;

        case VehicleType.Tractor:
            playerSteering.simpleCamera.enabled = true;
            playerSteering.simpleCamera.target  = cameraPoint;

            if (Driver)
            {
                mainVehicle.GetComponent <Rigidbody>().isKinematic = true;
                ParentAndZero(Driver, mainVehicle.transform);
            }
            foreach (Shooter weapon in weaponManager.weapons_Shooter)
            {
                PlayerAim PA = weapon.aimer.GetComponent <PlayerAim>();
                PA.enabled = true;
                PA.camera  = camera.transform;
            }

            playerSteering.tractorScriptEasy         = newVehicle.GetComponent <SteeringTractor>();
            playerSteering.trailerTrolley            = newVehicle.GetComponent <TrailerTrolley>();
            playerSteering.tractorScriptEasy.enabled = true;
            playerSteering.trailerTrolley.enabled    = true;
            break;

        case VehicleType.Robot:
            playerSteering.simpleSmooth.enabled    = true;
            playerSteering.simpleSmooth.target     = cameraPoint;
            playerSteering.simpleSmooth.lookTarget = newVehicle.transform;
            playerSteering.smoothHelper            = newVehicle.GetComponentInChildren <RobotSimpleSmoothHelper>();

            ParentAndZero(camera.transform, mainVehicle.transform);
            mainVehicle.GetComponent <Rigidbody>().isKinematic = true;

            playerSteering.robotWheelsSteering         = newVehicle.GetComponent <RobotLegsWheelsSteering>();
            playerSteering.robotWheelsSteering.enabled = true;

            playerSteering.robotGrabber         = newVehicle.GetComponent <RobotGrabber>();
            playerSteering.robotGrabber.enabled = true;
            break;
        }

        actualVehicle   = newVehicle;
        actualRigidbody = actualVehicle.GetComponent <Rigidbody>();
        GUI.setGUI(newVehicle);
    }
示例#3
0
    public void setGUI(VehicleTypeDefiner what)
    {
        switch (what.vehicleType)
        {
        case VehicleType.Drone:
            if (!GUIDrone.activeSelf)
            {
                GUIDrone.SetActive(true);
            }
            if (GUIRobot.activeSelf)
            {
                GUIRobot.SetActive(false);
            }
            if (GUITractor.activeSelf)
            {
                GUITractor.SetActive(false);
            }
            leanCamera.SetActive(false);
            drone          = GUIDrone.GetComponent <GUIDrone>();
            drone.altmeter = what.GetComponent <AltitudeMeter>();
            drone.lightPanel.SetState(new bool[] { player.playerSteering.steeringDrone.motorsOn,
                                                   player.playerSteering.steeringDrone.selfLeveling,
                                                   player.playerSteering.steeringDrone.keepAltitude,
                                                   player.playerSteering.steeringDrone.stabilize });
            GUIDrone.GetComponentInChildren <HealthBarScript>().life = what.GetComponent <Life>();
            break;

        case VehicleType.Tractor:
            if (GUIDrone.activeSelf)
            {
                GUIDrone.SetActive(false);
            }
            if (GUIRobot.activeSelf)
            {
                GUIRobot.SetActive(false);
            }
            if (!GUITractor.activeSelf)
            {
                GUITractor.SetActive(true);
            }
            GUITractor.GetComponentInChildren <HealthBarScript>().life = what.GetComponent <Life>();
            leanCamera.SetActive(false);
            break;

        case VehicleType.Robot:
            if (GUIDrone.activeSelf)
            {
                GUIDrone.SetActive(false);
            }
            if (!GUIRobot.activeSelf)
            {
                GUIRobot.SetActive(true);
            }
            if (GUITractor.activeSelf)
            {
                GUITractor.SetActive(false);
            }
            GUIRobot.GetComponentInChildren <HealthBarScript>().life = what.GetComponent <Life>();
            leanCamera.SetActive(false);
            break;
        }
    }