void LoadLayout(HUDLayoutSave saveState) { foreach (var savedRule in saveState.Rules) { RosTopicState topicState = m_Connection.GetOrCreateTopic(savedRule.Topic, savedRule.RosMessageName, savedRule.IsService); VisualizationTopicsTabEntry vis; if (!m_Topics.TryGetValue(savedRule.Topic, out vis)) { vis = new VisualizationTopicsTabEntry(topicState, m_FillTexture); m_Topics.Add(savedRule.Topic, vis); } vis.LoadSaveState(savedRule); } }
public void SaveLayout(string path = "") { // Print filepath if saving to user-input path; default to persistentDataPath if (path.Length > 0) { Debug.Log($"Saved visualizations layout to {path}"); } else { path = LayoutFilePath; } HUDLayoutSave saveState = new HUDLayoutSave { }; saveState.AddRules(m_Topics.Values); System.IO.File.WriteAllText(path, JsonUtility.ToJson(saveState)); }