Gameplay Ingredients是一组用于 Unity 游戏的运行时和编辑器工具:一组脚本的集合,可在制作游戏和原型时简化简单的任务。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

41 行
1.1 KiB

using GameplayIngredients.Events;
using NaughtyAttributes;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace GameplayIngredients.Interactions
{
[HelpURL(Help.URL + "interactive")]
[AdvancedHierarchyIcon("Packages/net.peeweek.gameplay-ingredients/Icons/Misc/ic-interactive.png")]
public abstract class Interactive : EventBase
{
[Header("Events")]
[SerializeField, ReorderableList]
protected Callable[] OnInteract;
protected virtual void OnEnable()
{
InteractionManager.RegisterInteractive(this);
}
protected virtual void OnDisable()
{
InteractionManager.RemoveInteractive(this);
}
public bool Interact(InteractiveUser user)
{
if (user.CanInteract(this) && CanInteract(user))
{
Callable.Call(OnInteract, user.gameObject);
return true;
}
else
return false;
}
public abstract bool CanInteract(InteractiveUser user);
}
}