public override string FormatDataString(TraitDataSnapshot child1Data, TraitDataSnapshot child2Data)
        {
            child1Data.GetTraits(out Dictionary <string, Pose> poses1);
            child2Data.GetTraits(out Dictionary <string, Pose> poses2);
            var child1Pose      = poses1[k_RequiredTraits[0].TraitName];
            var child2Pose      = poses2[k_RequiredTraits[1].TraitName];
            var child1Elevation = child1Pose.position.y;
            var child2Elevation = child2Pose.position.y;
            var elevationDiff   = child1Elevation - child2Elevation;

            return($"{elevationDiff:0.00}m");
        }
        public override void OptimizeForData(TraitDataSnapshot child1Data, TraitDataSnapshot child2Data)
        {
            child1Data.GetTraits(out Dictionary <string, Pose> poses1);
            child2Data.GetTraits(out Dictionary <string, Pose> poses2);
            var child1Pose      = poses1[k_RequiredTraits[0].TraitName];
            var child2Pose      = poses2[k_RequiredTraits[1].TraitName];
            var child1Elevation = child1Pose.position.y;
            var child2Elevation = child2Pose.position.y;
            var elevationDiff   = child1Elevation - child2Elevation;

            m_Maximum = elevationDiff + k_OptimalPadding;
            m_Minimum = elevationDiff - k_OptimalPadding;
        }
示例#3
0
        public void UpdateInfo(QueryResult proxyData)
        {
            MainLabel.text = "MARS Data #" + proxyData.DataID;

            // Separate bool traits as "Tags" and group other types as "Traits"
            var tagsString   = "";
            var traitsString = "";

            m_HoverDataSnapshot.TakeSnapshot(proxyData);
            m_TraitNames.Clear();
            m_HoverDataSnapshot.GetAllTraitNames(m_TraitNames);

            m_HoverDataSnapshot.GetTraits(out Dictionary <string, bool> traitDataTagData);
            foreach (var boolTrait in traitDataTagData)
            {
                tagsString += boolTrait.Key + ", ";
                m_TraitNames.Remove(boolTrait.Key);
            }

            foreach (var traitName in m_TraitNames)
            {
                traitsString += traitName + ", ";
            }

            if (tagsString.Length > 1)
            {
                tagsString = tagsString.Remove(tagsString.Length - 2);
            }

            if (traitsString.Length > 1)
            {
                traitsString = traitsString.Remove(traitsString.Length - 2);
            }

            TagsLabel.text   = tagsString;
            TraitsLabel.text = traitsString;
        }