using System.Collections; using System.Collections.Generic; using UnityEngine; public abstract class WeaponBase { public abstract string name { get; } public abstract string iconPath { get; } public int count { get { return m_Count; } } protected int m_Count = 1; /// /// 连发模式 /// public enum AutoMode { Interval, // 按时连发,需要设置Interval Condition, // 按条件触发,需要重写CheckCondition Always, // 常驻 } public abstract AutoMode autoMode { get; } /// /// 触发的时间间隔 /// public virtual float interval { get; } /// /// 初始化 /// public virtual void OnInitialize(GameObject owner) { } /// /// 销毁 /// /// public virtual void OnDestroy(GameObject owner) { } /// /// 使用装备 /// public abstract void OnTrigger(GameObject owner); public virtual bool CheckCondition(GameObject owner) { return false; } /// /// 停止开火 /// /// public virtual void OnStop(GameObject owner) { } public virtual void Update(GameObject owner) { } public void SetCount(int c) { m_Count = c; } }