Esempio n. 1
0
        public static TileData Deserialize(System.IO.Stream stream, int x, int y)
        {
            System.IO.BinaryReader reader = new System.IO.BinaryReader(stream);

            int serialData = reader.ReadInt32();

            if ((serialData & 0x80000000) == 0x80000000)
            {
                return(ExtendedTileData.Deserialize(stream, (int)(serialData & (~0x80000000)), x, y));
            }

            return(new TileData(serialData));
        }
Esempio n. 2
0
        public Engine.Events.TileEvent AddTileEvent(int x, int y, Engine.Events.EventInfo eventInfo)
        {
            TileData         data   = GetTile(x, y);
            ExtendedTileData exdata = data.IsExtended ? data.Extended : data.Extend(x, y);

            Engine.Events.TileEvent ev = new Events.TileEvent(eventInfo, exdata);

            exdata.AddEvent(ev);
            events.Add(ev);

            SetTile(x, y, exdata);

            return(ev);
        }
Esempio n. 3
0
        public static ExtendedTileData Deserialize(System.IO.Stream stream, int data, int x, int y)
        {
            System.IO.BinaryReader reader = new System.IO.BinaryReader(stream);
            int count = reader.ReadInt32();

            Events.TileEvent[] events = new Events.TileEvent[count];

            for (int i = 0; i < events.Length; i++)
            {
                events[i] = Engine.Events.TileEvent.Deserialize(stream);
            }

            ExtendedTileData exdata = new ExtendedTileData(data, x, y);

            exdata.AddEvents(events);

            return(exdata);
        }