//------------------------------------------------------------------------/ // Methods //------------------------------------------------------------------------/ /// <summary> /// Checks whether the given instance id is a valid asset for this tree view, /// if so it sets it /// </summary> /// <param name="instanceID"></param> /// <param name="line"></param> /// <returns></returns> public bool TryOpenAsset(int instanceID, int line) { TreeAsset <TreeElementType> treeAsset = EditorUtility.InstanceIDToObject(instanceID) as TreeAsset <TreeElementType>; if (treeAsset != null) { this.SetTreeAsset(treeAsset); return(true); } return(false); }
public override void OnPrepare(BehaviourTreeRunner.AssetBinder binder, BTNode node) { Identify = node.Identify; var p = node.Parent; // TreeAsset.GetNodeById(node.parentId); Parent = p == null ? null : p.Asset as IBTNode; for (int i = 0; i < m_ConditionIds.Count; i++) { var cond = TreeAsset.GetNodeById(m_ConditionIds[i]); if (cond != null) { mConditions.Add(cond.Asset as ICondition); var decor = cond.Asset as IBTNodeDecorator; if (decor != null) { mDecorators.Add(decor); } } } }
/// <summary> /// Sets the current tree asset at runtime /// </summary> /// <param name="asset"></param> public void SetTreeAsset(TreeAsset <TreeElementType> asset) { this.treeAsset = asset; this.SetTree(asset.elements); }