50 lines
1.3 KiB
C#
50 lines
1.3 KiB
C#
using UnityEngine;
|
|
|
|
public class GunThrown : MonoBehaviour
|
|
{
|
|
public GameObject player;
|
|
public Vector3 TargetPosition;
|
|
|
|
public Vector3 targetDirection;
|
|
public Quaternion targetRotation;
|
|
|
|
public bool isStuck;
|
|
public float despawnTimer = 10;
|
|
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
|
void Start()
|
|
{
|
|
player = GameObject.Find("Player");
|
|
TargetPosition = player.transform.position;
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
transform.LookAt(player.transform);
|
|
transform.rotation = Quaternion.Euler(transform.rotation.x + 55, transform.rotation.y, transform.rotation.z);
|
|
transform.position = Vector3.MoveTowards(transform.position, TargetPosition, 10 * Time.deltaTime);
|
|
|
|
if (transform.position == TargetPosition)
|
|
{
|
|
isStuck = true;
|
|
}
|
|
|
|
if (isStuck)
|
|
{
|
|
despawnTimer -= Time.deltaTime;
|
|
if (despawnTimer <= 0)
|
|
{
|
|
Destroy(this.gameObject);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void OnCollisionStay(Collision collision)
|
|
{
|
|
if (collision.gameObject.tag == "Player" && !isStuck)
|
|
{
|
|
Destroy(this.gameObject);
|
|
}
|
|
}
|
|
}
|