[Opsive - ultimate inventory system] Item Object Behaviour handler(项目对象行为处理程序)

英文原文:https://opsive.com/support/documentation/ultimate-inventory-system/item-objects/usable-item-objects/

Item Object Behaviour handler(项目对象行为处理程序) 介绍

物品对象行为处理程序是位于物品对象旁边的组件,装备者使用它来使用装备的物品。它允许您通过不同的输入轻松触发项目对象行为。项对象行为处理程序可以链接到多个项对象行为。例如,如果你有一个“枪”类别,你可以指定一个动作来射击、重新装填、瞄准等。

物品对象行为是可以添加到物品游戏对象上的组件。您可以根据需要添加任意数量。在演示场景中,当装备了剑或法杖时,角色使用“Fire1”按钮(默认单击左键)进行攻击。查看可用武器prefab,您会发现该动作没有分配输入。
在这里插入图片描述
项目对象行为可以通过代码触发,这通常由侦听库存输入组件的装备器组件完成。

物品对象行为组件是特定于游戏的,因此您可能需要实现自己的组件。基类 Item Object Behavior 有两种方法:CanUse 和 Use。默认情况下,如果 Time.time >= m_NextUseTime,则 CanUse 将为 true。这意味着您可以通过在使用动作时设置 m_NextUseTime = 时间 + 冷却时间来设置冷却时间。如果希望更好地控制何时可以使用某个项,可以重写 CanUse 方法。

/// <summary>
/// An abstract class used to create actions for item objects.
/// </summary>
public abstract class ItemObjectBehaviour : MonoBehaviour
{
    protected float m_NextUseTime;
    /// <summary>
    /// Can the item object be used.
    /// </summary>
    public virtual bool CanUse => Time.time >= m_NextUseTime;
    /// <summary>
    /// Use the item object.
    /// </summary>
    /// <param name="itemObject">The item object.</param>
    /// <param name="itemUser">The item user.</param>
    public abstract void Use(ItemObject itemObject, ItemUser itemUser);
}

如果选择重写 Use 方法,将为你提供两个参数,即正在使用的 Item 对象和 Item User(通常在字符上)。使用这些属性,您可以获取项目属性(或项目用户的统计信息),以自定义使用项目时发生的情况。

在演示中,我们使用角色属性来修改攻击时的伤害。我们还修改了从角色法杖中射出的射弹数量,并更改了射弹预制件。

提示: 项对象行为与项绑定非常配合,项绑定用于将项属性绑定到任何组件上的属性。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值