Ejemplo n.º 1
0
        public void UpdatePerception(RolePlayCharacterAsset rpc)
        {
            string b = rpc.GetBeliefValue("Entity(" + GUID + ")");

            if (b == null || !(b.Equals(Prefab.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("Entity(" + GUID + ")", Prefab.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("Quantity(" + GUID + ")");
            if (b == null || !(b.Equals(Quantity.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("Quantity(" + GUID + ")", Quantity.ToString(), rpc.CharacterName.ToString()));
            }

            //====================================================
            b = rpc.GetBeliefValue("IsCollectable(" + GUID + ")");
            if (b == null || !(b.Equals(IsCollectable.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsCollectable(" + GUID + ")", IsCollectable.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("IsCooker(" + GUID + ")");
            if (b == null || !(b.Equals(IsCooker.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsCooker(" + GUID + ")", IsCooker.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("IsCookable(" + GUID + ")");
            if (b == null || !(b.Equals(IsCookable.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsCookable(" + GUID + ")", IsCookable.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("IsEdible(" + GUID + ")");
            if (b == null || !(b.Equals(IsEdible.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsEdible(" + GUID + ")", IsEdible.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("IsEquippable(" + GUID + ")");
            if (b == null || !(b.Equals(IsEquippable.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsEquippable(" + GUID + ")", IsEquippable.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("IsFuel(" + GUID + ")");
            if (b == null || !(b.Equals(IsFuel.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsFuel(" + GUID + ")", IsFuel.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("IsFueled(" + GUID + ")");
            if (b == null || !(b.Equals(IsFueled.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsFueled(" + GUID + ")", IsFueled.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("IsGrower(" + GUID + ")");
            if (b == null || !(b.Equals(IsGrower.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsGrower(" + GUID + ")", IsGrower.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("IsHarvestable(" + GUID + ")");
            if (b == null || !(b.Equals(IsHarvestable.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsHarvestable(" + GUID + ")", IsHarvestable.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("IsPickable(" + GUID + ")");
            if (b == null || !(b.Equals(IsPickable.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsPickable(" + GUID + ")", IsPickable.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("IsStewer(" + GUID + ")");
            if (b == null || !(b.Equals(IsStewer.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsStewer(" + GUID + ")", IsStewer.ToString(), rpc.CharacterName.ToString()));
            }

            //==================================================
            b = rpc.GetBeliefValue("IsChoppable(" + GUID + ")");
            if (b == null || !(b.Equals(IsChoppable.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsChoppable(" + GUID + ")", IsChoppable.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("IsHammerable(" + GUID + ")");
            if (b == null || !(b.Equals(IsHammerable.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsHammerable(" + GUID + ")", IsHammerable.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("IsDiggable(" + GUID + ")");
            if (b == null || !(b.Equals(IsDiggable.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsDiggable(" + GUID + ")", IsDiggable.ToString(), rpc.CharacterName.ToString()));
            }

            b = rpc.GetBeliefValue("IsMineable(" + GUID + ")");
            if (b == null || !(b.Equals(IsMineable.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("IsMineable(" + GUID + ")", IsMineable.ToString(), rpc.CharacterName.ToString()));
            }

            //===========================================
            b = rpc.GetBeliefValue("PosX(" + GUID + ")");
            if (b == null || !(b.Equals(X.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("PosX(" + GUID + ")", X.ToString(), rpc.CharacterName.ToString()));
            }

            /*
             * The Y-axis is always equal to zero, no need to save it in the knowledge base
             * */

            b = rpc.GetBeliefValue("PosZ(" + GUID + ")");
            if (b == null || !(b.Equals(Z.ToString())))
            {
                rpc.Perceive(EventHelper.PropertyChange("PosZ(" + GUID + ")", Z.ToString(), rpc.CharacterName.ToString()));
            }
        }
Ejemplo n.º 2
0
 public override string ToString()
 {
     return(Ingredients.Select(ingredient => ingredient.ToString()).Aggregate((l, r) => l + " " + r)
            + $"/{UsageLocation}/{ObjectId}/{IsCookable.ToString().ToLower()}/{SkillAndLevel}");
 }