summaryrefslogtreecommitdiff
path: root/AlienSurvival/Assets/Scripts/Test/TestBeamGun.cs
diff options
context:
space:
mode:
Diffstat (limited to 'AlienSurvival/Assets/Scripts/Test/TestBeamGun.cs')
-rw-r--r--AlienSurvival/Assets/Scripts/Test/TestBeamGun.cs79
1 files changed, 79 insertions, 0 deletions
diff --git a/AlienSurvival/Assets/Scripts/Test/TestBeamGun.cs b/AlienSurvival/Assets/Scripts/Test/TestBeamGun.cs
new file mode 100644
index 0000000..69225b6
--- /dev/null
+++ b/AlienSurvival/Assets/Scripts/Test/TestBeamGun.cs
@@ -0,0 +1,79 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class TestBeamGun : MonoBehaviour
+{
+ public TestBeamBullet bullet;
+
+ public Transform start;
+
+ public float speed = 1;
+
+ SpriteRenderer sprite;
+
+ // Start is called before the first frame update
+ void Start()
+ {
+ sprite = GetComponent<SpriteRenderer>();
+
+ // StartCoroutine(coFire());
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+
+ Vector3 screenPos = Input.mousePosition;
+
+ Vector2 target = Camera.main.ScreenToWorldPoint(screenPos);
+
+ Vector2 dir = Vector2.ClampMagnitude(target - (Vector2)transform.position, 1);
+ Vector3 move = dir * speed * Time.deltaTime;
+
+ float x = move.x;
+ if (x > 0)
+ {
+ sprite.flipY = false;
+ }
+ else if (x < 0)
+ {
+ sprite.flipY = true;
+ }
+
+ transform.rotation = Quaternion.Euler(0, 0, Mathf.Rad2Deg * Mathf.Atan2(dir.y, dir.x));
+
+ Shot();
+ }
+
+ void Shot()
+ {
+ if (Input.GetButtonDown("Fire1"))
+ {
+ //Debug.Log("Shoot");
+
+ TestBeamBullet b = TestBeamBullet.Instantiate(bullet);
+ b.gameObject.SetActive(true);
+
+ b.transform.position = start.position;
+
+ b.direction = transform.right;
+ }
+ }
+
+ IEnumerator coFire()
+ {
+ while (true)
+ {
+ TestBeamBullet b = TestBeamBullet.Instantiate(bullet);
+ b.gameObject.SetActive(true);
+
+ b.transform.position = start.position;
+
+ b.direction = transform.right;
+
+ yield return new WaitForSeconds(0.5f);
+ }
+ }
+
+}