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())); } }
public override string ToString() { return(Ingredients.Select(ingredient => ingredient.ToString()).Aggregate((l, r) => l + " " + r) + $"/{UsageLocation}/{ObjectId}/{IsCookable.ToString().ToLower()}/{SkillAndLevel}"); }