Esempio n. 1
0
 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");
 }
Esempio n. 2
0
    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);
    }