public virtual void Init(BlackBoard.BlackBoard bb)
 {
     _blackBoard = bb;
     if (string.IsNullOrEmpty(Name) || !bb.Values.ContainsKey(Name))
     {
         Name = bb.Values.Keys.First();
     }
 }
예제 #2
0
        protected override JobHandle OnUpdate(JobHandle inputDependencies)
        {
            if (m_BlackBoard == null)
            {
                m_BlackBoard = new BlackBoard.BlackBoard(m_TreeGroup.CalculateLength(), 10);

                m_BlackBoardSystem = World.Active.GetOrCreateSystem <BlackBoardSystem>();
                m_BlackBoardSystem.BlackBoards.Add("TreeBlackBoard", m_BlackBoard);
            }

            var cutJob = new CutTreeSystemJob
            {
                CommandBuffer = m_CommandBufferSystem.CreateCommandBuffer().ToConcurrent()
            };
            var cutJobHandle = cutJob.Schedule(this, inputDependencies);

            var job = new TreeSystemJob
            {
                DeltaTime       = Time.deltaTime,
                BoardEntryQueue = m_BlackBoard.EntryQueue.ToConcurrent()
            };

            return(job.Schedule(m_TreeGroup, cutJobHandle));
        }
예제 #3
0
        public override void Init(BlackBoard.BlackBoard bb)
        {
            base.Init(bb);

            ModifyingValue.Type = value.Type;
        }