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; }
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; }