예제 #1
0
파일: Dungeon.cs 프로젝트: eylvisaker/Xle
 protected override void ReadData(XleSerializationInfo info)
 {
     mWidth             = info.ReadInt32("Width");
     mHeight            = info.ReadInt32("Height");
     mLevels            = info.ReadInt32("Levels");
     mData              = info.ReadArray <int>("Data");
     MaxMonsters        = info.ReadInt32("MaxMonsters");
     MonsterHealthScale = info.ReadInt32("MonsterHealthScale");
     MonsterDamageScale = info.ReadInt32("MonsterDamageScale");
 }
예제 #2
0
        void IXleSerializable.ReadData(XleSerializationInfo info)
        {
            Cheater = info.ReadBoolean("Cheater", false);

            mAttributes = (AttributeContainer)info.ReadObject("Attributes");
            food        = info.ReadDouble("Food");
            gold        = info.ReadInt32("Gold");
            goldBank    = info.ReadInt32("GoldInBank");
            timedays    = info.ReadDouble("TimeDays");
            timequality = info.ReadDouble("TimeQuality");

            onRaft = info.ReadInt32("OnRaft");
            rafts  = info.ReadList <RaftData>("Rafts");

            gamespeed     = info.ReadInt32("GameSpeed");
            map           = info.ReadInt32("Map");
            lastMap       = info.ReadInt32("LastMap");
            dungeon       = info.ReadInt32("Dungeon");
            hp            = info.ReadInt32("HP");
            level         = info.ReadInt32("Level");
            returnMap     = info.ReadInt32("ReturnMap");
            returnX       = info.ReadInt32("ReturnX");
            returnY       = info.ReadInt32("ReturnY");
            returnFacing  = info.ReadEnum <Direction>("ReturnFacing");
            x             = info.ReadInt32("X");
            y             = info.ReadInt32("Y");
            dungeonLevel  = info.ReadInt32("DungeonLevel");
            faceDirection = (Direction)info.ReadInt32("Facing");

            weapons = info.ReadList <WeaponItem>("Weapons");
            armor   = info.ReadList <ArmorItem>("Armor");

            currentArmorIndex  = info.ReadInt32("CurrentArmorIndex");
            currentWeaponIndex = info.ReadInt32("CurrentWeaponIndex");

            mItems = info.ReadObject <ItemContainer>("Item");
            hold   = info.ReadInt32("Hold");

            lastAttacked = info.ReadInt32("LastAttacked");
            VaultGold    = info.ReadInt32("VaultGold");

            chests = info.ReadArray <int>("Chests");

            loan    = info.ReadInt32("Loan");               // loan amount
            dueDate = info.ReadInt32("DueDate");            // time in days that the money is due

            mailTown = info.ReadInt32("MailTown");

            mName = info.ReadString("Name");

            StoryData = info.ReadObject <IXleSerializable>("StoryData");

            RenderColor = XleColor.White;
        }
예제 #3
0
        void IXleSerializable.ReadData(XleSerializationInfo info)
        {
            mMapName = info.ReadString("MapName");
            mMapID   = info.ReadInt32("MapID");

            ExtenderName = info.ReadString("ExtenderName", "");

            if (info.ContainsKey("EntryPoints"))
            {
                EntryPoints = info.ReadList <EntryPoint>("EntryPoints");
            }
            if (info.ContainsKey("Tileset"))
            {
                mTileImage = info.ReadString("Tileset");
            }
            else
            {
                mTileImage = info.ReadString("TileImage");
                mTileSet   = info.ReadObject <TileSet>("TileSet");
            }

            var defaultTile = info.ReadInt32("DefaultTile", 0);

            mOutsideTile = info.ReadInt32("OutsideTile", 0);

            if (mOutsideTile == 0)
            {
                mOutsideTile = defaultTile;
            }

            mEvents.AddRange(info.ReadArray <XleEvent>("Events"));

            if (info.ContainsKey("Roofs"))
            {
                Roofs = info.ReadList <Roof>("Roofs");
            }
            if (info.ContainsKey("Guards"))
            {
                Guards = info.ReadObject <GuardList>("Guards");
            }

            // read events
            ReadData(info);

            SetChestIDs();
        }
예제 #4
0
파일: TileSet.cs 프로젝트: eylvisaker/Xle
        void IXleSerializable.ReadData(XleSerializationInfo info)
        {
            int[] tiles = info.ReadArray <int>("Tiles");

            for (int i = 0; i < tiles.Length; i++)
            {
                mTiles[i] = (TileInfo)tiles[i];
            }

            if (info.ContainsKey("TileGroups"))
            {
                TileGroups = info.ReadList <TileGroup>("TileGroups");
            }

            if (TileGroups == null)
            {
                TileGroups = new List <TileGroup>();
            }
        }
예제 #5
0
 protected override void ReadData(XleSerializationInfo info)
 {
     mWidth  = info.ReadInt32("Width");
     mHeight = info.ReadInt32("Height");
     mData   = info.ReadArray <int>("Data");
 }