internal ExpeditionRecord(SQLiteDataReader rpReader)
        {
            ID = rpReader.GetInt64("time");

            ExpeditionInfo rExpedition;

            if (KanColleGame.Current.MasterInfo.Expeditions.TryGetValue(rpReader.GetInt32("expedition"), out rExpedition))
            {
                Expedition = rExpedition;
            }
            else
            {
                Expedition = ExpeditionInfo.Dummy;
            }

            Result = (ExpeditionResult)rpReader.GetInt32("result");

            if (Result == ExpeditionResult.Failure)
            {
                return;
            }

            Fuel    = rpReader.GetInt32("fuel");
            Bullet  = rpReader.GetInt32("bullet");
            Steel   = rpReader.GetInt32("steel");
            Bauxite = rpReader.GetInt32("bauxite");

            var rItem1 = rpReader.GetInt32Optional("item1");

            if (rItem1.HasValue)
            {
                var rItem1ID = rItem1.Value;
                if (rItem1ID != -1)
                {
                    Item1 = KanColleGame.Current.MasterInfo.Items[rItem1ID];
                }
                Item1Count = rpReader.GetInt32("item1_count");
            }
            var rItem2 = rpReader.GetInt32Optional("item2");

            if (rItem2.HasValue)
            {
                var rItem2ID = rItem2.Value;
                if (rItem2ID != -1)
                {
                    Item2 = KanColleGame.Current.MasterInfo.Items[rItem2ID];
                }
                Item2Count = rpReader.GetInt32("item2_count");
            }
        }
Пример #2
0
        internal void Update(SQLiteDataReader rpReader)
        {
            var rBattleRank = rpReader.GetInt32Optional("rank");

            if (rBattleRank.HasValue)
            {
                BattleRank = (BattleRank)rBattleRank.Value;
            }

            var rDroppedShip = rpReader.GetInt32Optional("dropped_ship");

            if (rDroppedShip.HasValue)
            {
                DroppedShip = KanColleGame.Current.MasterInfo.Ships[rDroppedShip.Value];
            }

            IsBattleDetailAvailable = rpReader.GetBoolean("battle_detail");

            var rHeavilyDamagedShipIDs = rpReader.GetString("heavily_damaged");

            if (rHeavilyDamagedShipIDs != null)
            {
                HeavilyDamagedShips = rHeavilyDamagedShipIDs.Split(',').Select(r => KanColleGame.Current.MasterInfo.Ships[int.Parse(r)]).ToList();
            }

            var rMvpShip = rpReader.GetInt32Optional("mvp");

            if (rMvpShip.HasValue)
            {
                MvpShip = KanColleGame.Current.MasterInfo.Ships[rMvpShip.Value];
            }

            var rEscortFleetMvpShip = rpReader.GetInt32Optional("mvp_escort");

            if (rEscortFleetMvpShip.HasValue)
            {
                EscortFleetMvpShip = KanColleGame.Current.MasterInfo.Ships[rEscortFleetMvpShip.Value];
            }

            OnPropertyChanged(string.Empty);
        }
Пример #3
0
        public SortieRecordBase(SQLiteDataReader rpReader)
        {
            var rMapID = rpReader.GetInt32("map");

            Map = MapService.Instance.GetMasterInfo(rMapID);

            var rEventMapDifficulty = rpReader.GetInt32Optional("difficulty");

            if (rEventMapDifficulty.HasValue)
            {
                IsEventMap         = true;
                EventMapDifficulty = (EventMapDifficulty)rEventMapDifficulty.Value;
            }
        }
Пример #4
0
        internal SortieConsumptionRecord(SQLiteDataReader rpReader) : base(rpReader)
        {
            Time = DateTimeUtil.FromUnixTime(rpReader.GetInt64("id")).LocalDateTime.ToString();

            var rMapMaxHP = rpReader.GetInt32Optional("map_max_hp");

            if (rMapMaxHP.HasValue)
            {
                var rMapHP = rpReader.GetInt32Optional("map_hp");
                if (rMapHP.HasValue)
                {
                    MapHP = new ClampedValue(rMapMaxHP.Value, rMapHP.Value);
                }
            }

            Fuel    = rpReader.GetInt32("fuel");
            Bullet  = rpReader.GetInt32("bullet");
            Steel   = rpReader.GetInt32("steel");
            Bauxite = rpReader.GetInt32("bauxite");
            Bucket  = rpReader.GetInt32("bucket");

            RankingPoint = rpReader.GetDoubleOptional("ranking_point");
        }
Пример #5
0
        internal ConstructionRecord(SQLiteDataReader rpReader)
        {
            Time = DateTimeUtil.FromUnixTime(rpReader.GetInt64("time")).LocalDateTime.ToString();
            Ship = KanColleGame.Current.MasterInfo.Ships[rpReader.GetInt32("ship")];

            FuelConsumption                = rpReader.GetInt32("fuel");
            BulletConsumption              = rpReader.GetInt32("bullet");
            SteelConsumption               = rpReader.GetInt32("steel");
            BauxiteConsumption             = rpReader.GetInt32("bauxite");
            DevelopmentMaterialConsumption = rpReader.GetInt32("dev_material");

            SecretaryShip    = KanColleGame.Current.MasterInfo.Ships[rpReader.GetInt32("flagship")];
            HeadquarterLevel = rpReader.GetInt32("hq_level");

            EmptyDockCount = rpReader.GetInt32Optional("empty_dock");
        }
        internal DevelopmentRecord(SQLiteDataReader rpReader)
        {
            Time = DateTimeUtil.FromUnixTime(rpReader.GetInt64("time")).LocalDateTime.ToString();
            var rEquipmentID = rpReader.GetInt32Optional("equipment");

            if (rEquipmentID.HasValue)
            {
                Equipment = KanColleGame.Current.MasterInfo.Equipment[rEquipmentID.Value];
            }

            FuelConsumption    = rpReader.GetInt32("fuel");
            BulletConsumption  = rpReader.GetInt32("bullet");
            SteelConsumption   = rpReader.GetInt32("steel");
            BauxiteConsumption = rpReader.GetInt32("bauxite");

            SecretaryShip    = KanColleGame.Current.MasterInfo.Ships[rpReader.GetInt32("flagship")];
            HeadquarterLevel = rpReader.GetInt32("hq_level");
        }