public static void Initialize() { foreach (string file in Content.GetFiles("Content/titles")) { IEnumerable <XElement> source = XDocument.Load(TitleContainer.OpenStream(file)).Elements((XName)"Title"); if (source != null) { XAttribute xattribute1 = source.Attributes((XName)"name").FirstOrDefault <XAttribute>(); if (xattribute1 != null) { DuckTitle duckTitle = new DuckTitle(); duckTitle._name = xattribute1.Value; bool flag = false; foreach (XElement element in source.Elements <XElement>()) { if (element.Name == (XName)"StatRequirement") { XAttribute statNameAttrib = element.Attributes((XName)"name").FirstOrDefault <XAttribute>(); XAttribute xattribute2 = element.Attributes((XName)"value").FirstOrDefault <XAttribute>(); if (statNameAttrib != null && xattribute2 != null) { PropertyInfo key = ((IEnumerable <PropertyInfo>) typeof(ProfileStats).GetProperties()).FirstOrDefault <PropertyInfo>((Func <PropertyInfo, bool>)(x => x.Name == statNameAttrib.Value)); if (key != (PropertyInfo)null) { if (key.GetType() == typeof(float)) { duckTitle._requirementsFloat.Add(key, Change.ToSingle((object)xattribute2.Value)); } else if (key.GetType() == typeof(int)) { duckTitle._requirementsFloat.Add(key, (float)Convert.ToInt32(xattribute2.Value)); } else { duckTitle._requirementsString.Add(key, xattribute2.Value); } } else { flag = true; break; } } else { flag = true; break; } } } if (!flag) { DuckTitle._titles.Add(duckTitle); } } } } }
protected override void OnStart() { Options.Initialize(); Global.Initialize(); Teams.Initialize(); DuckRig.Initialize(); Unlocks.Initialize(); ConnectionStatusUI.Initialize(); Unlocks.CalculateTreeValues(); Profiles.Initialize(); Dialogue.Initialize(); DuckTitle.Initialize(); News.Initialize(); Script.Initialize(); DuckNews.Initialize(); VirtualBackground.InitializeBack(); AmmoType.InitializeTypes(); DestroyType.InitializeTypes(); VirtualTransition.Initialize(); Unlockables.Initialize(); UIInviteMenu.Initialize(); LevelGenerator.Initialize(); DuckFile.CompleteSteamCloudInitializate(); Main.ResetMatchStuff(); foreach (Profile profile in Profiles.active) { profile.RecordPreviousStats(); } Main.editor = new DuckGameEditor(); foreach (string file in DuckFile.GetFiles(Directory.GetCurrentDirectory(), "*.hat")) { Team t = Team.Deserialize(file); if (t != null) { Teams.AddExtraTeam(t); } } Main.SetPurchaseDetails(9.99f, "USD"); if (Main.connectID != 0UL) { NCSteam.inviteLobbyID = Main.connectID; Level.current = (Level) new JoinServer(Main.connectID); } else { Level.current = !MonoMain.noIntro ? (Level) new BIOSScreen() : (!MonoMain.startInEditor ? (Level) new TitleScreen() : (Level)Main.editor); } this._font = new BitmapFont("biosFont", 8); Highlights.StartRound(); }