Exemplo n.º 1
0
        /// <summary>
        /// 終了処理を行う。
        /// </summary>
        public static void Terminate()
        {
            if (core == null)
            {
                return;
            }

            CurrentScene = null;

            GC.Terminate();

            core.Terminate();
            core.Release();
            core = null;

            Mouse = null;

            var refCount = swig.ace_core_cs.GetGlobalReferenceCount__();

            if (refCount > 0)
            {
                //Console.WriteLine("未開放のインスタンスが{0}個存在します。", refCount);
                throw new Exception(string.Format("未開放のインスタンスが{0}個存在します。", refCount));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 終了処理を行う。
        /// </summary>
        public static void Terminate()
        {
            if (core == null)
            {
                return;
            }

            if (CurrentScene != null)
            {
                CurrentScene.Dispose();
            }

            if (nextScene != null)
            {
                nextScene.Dispose();
            }

            if (previousScene != null)
            {
                previousScene.Dispose();
            }


            CurrentScene  = null;
            nextScene     = null;
            previousScene = null;
            transition    = null;

            GC.Terminate();

            core.Terminate();
            core.Release();
            core = null;

            Mouse = null;

            var refCount = swig.asd_core.GetGlobalReferenceCount__();

            if (refCount > 0)
            {
                Particular.Helper.ThrowUnreleasedInstanceException(refCount);
            }
        }