Пример #1
0
        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);
            }
        }
Пример #2
0
        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));
        }