Beispiel #1
0
    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();
    }
Beispiel #2
0
    protected virtual void SetInitialParameters()
    {
        this.use3dPositioning = this.use3dPositioning;         /* ここで必要に応じて3Dソースが設定される */
        CriAtomListener listener = CriAtomListener.instance;

        if (listener != null)
        {
            this.player.Set3dListener(listener.internalListener);
        }
        this.lastPosition = this.transform.position;
        this.source.SetPosition(this.lastPosition.x, this.lastPosition.y, this.lastPosition.z);
        this.source.Update();

        this.player.SetVolume(this._volume);
        this.player.SetPitch(this._pitch);
    }
Beispiel #3
0
    public static void InitializeLibrary()
    {
        /* 初期化カウンタの更新 */
        CriAtomPlugin.initializationCount++;
        if (CriAtomPlugin.initializationCount != 1)
        {
            return;
        }

        /* シーン実行前に初期化済みの場合は終了させる */
        if (CriAtomPlugin.IsLibraryInitialized() == true)
        {
            CriAtomPlugin.FinalizeLibrary();
            CriAtomPlugin.initializationCount = 1;
        }

        /* 初期化パラメータが設定済みかどうかを確認 */
        if (CriAtomPlugin.isConfigured == false)
        {
            Debug.Log("[CRIWARE] Atom initialization parameters are not configured. "
                      + "Initializes Atom by default parameters.");
        }

        /* 依存ライブラリの初期化 */
        CriFsPlugin.InitializeLibrary();

        /* ライブラリの初期化 */
        CriAtomPlugin.criAtomUnity_Initialize();


        /* CriAtomServerのインスタンスを生成 */
                #if UNITY_EDITOR
        /* ゲームプレビュー時のみ生成する */
        if (UnityEngine.Application.isPlaying)
        {
            CriAtomServer.CreateInstance();
        }
                #else
        CriAtomServer.CreateInstance();
                #endif

        /* CriAtomListenerが存在しない場合のためのダミーリスナーを生成 */
        CriAtomListener.CreateDummyNativeListener();
    }
Beispiel #4
0
    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();
    }
Beispiel #5
0
    public static void InitializeLibrary()
    {
        /* 初期化カウンタの更新 */
        CriAtomPlugin.initializationCount++;
        if (CriAtomPlugin.initializationCount != 1)
        {
            return;
        }

        /* CriWareInitializerが実行済みかどうかを確認 */
        bool initializerWorking = CriWareInitializer.IsInitialized();

        if (initializerWorking == false)
        {
            Debug.Log("[CRIWARE] CriWareInitializer is not working. "
                      + "Initializes Atom by default parameters.");
        }

        /* 依存ライブラリの初期化 */
        CriFsPlugin.InitializeLibrary();

        /* ライブラリの初期化 */
        CriAtomPlugin.criAtomUnity_Initialize();

        /* CriAtomServerのインスタンスを生成 */
                #if UNITY_EDITOR
        /* ゲームプレビュー時のみ生成する */
        if (UnityEngine.Application.isPlaying)
        {
            CriAtomServer.CreateInstance();
        }
                #else
        CriAtomServer.CreateInstance();
                #endif

        /* CriAtomListener の共有ネイティブリスナーを生成 */
        CriAtomListener.CreateSharedNativeListener();
    }