Beispiel #1
0
        public MissionResultFmt GetResultData()
        {
            resultInfo             = new MissionResultFmt();
            resultInfo.Deck        = mem_deck;
            resultInfo.MissionName = mst_mission.Name;
            setResultKind();
            Dictionary <enumMaterialCategory, int> up_mat = null;

            setItems(out up_mat);
            setBasicExp();
            Dictionary <int, int> shipExp = getShipExp();

            resultInfo.GetShipExp = shipExp;
            updateShip(shipExp, out resultInfo.LevelUpInfo);
            updateMaterial(up_mat);
            updateDeck();
            updateItem();
            updateMissionComp();
            updateBasic();
            updateRebellionPoint(resultInfo.MissionResult);
            resultInfo.MemberLevel = updateRecord();
            missionTanker.ForEach(delegate(Mem_tanker x)
            {
                x.MissionTerm();
            });
            return(resultInfo);
        }
Beispiel #2
0
 public MissionResultModel(MissionResultFmt fmt, UserInfoModel user_info, Dictionary <int, int> exp_rates_before)
 {
     this._mission_fmt = fmt;
     this._user_info   = user_info;
     this._exps        = new Dictionary <int, ShipExpModel>();
     base._SetShipExp(exp_rates_before);
     this._rewards = this._InitRewardItems();
 }
Beispiel #3
0
 public UserPreActionPhaseResultModel(TurnWorkResult data, ManagerBase manager) : base(data)
 {
     this._bling_end_ships        = new List <ShipModel>();
     this._bling_end_escort_decks = new List <EscortDeckModel>();
     this._bling_end_tanker       = new Dictionary <int, int>();
     if (this._data.BlingEndShip != null)
     {
         Api_Result <Dictionary <int, Mem_ship> > api_Result = new Api_get_Member().Ship(this._data.BlingEndShip);
         if (api_Result.state == Api_Result_State.Success)
         {
             for (int i = 0; i < this._data.BlingEndShip.get_Count(); i++)
             {
                 int num = this._data.BlingEndShip.get_Item(i);
                 this._bling_end_ships.Add(new ShipModel(api_Result.data.get_Item(num)));
             }
         }
     }
     if (this._data.BlingEndEscortDeck != null)
     {
         for (int j = 0; j < this._data.BlingEndEscortDeck.get_Count(); j++)
         {
             int             num2       = this._data.BlingEndEscortDeck.get_Item(j);
             int             area_id    = num2;
             EscortDeckModel escortDeck = manager.UserInfo.GetEscortDeck(area_id);
             this._bling_end_escort_decks.Add(escortDeck);
         }
     }
     if (this._data.BlingEndTanker != null)
     {
         using (Dictionary <int, List <Mem_tanker> > .KeyCollection.Enumerator enumerator = this._data.BlingEndTanker.get_Keys().GetEnumerator())
         {
             while (enumerator.MoveNext())
             {
                 int current = enumerator.get_Current();
                 this._bling_end_tanker.set_Item(current, this._data.BlingEndTanker.get_Item(current).get_Count());
             }
         }
     }
     this._mission_results = new List <MissionResultModel>();
     if (data.MissionEndDecks != null && data.MissionEndDecks.get_Count() > 0)
     {
         for (int k = 0; k < data.MissionEndDecks.get_Count(); k++)
         {
             int                   rid        = data.MissionEndDecks.get_Item(k).Rid;
             DeckModel             deck       = manager.UserInfo.GetDeck(rid);
             ShipModel[]           ships      = deck.GetShips();
             Dictionary <int, int> dictionary = new Dictionary <int, int>();
             for (int l = 0; l < ships.Length; l++)
             {
                 ShipModel shipModel = ships[l];
                 dictionary.set_Item(shipModel.MemId, shipModel.Exp_Percentage);
             }
             Api_Result <MissionResultFmt> api_Result2 = new Api_req_Mission().Result(rid);
             if (api_Result2.state == Api_Result_State.Success)
             {
                 MissionResultFmt data2 = api_Result2.data;
                 this._mission_results.Add(new MissionResultModel(data2, manager.UserInfo, dictionary));
             }
         }
     }
     this._resources = new MaterialInfo(this._data.TransportMaterial);
     this._resources_monthly_bonus = new MaterialInfo(this._data.BonusMaterialMonthly);
     this._resources_weekly_bonus  = new MaterialInfo(this._data.BonusMaterialWeekly);
     this._rewards = new List <IReward>();
     if (this._data.SpecialItem != null && this._data.SpecialItem.get_Count() > 0)
     {
         for (int m = 0; m < this._data.SpecialItem.get_Count(); m++)
         {
             ItemGetFmt itemGetFmt = this._data.SpecialItem.get_Item(m);
             if (itemGetFmt.Category == ItemGetKinds.Ship)
             {
                 this._rewards.Add(new Reward_Ship(itemGetFmt.Id));
             }
             else if (itemGetFmt.Category == ItemGetKinds.SlotItem)
             {
                 this._rewards.Add(new Reward_Slotitem(itemGetFmt.Id, itemGetFmt.Count));
             }
             else if (itemGetFmt.Category == ItemGetKinds.UseItem)
             {
                 this._rewards.Add(new Reward_Useitem(itemGetFmt.Id, itemGetFmt.Count));
             }
         }
     }
 }
