36 lines
1.4 KiB
C#
36 lines
1.4 KiB
C#
|
using ParadoxNotion;
|
|||
|
using ParadoxNotion.Design;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
|
|||
|
namespace NodeCanvas.BehaviourTrees
|
|||
|
{
|
|||
|
|
|||
|
///<summary> Base class for BehaviourTree Composite nodes.</summary>
|
|||
|
abstract public class BTComposite : BTNode
|
|||
|
{
|
|||
|
|
|||
|
public override string name { get { return base.name.ToUpper(); } }
|
|||
|
|
|||
|
sealed public override int maxOutConnections { get { return -1; } }
|
|||
|
sealed public override Alignment2x2 commentsAlignment { get { return Alignment2x2.Right; } }
|
|||
|
|
|||
|
///----------------------------------------------------------------------------------------------
|
|||
|
///---------------------------------------UNITY EDITOR-------------------------------------------
|
|||
|
#if UNITY_EDITOR
|
|||
|
|
|||
|
protected override UnityEditor.GenericMenu OnContextMenu(UnityEditor.GenericMenu menu) {
|
|||
|
menu = base.OnContextMenu(menu);
|
|||
|
menu = EditorUtils.GetTypeSelectionMenu(typeof(BTComposite), (t) => { this.ReplaceWith(t); }, menu, "Replace");
|
|||
|
menu.AddItem(new GUIContent("Convert to SubTree"), false, () => { this.ConvertToSubTree(); });
|
|||
|
if ( outConnections.Count > 0 ) {
|
|||
|
menu.AddItem(new GUIContent("Duplicate Branch"), false, () => { this.DuplicateBranch(graph); });
|
|||
|
menu.AddItem(new GUIContent("Delete Branch"), false, () => { this.DeleteBranch(); });
|
|||
|
}
|
|||
|
return menu;
|
|||
|
}
|
|||
|
|
|||
|
#endif
|
|||
|
|
|||
|
}
|
|||
|
}
|