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()); } }); }
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()); }
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)); } }