Esempio n. 1
0
        public void Dispose(bool destoryService = true)
        {
            if (L == null)
            {
                return;
            }

            if (_DispatchEvent != null)
            {
                _DispatchEvent("UNITY_OnApplicationQuit");
            }

            _Sync = null;
            _RegisterEventListener     = null;
            _RemoveEventListener       = null;
            _DispatchEvent             = null;
            _StartLuaCoroutineDelegate = null;

#if UNITY_EDITOR
            LL = L;
#else
            Debug.LogFormat("GC");
            L.GC();
            System.GC.Collect();

            L.Dispose();
            L = null;
#endif
        }
Esempio n. 2
0
        public void SyncUI(int growthX, int growthY, bool allowDefaultModify = true)
        {
            if (ctx.InvokeRequired)
            {
                SyncDelegate c = new SyncDelegate(SyncUI);
                ctx.Invoke(c, new object[] { growthX, growthY, allowDefaultModify });
                return;
            }

            if (sync == SyncMode.syncIO)
            {
                if (growthX != 0)
                {
                    input.Size = new System.Drawing.Size(input.Size.Width + growthX, input.Size.Height);
                }
                output.Size    = new System.Drawing.Size(output.Size.Width + growthX, output.Size.Height + growthY);
                input.Location = new System.Drawing.Point(input.Location.X, output.Size.Height + 1);
                if (allowDefaultModify)
                {
                    defaultXDifference = ctx.Size.Width - output.Size.Width;
                    defaultYDifference = ctx.Size.Height - output.Size.Height;
                }
            }

            if (sync == SyncMode.syncWindow)
            {
                ctx.Size = new System.Drawing.Size(ctx.Size.Width + growthX, ctx.Size.Height + growthY + 4);
                if (allowDefaultModify)
                {
                    defaultXDifference = input.Size.Width - ctx.Size.Width;
                    defaultYDifference = input.Size.Height - ctx.Size.Height;
                }
            }
        }
Esempio n. 3
0
 public void RegisterHandle(uint handle, SyncDelegate @delegate)
 {
     BehaviorHandles.Add(new BehaviorSyncEntry
     {
         Handle   = handle,
         Delegate = @delegate
     });
 }
Esempio n. 4
0
        public AutoRunForm(SyncSharpLogic logic)
        {
            InitializeComponent();

            this._logic = logic;
            _counter = logic.Profile.CountDown;
            _listViewCallback = new UpdateListViewDelegate(UpdateListView);
            _startSyncCallback = new StartSyncDelegate(StartSync);
            _syncCaller = new SyncDelegate(logic.SyncFolderPair);
            _plugSyncList = new List<SyncTask>();
        }
Esempio n. 5
0
 /// <summary>
 /// Registers a behavior handle to be synced later
 /// </summary>
 /// <param name="handle">The behavior handle to use as sync index</param>
 /// <param name="delegate">The function to execute on sync</param>
 public void RegisterHandle(uint handle, SyncDelegate @delegate)
 {
     lock (BehaviorHandles)
     {
         BehaviorHandles.Add(new BehaviorSyncEntry
         {
             Handle   = handle,
             Delegate = @delegate
         });
         Logger.Debug($"Registered handle for sync id: {handle}");
     }
 }
Esempio n. 6
0
        //Creates new instance of ejdb. Don't know what' is it, but it looks it should be done before opening database
        public unsafe DatabaseFunctions(LibraryHandle handle)
        {
            NewInstance    = handle.GetUnmanagedDelegate <NewInstanceDelegate>();
            DeleteInstance = handle.GetUnmanagedDelegate <DeleteInstanceDelegate>();

            OpenDatabase  = handle.GetUnmanagedDelegate <OpenDatabaseDelegate>();
            CloseDatabase = handle.GetUnmanagedDelegate <CloseDatabaseDelegate>();
            IsOpen        = handle.GetUnmanagedDelegate <IsOpenDelegate>();

            GetErrorCode = handle.GetUnmanagedDelegate <GetErrorCodeDelegate>();
            GetMetadata  = handle.GetUnmanagedDelegate <GetMetaDelegate>();


            Command = handle.GetUnmanagedDelegate <CommandDelegate>();
            Sync    = handle.GetUnmanagedDelegate <SyncDelegate>();
        }
Esempio n. 7
0
        private static List <string> GetFields(Type targetType)
        {
            var fieldList = new List <string>();

            SyncDelegate.AllDelegateFieldsRecursive(
                targetType,
                path => { if (!path.Contains(CachedLambda))
                          {
                              fieldList.Add(path);
                          }
                          return(false); },
                allowDelegates: true
                );

            return(fieldList);
        }
