当前位置: 首页>>代码示例>>C#>>正文


C# Agent.btreferencetree方法代码示例

本文整理汇总了C#中Agent.btreferencetree方法的典型用法代码示例。如果您正苦于以下问题:C# Agent.btreferencetree方法的具体用法?C# Agent.btreferencetree怎么用?C# Agent.btreferencetree使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Agent的用法示例。


在下文中一共展示了Agent.btreferencetree方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ReQuery

            private bool ReQuery(Agent pAgent)
            {
                Query pQueryNode = this.GetNode() as Query;

                if (pQueryNode != null)
                {
                    List<Query.Descriptor_t> qd = pQueryNode.GetDescriptors();

                    if (qd.Count > 0)
                    {
                        Dictionary<string, BehaviorTree> bs = Workspace.Instance.GetBehaviorTrees();

                        BehaviorTree btFound = null;
                        float similarityMax = -1.0f;

                        foreach(BehaviorTree bt in bs.Values)
                        {
                            string domains = bt.GetDomains();

                            if (string.IsNullOrEmpty(pQueryNode.m_domain) || (!string.IsNullOrEmpty(domains) && domains.IndexOf(pQueryNode.m_domain) != -1))
                            {
                                List<BehaviorTree.Descriptor_t> bd = bt.GetDescriptors();
                                float similarity = pQueryNode.ComputeSimilarity(qd, bd);

                                if (similarity > similarityMax)
                                {
                                    similarityMax = similarity;
                                    btFound = bt;
                                }
                            }
                        }

                        if (btFound != null)
                        {
                            pAgent.btreferencetree(btFound.GetName());
                            //pAgent.btexec();

                            return true;
                        }
                    }
                }

                return false;
            }
开发者ID:BeatlesCoder,项目名称:behaviac,代码行数:44,代码来源:Query.cs

示例2: update

            protected override EBTStatus update(Agent pAgent, EBTStatus childStatus)
            {
                Debug.Check(m_returnStatus == EBTStatus.BT_INVALID);
                ReferencedBehavior pNode = this.GetNode() as ReferencedBehavior;

                if (pNode != null)
                {
                    string pThisTree = pAgent.btgetcurrent().GetName();
                    string msg = string.Format("{0}[{1}] {2}", pThisTree, pNode.GetId(), pNode.m_referencedBehaviorPath);

                    LogManager.Log(pAgent, msg, EActionResult.EAR_none, LogMode.ELM_jump);

                    pAgent.btreferencetree(pNode.m_referencedBehaviorPath);
                }

                return EBTStatus.BT_RUNNING;
            }
开发者ID:Oswin2014,项目名称:Behavior_Tree-Practice-in-Unity,代码行数:17,代码来源:Referencebehavior.cs


注:本文中的Agent.btreferencetree方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。