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;
}
}