diff options
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) + { + } + +} |