Example #1
0
    void Update()
    {
        if (lureb.isKinematic)
        {
            lure.transform.position = transform.position;
            lure.transform.rotation = transform.rotation;

            if (Input.GetKeyUp(KeyCode.Space) && (transform.position.y > -1) && (Time.fixedTime - cast_time > 1.0f)) // not under water
            {
                lureb.isKinematic = false;
                lureb.velocity    = transform.TransformDirection(0, 2, 10);

                CameraSpecs cams = lure.GetComponent <CameraSpecs>();
                cam_target = cams.Target(); // save last target
                cams.Setup(lure);

                cast_time = Time.fixedTime;
            }
        }
        else if (Input.GetKeyUp(KeyCode.Space))
        {
            float up = 0.0f;
            if (gameObject.transform.position.y > lure.transform.position.y)
            {
                up = 0.5f;
            }

            lure.transform.LookAt(transform);
            lureb.velocity = lure.transform.TransformDirection(0, up, 7);
        }
        else if (Vector3.Distance(lure.transform.position, transform.position) < 2)
        {
            if (Time.fixedTime - cast_time > 1.0f)
            {
                lureb.isKinematic = true;
                cast_time         = Time.fixedTime;

                CameraSpecs cams = lure.GetComponent <CameraSpecs>();
                cams.Setup(cam_target);
            }
        }
    }
 public void Setup(GameObject g)
 {
     target = g;
     cams   = target.GetComponent <CameraSpecs>();
 }