public void Deserialize(MyObjectBuilder_CampaignSM ob) 
        {
            if (m_objectBuilder != null)
            {
                Debug.Fail("Loading twice.");
                return;
            }

            m_objectBuilder = ob;

            foreach (var nodeData in m_objectBuilder.Nodes)
            {
                var node = new MyCampaignStateMachineNode(nodeData.Name) {SavePath = nodeData.SaveFilePath};
                AddNode(node);
            }

            foreach (var transitionData in m_objectBuilder.Transitions)
            {
                AddTransition(transitionData.From, transitionData.To, name: transitionData.Name);
            }
        }
        public void Deserialize(MyObjectBuilder_CampaignSM ob)
        {
            if (m_objectBuilder != null)
            {
                Debug.Fail("Loading twice.");
                return;
            }

            m_objectBuilder = ob;

            foreach (var nodeData in m_objectBuilder.Nodes)
            {
                var node = new MyCampaignStateMachineNode(nodeData.Name)
                {
                    SavePath = nodeData.SaveFilePath
                };
                AddNode(node);
            }

            foreach (var transitionData in m_objectBuilder.Transitions)
            {
                AddTransition(transitionData.From, transitionData.To, name: transitionData.Name);
            }
        }