public static AutoCat LoadACFromXmlElement(XmlElement xElement) { string type = xElement.Name; AutoCat result = null; switch (type) { case AutoCatGenre.TypeIdString: result = AutoCatGenre.LoadFromXmlElement(xElement); break; case AutoCatFlags.TypeIdString: result = AutoCatFlags.LoadFromXmlElement(xElement); break; case AutoCatTags.TypeIdString: result = AutoCatTags.LoadFromXmlElement(xElement); break; case AutoCatYear.TypeIdString: result = AutoCatYear.LoadFromXmlElement(xElement); break; case AutoCatUserScore.TypeIdString: result = AutoCatUserScore.LoadFromXmlElement(xElement); break; default: break; } return(result); }
public static AutoCat LoadACFromXmlElement(XmlElement xElement) { string type = xElement.Name; switch (type) { case AutoCatGenre.TypeIdString: return(AutoCatGenre.LoadFromXmlElement(xElement)); case AutoCatFlags.TypeIdString: return(AutoCatFlags.LoadFromXmlElement(xElement)); case AutoCatTags.TypeIdString: return(AutoCatTags.LoadFromXmlElement(xElement)); case AutoCatYear.TypeIdString: return(AutoCatYear.LoadFromXmlElement(xElement)); case AutoCatUserScore.TypeIdString: return(AutoCatUserScore.LoadFromXmlElement(xElement)); case AutoCatHltb.TypeIdString: return(AutoCatHltb.LoadFromXmlElement(xElement)); case AutoCatManual.TypeIdString: return(AutoCatManual.LoadFromXmlElement(xElement)); case AutoCatDevPub.TypeIdString: return(AutoCatDevPub.LoadFromXmlElement(xElement)); case AutoCatGroup.TypeIdString: return(AutoCatGroup.LoadFromXmlElement(xElement)); case AutoCatName.TypeIdString: return(AutoCatName.LoadFromXmlElement(xElement)); case AutoCatVrSupport.TypeIdString: return(AutoCatVrSupport.LoadFromXmlElement(xElement)); case AutoCatLanguage.TypeIdString: return(AutoCatLanguage.LoadFromXmlElement(xElement)); case AutoCatCurator.TypeIdString: return(LoadFromXmlElement(xElement, typeof(AutoCatCurator))); case AutoCatPlatform.TypeIdString: return(LoadFromXmlElement(xElement, typeof(AutoCatPlatform))); case AutoCatHoursPlayed.TypeIdString: return(AutoCatHoursPlayed.LoadFromXmlElement(xElement)); default: return(null); } }
public static void GenerateDefaultAutoCatSet(List <AutoCat> list) { if (list == null) { list = new List <AutoCat>(); } //By Genre list.Add(new AutoCatGenre(GlobalStrings.Profile_DefaultAutoCatName_Genre, null, "(" + GlobalStrings.Name_Genre + ") ")); //By Year list.Add(new AutoCatYear(GlobalStrings.Profile_DefaultAutoCatName_Year, null, "(" + GlobalStrings.Name_Year + ") ")); //By Score AutoCatUserScore ac = new AutoCatUserScore(GlobalStrings.Profile_DefaultAutoCatName_UserScore, null, "(" + GlobalStrings.Name_Score + ") "); ac.GenerateSteamRules(ac.Rules); list.Add(ac); //By Tags AutoCatTags act = new AutoCatTags(GlobalStrings.Profile_DefaultAutoCatName_Tags, null, "(" + GlobalStrings.Name_Tags + ") "); foreach (KeyValuePair <string, float> tag in Database.CalculateSortedTagList(null, 1, 20, 0, false, false)) { act.IncludedTags.Add(tag.Key); } list.Add(act); //By Flags AutoCatFlags acf = new AutoCatFlags(GlobalStrings.Profile_DefaultAutoCatName_Flags, null, "(" + GlobalStrings.Name_Flags + ") "); foreach (string flag in Database.AllFlags) { acf.IncludedFlags.Add(flag); } list.Add(acf); //By HLTB AutoCatHltb ach = new AutoCatHltb(GlobalStrings.Profile_DefaultAutoCatName_Hltb, null, "(HLTB) ", false); ach.Rules.Add(new HowLongToBeatRule(" 0-5", 0, 5, TimeType.Extras)); ach.Rules.Add(new HowLongToBeatRule(" 5-10", 5, 10, TimeType.Extras)); ach.Rules.Add(new HowLongToBeatRule("10-20", 10, 20, TimeType.Extras)); ach.Rules.Add(new HowLongToBeatRule("20-50", 20, 50, TimeType.Extras)); ach.Rules.Add(new HowLongToBeatRule("50+", 20, 0, TimeType.Extras)); list.Add(ach); //By Platform AutoCatPlatform acPlatform = new AutoCatPlatform(GlobalStrings.Profile_DefaultAutoCatName_Platform, null, "(" + GlobalStrings.AutoCat_Name_Platform + ") ", true, true, true, true); list.Add(acPlatform); }
/// <summary> /// Generates default autocats and adds them to a list /// </summary> /// <param name="list">The list where the autocats should be added</param> public static void GenerateDefaultAutoCatSet(List <AutoCat> list) { //By Genre list.Add(new AutoCatGenre(GlobalStrings.Profile_DefaultAutoCatName_Genre, null, "(" + GlobalStrings.Name_Genre + ") ")); //By Year list.Add(new AutoCatYear(GlobalStrings.Profile_DefaultAutoCatName_Year, null, "(" + GlobalStrings.Name_Year + ") ")); //By Score AutoCatUserScore ac = new AutoCatUserScore(GlobalStrings.Profile_DefaultAutoCatName_UserScore, null, "(" + GlobalStrings.Name_Score + ") "); ac.GenerateSteamRules(ac.Rules); list.Add(ac); //By Tags AutoCatTags act = new AutoCatTags(GlobalStrings.Profile_DefaultAutoCatName_Tags, null, "(" + GlobalStrings.Name_Tags + ") "); foreach (Tuple <string, float> tag in Program.GameDB.CalculateSortedTagList(null, 1, 20, 0, false, false)) { act.IncludedTags.Add(tag.Item1); } list.Add(act); //By Flags AutoCatFlags acf = new AutoCatFlags(GlobalStrings.Profile_DefaultAutoCatName_Flags, null, "(" + GlobalStrings.Name_Flags + ") "); foreach (string flag in Program.GameDB.GetAllStoreFlags()) { acf.IncludedFlags.Add(flag); } list.Add(acf); //By HLTB AutoCatHltb ach = new AutoCatHltb(GlobalStrings.Profile_DefaultAutoCatName_Hltb, null, "(HLTB) ", false); ach.Rules.Add(new Hltb_Rule(" 0-5", 0, 5, TimeType.Extras)); ach.Rules.Add(new Hltb_Rule(" 5-10", 5, 10, TimeType.Extras)); ach.Rules.Add(new Hltb_Rule("10-20", 10, 20, TimeType.Extras)); ach.Rules.Add(new Hltb_Rule("20-50", 20, 50, TimeType.Extras)); ach.Rules.Add(new Hltb_Rule("50+", 20, 0, TimeType.Extras)); list.Add(ach); //By Platform AutoCatPlatform acPlatform = new AutoCatPlatform(GlobalStrings.Profile_DefaultAutoCatName_Platform, null, "(" + GlobalStrings.AutoCat_Name_Platform + ") ", true, true, true, true); list.Add(acPlatform); }
protected AutoCatTags( AutoCatTags other ) : base( other ) { this.Prefix = other.Prefix; this.IncludedTags = new HashSet<string>( other.IncludedTags ); this.MaxTags = other.MaxTags; this.ListOwnedOnly = other.ListOwnedOnly; this.ListWeightFactor = other.ListWeightFactor; this.ListMinScore = other.ListMinScore; this.ListTagsPerGame = other.ListTagsPerGame; this.ListScoreSort = other.ListScoreSort; this.ListExcludeGenres = other.ListExcludeGenres; }
protected AutoCatTags(AutoCatTags other) : base(other) { this.Prefix = other.Prefix; this.IncludedTags = new HashSet <string>(other.IncludedTags); this.MaxTags = other.MaxTags; this.ListOwnedOnly = other.ListOwnedOnly; this.ListWeightFactor = other.ListWeightFactor; this.ListMinScore = other.ListMinScore; this.ListTagsPerGame = other.ListTagsPerGame; this.ListScoreSort = other.ListScoreSort; this.ListExcludeGenres = other.ListExcludeGenres; }
public override void LoadFromAutoCat(AutoCat autocat) { AutoCatTags ac = autocat as AutoCatTags; if (ac == null) { return; } txtPrefix.Text = (ac.Prefix == null) ? string.Empty : ac.Prefix; numMaxTags.Value = ac.MaxTags; list_numMinScore.Value = ac.ListMinScore; list_numTagsPerGame.Value = ac.ListTagsPerGame; list_chkOwnedOnly.Checked = ac.ListOwnedOnly; list_numWeightFactor.Value = (Decimal)ac.ListWeightFactor; list_chkExcludeGenres.Checked = ac.ListExcludeGenres; list_chkScoreSort.Checked = ac.ListScoreSort; FillTagsList(ac.IncludedTags); }
public static AutoCatTags LoadFromXmlElement( XmlElement xElement ) { string name = XmlUtil.GetStringFromNode( xElement[XmlName_Name], TypeIdString ); AutoCatTags result = new AutoCatTags( name ); result.Filter = XmlUtil.GetStringFromNode(xElement[XmlName_Filter], null); string prefix; if( XmlUtil.TryGetStringFromNode( xElement[XmlName_Prefix], out prefix ) ) result.Prefix = prefix; int maxTags; if( XmlUtil.TryGetIntFromNode( xElement[XmlName_MaxTags], out maxTags ) ) result.MaxTags = maxTags; bool listOwnedOnly; if( XmlUtil.TryGetBoolFromNode( xElement[XmlName_ListOwnedOnly], out listOwnedOnly ) ) result.ListOwnedOnly = listOwnedOnly; float listWeightFactor; if( XmlUtil.TryGetFloatFromNode( xElement[XmlName_ListWeightFactor], out listWeightFactor ) ) result.ListWeightFactor = listWeightFactor; int listMinScore; if( XmlUtil.TryGetIntFromNode( xElement[XmlName_ListMinScore], out listMinScore ) ) result.ListMinScore = listMinScore; int listTagsPerGame; if( XmlUtil.TryGetIntFromNode( xElement[XmlName_ListTagsPerGame], out listTagsPerGame ) ) result.ListTagsPerGame = listTagsPerGame; bool listScoreSort; if( XmlUtil.TryGetBoolFromNode( xElement[XmlName_ListScoreSort], out listScoreSort ) ) result.ListScoreSort = listScoreSort; bool listExcludeGenres; if( XmlUtil.TryGetBoolFromNode( xElement[XmlName_ListExcludeGenres], out listExcludeGenres ) ) result.ListExcludeGenres = listExcludeGenres; List<string> tagList = XmlUtil.GetStringsFromNodeList( xElement.SelectNodes( XmlName_TagList + "/" + XmlName_Tag ) ); result.IncludedTags = ( tagList == null ) ? new HashSet<string>() : new HashSet<string>( tagList ); return result; }