コード例 #1
0
        private static void AppendLevelSet(this StringBuilder builder, LevelSet levelSet)
        {
            builder.AppendLine("   [LEVELSET]");

            builder.AppendFormat("      <STRING>File:{0}\r\n", levelSet.File);

            if (levelSet.GUIDS.Count > 0)
            {
                builder.AppendLine("      [GUIDS]");

                foreach (var guid in levelSet.GUIDS)
                {
                    builder.AppendFormat("         <INTEGER64>{0}\r\n", guid);
                }

                builder.AppendLine("      [/GUIDS]");
            }

            builder.AppendLine("   [/LEVELSET]");
        }
コード例 #2
0
ファイル: RawWriter.cs プロジェクト: andreberg/TLII.IO
 private void WriteLevelset(LevelSet levelset)
 {
     WriteString(levelset.File);
 }
コード例 #3
0
ファイル: RawReader.cs プロジェクト: andreberg/TLII.IO
        private LevelSet ReadLevelset()
        {
            LevelSet levelSet = new LevelSet();

            levelSet.File = ReadString();

            return levelSet;
        }
コード例 #4
0
        private static LevelSet ReadLevelSet(ref StringReader reader, ref int lineNumber)
        {
            LevelSet levelSet = new LevelSet();

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

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

                if (line == "[/LEVELSET]")
                {
                    break;
                }
                else if (line.StartsWith("<STRING>File:"))
                {
                    line = line.Replace("<STRING>File:", "").Trim();

                    levelSet.File = line;
                    hasSet[0] = true;
                }
                else if (line.StartsWith("[GUIDS]"))
                {
                    while ((line = reader.ReadLine()) != null)
                    {
                        lineNumber++;

                        if (line == "[/GUIDS]")
                        {
                            break;
                        }
						else if(line.StartsWith("//") || line.StartsWith("#"))
						{
							continue;
						}
                        else
                        {
                            line = line.Replace("<INTEGER64>", "").Trim();

                            long guid;
                            if (long.TryParse(line, out guid))
                            {
                                levelSet.GUIDS.Add(guid);
                            }
                            else
                            {
                                throw new TxtConverterException(String.Format("Any GUID must be a 64bit Integer. (Line: {0} | Current: {1})", lineNumber, line));
                            }
                        }
                    }
                }
				else if(line.StartsWith("//") || line.StartsWith("#"))
				{
					continue;
				}
                else
                {
                    throw new TxtConverterException(String.Format("Unknown unit property. (Line: {0})", lineNumber));
                }
            }

            Validate(hasSet, startLine);

            return levelSet;
        }