Пример #1
0
        public virtual BehaviourTreeTaskRuntime getRuntimeTask(BehaviourTreeController runtimeController, BehaviourTreeTaskRuntime parent = null)
        {
            BehaviourTreeTaskRuntime rn = new BehaviourTreeTaskRuntime();

            rn.type = TaskType.ROOT;
            return(rn);
        }
Пример #2
0
        public override BehaviourTreeTaskRuntime getRuntimeTask(BehaviourTreeController runtimeController, BehaviourTreeTaskRuntime parent = null)
        {
            SetMoveParamTaskRuntime rn = new SetMoveParamTaskRuntime();

            rn.targetVelocity = runtimeController.Blackboard.getVariableByName(targetVelocity.name) as SharedVector;
            rn.type           = TaskType.ACTION;
            rn.parent         = parent;
            //parameters
            return(rn);
        }
Пример #3
0
        public override BehaviourTreeTaskRuntime getRuntimeTask(BehaviourTreeController runtimeController, BehaviourTreeTaskRuntime parent = null)
        {
            LogActionTaskRuntime rn = new LogActionTaskRuntime();

            rn.logText = runtimeController.Blackboard.getVariableByName(logText.name) as SharedString;
            rn.type    = TaskType.ACTION;
            rn.parent  = parent;
            //parameters
            rn.messageToLog = messageToLog;
            return(rn);
        }
Пример #4
0
        public override BehaviourTreeTaskRuntime getRuntimeTask(BehaviourTreeController runtimeController, BehaviourTreeTaskRuntime parent = null)
        {
            IsFlagSetTaskRuntime rn = new IsFlagSetTaskRuntime();

            rn.flag   = runtimeController.Blackboard.getVariableByName(flag.name) as SharedBool;
            rn.type   = TaskType.ACTION;
            rn.parent = parent;
            //params
            rn.resetFlag = resetFlag;
            return(rn);
        }
Пример #5
0
        public override BehaviourTreeTaskRuntime getRuntimeTask(BehaviourTreeController runtimeController, BehaviourTreeTaskRuntime parent = null)
        {
            AttackTargetTaskRuntime rn = new AttackTargetTaskRuntime();

            rn.type   = TaskType.ACTION;
            rn.parent = parent;
            //parameters
            rn.target    = runtimeController.Blackboard.getVariableByName(target.name) as SharedTransform;
            rn.eventType = runtimeController.Blackboard.getVariableByName(eventType.name) as SharedObject;
            return(rn);
        }
Пример #6
0
        public override BehaviourTreeTaskRuntime getRuntimeTask(BehaviourTreeController runtimeController, BehaviourTreeTaskRuntime parent = null)
        {
            TimerTaskRuntime rn = new TimerTaskRuntime();

            rn.type   = TaskType.ACTION;
            rn.parent = parent;
            //parameters
            rn.targetTimer = runtimeController.Blackboard.getVariableByName(targetTimer.name) as SharedFloat;
            rn.repeatTimer = repeatTimer;
            return(rn);
        }
Пример #7
0
        public override BehaviourTreeTaskRuntime getRuntimeTask(BehaviourTreeController runtimeController, BehaviourTreeTaskRuntime parent = null)
        {
            IsAliveTaskRuntime rn = new IsAliveTaskRuntime();

            rn.target = runtimeController.Blackboard.getVariableByName(target.name) as SharedTransform;
            rn.type   = TaskType.ACTION;
            rn.parent = parent;
            //parameters
            rn.yourself = yourself;
            return(rn);
        }
Пример #8
0
        public override BehaviourTreeTaskRuntime getRuntimeTask(BehaviourTreeController runtimeController, BehaviourTreeTaskRuntime parent = null)
        {
            RootTreeTaskRuntime runtime = new RootTreeTaskRuntime();

            runtime.type = TaskType.ROOT;

            foreach (BehaviourTreeTask child in children)
            {
                runtime.children.Add(child.getRuntimeTask(runtimeController, runtime));
            }
            return(runtime);
        }
