Ejemplo n.º 1
0
        public void SetTree(Core.BehaviourTree bt, Mode mode = Mode.Edit)
        {
            tree = bt;
            buildCanvas();

            _mode = mode;
        }
Ejemplo n.º 2
0
        private static void CreateBlackboard(Core.BehaviourTree bt)
        {
            var bb = ScriptableObject.CreateInstance <Core.Blackboard>();

            AssetDatabase.AddObjectToAsset(bb, bt);
            bt.SetBlackboard(bb);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Create a node and its behaviour from the type.
        /// </summary>
        /// <param name="nodeTypename"></param>
        internal BonsaiNode CreateNode(Type behaviourType, Core.BehaviourTree bt)
        {
            var behaviour = BonsaiSaveManager.CreateBehaviourNode(behaviourType, bt);
            var node      = CreateNode(behaviour);

            return(node);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Creates and adds a node to the tree.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="bt"></param>
        /// <returns></returns>
        public static Core.BehaviourNode CreateBehaviourNode <T>(Core.BehaviourTree bt) where T : Core.BehaviourNode
        {
            var behaviour = ScriptableObject.CreateInstance <T>();

            AssetDatabase.AddObjectToAsset(behaviour, bt);

            behaviour.Tree = bt;

            return(behaviour);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Creates and adds a node to the tree.
        /// </summary>
        /// <param name="t"></param>
        /// <param name="bt"></param>
        /// <returns></returns>
        public static Core.BehaviourNode CreateBehaviourNode(Type t, Core.BehaviourTree bt)
        {
            try {
                var behaviour = ScriptableObject.CreateInstance(t) as Core.BehaviourNode;
                AssetDatabase.AddObjectToAsset(behaviour, bt);

                behaviour.Tree = bt;

                return(behaviour);
            }

            catch (Exception e) {
                throw new UnityException(e.Message);
            }
        }