Пример #1
0
 void OnCollisionStay(Collision col)
 {
     if (Input.GetKeyDown(KeyCode.E) && vehicle == null)
     {
         CarSystem car = col.gameObject.GetComponent <CarSystem>();
         if (car != null)
         {
             car.playerIn          = true;
             followCamera.target   = car.gameObject.transform;
             followCamera.distance = 6;
             followCamera.height   = 3;
             vehicle = car.gameObject;
             selfCollider.enabled = false;
             GetComponent <CharacterMotorN>().canControl  = false;
             GetComponent <CharacterController>().enabled = false;
             vehicleType           = VEHICLE_TYPE.Car;
             playerWeapon.canShoot = false;
             render.SetActive(false);
             return;
         }
         Helicopter_Main helicopter = col.gameObject.GetComponent <Helicopter_Main>();
         if (helicopter != null)
         {
             helicopter.playerIn   = true;
             followCamera.target   = helicopter.gameObject.transform;
             followCamera.distance = 30;
             followCamera.height   = 10;
             vehicle = helicopter.gameObject;
             selfCollider.enabled = false;
             GetComponent <CharacterMotorN>().canControl  = false;
             GetComponent <CharacterController>().enabled = false;
             vehicleType           = VEHICLE_TYPE.Helicopter;
             playerWeapon.canShoot = false;
             render.SetActive(false);
             return;
         }
         Aircraft_MAIN aircraft = col.gameObject.GetComponent <Aircraft_MAIN>();
         if (aircraft != null)
         {
             aircraft.playerIn     = true;
             followCamera.target   = aircraft.gameObject.transform;
             followCamera.distance = 10;
             followCamera.height   = 5;
             vehicle = aircraft.gameObject;
             selfCollider.enabled = false;
             GetComponent <CharacterMotorN>().canControl  = false;
             GetComponent <CharacterController>().enabled = false;
             vehicleType           = VEHICLE_TYPE.Aircraft;
             playerWeapon.canShoot = false;
             render.SetActive(false);
             return;
         }
     }
 }
Пример #2
0
    // Update is called once per frame
    void Update()
    {
        if (vehicle != null)
        {
            switch (vehicleType)
            {
            case VEHICLE_TYPE.Car:
                transform.position = vehicle.transform.position + Vector3.up;
                break;

            case VEHICLE_TYPE.Helicopter:
                transform.position = vehicle.transform.position + Vector3.up * 2;
                break;

            case VEHICLE_TYPE.Aircraft:
                transform.position = vehicle.transform.position + Vector3.up * 1.2f;
                break;
            }
            if (Input.GetKeyDown(KeyCode.Escape))
            {
                CarSystem c = vehicle.GetComponent <CarSystem>();
                if (c != null)
                {
                    c.playerIn = false;
                }
                Helicopter_Main h = vehicle.GetComponent <Helicopter_Main>();
                if (h != null)
                {
                    h.playerIn = false;
                }
                Aircraft_MAIN a = vehicle.GetComponent <Aircraft_MAIN>();
                if (a != null)
                {
                    a.playerIn = false;
                }
                CONFIG.ThirdPersonCamera.GetComponent <SmoothFollowScript>().target = transform;
                vehicle = null;
                selfCollider.enabled = true;
                GetComponent <CharacterMotorN>().canControl  = true;
                GetComponent <CharacterController>().enabled = true;
                playerWeapon.canShoot = true;
                render.SetActive(true);
            }
        }
    }