public void DisposeScript() { if (m_instance == null) { return; } m_instance.Dispose(); m_instance = null; }
public void ActivateScript(bool restored = false) { if (m_scriptType == null || m_instance != null) { return; } m_instance = Activator.CreateInstance(m_scriptType) as IMyStateMachineScript; Debug.Assert(m_instance != null, "Script instance should never be null."); if (restored) { m_instance.Deserialize(); } m_instance.Init(); // reset transitions to blocking state foreach (var storage in m_transitionNamesToVariableStorages.Values) { storage.SetValue(MyStringId.GetOrCompute("Left"), false); } }