Example #1
0
        protected override void load(int version, string agentType, List <property_t> properties)
        {
            base.load(version, agentType, properties);

            if (properties.Count > 0)
            {
                foreach (property_t p in properties)
                {
                    if (p.name == "Domains")
                    {
                        m_domains = p.value;
                    }
                    else if (p.name == "DescriptorRefs")
                    {
                        this.m_descriptorRefs = (List <Descriptor_t>)StringUtils.FromString(typeof(List <Descriptor_t>), p.value, false);

                        for (int i = 0; i < this.m_descriptorRefs.Count; ++i)
                        {
                            Descriptor_t d = this.m_descriptorRefs[i];
                            if (d.Descriptor != null)
                            {
                                d.Descriptor.SetDefaultValue(d.Reference);
                            }
                        }
                    }
                    else
                    {
                        //BEHAVIAC_ASSERT(0, "unrecognised property %s", p.name);
                    }
                }
            }
        }
Example #2
0
 protected override void load(int version, string agentType, List <property_t> properties)
 {
     base.load(version, agentType, properties);
     if (properties.Count > 0)
     {
         foreach (property_t _t in properties)
         {
             if (_t.name == "Domains")
             {
                 this.m_domains = _t.value;
             }
             else if (_t.name == "DescriptorRefs")
             {
                 this.m_descriptorRefs = (List <Descriptor_t>)StringUtils.FromString(typeof(List <Descriptor_t>), _t.value, false);
                 if (this.m_descriptorRefs != null)
                 {
                     for (int i = 0; i < this.m_descriptorRefs.Count; i++)
                     {
                         Descriptor_t _t2 = this.m_descriptorRefs[i];
                         if (_t2.Descriptor != null)
                         {
                             _t2.Descriptor.SetDefaultValue(_t2.Reference);
                         }
                     }
                 }
             }
         }
     }
 }
Example #3
0
            public Descriptor_t Clone()
            {
                Descriptor_t descriptor = new Descriptor_t();
                descriptor._attribute = (VariableDef)_attribute.Clone();
                descriptor._reference = (VariableDef)_reference.Clone();
                descriptor._descriptorWeight = _descriptorWeight;

                return descriptor;
            }
Example #4
0
 protected void SetDescriptors(string descriptors)
 {
     this.m_descriptors = (List <Descriptor_t>)StringUtils.FromString(typeof(List <Descriptor_t>), descriptors, false);
     for (int i = 0; i < this.m_descriptors.Count; i++)
     {
         Descriptor_t _t = this.m_descriptors[i];
         _t.Attribute.SetDefaultValue(_t.Reference);
     }
 }
Example #5
0
        public void SetDescriptors(string descriptors)
        {
            this.m_descriptorRefs = (List <Descriptor_t>)StringUtils.FromString(typeof(List <Descriptor_t>), descriptors, false);

            for (int i = 0; i < this.m_descriptorRefs.Count; ++i)
            {
                Descriptor_t d = this.m_descriptorRefs[i];
                d.Descriptor.SetDefaultValue(d.Reference);
            }
        }
Example #6
0
            public Descriptor_t Clone()
            {
                Descriptor_t descriptor = new Descriptor_t();

                descriptor._attribute        = (VariableDef)_attribute.Clone();
                descriptor._reference        = (VariableDef)_reference.Clone();
                descriptor._descriptorWeight = _descriptorWeight;

                return(descriptor);
            }
Example #7
0
 public void SetDescriptors(string descriptors)
 {
     this.m_descriptorRefs = (List <Descriptor_t>)StringUtils.FromString(typeof(List <Descriptor_t>), descriptors, false);
     if (this.m_descriptorRefs != null)
     {
         for (int i = 0; i < this.m_descriptorRefs.Count; i++)
         {
             Descriptor_t _t = this.m_descriptorRefs[i];
             _t.Descriptor.SetDefaultValue(_t.Reference);
         }
     }
 }
Example #8
0
 private static Property FindProperty(Descriptor_t q, List <BehaviorTree.Descriptor_t> c)
 {
     for (int i = 0; i < c.Count; i++)
     {
         BehaviorTree.Descriptor_t _t = c[i];
         if (_t.Descriptor.GetVariableId() == q.Attribute.GetVariableId())
         {
             return(_t.Descriptor);
         }
     }
     return(null);
 }
Example #9
0
 protected void SetDescriptors(string descriptors)
 {
     this.m_descriptors = (List <Descriptor_t>)StringUtils.FromString(typeof(List <Descriptor_t>), descriptors, false);
     if (this.m_descriptors == null)
     {
         return;
     }
     for (int i = 0; i < this.m_descriptors.Count; ++i)
     {
         Descriptor_t d = this.m_descriptors[i];
         d.Attribute.SetDefaultValue(d.Reference);
     }
 }
