Beispiel #1
0
        //---------------------------------------------------------------------
        public void Update(float elapsed_tm)
        {
            if (SoundMgr != null)
            {
                SoundMgr.update();
            }

            if (FTMgr != null)
            {
                FTMgr.update(elapsed_tm);
            }

            if (NetBridge != null)
            {
                NetBridge.update(elapsed_tm);
            }

            if (AsyncAssetLoaderMgr != null)
            {
                AsyncAssetLoaderMgr.update(Time.deltaTime);
            }

            if (CasinosLua != null)
            {
                CasinosLua.Update(elapsed_tm);
            }

            if (TimerShaft != null)
            {
                TimerShaft.ProcessTimer((ulong)Stopwatch.ElapsedMilliseconds);
            }
        }
Beispiel #2
0
        //---------------------------------------------------------------------
        void _onTimer(object data)
        {
            if (Closed)
            {
                return;
            }

            LastTimeJeffies += TmSpan;
            var delta_tm = LastTimeJeffies - TimerShaft.GetTimeJeffies();

            var time_ev = new EbTimeEvent()
            {
                mExpires = TimerShaft.GetTimeJeffies() + delta_tm,
                onTime   = _onTimer,
                mData    = null
            };

            TimerShaft.AddTimer(time_ev);

            float tm = (float)Stopwatch.Elapsed.TotalSeconds;

            Stopwatch.Reset();
            Stopwatch.Start();
            FuncCb(LuaTable, tm);
        }
        //---------------------------------------------------------------------
        public void Close()
        {
            if (TimerShaft != null)
            {
                TimerShaft.Destroy();
                TimerShaft = null;
            }

            if (SoundMgr != null)
            {
                SoundMgr.destroy();
                SoundMgr = null;
            }

            if (HeadIconMgr != null)
            {
                HeadIconMgr.destroy();
                HeadIconMgr = null;
            }

            if (SpineMgr != null)
            {
                SpineMgr.Destroy();
                SpineMgr = null;
            }

            AsyncAssetLoaderMgr = null;
            if (AsyncAssetLoadGroup != null)
            {
                AsyncAssetLoadGroup.destroy();
                AsyncAssetLoadGroup = null;
            }

            if (LuaMgr != null)
            {
                LuaMgr.Release();
                LuaMgr = null;
            }

            if (MemoryStream != null)
            {
                MemoryStream.Close();
                MemoryStream = null;
            }

            Screen.sleepTimeout = SleepTimeout.SystemSetting;
        }
Beispiel #4
0
        //---------------------------------------------------------------------
        public void Update(float elapsed_tm)
        {
            if (SoundMgr != null)
            {
                SoundMgr.Update();
            }

            if (FTMgr != null)
            {
                FTMgr.Update(elapsed_tm);
            }

            if (DelayMgr != null)
            {
                DelayMgr.Update(elapsed_tm);
            }

            if (NetMgr != null)
            {
                NetMgr.Update(elapsed_tm);
            }

            if (AsyncAssetLoaderMgr != null)
            {
                AsyncAssetLoaderMgr.Update(Time.deltaTime);
            }

            if (LuaMgr != null)
            {
                LuaMgr.Update(elapsed_tm);
            }

            if (TimerShaft != null)
            {
                TimerShaft.ProcessTimer((ulong)Stopwatch.ElapsedMilliseconds);
            }

            if (Input.GetKeyDown(KeyCode.Escape))
            {
                LuaMgr._CSharpCallOnAndroidQuitConfirm();
            }
        }
Beispiel #5
0
        //---------------------------------------------------------------------
        public EbTimer(TimerShaft timer_shaft, ulong tm, LuaTable lua_table, DelegateLua2 cb)
        {
            TimerShaft      = timer_shaft;
            TmSpan          = tm;
            LuaTable        = lua_table;
            FuncCb          = cb;
            LastTimeJeffies = TimerShaft.GetTimeJeffies() + TmSpan;
            Closed          = false;
            Stopwatch       = new Stopwatch();
            Stopwatch.Start();

            var time_ev = new EbTimeEvent()
            {
                mExpires = TimerShaft.GetTimeJeffies() + TmSpan,
                onTime   = _onTimer,
                mData    = null
            };

            TimerShaft.AddTimer(time_ev);
        }
