Beispiel #1
0
        public OverworldSpriteListContentStrategy(IFormatRunFactory factory, string format)
        {
            parentTemplate = new List <ArrayRunElementSegment> {
                new ArrayRunElementSegment(string.Empty, ElementContentType.Integer, 2),
                new ArrayRunElementSegment("paletteid", ElementContentType.Integer, 2),
                new ArrayRunElementSegment(string.Empty, ElementContentType.Integer, 2),
                new ArrayRunElementSegment("length", ElementContentType.Integer, 2),
                new ArrayRunElementSegment("width", ElementContentType.Integer, 2),
                new ArrayRunElementSegment("height", ElementContentType.Integer, 2),
                new ArrayRunElementSegment(string.Empty, ElementContentType.Integer, 4),
                new ArrayRunElementSegment(string.Empty, ElementContentType.Pointer, 4),
                new ArrayRunElementSegment(string.Empty, ElementContentType.Pointer, 4),
                new ArrayRunElementSegment(string.Empty, ElementContentType.Pointer, 4),
                new ArrayRunPointerSegment(factory, "sprites", OverworldSpriteListRun.SharedFormatString),
                new ArrayRunElementSegment(string.Empty, ElementContentType.Pointer, 4),
            };

            parentTemplate2 = new List <ArrayRunElementSegment> {
                new ArrayRunElementSegment(string.Empty, ElementContentType.Integer, 2),
                new ArrayRunElementSegment("paletteid", ElementContentType.Integer, 2),
                new ArrayRunElementSegment(string.Empty, ElementContentType.Pointer, 4),
                new ArrayRunElementSegment(string.Empty, ElementContentType.Pointer, 4),
                new ArrayRunPointerSegment(factory, "sprites", OverworldSpriteListRun.SharedFormatString),
                new ArrayRunElementSegment(string.Empty, ElementContentType.Pointer, 4),
                new ArrayRunElementSegment(string.Empty, ElementContentType.Pointer, 4),
            };

            if (format.Contains("|"))
            {
                Hint = format.Split("|")[1].Split("`")[0];
            }
        }
 public ArrayRunPointerSegment(IFormatRunFactory factory, string name, string innerFormat) : base(name, ElementContentType.Pointer, 4)
 {
     Factory     = factory;
     InnerFormat = innerFormat;
 }