summaryrefslogtreecommitdiff
path: root/SurvivalTest/Assets/Scripts/Weapons
diff options
context:
space:
mode:
Diffstat (limited to 'SurvivalTest/Assets/Scripts/Weapons')
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/LightSaber.meta8
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/LightSaber/LightSaber.cs18
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/LightSaber/LightSaber.cs.meta11
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/LightSaber/Weapon_LightSaber.cs63
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/LightSaber/Weapon_LightSaber.cs.meta11
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/RailGun.meta8
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/RailGun/RailGun.cs18
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/RailGun/RailGun.cs.meta11
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/RailGun/Weapon_RailGun.cs16
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/RailGun/Weapon_RailGun.cs.meta11
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/WeaponBase.cs66
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/WeaponBase.cs.meta11
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/Weapon_Boomerang.cs34
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/Weapon_Boomerang.cs.meta11
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/Weapon_GrenadeLauncher.cs49
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/Weapon_GrenadeLauncher.cs.meta11
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/Weapon_Gun.cs57
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/Weapon_Gun.cs.meta11
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/Weapon_MightyGlove.cs22
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/Weapon_MightyGlove.cs.meta11
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/Weapon_TeslaCoil.cs23
-rw-r--r--SurvivalTest/Assets/Scripts/Weapons/Weapon_TeslaCoil.cs.meta11
22 files changed, 492 insertions, 0 deletions
diff --git a/SurvivalTest/Assets/Scripts/Weapons/LightSaber.meta b/SurvivalTest/Assets/Scripts/Weapons/LightSaber.meta
new file mode 100644
index 0000000..1920297
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/LightSaber.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 253a4032920545c4488fd1eeedac07e3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SurvivalTest/Assets/Scripts/Weapons/LightSaber/LightSaber.cs b/SurvivalTest/Assets/Scripts/Weapons/LightSaber/LightSaber.cs
new file mode 100644
index 0000000..4db08ee
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/LightSaber/LightSaber.cs
@@ -0,0 +1,18 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class LightSaber : MonoBehaviour
+{
+ // Start is called before the first frame update
+ void Start()
+ {
+
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+
+ }
+}
diff --git a/SurvivalTest/Assets/Scripts/Weapons/LightSaber/LightSaber.cs.meta b/SurvivalTest/Assets/Scripts/Weapons/LightSaber/LightSaber.cs.meta
new file mode 100644
index 0000000..e8200d8
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/LightSaber/LightSaber.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 72f3d28485a45ba4b8906603b170f9fa
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SurvivalTest/Assets/Scripts/Weapons/LightSaber/Weapon_LightSaber.cs b/SurvivalTest/Assets/Scripts/Weapons/LightSaber/Weapon_LightSaber.cs
new file mode 100644
index 0000000..ad942f3
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/LightSaber/Weapon_LightSaber.cs
@@ -0,0 +1,63 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Weapon_LightSaber : WeaponBase
+{
+ public override string name => "¹â½£";
+
+ public override string iconPath => "art/ui/weaponicon/light_saber";
+
+ public override AutoMode autoMode => AutoMode.Condition;
+
+ private string lightSaberPrefabPath = "prefabs/weapon/light_saber";
+
+ private bool isWielding = false;
+
+ private LightSaber m_LightSaber;
+
+ private TopDownTransform m_TopDownTransform;
+
+ private float m_Dist = 0.2f;
+
+ public override void OnInitialize(GameObject owner)
+ {
+ m_LightSaber = UnityEngine.Object.Instantiate<LightSaber>(ResourceManager.Instance.Load<LightSaber>(lightSaberPrefabPath));
+ m_TopDownTransform = m_LightSaber.gameObject.GetComponent<TopDownTransform>();
+ SetLightSaberPositionAndRotation(owner.GetComponent<CrewScript>());
+ m_LightSaber.gameObject.SetActive(false);
+ }
+
+ public override bool CheckCondition(GameObject owner)
+ {
+ return true;
+ }
+
+ public override void OnTrigger(GameObject owner)
+ {
+ if (isWielding)
+ return;
+ isWielding = true;
+
+ m_LightSaber.gameObject.SetActive(true);
+ }
+
+ public override void OnStop(GameObject owner)
+ {
+ isWielding = false;
+ m_LightSaber.gameObject.SetActive(false);
+ }
+
+ public override void Update(GameObject owner)
+ {
+ CrewScript crew = owner.GetComponent<CrewScript>();
+ SetLightSaberPositionAndRotation(crew);
+ }
+
+ void SetLightSaberPositionAndRotation(CrewScript crew)
+ {
+ m_LightSaber.transform.position = crew.arrow.position + new Vector3(crew.aimDirection.x, crew.aimDirection.y, 0) * m_Dist;
+ m_LightSaber.transform.rotation = Quaternion.Euler(0, 0, Mathf.Atan2(crew.aimDirection.y, crew.aimDirection.x) * Mathf.Rad2Deg);
+ }
+
+} \ No newline at end of file
diff --git a/SurvivalTest/Assets/Scripts/Weapons/LightSaber/Weapon_LightSaber.cs.meta b/SurvivalTest/Assets/Scripts/Weapons/LightSaber/Weapon_LightSaber.cs.meta
new file mode 100644
index 0000000..68db854
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/LightSaber/Weapon_LightSaber.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d419253b4eae555459a2800a7c95308c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SurvivalTest/Assets/Scripts/Weapons/RailGun.meta b/SurvivalTest/Assets/Scripts/Weapons/RailGun.meta
new file mode 100644
index 0000000..901bfca
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/RailGun.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 58852a4f6155748468fd8812fd61446d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SurvivalTest/Assets/Scripts/Weapons/RailGun/RailGun.cs b/SurvivalTest/Assets/Scripts/Weapons/RailGun/RailGun.cs
new file mode 100644
index 0000000..0ffb5eb
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/RailGun/RailGun.cs
@@ -0,0 +1,18 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class RailGun : MonoBehaviour
+{
+ // Start is called before the first frame update
+ void Start()
+ {
+
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+
+ }
+}
diff --git a/SurvivalTest/Assets/Scripts/Weapons/RailGun/RailGun.cs.meta b/SurvivalTest/Assets/Scripts/Weapons/RailGun/RailGun.cs.meta
new file mode 100644
index 0000000..28040c3
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/RailGun/RailGun.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 840b1c98faf9e654abb4f09bf46fb3f5
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SurvivalTest/Assets/Scripts/Weapons/RailGun/Weapon_RailGun.cs b/SurvivalTest/Assets/Scripts/Weapons/RailGun/Weapon_RailGun.cs
new file mode 100644
index 0000000..abad760
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/RailGun/Weapon_RailGun.cs
@@ -0,0 +1,16 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class Weapon_RailGun : WeaponBase
+{
+ public override string name => "¹ìµÀÅÚ";
+
+ public override string iconPath => "";
+
+ public override AutoMode autoMode => AutoMode.Interval;
+
+ public override void OnTrigger(GameObject owner)
+ {
+ }
+}
diff --git a/SurvivalTest/Assets/Scripts/Weapons/RailGun/Weapon_RailGun.cs.meta b/SurvivalTest/Assets/Scripts/Weapons/RailGun/Weapon_RailGun.cs.meta
new file mode 100644
index 0000000..8ecfcb4
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/RailGun/Weapon_RailGun.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b319aeb6ad3ae5842bb716ffa24b898a
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SurvivalTest/Assets/Scripts/Weapons/WeaponBase.cs b/SurvivalTest/Assets/Scripts/Weapons/WeaponBase.cs
new file mode 100644
index 0000000..d143199
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/WeaponBase.cs
@@ -0,0 +1,66 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public abstract class WeaponBase
+{
+
+ public abstract string name { get; }
+
+ public abstract string iconPath { get; }
+
+ /// <summary>
+ /// Á¬·¢Ä£Ê½
+ /// </summary>
+ public enum AutoMode
+ {
+ Interval, // °´Ê±Á¬·¢£¬ÐèÒªÉèÖÃInterval
+ Condition, // °´Ìõ¼þ´¥·¢£¬ÐèÒªÖØÐ´CheckCondition
+ Always, // ³£×¤
+ }
+
+ public abstract AutoMode autoMode { get; }
+
+ /// <summary>
+ /// ´¥·¢µÄʱ¼ä¼ä¸ô
+ /// </summary>
+ public virtual float interval { get; }
+
+ /// <summary>
+ /// ³õʼ»¯
+ /// </summary>
+ public virtual void OnInitialize(GameObject owner)
+ {
+ }
+
+ /// <summary>
+ /// Ïú»Ù
+ /// </summary>
+ /// <param name="owner"></param>
+ public virtual void OnDestroy(GameObject owner)
+ {
+ }
+
+ /// <summary>
+ /// ʹÓÃ×°±¸
+ /// </summary>
+ public abstract void OnTrigger(GameObject owner);
+
+ public virtual bool CheckCondition(GameObject owner)
+ {
+ return false;
+ }
+
+ /// <summary>
+ /// Í£Ö¹¿ª»ð
+ /// </summary>
+ /// <param name="owner"></param>
+ public virtual void OnStop(GameObject owner)
+ {
+ }
+
+ public virtual void Update(GameObject owner)
+ {
+ }
+
+}
diff --git a/SurvivalTest/Assets/Scripts/Weapons/WeaponBase.cs.meta b/SurvivalTest/Assets/Scripts/Weapons/WeaponBase.cs.meta
new file mode 100644
index 0000000..23e0a00
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/WeaponBase.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a9ad03a26b4af7a42a81bd9216665ebb
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SurvivalTest/Assets/Scripts/Weapons/Weapon_Boomerang.cs b/SurvivalTest/Assets/Scripts/Weapons/Weapon_Boomerang.cs
new file mode 100644
index 0000000..d701c83
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/Weapon_Boomerang.cs
@@ -0,0 +1,34 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+/// <summary>
+/// »ØÐýïÚ
+/// </summary>
+public class Weapon_Boomerang : WeaponBase
+{
+ public override AutoMode autoMode => AutoMode.Condition;
+
+ public override string name => "»ØÐýïÚ";
+
+ public override string iconPath => "art/ui/weaponicon/boomerang";
+
+ /// <summary>
+ /// ½Óµ½»ØÐýïÚºóÖØÐÂÖÀ³ö£¬·ñÔò¼ä¸ôÒ»¶Îʱ¼äͶÖÀ
+ /// </summary>
+ /// <param name="owner"></param>
+ /// <returns></returns>
+ public override bool CheckCondition(GameObject owner)
+ {
+ return false;
+ }
+
+ public override void OnTrigger(GameObject owner)
+ {
+ }
+
+ public override void Update(GameObject owner)
+ {
+ }
+
+} \ No newline at end of file
diff --git a/SurvivalTest/Assets/Scripts/Weapons/Weapon_Boomerang.cs.meta b/SurvivalTest/Assets/Scripts/Weapons/Weapon_Boomerang.cs.meta
new file mode 100644
index 0000000..401fde6
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/Weapon_Boomerang.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1c95bca840a78e64bba70c9ecceb2628
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SurvivalTest/Assets/Scripts/Weapons/Weapon_GrenadeLauncher.cs b/SurvivalTest/Assets/Scripts/Weapons/Weapon_GrenadeLauncher.cs
new file mode 100644
index 0000000..3a4457a
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/Weapon_GrenadeLauncher.cs
@@ -0,0 +1,49 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+/// <summary>
+/// Áñµ¯·¢ÉäÆ÷
+/// </summary>
+public class Weapon_GrenadeLauncher : WeaponBase
+{
+
+ public override string name => "Áñµ¯·¢ÉäÆ÷";
+
+ public override string iconPath => "art/ui/weaponicon/grenade";
+
+ public override AutoMode autoMode => AutoMode.Interval;
+
+ public override float interval => 0.5f;
+
+ private string prefabPath = "prefabs/grenade/grenade_v1";
+
+ // ÌØÐ§vfx
+ private string vfxPath = "prefabs/effect/eff_launch";
+
+ Vector3 GetRandomLaunchGrenadeDirection(CrewScript crew)
+ {
+ Vector3 dirOnPlane = Quaternion.Euler(0, 0, Random.Range(-15f, 15f)) * new Vector3(crew.aimDirection.x, crew.aimDirection.y, 0);
+ dirOnPlane = dirOnPlane.normalized;
+ Vector3 dir = new Vector3(dirOnPlane.x, dirOnPlane.y, Random.Range(0f, 1f)).normalized;
+ return dir.normalized;
+ }
+
+
+ public override void OnTrigger(GameObject owner)
+ {
+ CrewScript crew = owner.GetComponent<CrewScript>();
+
+ // grenade
+ TestPeaceMakerGrenade grenade = UnityEngine.Object.Instantiate<TestPeaceMakerGrenade>(ResourceManager.Instance.Load<TestPeaceMakerGrenade>(prefabPath));
+ Vector3 position = owner.GetComponent<TopDownTransform>().position + new Vector3(0, 0, 1.8f);
+ grenade.Set(position, GetRandomLaunchGrenadeDirection(crew), Random.Range(8f, 10f));
+ grenade.gameObject.SetActive(true);
+
+ // vfx
+ GameObject eff = UnityEngine.Object.Instantiate<GameObject>(ResourceManager.Instance.Load<UnityEngine.GameObject>(vfxPath), crew.transform);
+ eff.transform.position = crew.launchPoint.position;
+ eff.SetActive(true);
+
+ }
+} \ No newline at end of file
diff --git a/SurvivalTest/Assets/Scripts/Weapons/Weapon_GrenadeLauncher.cs.meta b/SurvivalTest/Assets/Scripts/Weapons/Weapon_GrenadeLauncher.cs.meta
new file mode 100644
index 0000000..024da76
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/Weapon_GrenadeLauncher.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: dba5a0f9f2cde934e9a3c047eadfbf00
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SurvivalTest/Assets/Scripts/Weapons/Weapon_Gun.cs b/SurvivalTest/Assets/Scripts/Weapons/Weapon_Gun.cs
new file mode 100644
index 0000000..5517edd
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/Weapon_Gun.cs
@@ -0,0 +1,57 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+/// <summary>
+/// 枪
+/// </summary>
+public class Weapon_Gun : WeaponBase
+{
+
+ public override string name => "枪";
+
+ public override string iconPath => "art/ui/weaponicon/gun";
+
+ public override AutoMode autoMode => AutoMode.Interval;
+
+ public override float interval => 0.1f;
+
+ private string prefabPath = "prefabs/bullet/bullet";
+
+ private int index = 0;
+
+ TestPeaceMakerBullet CreateBullet(CrewScript crew, Vector2 dir, float speed, float lifeTime)
+ {
+ TestPeaceMakerBullet bullet = UnityEngine.Object.Instantiate<TestPeaceMakerBullet>(ResourceManager.Instance.Load< TestPeaceMakerBullet>(prefabPath));
+
+ bullet.transform.position = crew.arrow.position + new Vector3(crew.aimDirection.x, crew.aimDirection.y, 0) * -0.3f;
+
+ bullet.Set(dir, speed, lifeTime);
+ bullet.gameObject.SetActive(true);
+
+ return bullet;
+ }
+
+ public override void OnTrigger(GameObject owner)
+ {
+ CrewScript crew = owner.GetComponent<CrewScript>();
+
+ index++;
+ index = index % 3;
+
+ if(index == 0)
+ {
+ CreateBullet(crew, TestMathHelper.Rotate(crew.aimDirection, -10 * Mathf.Deg2Rad), 12f, 2f);
+ }
+ else if(index == 1)
+ {
+ CreateBullet(crew, crew.aimDirection, 12f, 2f);
+ }
+ else if(index == 2)
+ {
+ CreateBullet(crew, TestMathHelper.Rotate(crew.aimDirection, 10 * Mathf.Deg2Rad), 12f, 2f);
+ }
+
+ }
+
+} \ No newline at end of file
diff --git a/SurvivalTest/Assets/Scripts/Weapons/Weapon_Gun.cs.meta b/SurvivalTest/Assets/Scripts/Weapons/Weapon_Gun.cs.meta
new file mode 100644
index 0000000..5aeaa24
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/Weapon_Gun.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5a5f1ba1ce3c9824f9dd23e7a47458e8
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SurvivalTest/Assets/Scripts/Weapons/Weapon_MightyGlove.cs b/SurvivalTest/Assets/Scripts/Weapons/Weapon_MightyGlove.cs
new file mode 100644
index 0000000..3253f33
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/Weapon_MightyGlove.cs
@@ -0,0 +1,22 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+/// <summary>
+/// ³¬·²ÊÖÌ×£¬¼¯ÆëÎå¿Å±¦Ê¯ÊÎÆ·½âËø³¬Îä
+/// </summary>
+public class Weapon_MightyGlove : WeaponBase
+{
+
+ public override string name => "³¬·²ÊÖÌ×";
+
+ public override string iconPath => "art/ui/weaponicon/glove";
+
+ public override AutoMode autoMode => AutoMode.Interval;
+
+ public override float interval => 100f;
+
+ public override void OnTrigger(GameObject owner)
+ {
+ }
+} \ No newline at end of file
diff --git a/SurvivalTest/Assets/Scripts/Weapons/Weapon_MightyGlove.cs.meta b/SurvivalTest/Assets/Scripts/Weapons/Weapon_MightyGlove.cs.meta
new file mode 100644
index 0000000..b0c414f
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/Weapon_MightyGlove.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d9fff60e7cb47d545bef9de999f5a0f0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/SurvivalTest/Assets/Scripts/Weapons/Weapon_TeslaCoil.cs b/SurvivalTest/Assets/Scripts/Weapons/Weapon_TeslaCoil.cs
new file mode 100644
index 0000000..1a6e448
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/Weapon_TeslaCoil.cs
@@ -0,0 +1,23 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+/// <summary>
+/// ÌØË¹À­ÏßȦ
+/// </summary>
+public class Weapon_TeslaCoil : WeaponBase
+{
+
+ public override string name => "ÌØË¹À­ÏßȦ";
+
+ public override string iconPath => "art/ui/weaponicon/tesla_coil";
+
+ public override AutoMode autoMode => AutoMode.Interval;
+
+ public override float interval => 20f;
+
+ public override void OnTrigger(GameObject owner)
+ {
+ }
+
+}
diff --git a/SurvivalTest/Assets/Scripts/Weapons/Weapon_TeslaCoil.cs.meta b/SurvivalTest/Assets/Scripts/Weapons/Weapon_TeslaCoil.cs.meta
new file mode 100644
index 0000000..5a30a14
--- /dev/null
+++ b/SurvivalTest/Assets/Scripts/Weapons/Weapon_TeslaCoil.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 482fe3c5e222fbe4b82527cd796989db
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: