Files
Net.Project.B/Src/Inventory/IPlayerWeaponInventory.cs
CortexCore dbc223be46 1
2025-08-05 23:34:30 +08:00

52 lines
1.4 KiB
C#

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);
/// <summary>
/// 使用武器
/// </summary>
/// <param name="itemId"></param>
/// <param name="controller"></param>
/// <returns></returns>
bool Draw(int itemId,out IPlayerWeaponController controller);
/// <summary>
/// 使用主要武器
/// </summary>
/// <returns></returns>
bool DrawPrimaryWeapon();
}
}