This repository has been archived on 2025-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
project-undercover/Game 1/Assets/Scripts/RocketController.cs

39 lines
1.3 KiB
C#
Raw Normal View History

2017-09-05 19:44:20 -05:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RocketController : MonoBehaviour {
public PlayerController player;
public GameObject explosionPrefab;
private float ROCKET_SPEED = 20.0f;
private void Start()
{
Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector2 playerPos = player.transform.position;
Vector2 rocketDir = (mousePos - playerPos).normalized;
float angle = Mathf.Atan2(rocketDir.y, rocketDir.x) * Mathf.Rad2Deg;
Quaternion rotation = Quaternion.AngleAxis(angle, Vector3.forward);
transform.rotation = rotation;
Rigidbody2D rocketBody = GetComponent<Rigidbody2D>();
Vector2 force = rocketDir * ROCKET_SPEED;
rocketBody.AddForce(force, ForceMode2D.Impulse);
}
void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.layer == LayerMask.NameToLayer("Player"))
{
Debug.Log("Player Collision Detected");
return;
}
Vector3 explosionPos = transform.position;
explosionPos.z = 0;
GameObject explosion = Instantiate(explosionPrefab, explosionPos, Quaternion.identity);
explosion.GetComponent<Explosion>().player = player;
Destroy(gameObject);
}
}