Beispiel #4
0
 public UserPreActionPhaseResultModel(TurnWorkResult data, ManagerBase manager)
     : base(data)
 {
     _bling_end_ships        = new List <ShipModel>();
     _bling_end_escort_decks = new List <EscortDeckModel>();
     _bling_end_tanker       = new Dictionary <int, int>();
     if (_data.BlingEndShip != null)
     {
         Api_Result <Dictionary <int, Mem_ship> > api_Result = new Api_get_Member().Ship(_data.BlingEndShip);
         if (api_Result.state == Api_Result_State.Success)
         {
             for (int i = 0; i < _data.BlingEndShip.Count; i++)
             {
                 int key = _data.BlingEndShip[i];
                 _bling_end_ships.Add(new ShipModel(api_Result.data[key]));
             }
         }
     }
     if (_data.BlingEndEscortDeck != null)
     {
         for (int j = 0; j < _data.BlingEndEscortDeck.Count; j++)
         {
             int             num        = _data.BlingEndEscortDeck[j];
             int             area_id    = num;
             EscortDeckModel escortDeck = manager.UserInfo.GetEscortDeck(area_id);
             _bling_end_escort_decks.Add(escortDeck);
         }
     }
     if (_data.BlingEndTanker != null)
     {
         foreach (int key2 in _data.BlingEndTanker.Keys)
         {
             _bling_end_tanker[key2] = _data.BlingEndTanker[key2].Count;
         }
     }
     _mission_results = new List <MissionResultModel>();
     if (data.MissionEndDecks != null && data.MissionEndDecks.Count > 0)
     {
         for (int k = 0; k < data.MissionEndDecks.Count; k++)
         {
             int                   rid        = data.MissionEndDecks[k].Rid;
             DeckModel             deck       = manager.UserInfo.GetDeck(rid);
             ShipModel[]           ships      = deck.GetShips();
             Dictionary <int, int> dictionary = new Dictionary <int, int>();
             foreach (ShipModel shipModel in ships)
             {
                 dictionary[shipModel.MemId] = shipModel.Exp_Percentage;
             }
             Api_Result <MissionResultFmt> api_Result2 = new Api_req_Mission().Result(rid);
             if (api_Result2.state == Api_Result_State.Success)
             {
                 MissionResultFmt data2 = api_Result2.data;
                 _mission_results.Add(new MissionResultModel(data2, manager.UserInfo, dictionary));
             }
         }
     }
     _resources = new MaterialInfo(_data.TransportMaterial);
     _resources_monthly_bonus = new MaterialInfo(_data.BonusMaterialMonthly);
     _resources_weekly_bonus  = new MaterialInfo(_data.BonusMaterialWeekly);
     _rewards = new List <IReward>();
     if (_data.SpecialItem == null || _data.SpecialItem.Count <= 0)
     {
         return;
     }
     for (int m = 0; m < _data.SpecialItem.Count; m++)
     {
         ItemGetFmt itemGetFmt = _data.SpecialItem[m];
         if (itemGetFmt.Category == ItemGetKinds.Ship)
         {
             _rewards.Add(new Reward_Ship(itemGetFmt.Id));
         }
         else if (itemGetFmt.Category == ItemGetKinds.SlotItem)
         {
             _rewards.Add(new Reward_Slotitem(itemGetFmt.Id, itemGetFmt.Count));
         }
         else if (itemGetFmt.Category == ItemGetKinds.UseItem)
         {
             _rewards.Add(new Reward_Useitem(itemGetFmt.Id, itemGetFmt.Count));
         }
     }
 }