コード例 #1
0
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            clearRoom();
            //add layout objects !
            string       f  = (string)listBox1.Items[listBox1.SelectedIndex];
            BinaryReader br = new BinaryReader(new FileStream("Layout\\" + f, FileMode.Open, FileAccess.Read));

            string            type = br.ReadString();
            List <SaveObject> data = new List <SaveObject>();

            while (br.BaseStream.Position != br.BaseStream.Length)
            {
                data.Add(new SaveObject(br, typeof(Room_Object)));
            }

            foreach (SaveObject o in data)
            {
                if (o.type == typeof(Room_Object))
                {
                    Room_Object ro = scene.room.addObject(o.tid, (byte)(o.x), (byte)(o.y), o.size, o.layer);
                    if (ro != null)
                    {
                        ro.setRoom(scene.room);
                        ro.options = o.options;
                        scene.room.tilesObjects.Add(ro);
                    }
                }
            }

            scene.room.reloadGfx();

            scene.DrawRoom();
            scene.Refresh();
        }
コード例 #2
0
        public void readTiles(BinaryReader br)
        {
            short count = br.ReadInt16();

            for (int j = 0; j < count; j++)
            {
                //<Tiles Objects Data>
                //short ID ,byte X, byte Y, byte Layer
                short        id      = br.ReadInt16();
                byte         x       = br.ReadByte();
                byte         y       = br.ReadByte();
                byte         size    = br.ReadByte();
                byte         layer   = br.ReadByte();
                ObjectOption options = (ObjectOption)br.ReadByte();



                if ((options & ObjectOption.Door) == ObjectOption.Door)
                {
                    Room_Object o = new object_door(id, x, y, size, layer);
                    if (o != null)
                    {
                        o.options = (ObjectOption)options;
                        o.setRoom(activeScene.room);
                        activeScene.room.tilesObjects.Add(o);
                    }
                }
                else
                {
                    Room_Object o = activeScene.room.addObject(id, x, y, size, layer);
                    if (o != null)
                    {
                        o.options = (ObjectOption)options;
                        o.setRoom(activeScene.room);
                        activeScene.room.tilesObjects.Add(o);
                    }
                }
            }
        }