コード例 #1
0
ファイル: MainWindow.xaml.cs プロジェクト: Kuh4ku/Mercybot
        private void HandleFilesHashesMessage(FilesHashesMessage message)
        {
            Application.Current.Dispatcher.Invoke(async() =>
            {
                // Updater
                if (await this.ShowUpdatesAsync(message.FilesHashes))
                {
                    Environment.Exit(0);
                    return;
                }

                // Loading
                try
                {
                    var controller = await this.ShowProgressAsync(LanguageManager.Translate("483"), Randomize.GetRandomLoadingText());

                    await Task.Run(async() =>
                    {
                        Protocol.Messages.MessagesBuilder.Initialize();
                        controller.SetProgress(0.14);
                        await Task.Delay(200);

                        TypesBuilder.Initialize();
                        controller.SetProgress(0.28);
                        await Task.Delay(200);

                        DataManager.Initialize(DTConstants.AssetsVersion, GlobalConfiguration.Instance.Lang);
                        controller.SetProgress(0.42);
                        await Task.Delay(200);

                        MapsManager.Initialize(DTConstants.AssetsVersion);
                        controller.SetProgress(0.56);
                        await Task.Delay(200);

                        FramesManager.Initialize();
                        controller.SetProgress(0.70);
                        await Task.Delay(200);

                        CommandsHandler.Initialize();

                        BreedsUtility.Initialize();
                        controller.SetProgress(1);
                        await Task.Delay(200);

                        LuaScriptManager.Initialize();
                    });

                    await controller.CloseAsync();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            });
        }
コード例 #2
0
ファイル: Codegen.cs プロジェクト: xb6783746/plsql--msil
        public string Generate(CommonTree tree, TypeStorage types, INameConvertor nameConvertor)
        {
            this.types  = types;
            typeBuilder = new TypesBuilder(types);

            builder = new ModuleBuilder(types.Libs, nameConvertor);

            var defs = tree.Children.Where(x => x is ClassDefNode || x is EntryPointNode);

            var context = new CodegenContext();

            foreach (dynamic item in defs)
            {
                Visit(item, context);
            }

            return(builder.Generate());
        }
コード例 #3
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            if (reader.TokenType == JsonToken.StartArray)
            {
                var   array           = (JArray)serializer.Deserialize(reader);
                var   elementType     = objectType.GetTypeInfo().GetGenericArguments().Single();
                Type  genericListType = typeof(List <>).MakeGenericType(elementType);
                IList list            = (IList)Activator.CreateInstance(genericListType);

                foreach (var token in array)
                {
                    var trueType = TypesBuilder.GetType(token.Value <string>("_type"));
                    list.Add(token.ToObject(trueType));
                }

                return(list);
            }

            {
                var token    = (JToken)serializer.Deserialize(reader);
                var trueType = TypesBuilder.GetType(token.Value <string>("_type"));
                return(token.ToObject(trueType));
            }
        }