Пример #9
0
        public override BehaviourTreeTaskRuntime getRuntimeTask(BehaviourTreeController runtimeController, BehaviourTreeTaskRuntime parent = null)
        {
            MoveToTaskRuntime rn = new MoveToTaskRuntime();

            rn.target = runtimeController.Blackboard.getVariableByName(target.name) as SharedTransform;
            rn.type   = TaskType.ACTION;
            rn.parent = parent;
            //parameters
            rn.moveSpeed    = runtimeController.Blackboard.getVariableByName(moveSpeed.name) as SharedFloat;
            rn.targetRadius = targetRadius;
            return(rn);
        }
Пример #10
0
        public override BehaviourTreeTaskRuntime getRuntimeTask(BehaviourTreeController runtimeController, BehaviourTreeTaskRuntime parent = null)
        {
            DealDamageTaskRuntime rn = new DealDamageTaskRuntime();

            rn.type   = TaskType.ACTION;
            rn.parent = parent;
            //parameters
            rn.target         = runtimeController.Blackboard.getVariableByName(target.name) as SharedTransform;
            rn.eventType      = runtimeController.Blackboard.getVariableByName(eventType.name) as SharedObject;
            rn.damageValue    = runtimeController.Blackboard.getVariableByName(damageValue.name) as SharedFloat;
            rn.dealToYourself = dealToYourself;
            return(rn);
        }
Пример #11
0
        public override BehaviourTreeTaskRuntime getRuntimeTask(BehaviourTreeController runtimeController, BehaviourTreeTaskRuntime parent = null)
        {
            children.Sort();
            SelectorTreeTaskRuntime rn = new SelectorTreeTaskRuntime();

            rn.type   = TaskType.COMPOSITE;
            rn.parent = parent;
            foreach (BehaviourTreeTask child in children)
            {
                rn.children.Add(child.getRuntimeTask(runtimeController, rn));
            }
            return(rn);
        }
Пример #12
0
        public override BehaviourTreeTaskRuntime getRuntimeTask(BehaviourTreeController runtimeController, BehaviourTreeTaskRuntime parent = null)
        {
            GetTargetTaskRuntime rn = new GetTargetTaskRuntime();

            rn.target = runtimeController.Blackboard.getVariableByName(target.name) as SharedTransform;
            rn.type   = TaskType.ACTION;
            rn.parent = parent;
            //parameters
            rn.targetTag  = targetTag;
            rn.targetName = targetName;
            rn.useTag     = useTag;
            rn.useName    = useName;
            return(rn);
        }
Пример #13
0
        public override BehaviourTreeTaskRuntime getRuntimeTask(BehaviourTreeController runtimeController, BehaviourTreeTaskRuntime parent = null)
        {
            IsCloseEnoughTaskRuntime rn = new IsCloseEnoughTaskRuntime();

            rn.target = runtimeController.Blackboard.getVariableByName(target.name) as SharedTransform;
            rn.type   = TaskType.ACTION;
            rn.parent = parent;
            //parameters
            rn.distance           = runtimeController.Blackboard.getVariableByName(distance.name) as SharedFloat;
            rn.useXAxis           = useXAxis;
            rn.useYAxis           = useYAxis;
            rn.useZAxis           = useZAxis;
            rn.resetAgentVelocity = resetAgentVelocity;
            return(rn);
        }
Пример #14
0
        /// <summary>
        /// Callback when we change what is selected in editor
        /// When editor is open and we change selected behaviour tree we need to update selectedBehaviour and repaint window
        /// </summary>
        private void onSelectionChanged()
        {
            BehaviourTree behaviour = Selection.activeObject as BehaviourTree;

            if (behaviour != null)
            {
                selectedBehaviour = behaviour;
                Repaint();
            }
            else
            {
                GameObject obj = Selection.activeObject as GameObject;
                if (obj)
                {
                    BehaviourTreeController controler = obj.GetComponent <BehaviourTreeController>();
                    if (controler != null)
                    {
                        selectedBehaviour = controler.source;
                        runtimeController = controler;
                    }
                }
            }
        }
Пример #15
0
 /// <summary>
 /// generate runtime nodes from SO definitions
 /// </summary>
 public BehaviourTreeTaskRuntime generateRuntimeNodes(BehaviourTreeController runtimeControler)
 {
     return(nodes[0].getRuntimeTask(runtimeControler, null));
 }