예제 #1
0
    public static void LoadBattleData(out AllBattleFmt day, out AllBattleFmt night, out BattleResultFmt result)
    {
        XmlSerializer xmlSerializer = new XmlSerializer(typeof(AllBattleFmt));

        day = null;
        if (File.Exists(currentDir + "DayBattleFmt.xml"))
        {
            StreamReader streamReader = new StreamReader(currentDir + "DayBattleFmt.xml");
            day = (AllBattleFmt)xmlSerializer.Deserialize(streamReader);
            streamReader.Close();
        }
        night = null;
        if (File.Exists(currentDir + "NightBattleFmt.xml"))
        {
            StreamReader streamReader2 = new StreamReader(currentDir + "NightBattleFmt.xml");
            night = (AllBattleFmt)xmlSerializer.Deserialize(streamReader2);
            streamReader2.Close();
        }
        result        = null;
        xmlSerializer = new XmlSerializer(typeof(BattleResultFmt));
        if (File.Exists(currentDir + "BattleResultFmt.xml"))
        {
            StreamReader streamReader3 = new StreamReader(currentDir + "BattleResultFmt.xml");
            result = (BattleResultFmt)xmlSerializer.Deserialize(streamReader3);
            streamReader3.Close();
        }
    }
예제 #2
0
    public static bool SerializeBattleResult(BattleResultFmt fmt)
    {
        if (fmt == null)
        {
            return(false);
        }
        string        fileName   = currentDir + "BattleResultFmt.xml";
        XmlSerializer serializer = new XmlSerializer(typeof(BattleResultFmt));

        return(writeBattleFmt(fileName, serializer, fmt));
    }
예제 #3
0
        public override BattleResultModel GetBattleResult()
        {
            if (_cache_result != null)
            {
                return(_cache_result);
            }
            Dictionary <int, int> dic  = new Dictionary <int, int>();
            DeckModel             deck = base.UserInfo.GetDeck(base.DeckId);

            deck.__CreateShipExpRatesDictionary__(ref dic);
            deck = base.UserInfo.GetDeck(base.EnemyDeckId);
            deck.__CreateShipExpRatesDictionary__(ref dic);
            BattleResultFmt battleResultFmt = _GetBattleResult();

            if (battleResultFmt == null)
            {
                return(null);
            }
            _cache_result = new BattleResultModel(base.DeckId, base.EnemyDeckId, this, battleResultFmt, _ships_f, _ships_e, dic);
            return(_cache_result);
        }
        public override BattleResultModel GetBattleResult()
        {
            if (this._cache_result != null)
            {
                return(this._cache_result);
            }
            Dictionary <int, int> exp_rates_before = new Dictionary <int, int>();
            DeckModel             deck             = base.UserInfo.GetDeck(base.DeckId);

            deck.__CreateShipExpRatesDictionary__(ref exp_rates_before);
            deck = base.UserInfo.GetDeck(base.EnemyDeckId);
            deck.__CreateShipExpRatesDictionary__(ref exp_rates_before);
            BattleResultFmt battleResultFmt = this._GetBattleResult();

            if (battleResultFmt == null)
            {
                return(null);
            }
            this._cache_result = new BattleResultModel(base.DeckId, base.EnemyDeckId, this, battleResultFmt, this._ships_f, this._ships_e, exp_rates_before);
            return(this._cache_result);
        }
        private void _Init(int deck_id, int enemy_deck_id, BattleManager bManager, BattleResultFmt fmt, List <ShipModel_BattleAll> ships_f, List <ShipModel_BattleAll> ships_e, Dictionary <int, int> exp_rates_before)
        {
            UserInfoModel userInfo = bManager.UserInfo;
            DeckModel     deck     = userInfo.GetDeck(deck_id);

            this._deck_name = deck.Name;
            this._user_name = userInfo.Name;
            this._fmt       = fmt;
            this._ships_f   = ships_f.ConvertAll <ShipModel_BattleResult>((ShipModel_BattleAll ship) => (ShipModel_BattleResult)ship);
            this._ships_e   = ships_e.ConvertAll <ShipModel_BattleResult>((ShipModel_BattleAll ship) => (ShipModel_BattleResult)ship);
            this._mvp_ship  = this._ships_f.Find((ShipModel_BattleResult ship) => ship != null && ship.TmpId == this._fmt.MvpShip);
            for (int i = 0; i < this.Ships_f.Length; i++)
            {
                ShipModel_BattleResult shipModel_BattleResult = this.Ships_f[i];
                if (shipModel_BattleResult != null)
                {
                    this._SetShipExp(deck, shipModel_BattleResult, exp_rates_before);
                    this._hp_start_f += shipModel_BattleResult.HpStart;
                    this._hp_end_f   += shipModel_BattleResult.HpEnd;
                }
            }
            DeckModel deck2 = userInfo.GetDeck(enemy_deck_id);

            for (int j = 0; j < this.Ships_e.Length; j++)
            {
                ShipModel_BattleResult shipModel_BattleResult2 = this.Ships_e[j];
                if (shipModel_BattleResult2 != null)
                {
                    this._SetShipExp(deck2, shipModel_BattleResult2, exp_rates_before);
                    this._hp_start_e += shipModel_BattleResult2.HpStart;
                    this._hp_end_e   += shipModel_BattleResult2.HpEnd;
                }
            }
            this._new_opened_map_ids = fmt.NewOpenMapId.GetRange(0, fmt.NewOpenMapId.get_Count());
            this._new_opened_map_ids.AddRange(fmt.ReOpenMapId);
            this._new_opened_area_ids = this._new_opened_map_ids.FindAll((int map_id) => map_id % 10 == 1);
            this._new_opened_area_ids = this._new_opened_area_ids.ConvertAll <int>((int map_id) => (int)Math.Floor((double)map_id / 10.0));
            this._first_area_clear    = fmt.FirstAreaComplete;
        }
