41 lines
1.2 KiB
C#
41 lines
1.2 KiB
C#
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using BITKit;
|
|||
|
using BITKit.Entities;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
#if GameDesigner && UNITY
|
|||
|
|
|||
|
namespace BITFALL
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 玩家背包服务
|
|||
|
/// </summary>
|
|||
|
public class PlayerInventoryService : MonoBehaviour
|
|||
|
{
|
|||
|
public bool ServerAddItem(IEntity entity,IBasicItem item)
|
|||
|
{
|
|||
|
var unityEntity = entity as Entity;
|
|||
|
//如果获取到entity包括了物品容器(背包组件)
|
|||
|
//在服务器上处理添加物品的行为
|
|||
|
if (!unityEntity!.TryGetComponent<IBasicItemContainer>(out var inventory)) return false;
|
|||
|
if (!inventory.Add(item)) return false;
|
|||
|
RpcAddItem(entity, item);
|
|||
|
return true;
|
|||
|
}
|
|||
|
public bool RpcAddItem(IEntity entity, IBasicItem item)
|
|||
|
{
|
|||
|
var unityEntity = entity as Entity;
|
|||
|
//在客户端上处理添加物品的行为
|
|||
|
if (unityEntity!.TryGetComponent<IBasicItemContainer>(out var inventory))
|
|||
|
{
|
|||
|
inventory.Add(item);
|
|||
|
return true;
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endif
|