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>(); }