public void LoadVotesFromDatabase(List <DatabaseEntry> votesData) { for (int index = 0; index < votesData.Count; ++index) { DatabaseEntry databaseEntry = votesData[index]; PoliticalVote inVote = new PoliticalVote(); if (Enum.IsDefined(typeof(CarPart.PartType), (object)databaseEntry.GetStringValue("Object Type"))) { inVote.currentPartType = (CarPart.PartType)Enum.Parse(typeof(CarPart.PartType), databaseEntry.GetStringValue("Object Type")); } inVote.displayRule = databaseEntry.GetBoolValue("Display Rule"); inVote.group = databaseEntry.GetStringValue("Rule Group"); inVote.nameID = databaseEntry.GetStringValue("Rule Name ID"); inVote.descriptionID = databaseEntry.GetStringValue("Rule Description ID"); inVote.ID = databaseEntry.GetIntValue("ID"); inVote.lockedToPlayerVote = databaseEntry.GetBoolValue("Locked To Player Vote"); inVote.effectType = databaseEntry.GetStringValue("Effect Type"); inVote.impacts = VotesManager.GetImpacts(inVote.effectType, inVote); inVote.messageCriteria = VotesManager.GetMessageCriteria(databaseEntry.GetStringValue("Message Trigger")); string stringValue1 = databaseEntry.GetStringValue("Benefits"); char[] chArray1 = new char[1] { ';' }; foreach (string str1 in stringValue1.Split(chArray1)) { string str2 = str1.Trim(); if (!Enum.IsDefined(typeof(PoliticalVote.TeamCharacteristics), (object)str2)) { Console.WriteLine(34.ToString() + str2 + (object)'"' + " does not exist in the teamCharacteristicsEnum"); } else { inVote.benificialCharacteristics.Add((PoliticalVote.TeamCharacteristics)Enum.Parse(typeof(PoliticalVote.TeamCharacteristics), str2)); } } string stringValue2 = databaseEntry.GetStringValue("Challenges"); char[] chArray2 = new char[1] { ';' }; foreach (string str1 in stringValue2.Split(chArray2)) { string str2 = str1.Trim(); if (!Enum.IsDefined(typeof(PoliticalVote.TeamCharacteristics), (object)str2)) { Console.WriteLine(34.ToString() + str2 + (object)'"' + " does not exist in the teamCharacteristicsEnum"); } else { inVote.detrimentalCharacteristics.Add((PoliticalVote.TeamCharacteristics)Enum.Parse(typeof(PoliticalVote.TeamCharacteristics), str2)); } } if (this.votes.ContainsKey(inVote.ID)) { Console.WriteLine("Rule Changes database contains rules with duplicate IDs: {0}", (object)inVote.ID); } this.votes.Add(inVote.ID, inVote); this.voteIDs.Add(inVote.ID); } Console.WriteLine("RulesLoaded"); }
public static List <PoliticalImpact> GetImpacts(string inString, PoliticalVote inVote) { List <PoliticalImpact> politicalImpactList = new List <PoliticalImpact>(); string str1 = inString; char[] chArray = new char[1] { ';' }; foreach (string str2 in str1.Split(chArray)) { string str3 = str2.Trim(); string inName = string.Empty; string inEffect = string.Empty; bool flag = false; for (int index = 0; index < str3.Length; ++index) { if (!flag) { if ((int)str3[index] != 40) { inName = inName.Insert(inName.Length, str3[index].ToString()); } else if ((int)str3[index] == 40) { flag = true; } } else if ((int)str3[index] != 40 && (int)str3[index] != 41) { inEffect = inEffect.Insert(inEffect.Length, str3[index].ToString()); } } PoliticalImpact impact = VotesManager.CreateImpact(inName, inEffect, inVote); if (impact != null) { politicalImpactList.Add(impact); } } return(politicalImpactList); }