Beispiel #6
0
        //---------------------------------------------------------------------
        public CasinosContext(CasinosListener listener,
                              bool use_persistent,
                              string lua_project_listener_name,
                              string ui_pathroot,
                              string resourcesrow_pathroot,
                              string ab_resource_title,
                              string lotteryticket_factoryname)
        {
            _eEditorRunSourcePlatform editor_runsorce = _eEditorRunSourcePlatform.Android;

#if UNITY_STANDALONE_WIN
            editor_runsorce = _eEditorRunSourcePlatform.PC;
#elif UNITY_ANDROID && UNITY_EDITOR
            editor_runsorce = _eEditorRunSourcePlatform.Android;
#elif UNITY_ANDROID
            editor_runsorce = _eEditorRunSourcePlatform.Android;
#elif UNITY_IPHONE
            editor_runsorce = _eEditorRunSourcePlatform.IOS;
#endif

            Instance                 = this;
            ABResourcePathTitle      = ab_resource_title;
            ResourcesRowPathRoot     = resourcesrow_pathroot;
            UiPathRoot               = ui_pathroot;
            WeiChatIsInstalled       = true;
            ShowWeiChat              = true;
            UseBindPhoneAndWeiChat   = false;
            LuaProjectListenerName   = lua_project_listener_name;
            LotteryTicketFactoryName = lotteryticket_factoryname;
            UseLan = true;
            _checkLan();

#if UNITY_EDITOR
            IsEditor = true;
#else
            IsEditor = false;
#endif

#if UNITY_IPHONE || UNITY_STANDALONE_OSX || UNITY_DASHBOARD_WIDGET || UNITY_STANDALONE_LINUX || UNITY_WEBPLAYER
            IsSqliteUnity = true;
#else
            IsSqliteUnity = false;
#endif

#if IsDev
            IsDev = true;
#else
            IsDev = false;
#endif

#if UNITY_IOS
            PlatformName = "IOS";
            string version            = UnityEngine.iOS.Device.systemVersion;
            var    arr_version        = version.Split('.');
            int    first_version_code = 0;
            if (arr_version.Length > 0)
            {
                int.TryParse(arr_version[0].ToString(), out first_version_code);
            }
            if (first_version_code < 9)
            {
                UseHttps = false;
            }
            else
            {
                UseHttps = true;
            }
            UnityIOS     = true;
            UnityAndroid = false;
#elif UNITY_ANDROID
            PlatformName = "ANDROID";
            UseHttps     = false;
            UnityAndroid = true;
            UnityIOS     = false;
#elif UNITY_STANDALONE_WIN
            PlatformName = "PC";
#endif
            NativeMgr = new NativeMgr();
            PathMgr   = new PathMgr(editor_runsorce, use_persistent);// 初始化PathMgr
            FTMgr     = new FTMgr();
            Stopwatch = new System.Diagnostics.Stopwatch();
            Stopwatch.Start();
            TimerShaft = new TimerShaft();

            Listener     = listener;
            MemoryStream = new MemoryStream();
            SB           = new StringBuilder();
            Config       = new CasinosConfig(editor_runsorce);

            //Config = GameObject.FindObjectOfType<MbCasinosConfig>();
            //Config.FormatConfigUrl();
            //UserConfig = GameObject.FindObjectOfType<MbCasinosUserConfig>();

            // 初始化系统参数
            {
#if UNITY_EDITOR
                Application.runInBackground = false;
                Screen.sleepTimeout         = SleepTimeout.SystemSetting;
#else
                Application.runInBackground = true;
                Screen.sleepTimeout         = SleepTimeout.NeverSleep;
#endif
                Time.fixedDeltaTime        = 0.03f;
                QualitySettings.vSyncCount = 1;
                //Application.targetFrameRate = 30;
            }

            // 初始化日志
            {
                EbLog.NoteCallback    = Debug.Log;
                EbLog.WarningCallback = Debug.LogWarning;
                EbLog.ErrorCallback   = Debug.LogError;
            }

            if (NativeAPIMsgReceiverListner == null)
            {
                NativeAPIMsgReceiverListner = new NativeAPIMsgReceiverListener();
            }

            if (AsyncAssetLoaderMgr == null)
            {
                AsyncAssetLoaderMgr = new AsyncAssetLoaderMgr();
            }

            AsyncAssetLoadGroup = AsyncAssetLoaderMgr.createAsyncAssetLoadGroup();

            NetBridge = new NetBridge();

            PlayerPrefs = new CasinosPlayerPrefs();

            TextureMgr = new TextureMgr();

            UIObjectFactory.SetLoaderExtension(typeof(GLoaderEx));

            CasinosLua  = new CasinosLua();
            SoundMgr    = new CSoundMgr();
            HeadIconMgr = new HeadIconMgr();

            //CopyStreamingAssetsToPersistentDataPath = new CopyStreamingAssetsToPersistentDataPath();
            //Launch = new Launch();
        }
        //---------------------------------------------------------------------
        public CasinosContext(bool force_use_resouceslaunch, bool force_use_dataoss)
        {
            Instance = this;

            _eEditorRunSourcePlatform editor_runsorce = _eEditorRunSourcePlatform.Android;

#if UNITY_STANDALONE_WIN
            editor_runsorce = _eEditorRunSourcePlatform.PC;
#elif UNITY_ANDROID && UNITY_EDITOR
            editor_runsorce = _eEditorRunSourcePlatform.Android;
#elif UNITY_ANDROID
            editor_runsorce = _eEditorRunSourcePlatform.Android;
#elif UNITY_IPHONE
            editor_runsorce = _eEditorRunSourcePlatform.IOS;
#endif

#if UNITY_EDITOR
            IsEditor = true;
#else
            IsEditor = false;
#endif

#if UNITY_IPHONE || UNITY_STANDALONE_OSX || UNITY_DASHBOARD_WIDGET || UNITY_STANDALONE_LINUX || UNITY_WEBPLAYER
            IsSqliteUnity = true;
#else
            IsSqliteUnity = false;
#endif

#if UNITY_IOS
            string version            = UnityEngine.iOS.Device.systemVersion;
            var    arr_version        = version.Split('.');
            int    first_version_code = 0;
            if (arr_version.Length > 0)
            {
                int.TryParse(arr_version[0].ToString(), out first_version_code);
            }
            if (first_version_code < 9)
            {
                UseHttps = false;
            }
            else
            {
                UseHttps = true;
            }
            UnityIOS     = true;
            UnityAndroid = false;
#elif UNITY_ANDROID
            UseHttps     = false;
            UnityAndroid = true;
            UnityIOS     = false;
#elif UNITY_STANDALONE_WIN
#endif

            Stopwatch = new System.Diagnostics.Stopwatch();
            Stopwatch.Start();
            TimerShaft   = new TimerShaft();
            MemoryStream = new MemoryStream();
            SB           = new StringBuilder();
            FTMgr        = new FTMgr();
            PathMgr      = new PathMgr(editor_runsorce, force_use_resouceslaunch, force_use_dataoss);// 初始化PathMgr
            Config       = new CasinosConfig(editor_runsorce);
            NativeMgr    = new NativeMgr();
            SpineMgr     = new SpineMgr();

            // 初始化系统参数
            {
#if UNITY_EDITOR
                Application.runInBackground = false;
                Screen.sleepTimeout         = SleepTimeout.SystemSetting;
                QualitySettings.vSyncCount  = 0;
                Application.targetFrameRate = -1;
#else
                Application.runInBackground = true;
                Screen.sleepTimeout         = SleepTimeout.NeverSleep;
                QualitySettings.vSyncCount  = 1;
                Application.targetFrameRate = 60;
#endif
            }

            if (NativeAPIMsgReceiverListner == null)
            {
                NativeAPIMsgReceiverListner = new NativeAPIMsgReceiverListener();
            }

            if (AsyncAssetLoaderMgr == null)
            {
                AsyncAssetLoaderMgr = new AsyncAssetLoaderMgr();
            }
            AsyncAssetLoadGroup = AsyncAssetLoaderMgr.createAsyncAssetLoadGroup();
            NetMgr      = new NetMgr();
            PlayerPrefs = new CasinosPlayerPrefs();
            TextureMgr  = new TextureMgr();
            UIObjectFactory.SetLoaderExtension(typeof(GLoaderEx));
            LuaMgr      = new LuaMgr();
            SoundMgr    = new SoundMgr();
            HeadIconMgr = new HeadIconMgr();
        }
