예제 #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)
        {
            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);
        }
예제 #4
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);
        }
예제 #5
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);
        }
예제 #6
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);
        }
예제 #7
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);
        }
예제 #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)
        {
            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);
        }
예제 #11
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);
        }
예제 #12
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);
        }
예제 #13
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);
        }