自己手写一个类似于CanSeeObject、Seek等任务节点并不是一件难事
下面我介绍CanSeeObject和Seek任务节点的代码生成,基本成功实现了原来节点的功能
LJLCanSeeObject代码如下:
using UnityEngine;
using System.Collections;
using BehaviorDesigner.Runtime;
using BehaviorDesigner.Runtime.Tasks;
#region 检测选中的游戏对象是否在视野内
/// <summary>
///CanSeeObject是在Conditional下的节点,因此自己手动写的一个类似于CanSeeObject的节点继承自Conditional,在这里命名为LJLCanSeeObject
/// </summary>
public class LJLCanSeeObject : Conditional
{
/// <summary>
/// 视野内检测的目标对象
/// </summary>
public Transform[] targets;
/// <summary>
/// 视野角度
/// </summary>
public float fieldOfViewAngle = 90;
/// <summary>
/// 视野距离(共享变量)
/// </summary>
public SharedFloat sharedViewDistance;
/// <summary>
/// 在视野内检测到的游戏对象位置(共享变量