summaryrefslogtreecommitdiff
path: root/AlienSurvival/Assets/Test/Scripts
diff options
context:
space:
mode:
Diffstat (limited to 'AlienSurvival/Assets/Test/Scripts')
-rw-r--r--AlienSurvival/Assets/Test/Scripts/TestDestroySelf.cs20
-rw-r--r--AlienSurvival/Assets/Test/Scripts/TestMathHelper.cs16
-rw-r--r--AlienSurvival/Assets/Test/Scripts/TestMathHelper.cs.meta11
-rw-r--r--AlienSurvival/Assets/Test/Scripts/TestPeaceMaker.cs75
-rw-r--r--AlienSurvival/Assets/Test/Scripts/TestPeaceMakerGrenade.cs2
-rw-r--r--AlienSurvival/Assets/Test/Scripts/TestWaspRobot.cs2
6 files changed, 103 insertions, 23 deletions
diff --git a/AlienSurvival/Assets/Test/Scripts/TestDestroySelf.cs b/AlienSurvival/Assets/Test/Scripts/TestDestroySelf.cs
index 0ab48da..1ccd825 100644
--- a/AlienSurvival/Assets/Test/Scripts/TestDestroySelf.cs
+++ b/AlienSurvival/Assets/Test/Scripts/TestDestroySelf.cs
@@ -6,10 +6,18 @@ public class TestDestroySelf : MonoBehaviour
{
public float lifeTime;
+ public AnimationCurve alphaCurve;
+
+ private float time;
+
+ private SpriteRenderer sr;
+
void Start()
{
Invoke("DestroySelf", lifeTime);
- }
+ time = 0;
+ sr = GetComponent<SpriteRenderer>();
+ }
void DestroySelf()
{
@@ -17,4 +25,14 @@ public class TestDestroySelf : MonoBehaviour
Destroy(this.gameObject);
}
+ void Update()
+ {
+ time += Time.deltaTime;
+
+ Color c = sr.color;
+ c.a = alphaCurve.Evaluate(time / lifeTime);
+
+ sr.color = c;
+ }
+
}
diff --git a/AlienSurvival/Assets/Test/Scripts/TestMathHelper.cs b/AlienSurvival/Assets/Test/Scripts/TestMathHelper.cs
new file mode 100644
index 0000000..e2ca833
--- /dev/null
+++ b/AlienSurvival/Assets/Test/Scripts/TestMathHelper.cs
@@ -0,0 +1,16 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class TestMathHelper : MonoBehaviour
+{
+
+ public static Vector2 Rotate(Vector2 v, float delta)
+ {
+ return new Vector2(
+ v.x * Mathf.Cos(delta) - v.y * Mathf.Sin(delta),
+ v.x * Mathf.Sin(delta) + v.y * Mathf.Cos(delta)
+ );
+ }
+
+} \ No newline at end of file
diff --git a/AlienSurvival/Assets/Test/Scripts/TestMathHelper.cs.meta b/AlienSurvival/Assets/Test/Scripts/TestMathHelper.cs.meta
new file mode 100644
index 0000000..872d038
--- /dev/null
+++ b/AlienSurvival/Assets/Test/Scripts/TestMathHelper.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: c40b8edb8d6570e419f024263e4cc43a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/AlienSurvival/Assets/Test/Scripts/TestPeaceMaker.cs b/AlienSurvival/Assets/Test/Scripts/TestPeaceMaker.cs
index 0af8d53..2ec06e0 100644
--- a/AlienSurvival/Assets/Test/Scripts/TestPeaceMaker.cs
+++ b/AlienSurvival/Assets/Test/Scripts/TestPeaceMaker.cs
@@ -15,6 +15,7 @@ public class TestPeaceMaker : MonoBehaviour
[SerializeField] private TestPeaceMakerBullet m_Bullet;
[SerializeField] private TestPeaceMakerGrenade m_Grenade;
[SerializeField] private Vector2 m_Zoom;
+ [SerializeField] private GameObject m_LaunchVfx;
private Vector3 zoomIn
{
@@ -36,6 +37,7 @@ public class TestPeaceMaker : MonoBehaviour
private SpriteRenderer m_SpriteRenderer;
private TestFakeHeight m_FakeHeight;
private Coroutine m_CoFire;
+ private Coroutine m_CoLaunchGrenade;
private Vector3 m_PreMouse;
@@ -68,12 +70,11 @@ public class TestPeaceMaker : MonoBehaviour
SetAim();
bool isFire = Fire();
-
- LaunchGrenade();
+ bool isGrenade = LaunchGrenade();
CameraFollow();
- CameraZoom(/*isMove ||*/ isFire);
+ CameraZoom(/*isMove ||*/ isFire || isGrenade);
}
void CameraZoom(bool zout)
@@ -107,7 +108,9 @@ public class TestPeaceMaker : MonoBehaviour
float x = Input.GetAxisRaw("Horizontal");
float y = Input.GetAxisRaw("Vertical");
- if (x != 0 || y != 0)
+ bool isMove = x != 0 || y != 0;
+
+ if (isMove)
{
Vector2 direction = new Vector2(x, y).normalized;
@@ -129,7 +132,7 @@ public class TestPeaceMaker : MonoBehaviour
}
}
- return x != 0 || y != 0;
+ return isMove;
}
void SetAim()
@@ -200,24 +203,32 @@ public class TestPeaceMaker : MonoBehaviour
return true;
}
- void LaunchGrenade()
+ bool LaunchGrenade()
{
- if (Input.GetButtonDown("Fire2"))
+ if (Input.GetButtonDown("Fire2") || (Input.GetAxis("BombTrigger") == 1))
{
- TestPeaceMakerGrenade grenade = Instantiate<TestPeaceMakerGrenade>(m_Grenade);
-
- Vector3 position = m_FakeHeight.position + new Vector3(0, 0, 1.8f);
-
- grenade.Set(position, GetRandomDirection(), Random.Range(8f, 10f));
-
- grenade.gameObject.SetActive(true);
+ if (m_CoLaunchGrenade == null)
+ {
+ m_CoLaunchGrenade = StartCoroutine(coLaunchGrenade(0.2f));
+ }
}
+ if (!Input.GetButton("Fire2") && (Input.GetAxis("BombTrigger") == 0))
+ {
+ if (m_CoLaunchGrenade != null)
+ {
+ StopCoroutine(m_CoLaunchGrenade);
+ m_CoLaunchGrenade = null;
+ }
+ return false;
+ }
+ return true;
}
Vector3 GetRandomDirection()
{
- Vector3 dirOnPlane = Quaternion.Euler(0, 0, Random.Range(-30f, 30f)) * new Vector3(m_AimDirection.x, m_AimDirection.y, 0);
- Vector3 dir = Quaternion.Euler(Random.Range(30f, 80f), 0, 0) * dirOnPlane;
+ Vector3 dirOnPlane = Quaternion.Euler(0, 0, Random.Range(-15f, 15f)) * new Vector3(m_AimDirection.x, m_AimDirection.y, 0);
+ dirOnPlane = dirOnPlane.normalized;
+ Vector3 dir = new Vector3(dirOnPlane.x, dirOnPlane.y, Random.Range(0f,0.5f)).normalized;
return dir.normalized;
}
@@ -225,12 +236,36 @@ public class TestPeaceMaker : MonoBehaviour
{
while (true)
{
- TestPeaceMakerBullet bullet = Instantiate<TestPeaceMakerBullet>(m_Bullet);
+ CreateBullet(m_AimDirection, 12f, 2f);
+ //CreateBullet(TestMathHelper.Rotate(m_AimDirection, 10 * Mathf.Deg2Rad), 12f, 2f);
+ //CreateBullet(TestMathHelper.Rotate(m_AimDirection, -10 * Mathf.Deg2Rad), 12f, 2f);
- bullet.transform.position = m_Arrow.transform.position + new Vector3(m_AimDirection.x, m_AimDirection.y, 0) * 1f;
+ yield return new WaitForSeconds(interval);
+ }
+ }
+
+ TestPeaceMakerBullet CreateBullet(Vector2 dir, float speed, float lifeTime)
+ {
+ TestPeaceMakerBullet bullet = Instantiate<TestPeaceMakerBullet>(m_Bullet);
+
+ bullet.transform.position = m_Arrow.transform.position + new Vector3(m_AimDirection.x, m_AimDirection.y, 0) * -0.3f;
- bullet.Set(m_AimDirection, 12f, 2f);
- bullet.gameObject.SetActive(true);
+ bullet.Set(dir, speed, lifeTime);
+ bullet.gameObject.SetActive(true);
+
+ return bullet;
+ }
+
+ IEnumerator coLaunchGrenade(float interval)
+ {
+ while (true)
+ {
+ TestPeaceMakerGrenade grenade = Instantiate<TestPeaceMakerGrenade>(m_Grenade);
+
+ Vector3 position = m_FakeHeight.position + new Vector3(0, 0, 1.8f);
+
+ grenade.Set(position, GetRandomDirection(), Random.Range(8f, 10f));
+ grenade.gameObject.SetActive(true);
yield return new WaitForSeconds(interval);
}
diff --git a/AlienSurvival/Assets/Test/Scripts/TestPeaceMakerGrenade.cs b/AlienSurvival/Assets/Test/Scripts/TestPeaceMakerGrenade.cs
index 38dc2f5..109e47b 100644
--- a/AlienSurvival/Assets/Test/Scripts/TestPeaceMakerGrenade.cs
+++ b/AlienSurvival/Assets/Test/Scripts/TestPeaceMakerGrenade.cs
@@ -44,7 +44,7 @@ public class TestPeaceMakerGrenade : MonoBehaviour
m_Coords.height += move.z;
m_Velocity += GRAVITY * Time.deltaTime;
- transform.rotation *= Quaternion.Euler(0, 0, 500 * Time.deltaTime);
+ transform.rotation *= Quaternion.Euler(0, 0, 100 * m_Velocity.magnitude * Time.deltaTime);
}
else
{
diff --git a/AlienSurvival/Assets/Test/Scripts/TestWaspRobot.cs b/AlienSurvival/Assets/Test/Scripts/TestWaspRobot.cs
index b310fbd..dafd7e0 100644
--- a/AlienSurvival/Assets/Test/Scripts/TestWaspRobot.cs
+++ b/AlienSurvival/Assets/Test/Scripts/TestWaspRobot.cs
@@ -50,7 +50,7 @@ public class TestWaspRobot : MonoBehaviour
{
if(m_State != state)
{
- Debug.Log(m_State.ToString() + "->" + state.ToString());
+ //Debug.Log(m_State.ToString() + "->" + state.ToString());
if(m_Coroutine != null)
{