diff options
author | chai <chaifix@163.com> | 2022-04-25 09:58:56 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-04-25 09:58:56 +0800 |
commit | 71ae3d755a03a706d93291ca57c6de8e6f0d5926 (patch) | |
tree | ea8e38b0fe6bd860fae5458b4a4ed12b3984920f /SurvivalTest/Assets/Scripts/Weapons/WeaponBase.cs | |
parent | 0eff98708ab049559d7891f1aa24e365000caae1 (diff) |
* rename equip to weapon
Diffstat (limited to 'SurvivalTest/Assets/Scripts/Weapons/WeaponBase.cs')
-rw-r--r-- | SurvivalTest/Assets/Scripts/Weapons/WeaponBase.cs | 66 |
1 files changed, 66 insertions, 0 deletions
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) + { + } + +} |