예제 #6
0
        public override BattleResultModel GetBattleResult()
        {
            if (this._cache_result != null)
            {
                return(this._cache_result);
            }
            DeckModel             deck             = base.UserInfo.GetDeck(base.DeckId);
            Dictionary <int, int> exp_rates_before = new Dictionary <int, int>();

            deck.__CreateShipExpRatesDictionary__(ref exp_rates_before);
            BattleResultFmt battleResultFmt = this._GetBattleResult();

            if (battleResultFmt == null)
            {
                return(null);
            }
            this._cache_result = new BattleResultModel(base.DeckId, this, battleResultFmt, this._ships_f, this._ships_e, this._map, exp_rates_before);
            if (this._cache_result.WinRank == BattleWinRankKinds.S)
            {
                Comm_UserDatas.Instance.User_trophy.Win_S_count++;
            }
            List <int> reOpenMapIDs = this._cache_result.ReOpenMapIDs;

            if (reOpenMapIDs != null && reOpenMapIDs.get_Count() > 0)
            {
                for (int i = 0; i < reOpenMapIDs.get_Count(); i++)
                {
                    int num  = (int)Math.Floor((double)reOpenMapIDs.get_Item(i) / 10.0);
                    int num2 = reOpenMapIDs.get_Item(i) % 10;
                    if (base.Map.AreaId != num && num2 == 1)
                    {
                        TrophyUtil.__tmp_area_reopen__ = true;
                    }
                }
            }
            return(this._cache_result);
        }
 public BattleResultModel(int deck_id, int enemy_deck_id, BattleManager bManager, BattleResultFmt fmt, List <ShipModel_BattleAll> ships_f, List <ShipModel_BattleAll> ships_e, Dictionary <int, int> exp_rates_before)
 {
     this._Init(deck_id, enemy_deck_id, bManager, fmt, ships_f, ships_e, exp_rates_before);
 }
예제 #8
0
 public QuestPractice(BattleResultFmt battleResultFmt)
     : this()
 {
     battleResult = battleResultFmt;
 }
예제 #9
0
 private QuestPractice()
 {
     checkData          = getCheckDatas(3);
     battleResult       = null;
     deckPracticeResult = null;
 }
예제 #10
0
 public BattleResultModel(int deck_id, BattleManager bManager, BattleResultFmt fmt, List <ShipModel_BattleAll> ships_f, List <ShipModel_BattleAll> ships_e, MapModel map, Dictionary <int, int> exp_rates_before)
 {
     _Init(deck_id, -1, bManager, fmt, ships_f, ships_e, exp_rates_before);
 }
 private QuestPractice()
 {
     this.checkData          = base.getCheckDatas(3);
     this.battleResult       = null;
     this.deckPracticeResult = null;
 }