コード例 #1
0
ファイル: Option.cs プロジェクト: arpond/longRoadHome
 public Option(String toParse)
 {
     effects = new List <EventEffect>();
     String[] optionElements = toParse.Split(';');
     if (int.TryParse(optionElements[1], out optionNumber))
     {
         optionText   = optionElements[2];
         optionResult = optionElements[3];
         String[] effectElements = optionElements[4].Split('|');
         if (effectElements.Length > 1)
         {
             for (int i = 1; i < effectElements.Length; i++)
             {
                 if (ItemEventEffect.IsValidItemEventEffect(effectElements[i]))
                 {
                     effects.Add(new ItemEventEffect(effectElements[i]));
                 }
                 else if (PREventEffect.IsValidPREventEffect(effectElements[i]))
                 {
                     effects.Add(new PREventEffect(effectElements[i]));
                 }
             }
         }
     }
 }
コード例 #2
0
ファイル: Option.cs プロジェクト: arpond/longRoadHome
        /// <summary>
        /// Checks if the string is a valid option
        /// </summary>
        /// <param name="toTest">The string to test</param>
        /// <returns>If the string is valid</returns>
        public static bool IsValidOption(String toTest)
        {
            int optionNum;

            String[] optionElements = toTest.Split(';');
            if (optionElements[0] != TAG || optionElements.Length != 5)
            {
                return(false);
            }
            if (!int.TryParse(optionElements[1], out optionNum) || optionNum < 1)
            {
                return(false);
            }
            String[] effectElements = optionElements[4].Split('|');
            if (effectElements.Length > 1)
            {
                for (int i = 1; i < effectElements.Length; i++)
                {
                    if (!ItemEventEffect.IsValidItemEventEffect(effectElements[i]) && !PREventEffect.IsValidPREventEffect(effectElements[i]))
                    {
                        return(false);
                    }
                }
            }
            return(true);
        }