Example #1
0
        private static Skill ReadSkill(ref StringReader reader, ref int lineNumber)
        {
            Skill skill = new Skill();

            string line;
            int startLine = lineNumber;
            bool[] hasSet = new bool[3];

            while ((line = reader.ReadLine()) != null)
            {
                lineNumber++;

                if (line == "[/SKILL]")
                {
                    break;
                }
                else if (line.StartsWith("<INTEGER64>GUID:"))
                {
                    line = line.Replace("<INTEGER64>GUID:", "").Trim();

                    long guid;
                    if (long.TryParse(line, out guid))
                    {
                        skill.GUID = guid;
                        hasSet[0] = true;
                    }
                    else
                    {
                        throw new TxtConverterException(String.Format("GUID must be a 64bit Integer. (Line: {0} | Current: {1})", lineNumber, line));
                    }
                }
                else if (line.StartsWith("<STRING>Name:"))
                {
                    line = line.Replace("<STRING>Name:", "").Trim();

                    skill.Name = line;
                    hasSet[1] = true;
                }
                else if (line.StartsWith("<STRING>File:"))
                {
                    line = line.Replace("<STRING>File:", "").Trim();

                    skill.File = line;
                    hasSet[2] = true;
                }
				else if(line.StartsWith("//") || line.StartsWith("#"))
				{
					continue;
				}
                else
                {
                    throw new TxtConverterException(String.Format("Unknown unit property. (Line: {0})", lineNumber));
                }
            }

            Validate(hasSet, startLine);

            return skill;
        }
Example #2
0
        private static void AppendSkill(this StringBuilder builder, Skill skill)
        {
            builder.AppendLine("   [SKILL]");

            builder.AppendFormat("      <INTEGER64>GUID:{0}\r\n", skill.GUID);
            builder.AppendFormat("      <STRING>Name:{0}\r\n", skill.Name);
            builder.AppendFormat("      <STRING>File:{0}\r\n", skill.File);

            builder.AppendLine("   [/SKILL]");
        }
Example #3
0
        private void WriteSkill(Skill skill)
        {
            WriteString(skill.Name);
            WriteString(skill.File);

            _writer.Write(skill.GUID);
        }
Example #4
0
        private Skill ReadSkill()
        {
            Skill skill = new Skill();

            skill.Name = ReadString();
            skill.File = ReadString();

            skill.GUID = _reader.ReadInt64();

            return skill;
        }