Example #10
0
        static Property FindProperty(Descriptor_t q, List <BehaviorTree.Descriptor_t> c)
        {
            //BehaviorTree.Descriptor_t descriptor = c.Find(delegate (BehaviorTree.Descriptor_t it) { return it.Descriptor.GetVariableId() == q.Attribute.GetVariableId(); });
            for (int i = 0; i < c.Count; ++i)
            {
                BehaviorTree.Descriptor_t descriptor = c[i];
                if (descriptor.Descriptor.GetVariableId() == q.Attribute.GetVariableId())
                {
                    return(descriptor.Descriptor);
                }
            }

            return(null);
        }
        static Property FindProperty(Descriptor_t q, List<BehaviorTree.Descriptor_t> c)
        {
            //BehaviorTree.Descriptor_t descriptor = c.Find(delegate (BehaviorTree.Descriptor_t it) { return it.Descriptor.GetVariableId() == q.Attribute.GetVariableId(); });
            for (int i = 0; i < c.Count; ++i)
            {
                BehaviorTree.Descriptor_t descriptor = c[i];
                if (descriptor.Descriptor.GetVariableId() == q.Attribute.GetVariableId())
                {
                    return descriptor.Descriptor;
                }
            }

            return null;
        }
Example #12
0
        private float ComputeSimilarity(List <Descriptor_t> q, List <BehaviorTree.Descriptor_t> c)
        {
            float num = 0f;

            for (int i = 0; i < q.Count; i++)
            {
                Descriptor_t _t    = q[i];
                Property     other = FindProperty(_t, c);
                if (other != null)
                {
                    float num3 = _t.Attribute.DifferencePercentage(other);
                    num += (1f - num3) * _t.Weight;
                }
            }
            return(num);
        }
Example #13
0
        public override void CheckForErrors(BehaviorNode rootBehavior, List <ErrorCheck> result)
        {
            if (this.Domain == string.Empty && this._descriptors.Count == 0)
            {
                result.Add(new Node.ErrorCheck(this, ErrorCheckLevel.Error, "Invalid query without domain or any descriptors"));
            }

            for (int i = 0; i < this._descriptors.Count; ++i)
            {
                Descriptor_t dw = this._descriptors[i];
                if (dw.Attribute != null && dw.Weight == 0.0f)
                {
                    string msg = string.Format("Descriptors[{0}]'s Weight is 0.0f!", i);
                    result.Add(new Node.ErrorCheck(this, ErrorCheckLevel.Error, msg));
                }
            }

            base.CheckForErrors(rootBehavior, result);
        }
Example #14
0
        float ComputeSimilarity(List <Descriptor_t> q, List <BehaviorTree.Descriptor_t> c)
        {
            float similarity = 0.0f;

            for (int i = 0; i < q.Count; ++i)
            {
                Descriptor_t qi = q[i];

                Property ci = FindProperty(qi, c);

                if (ci != null)
                {
                    float dp = qi.Attribute.DifferencePercentage(ci);
                    Debug.Check(dp >= 0.0f && dp <= 1.0f, "dp should be normalized to [0, 1], please check its scale");

                    similarity += (1.0f - dp) * qi.Weight;
                }
            }

            return(similarity);
        }
Example #15
0
            public Descriptor_t(Descriptor_t copy)
			{
				Descriptor = copy.Descriptor != null ? copy.Descriptor.clone() : null;
				Reference = copy.Reference != null ? copy.Reference.clone() : null;
            }
 public Descriptor_t(Descriptor_t copy)
 {
     Attribute = copy.Attribute.clone();
     Reference = copy.Reference.clone();
     Weight = copy.Weight;
 }
Example #17
0
 public Descriptor_t(Descriptor_t copy)
 {
     Attribute = copy.Attribute;
     Reference = copy.Reference;
     Weight    = copy.Weight;
 }
Example #18
0
 public Descriptor_t(Descriptor_t copy)
 {
     Descriptor = copy.Descriptor;
     Reference = copy.Reference;
 }
Example #19
0
            public Descriptor_t(Descriptor_t copy)
            {
                Descriptor = copy.Descriptor != null?copy.Descriptor.clone() : null;

                Reference = copy.Reference != null?copy.Reference.clone() : null;
            }
Example #20
0
 public Descriptor_t(Descriptor_t copy)
 {
     Attribute = copy.Attribute.clone();
     Reference = copy.Reference.clone();
     Weight    = copy.Weight;
 }
Example #21
0
 public Descriptor_t(Descriptor_t copy)
 {
     Attribute = copy.Attribute;
     Reference = copy.Reference;
     Weight = copy.Weight;
 }