using System;
using System.Collections;
using System.Collections.Generic;
using BITKit;
using BITKit.StateMachine;

namespace Net.Project.B.Inventory
{

    /// <summary>
    /// 玩家控制器
    /// </summary>
    public interface IPlayerWeaponController:IStateAsync{}
    /// <summary>
    /// 玩家泛型控制器
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public interface IPlayerWeaponController<T>:IPlayerWeaponController{}
    /// <summary>
    /// 玩家武器库存,与背包不是一个东西
    /// </summary>
    public interface IPlayerWeaponInventory
    {
        /// <summary>
        /// 允许使用武器
        /// </summary>
        public ValidHandle AllowWeapon { get; }
        /// <summary>
        /// 武器控制器状态机
        /// </summary>
        public IStateMachine<IPlayerWeaponController> StateMachine { get; }
        /// <summary>
        /// 丢下武器
        /// </summary>
        /// <param name="itemId"></param>
        void Drop(int itemId);
        void Draw(int itemId);
    }

}