Beispiel #8
0
        //---------------------------------------------------------------------
        public void Close()
        {
            if (TimerShaft != null)
            {
                TimerShaft.Destroy();
                TimerShaft = null;
            }

            if (SoundMgr != null)
            {
                SoundMgr.destroy();
                SoundMgr = null;
            }

            if (HeadIconMgr != null)
            {
                HeadIconMgr.destroy();
                HeadIconMgr = null;
            }

            if (SpineMgr != null)
            {
                SpineMgr.Destroy();
                SpineMgr = null;
            }

            if (AsyncAssetLoadGroup != null)
            {
                AsyncAssetLoadGroup.destroy();
                AsyncAssetLoadGroup = null;
            }

            if (AsyncAssetLoaderMgr != null)
            {
                AsyncAssetLoaderMgr.Close();
                AsyncAssetLoaderMgr = null;
            }

            if (NetMgr != null)
            {
                NetMgr.Close();
                NetMgr = null;
            }

            if (NativeAPIMsgReceiverListner != null)
            {
                NativeAPIMsgReceiverListner.Close();
                NativeAPIMsgReceiverListner = null;
            }

            if (LuaMgr != null)
            {
                LuaMgr.Release();
                LuaMgr = null;
            }

            if (DelayMgr != null)
            {
                DelayMgr.Close();
                DelayMgr = null;
            }

            if (MemoryStream != null)
            {
                MemoryStream.Close();
                MemoryStream = null;
            }

            Screen.sleepTimeout = SleepTimeout.SystemSetting;
        }