Esempio n. 8
0
 internal static void Bind()
 {
     _createDelegate        = Library.GetProcAddress <CreateDelegate>("mdbx_env_create") as CreateDelegate;
     _closeDelegate         = Library.GetProcAddress <CloseDelegate>("mdbx_env_close") as CloseDelegate;
     _closeExDelegate       = Library.GetProcAddress <CloseExDelegate>("mdbx_env_close_ex") as CloseExDelegate;
     _openDelegate          = Library.GetProcAddress <OpenDelegate>("mdbx_env_open") as OpenDelegate;
     _statDelegate          = Library.GetProcAddress <StatDelegate>("mdbx_env_stat") as StatDelegate;
     _infoDelegate          = Library.GetProcAddress <InfoDelegate>("mdbx_env_info") as InfoDelegate;
     _syncDelegate          = Library.GetProcAddress <SyncDelegate>("mdbx_env_sync") as SyncDelegate;
     _setMaxDbsDelegate     = Library.GetProcAddress <SetMaxDbsDelegate>("mdbx_env_set_maxdbs") as SetMaxDbsDelegate;
     _setFlagsDelegate      = Library.GetProcAddress <SetFlagsDelegate>("mdbx_env_set_flags") as SetFlagsDelegate;
     _getFlagsDelegate      = Library.GetProcAddress <GetFlagsDelegate>("mdbx_env_get_flags") as GetFlagsDelegate;
     _setMapSizeDelegate    = Library.GetProcAddress <SetMapSizeDelegate>("mdbx_env_set_mapsize") as SetMapSizeDelegate;
     _setMaxReadersDelegate = Library.GetProcAddress <SetMaxReadersDelegate>("mdbx_env_set_maxreaders") as SetMaxReadersDelegate;
     _getMaxReadersDelegate = Library.GetProcAddress <GetMaxReadersDelegate>("mdbx_env_get_maxreaders") as GetMaxReadersDelegate;
     _getMaxKeySizeDelegate = Library.GetProcAddress <GetMaxKeySizeDelegate>("mdbx_env_get_maxkeysize") as GetMaxKeySizeDelegate;
 }
Esempio n. 9
0
        public MainForm(SyncSharpLogic logic)
        {
            InitializeComponent();
            Form.CheckForIllegalCrossThreadCalls = false;
            _logicController = logic;

            _syncCaller = new SyncDelegate(_logicController.SyncFolderPair);
            _analyzeCaller = new AnalyzeDelegate(_logicController.AnalyzeFolderPair);
            _restoreCaller = new RestoreDelegate(_logicController.RestoreSource);
            _syncAllCaller = new SyncAllFolderPair(_logicController.SyncAllFolderPairs);
            _syncAfterAnalyzeCaller = new SyncAfterAnalyzeDelegate(_logicController.SyncAfterAnalyze);
            _openFolderCaller = new OpenFolderDelegate(OpenFolder);

            _sourceDir = "";

            UpdateListView();
        }
Esempio n. 10
0
        /// <summary>
        /// Creates instance of EJDB. 
        /// </summary>
        /// <param name="library"></param>
        public Database(Library library)
        {
            var libraryHandle = library.LibraryHandle;
            DatabaseHandle = new DatabaseHandle(libraryHandle);

            Library = library;

            _openDatabase = libraryHandle.GetUnmanagedDelegate<OpenDatabaseDelegate>();
            _closeDatabase = libraryHandle.GetUnmanagedDelegate<CloseDatabaseDelegate>();
            _isOpen = libraryHandle.GetUnmanagedDelegate<IsOpenDelegate>();

            _getErrorCode = libraryHandle.GetUnmanagedDelegate<GetErrorCodeDelegate>();
            _getMetadata = libraryHandle.GetUnmanagedDelegate<GetMetaDelegate>();

            _command = libraryHandle.GetUnmanagedDelegate<CommandDelegate>();
            _sync = libraryHandle.GetUnmanagedDelegate<SyncDelegate>();
        }
