2
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.1 KiB
C#

using Entitas;
using Game;
public enum EInteractType
{
Monster,
Door,
Npc,
Bless,
}
[Game]
public class InteractComponent : IComponent
{
public MetaData<bool> IsActive = new MetaData<bool>(); //是否激活
public MetaData<bool> IsTarget = new MetaData<bool>(); //是否在交互范围内、并成为交互目标
public EInteractType InteractType; //交互类型
public string TargetId; //交互目标id 关卡/宝箱/npc
}
namespace Game
{
public abstract partial class Util
{
public static void SetIsTarget(int entityID, bool isTarget)
{
var entity = GetEntity(entityID);
if (entity == null)
{
return;
}
var interact = entity.interact;
interact.IsTarget.Value = isTarget;
}
public static void ClearInteract(GameEntity entity)
{
var interact = entity.interact;
interact.IsActive.Value = false;
interact.IsTarget.Value = false;
}
}
}