public static void FinalizeLibrary() { /* 初期化カウンタの更新 */ CriAtomPlugin.initializationCount--; if (CriAtomPlugin.initializationCount < 0) { Debug.LogError("[CRIWARE] ERROR: Atom library is already finalized."); return; } if (CriAtomPlugin.initializationCount != 0) { return; } /* CriAtomListener の共有ネイティブリスナーを破棄 */ CriAtomListener.DestroySharedNativeListener(); /* CriAtomServerのインスタンスを破棄 */ CriAtomServer.DestroyInstance(); /* ライブラリの終了 */ CriAtomPlugin.criAtomUnity_Finalize(); /* 依存ライブラリの終了 */ CriFsPlugin.FinalizeLibrary(); }
public static void FinalizeLibrary() { /* 初期化カウンタの更新 */ CriAtomPlugin.initializationCount--; if (CriAtomPlugin.initializationCount < 0) { CriAtomPlugin.initializationCount = 0; if (CriAtomPlugin.IsLibraryInitialized() == false) { return; } } if (CriAtomPlugin.initializationCount != 0) { return; } /* CriAtomListenerが存在しない場合のためのダミーリスナーを破棄 */ CriAtomListener.DestroyDummyNativeListener(); /* CriAtomServerのインスタンスを破棄 */ CriAtomServer.DestroyInstance(); /* 未破棄のDisposableを破棄 */ CriDisposableObjectManager.CallOnModuleFinalization(CriDisposableObjectManager.ModuleType.Atom); /* ユーザエフェクトインタフェースのリストをクリア */ if (effectInterfaceList != null) { effectInterfaceList.Clear(); effectInterfaceList = null; } /* ライブラリの終了 */ CriAtomPlugin.criAtomUnity_Finalize(); /* 依存ライブラリの終了 */ CriFsPlugin.FinalizeLibrary(); }