Esempio n. 11
0
        public MainForm(SyncSharpLogic logic)
        {
            InitializeComponent();
            Form.CheckForIllegalCrossThreadCalls = false;
            _logicController = logic;

            if (!Directory.Exists(_logicController.MetaDataDir + @"\"))
                _logicController.SaveProfile();

            _syncCaller = new SyncDelegate(_logicController.SyncFolderPair);
            //_analyzeCaller = new AnalyzeDelegate(_logicController.AnalyzeFolderPair);
            _restoreCaller = new RestoreDelegate(_logicController.RestoreSource);
            _listViewCallback = new UpdateListViewDelegate(UpdateListView);
            _syncAllCaller = new SyncAllFolderPair(_logicController.SyncAllFolderPairs);
            _syncAfterAnalyzeCaller = new SyncAfterAnalyzeDelegate(_logicController.SyncAfterAnalyze);

            _sourceDir = "";

            UpdateListView();
        }
Esempio n. 12
0
        void Awake()
        {
            var p = Application.backgroundLoadingPriority;

            Application.backgroundLoadingPriority = ThreadPriority.High;

            if (instance != null)
            {
                DestroyImmediate(gameObject);
                return;
            }

            instance = this;
            DontDestroyOnLoad(this.gameObject);

            L = new LuaEnv();
            L.AddLoader(FileUtils.Load);

            LuaBehaviour.CleanStatlessFile();

            L.Global.Set <string, XLua.LuaDLL.lua_CSFunction>("WARNING_LOG", CustomSettings.PrintWarning);
            L.Global.Set <string, XLua.LuaDLL.lua_CSFunction>("ERROR_LOG", CustomSettings.PrintError);
            L.Global.Set <string, XLua.LuaDLL.lua_CSFunction>("BATTLE_LOG", CustomSettings.BATTLE_LOG);
            L.Global.Set <string, XLua.LuaDLL.lua_CSFunction> ("loadstring", CustomSettings.LoadString);

            IService[] services = gameObject.GetComponents <IService>();
            for (int i = 0; i < services.Length; i++)
            {
                services[i].Register(L);
            }
            //L.DoString("require('LuaDebug')('localhost',7003)");
            L.DoString("require 'utils.init'");

            _RegisterEventListener     = L.Global.Get <System.Action <object> >("RegisterEventListener");
            _RemoveEventListener       = L.Global.Get <System.Action <object> >("RemoveEventListener");
            _DispatchEvent             = L.Global.Get <DispatchEventDelegate>("DispatchEvent");
            _StartLuaCoroutineDelegate = L.Global.Get <StartLuaCoroutineDelegate>("StartCoroutine");
            _Sync = L.Global.Get <SyncDelegate>("Sync");
        }
Esempio n. 13
0
 private static extern void SetSyncHandler(SyncDelegate func);
Esempio n. 14
0
 /// <summary>
 /// Synchronize trees.
 /// </summary>
 public static bool Sync <NodeT>(NodeT uniRoot, UFTree ufTree, SyncDelegate <NodeT, NodeT> sync, object userData)
 {
     return(Sync(uniRoot, uniRoot, ufTree, sync, userData));
 }
Esempio n. 15
0
 private static extern void GPUFenceSync(SynchronizationHint syncHint, SyncDelegate handler, IntPtr context);
Esempio n. 16
0
 /// <summary>
 /// Synchronize trees.
 /// </summary>
 public static bool Sync <NodeT>(NodeT uniRoot, UFTree ufTree, SyncDelegate <NodeT, NodeT> sync)
 {
     return(Sync(uniRoot, uniRoot, ufTree, sync, null));
 }
Esempio n. 17
0
        /// <summary>
        /// Syncronize trees.
        /// </summary>
        /// <param name="userData">User data to pass from/to the algo.</param>
        /// <returns></returns>
        public static bool Sync <TreeT, NodeT>(TreeT uniTree, NodeT uniRoot, UFTree ufTree, SyncDelegate <TreeT, NodeT> sync, object userData)
        {
            Data <TreeT, NodeT> data = new Data <TreeT, NodeT>
            {
                Sync        = sync,
                UniGetChild = TreeDefs <TreeT, NodeT, IteratorT> .FindTreeGetChildMethod(),
                UniTree     = uniTree,
                UfTree      = ufTree,
                UfNode      = 0,
                UserData    = userData
            };

            return(SyncInternal(data, uniRoot, 0, default(IteratorT)));
        }
Esempio n. 18
0
        /// <summary>
        /// Close database and free all resources
        /// </summary>
        public void Dispose()
        {
            Close();
            DatabaseHandle.Dispose();

            _openDatabase = null;
            _closeDatabase = null;
            _isOpen = null;
            _getErrorCode = null;
            _getMetadata = null;
            _sync = null;
            _command = null;
            DatabaseHandle = null;
        }