Пример #1
0
        public async override Task <bool> Init()
        {
            try
            {
                await base.Init();

                string pluginPath = System.IO.Path.Combine(AppContext.BaseDirectory, "Plugin");
                PluginFactory.Load(pluginPath);
                bool isOk = PluginFactory.Init(this).Result;
                return(true);
            }
            catch (ReflectionTypeLoadException ex)
            {
                Console.WriteLine("初始化失败:\r\n{0}", ex.ToString());
                //Logger.Error("load exception:\r\n{0}", ex.ToString());
                if (ex.LoaderExceptions != null)
                {
                    foreach (Exception e in ex.LoaderExceptions)
                    {
                        //Logger.Error("{0}", e.ToString());
                    }
                }
                return(false);
            }
            catch (Exception ex)
            {
                Console.WriteLine("初始化失败:\r\n{0}", ex.ToString());
                //Logger.Error("init exception:\r\n{0}", ex.ToString());
                return(false);
            }
        }
Пример #2
0
        /// <summary>
        /// Init
        /// </summary>
        /// <returns></returns>
        public virtual Task <bool> Init()
        {
            string pluginPath = System.IO.Path.Combine(AppContext.BaseDirectory, "Plugin");

            PluginFactory.Load(pluginPath);
            return(PluginFactory.Init(this));
        }
        async void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            var directory = new DirectoryInfo(_settings.Minecraft.ServerFolderPath).Name;

            Title = $"Minecraft Server | {directory} | {_minecraftState.LevelName}";
            PlayerListLabel.Content = $"Players online {_minecraftState.CurrentPlayerCount}/{_minecraftState.MaxPlayerCount}";

            InputBlock.KeyDown += InputBlock_KeyDown;
            SetupEventRelays();

            await LoadSettingsToUI();

            if (_wonderlandClient != null)
            {
                await _wonderlandClient.StartAsync();
            }

            _pluginLoader.Load();
        }