예제 #1
0
        public GMRoom(GMAssets _a, Stream _stream)
        {
            int num = _stream.ReadInteger();

            Caption    = _stream.ReadString();
            Width      = _stream.ReadInteger();
            Height     = _stream.ReadInteger();
            Speed      = _stream.ReadInteger();
            Persistent = _stream.ReadBoolean();
            Colour     = _stream.ReadInteger();
            int num2 = _stream.ReadInteger();

            ShowColour      = ((num2 & 1) != 0);
            ViewClearScreen = ((num2 & 2) == 0);
            Code            = _stream.ReadString();
            int num3 = _stream.ReadInteger();

            Backgrounds = new List <GMBack>(num3);
            for (int i = 0; i < num3; i++)
            {
                GMBack item = new GMBack(_stream);
                Backgrounds.Add(item);
            }
            EnableViews = _stream.ReadBoolean();
            num3        = _stream.ReadInteger();
            Views       = new List <GMView>(num3);
            for (int j = 0; j < num3; j++)
            {
                GMView item2 = new GMView(_stream);
                Views.Add(item2);
            }
            num3      = _stream.ReadInteger();
            Instances = new List <GMInstance>(num3);
            for (int k = 0; k < num3; k++)
            {
                GMInstance item3 = new GMInstance(_stream, num);
                Instances.Add(item3);
            }
            num3  = _stream.ReadInteger();
            Tiles = new List <GMTile>(num3);
            for (int l = 0; l < num3; l++)
            {
                GMTile item4 = new GMTile(_stream, num);
                Tiles.Add(item4);
            }
        }
예제 #2
0
        public GMRoom(GMAssets _a, Stream _stream, bool _gmk)
        {
            int num = _stream.ReadInteger();

            Caption = _stream.ReadString();
            Width   = _stream.ReadInteger();
            Height  = _stream.ReadInteger();
            _stream.ReadInteger();
            _stream.ReadInteger();
            if (num >= 520)
            {
                _stream.ReadBoolean();
            }
            Speed      = _stream.ReadInteger();
            Persistent = _stream.ReadBoolean();
            Colour     = _stream.ReadInteger();
            ShowColour = _stream.ReadBoolean();
            Code       = _stream.ReadString();
            int num2 = _stream.ReadInteger();

            Backgrounds = new List <GMBack>(num2);
            for (int i = 0; i < num2; i++)
            {
                GMBack item = new GMBack(_stream);
                Backgrounds.Add(item);
            }
            EnableViews = _stream.ReadBoolean();
            num2        = _stream.ReadInteger();
            Views       = new List <GMView>(num2);
            for (int j = 0; j < num2; j++)
            {
                GMView item2 = new GMView(_stream);
                Views.Add(item2);
            }
            num2      = _stream.ReadInteger();
            Instances = new List <GMInstance>(num2);
            for (int k = 0; k < num2; k++)
            {
                GMInstance item3 = new GMInstance(_stream, true);
                Instances.Add(item3);
            }
            num2  = _stream.ReadInteger();
            Tiles = new List <GMTile>(num2);
            for (int l = 0; l < num2; l++)
            {
                GMTile item4 = new GMTile(_stream, num);
                if (num >= 520)
                {
                    _stream.ReadBoolean();
                }
                Tiles.Add(item4);
            }
            _stream.ReadBoolean();
            _stream.ReadInteger();
            _stream.ReadInteger();
            _stream.ReadBoolean();
            _stream.ReadBoolean();
            _stream.ReadBoolean();
            if (num < 520)
            {
                _stream.ReadBoolean();
            }
            _stream.ReadBoolean();
            _stream.ReadBoolean();
            _stream.ReadBoolean();
            _stream.ReadBoolean();
            _stream.ReadBoolean();
            if (num < 520)
            {
                _stream.ReadBoolean();
            }
            if (num < 541)
            {
                _stream.ReadInteger();
            }
            if (num < 541)
            {
                _stream.ReadInteger();
            }
            if (num < 541)
            {
                _stream.ReadInteger();
            }
            if (num < 541)
            {
                _stream.ReadInteger();
            }
            if (num >= 520 && num < 541)
            {
                _stream.ReadInteger();
            }
            if (num >= 520 && num < 541)
            {
                _stream.ReadInteger();
            }
            _stream.ReadInteger();
            _stream.ReadInteger();
            _stream.ReadInteger();
        }