Exemple #1
0
        public void __UpdateEscortDeck__(Api_get_Member api_get_mem)
        {
            Api_Result <Dictionary <int, Mem_esccort_deck> > api_Result = api_get_mem.EscortDeck();

            if (api_Result.state == Api_Result_State.Success)
            {
                using (Dictionary <int, Mem_esccort_deck> .KeyCollection.Enumerator enumerator = api_Result.data.get_Keys().GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        int current = enumerator.get_Current();
                        Mem_esccort_deck    mem_escort_deck = api_Result.data.get_Item(current);
                        __EscortDeckModel__ _EscortDeckModel__;
                        if (this._escort_decks.TryGetValue(current, ref _EscortDeckModel__))
                        {
                            _EscortDeckModel__.__Update__(mem_escort_deck, this._ships);
                        }
                        else
                        {
                            this._escort_decks.set_Item(current, new __EscortDeckModel__(mem_escort_deck, this._ships));
                        }
                    }
                }
            }
        }
Exemple #2
0
        public Api_Result <Dictionary <int, Mem_ship> > Ship(int area_id)
        {
            List <DeckShips> list             = new List <DeckShips>();
            Mem_esccort_deck mem_esccort_deck = Comm_UserDatas.Instance.User_EscortDeck.Values.FirstOrDefault((Mem_esccort_deck x) => x.Maparea_id == area_id);

            if (mem_esccort_deck != null)
            {
                list.Add(mem_esccort_deck.Ship);
            }
            IEnumerable <DeckShips> enumerable = from deck in Comm_UserDatas.Instance.User_deck.Values
                                                 where deck.Area_id == area_id
                                                 select deck.Ship;

            if (enumerable.Count() > 0)
            {
                list.AddRange(enumerable);
            }
            if (list.Count == 0)
            {
                Api_Result <Dictionary <int, Mem_ship> > api_Result = new Api_Result <Dictionary <int, Mem_ship> >();
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            List <int> list2 = new List <int>();

            foreach (DeckShips item in list)
            {
                List <int> out_ships = null;
                item.Clone(out out_ships);
                list2.AddRange(out_ships);
            }
            return(Ship(list2));
        }
 public void __Update__(Mem_esccort_deck mem_escort_deck, Dictionary <int, ShipModel> ships)
 {
     this._mem_escort_deck = mem_escort_deck;
     if (this._mem_escort_deck != null)
     {
         base._Update(this._mem_escort_deck.Ship, ships);
     }
 }
        public bool Add_EscortDeck(int rid, int area_id)
        {
            if (rid > 20 || this.User_EscortDeck.ContainsKey(rid))
            {
                return(false);
            }
            Mem_esccort_deck mem_esccort_deck = new Mem_esccort_deck(rid, area_id);

            this.User_EscortDeck.Add(rid, mem_esccort_deck);
            return(true);
        }
Exemple #5
0
        public bool Add_EscortDeck(int rid, int area_id)
        {
            if (rid > 20 || User_EscortDeck.ContainsKey(rid))
            {
                return(false);
            }
            Mem_esccort_deck value = new Mem_esccort_deck(rid, area_id);

            User_EscortDeck.Add(rid, value);
            return(true);
        }
Exemple #6
0
        public Api_Result <Mem_esccort_deck> Update_DeckName(int deck_rid, string name)
        {
            Api_Result <Mem_esccort_deck> api_Result = new Api_Result <Mem_esccort_deck>();

            api_Result.data = null;
            Mem_esccort_deck value = null;

            if (!Comm_UserDatas.Instance.User_EscortDeck.TryGetValue(deck_rid, out value))
            {
                api_Result.state = Api_Result_State.Parameter_Error;
            }
            value.SetDeckName(name);
            api_Result.data = value;
            return(api_Result);
        }
        private void goBackEscortDeck(Mem_esccort_deck escort)
        {
            List <Mem_ship> memShip = escort.Ship.getMemShip();

            memShip.ForEach(delegate(Mem_ship x)
            {
                if (!x.IsBlingShip())
                {
                    x.SubHp(this.getShipDamage(x.Nowhp));
                }
                x.PortWithdraw(escort.Rid);
            });
            escort.EscortStop();
            escort.Ship.Clear();
        }
 public void UpdateEscortShipLocale()
 {
     this.Temp_escortship.Clear();
     using (Dictionary <int, Mem_esccort_deck> .ValueCollection.Enumerator enumerator = Comm_UserDatas.Instance.User_EscortDeck.get_Values().GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             Mem_esccort_deck current = enumerator.get_Current();
             for (int i = 0; i < current.Ship.Count(); i++)
             {
                 this.Temp_escortship.Add(current.Ship[i]);
             }
         }
     }
 }
Exemple #9
0
        public Api_Result <Mem_esccort_deck> Change(int deck_rid, DeckShips deckShip)
        {
            Api_Result <Mem_esccort_deck> api_Result = new Api_Result <Mem_esccort_deck>();
            Mem_esccort_deck deck           = null;
            List <int>       lastTempResult = null;

            deckShip.Clone(out lastTempResult);
            if (!Comm_UserDatas.Instance.User_EscortDeck.TryGetValue(deck_rid, out deck))
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            List <int> out_ships = null;

            deck.Ship.Clone(out out_ships);
            Dictionary <int, Mem_ship> cloneShips = deck.Ship.getMemShip().ToDictionary((Mem_ship rid) => rid.Rid, (Mem_ship obj) => obj);

            deck.Ship.Clear();
            int count = lastTempResult.Count;

            for (int i = 0; i < count; i++)
            {
                deck.Ship[i] = lastTempResult[i];
                Comm_UserDatas.Instance.User_ship[deck.Ship[i]].BlingWaitToStop();
            }
            out_ships.ForEach(delegate(int ship_rid)
            {
                if (!lastTempResult.Contains(ship_rid) && Comm_UserDatas.Instance.Temp_escortship.Contains(ship_rid))
                {
                    cloneShips[ship_rid].BlingWait(deck.Maparea_id, Mem_ship.BlingKind.WaitEscort);
                }
            });
            if (deck.Ship.Count() > 0 && deck.Disposition_status == DispositionStatus.NONE)
            {
                deck.GoArea(deck.Maparea_id);
            }
            else if (deck.Ship.Count() == 0)
            {
                deck.EscortStop();
            }
            else if (deck.Disposition_status == DispositionStatus.ARRIVAL && deck.GetBlingTurn() == 0 && deck.Ship.getMemShip().All((Mem_ship x) => x.GetBlingTurn() > 0))
            {
                deck.EscortStop();
                deck.GoArea(deck.Maparea_id);
            }
            api_Result.data = deck;
            return(api_Result);
        }
Exemple #10
0
        public void LostArea(int maparea_id, List <int> sortieDeckRid)
        {
            Comm_UserDatas commInstance = Comm_UserDatas.Instance;

            if (sortieDeckRid == null)
            {
                sortieDeckRid = new List <int>();
            }
            List <int> lostArea = getLostArea(maparea_id);

            lostArea.ForEach(delegate(int lostAreaId)
            {
                Dictionary <int, Mem_mapclear> dictionary = (from x in commInstance.User_mapclear.Values
                                                             where x.Maparea_id == lostAreaId
                                                             select x).ToDictionary((Mem_mapclear x) => x.Mapinfo_no, (Mem_mapclear y) => y);
                int num = Mst_maparea.MaxMapNum(commInstance.User_basic.Difficult, lostAreaId);
                for (int i = 1; i <= num; i++)
                {
                    if (!dictionary.ContainsKey(i))
                    {
                        int mapinfo_id            = Mst_mapinfo.ConvertMapInfoId(lostAreaId, i);
                        Mem_mapclear mem_mapclear = new Mem_mapclear(mapinfo_id, lostAreaId, i, MapClearState.InvationClose);
                        mem_mapclear.Insert();
                        dictionary.Add(i, mem_mapclear);
                    }
                }
                lostMapClear(dictionary.Values.ToList(), Mst_DataManager.Instance.Mst_maparea[lostAreaId].Neighboring_area);
                Comm_UserDatas.Instance.User_rebellion_point.Remove(lostAreaId);
                List <Mem_tanker> areaTanker = Mem_tanker.GetAreaTanker(lostAreaId);
                lostTanker(areaTanker);
                IEnumerable <Mem_deck> memDeck = from x in commInstance.User_deck.Values
                                                 where x.Area_id == lostAreaId
                                                 select x;
                goBackDeck(memDeck, sortieDeckRid);
                Mem_esccort_deck escort = commInstance.User_EscortDeck[lostAreaId];
                goBackEscortDeck(escort);
                List <Mem_ndock> ndock = (from x in commInstance.User_ndock.Values
                                          where x.Area_id == lostAreaId
                                          select x).ToList();
                lostNdock(ndock);
                Dictionary <enumMaterialCategory, Mem_material> user_material = commInstance.User_material;
                lostMaterial(user_material);
                if (lostAreaId == 1)
                {
                    lostKdock();
                }
            });
        }
Exemple #11
0
        public Api_Result <Dictionary <int, Mem_esccort_deck> > EscortDeck()
        {
            Api_Result <Dictionary <int, Mem_esccort_deck> > api_Result = new Api_Result <Dictionary <int, Mem_esccort_deck> >();
            Dictionary <int, Mem_esccort_deck> dictionary  = Comm_UserDatas.Instance.User_EscortDeck.Values.ToDictionary((Mem_esccort_deck value) => value.Maparea_id, (Mem_esccort_deck value) => value);
            Dictionary <int, Mem_esccort_deck> dictionary2 = new Dictionary <int, Mem_esccort_deck>();

            foreach (int key in Mst_DataManager.Instance.Mst_maparea.Keys)
            {
                dictionary2.Add(key, null);
                Mem_esccort_deck value2 = null;
                if (dictionary.TryGetValue(key, out value2))
                {
                    dictionary2[key] = value2;
                }
            }
            api_Result.data = dictionary2;
            return(api_Result);
        }
Exemple #12
0
        public void __UpdateEscortDeck__(Api_get_Member api_get_mem)
        {
            Api_Result <Dictionary <int, Mem_esccort_deck> > api_Result = api_get_mem.EscortDeck();

            if (api_Result.state == Api_Result_State.Success)
            {
                foreach (int key in api_Result.data.Keys)
                {
                    Mem_esccort_deck mem_escort_deck = api_Result.data[key];
                    if (_escort_decks.TryGetValue(key, out __EscortDeckModel__ value))
                    {
                        value.__Update__(mem_escort_deck, _ships);
                    }
                    else
                    {
                        _escort_decks[key] = new __EscortDeckModel__(mem_escort_deck, _ships);
                    }
                }
            }
        }
        public Api_Result <Dictionary <int, Mem_esccort_deck> > EscortDeck()
        {
            Api_Result <Dictionary <int, Mem_esccort_deck> > api_Result = new Api_Result <Dictionary <int, Mem_esccort_deck> >();
            Dictionary <int, Mem_esccort_deck> dictionary  = Enumerable.ToDictionary <Mem_esccort_deck, int, Mem_esccort_deck>(Comm_UserDatas.Instance.User_EscortDeck.get_Values(), (Mem_esccort_deck value) => value.Maparea_id, (Mem_esccort_deck value) => value);
            Dictionary <int, Mem_esccort_deck> dictionary2 = new Dictionary <int, Mem_esccort_deck>();

            using (Dictionary <int, Mst_maparea> .KeyCollection.Enumerator enumerator = Mst_DataManager.Instance.Mst_maparea.get_Keys().GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    int current = enumerator.get_Current();
                    dictionary2.Add(current, null);
                    Mem_esccort_deck mem_esccort_deck = null;
                    if (dictionary.TryGetValue(current, ref mem_esccort_deck))
                    {
                        dictionary2.set_Item(current, mem_esccort_deck);
                    }
                }
            }
            api_Result.data = dictionary2;
            return(api_Result);
        }
        public Api_Result <Dictionary <int, Mem_ship> > Ship(int area_id)
        {
            List <DeckShips> list             = new List <DeckShips>();
            Mem_esccort_deck mem_esccort_deck = Enumerable.FirstOrDefault <Mem_esccort_deck>(Comm_UserDatas.Instance.User_EscortDeck.get_Values(), (Mem_esccort_deck x) => x.Maparea_id == area_id);

            if (mem_esccort_deck != null)
            {
                list.Add(mem_esccort_deck.Ship);
            }
            IEnumerable <DeckShips> enumerable = Enumerable.Select <Mem_deck, DeckShips>(Enumerable.Where <Mem_deck>(Comm_UserDatas.Instance.User_deck.get_Values(), (Mem_deck deck) => deck.Area_id == area_id), (Mem_deck deck) => deck.Ship);

            if (Enumerable.Count <DeckShips>(enumerable) > 0)
            {
                list.AddRange(enumerable);
            }
            if (list.get_Count() == 0)
            {
                return(new Api_Result <Dictionary <int, Mem_ship> >
                {
                    state = Api_Result_State.Parameter_Error
                });
            }
            List <int> list2 = new List <int>();

            using (List <DeckShips> .Enumerator enumerator = list.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    DeckShips  current = enumerator.get_Current();
                    List <int> list3   = null;
                    current.Clone(out list3);
                    list2.AddRange(list3);
                }
            }
            return(this.Ship(list2));
        }
        public bool SetUserData()
        {
            XElement elements = VitaSaveManager.Instance.Elements;

            if (elements == null)
            {
                return(false);
            }
            Mem_basic        user_basic        = Model_Base.SetUserData <Mem_basic>(Enumerable.First <XElement>(elements.Elements(Mem_basic.tableName)));
            Mem_record       user_record       = Model_Base.SetUserData <Mem_record>(Enumerable.First <XElement>(elements.Elements(Mem_record.tableName)));
            Mem_turn         user_turn         = Model_Base.SetUserData <Mem_turn>(Enumerable.First <XElement>(elements.Elements(Mem_turn.tableName)));
            Mem_deckpractice user_deckpractice = Model_Base.SetUserData <Mem_deckpractice>(Enumerable.First <XElement>(elements.Elements(Mem_deckpractice.tableName)));
            XElement         xElement          = Enumerable.FirstOrDefault <XElement>(elements.Elements(Mem_trophy.tableName));
            Mem_trophy       user_trophy;

            if (xElement == null)
            {
                user_trophy = new Mem_trophy();
            }
            else
            {
                user_trophy = Model_Base.SetUserData <Mem_trophy>(xElement);
            }
            XElement         xElement2 = Enumerable.FirstOrDefault <XElement>(elements.Elements(Mem_newgame_plus.tableName));
            Mem_newgame_plus user_plus;

            if (xElement2 == null)
            {
                user_plus = new Mem_newgame_plus();
            }
            else
            {
                user_plus = Model_Base.SetUserData <Mem_newgame_plus>(xElement2);
            }
            this.User_basic        = null;
            this.User_basic        = user_basic;
            this.User_record       = null;
            this.User_record       = user_record;
            this.User_turn         = null;
            this.User_turn         = user_turn;
            this.User_deckpractice = null;
            this.User_deckpractice = user_deckpractice;
            this.User_trophy       = user_trophy;
            this.User_plus         = user_plus;
            Dictionary <int, Mem_book>         dictionary  = new Dictionary <int, Mem_book>();
            Dictionary <int, Mem_book>         dictionary2 = new Dictionary <int, Mem_book>();
            Dictionary <int, Mem_deck>         dictionary3 = new Dictionary <int, Mem_deck>();
            Dictionary <int, Mem_esccort_deck> dictionary4 = new Dictionary <int, Mem_esccort_deck>();
            Dictionary <int, Mem_furniture>    dictionary5 = new Dictionary <int, Mem_furniture>();
            Dictionary <int, Mem_kdock>        dictionary6 = new Dictionary <int, Mem_kdock>();
            Dictionary <int, Mem_mapcomp>      dictionary7 = new Dictionary <int, Mem_mapcomp>();
            Dictionary <int, Mem_mapclear>     dictionary8 = new Dictionary <int, Mem_mapclear>();
            Dictionary <enumMaterialCategory, Mem_material> dictionary9 = new Dictionary <enumMaterialCategory, Mem_material>();
            Dictionary <int, Mem_missioncomp>     dictionary10          = new Dictionary <int, Mem_missioncomp>();
            Dictionary <int, Mem_ndock>           dictionary11          = new Dictionary <int, Mem_ndock>();
            Dictionary <int, Mem_quest>           dictionary12          = new Dictionary <int, Mem_quest>();
            Dictionary <int, Mem_questcount>      dictionary13          = new Dictionary <int, Mem_questcount>();
            Dictionary <int, Mem_ship>            dictionary14          = new Dictionary <int, Mem_ship>();
            Dictionary <int, Mem_slotitem>        dictionary15          = new Dictionary <int, Mem_slotitem>();
            Dictionary <int, Mem_tanker>          dictionary16          = new Dictionary <int, Mem_tanker>();
            Dictionary <int, Mem_useitem>         dictionary17          = new Dictionary <int, Mem_useitem>();
            Dictionary <int, Mem_rebellion_point> dictionary18          = new Dictionary <int, Mem_rebellion_point>();
            Dictionary <int, Mem_room>            dictionary19          = new Dictionary <int, Mem_room>();
            HashSet <int>      hashSet  = new HashSet <int>();
            HashSet <int>      hashSet2 = new HashSet <int>();
            List <Mem_history> list     = new List <Mem_history>();

            using (IEnumerator <XElement> enumerator = Extensions.Elements <XElement>(elements.Elements("ship_books"), "mem_book").GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    XElement current  = enumerator.get_Current();
                    Mem_book mem_book = Model_Base.SetUserData <Mem_book>(current);
                    dictionary.Add(mem_book.Table_id, mem_book);
                }
            }
            this.Ship_book.Clear();
            this.Ship_book = dictionary;
            using (IEnumerator <XElement> enumerator2 = Extensions.Elements <XElement>(elements.Elements("slot_books"), "mem_book").GetEnumerator())
            {
                while (enumerator2.MoveNext())
                {
                    XElement current2  = enumerator2.get_Current();
                    Mem_book mem_book2 = Model_Base.SetUserData <Mem_book>(current2);
                    dictionary2.Add(mem_book2.Table_id, mem_book2);
                }
            }
            this.Slot_book.Clear();
            this.Slot_book = dictionary2;
            using (IEnumerator <XElement> enumerator3 = Extensions.Elements <XElement>(elements.Elements(Mem_deck.tableName + "s"), Mem_deck.tableName).GetEnumerator())
            {
                while (enumerator3.MoveNext())
                {
                    XElement current3 = enumerator3.get_Current();
                    Mem_deck mem_deck = Model_Base.SetUserData <Mem_deck>(current3);
                    dictionary3.Add(mem_deck.Rid, mem_deck);
                }
            }
            this.User_deck.Clear();
            this.User_deck = dictionary3;
            using (IEnumerator <XElement> enumerator4 = Extensions.Elements <XElement>(elements.Elements(Mem_esccort_deck.tableName + "s"), Mem_esccort_deck.tableName).GetEnumerator())
            {
                while (enumerator4.MoveNext())
                {
                    XElement         current4         = enumerator4.get_Current();
                    Mem_esccort_deck mem_esccort_deck = Model_Base.SetUserData <Mem_esccort_deck>(current4);
                    dictionary4.Add(mem_esccort_deck.Rid, mem_esccort_deck);
                }
            }
            this.User_EscortDeck.Clear();
            this.User_EscortDeck = dictionary4;
            using (IEnumerator <XElement> enumerator5 = Extensions.Elements <XElement>(elements.Elements(Mem_furniture.tableName + "s"), Mem_furniture.tableName).GetEnumerator())
            {
                while (enumerator5.MoveNext())
                {
                    XElement      current5      = enumerator5.get_Current();
                    Mem_furniture mem_furniture = Model_Base.SetUserData <Mem_furniture>(current5);
                    dictionary5.Add(mem_furniture.Rid, mem_furniture);
                }
            }
            this.User_furniture.Clear();
            this.User_furniture = dictionary5;
            using (IEnumerator <XElement> enumerator6 = Extensions.Elements <XElement>(elements.Elements(Mem_kdock.tableName + "s"), Mem_kdock.tableName).GetEnumerator())
            {
                while (enumerator6.MoveNext())
                {
                    XElement  current6  = enumerator6.get_Current();
                    Mem_kdock mem_kdock = Model_Base.SetUserData <Mem_kdock>(current6);
                    dictionary6.Add(mem_kdock.Rid, mem_kdock);
                }
            }
            this.User_kdock.Clear();
            this.User_kdock = dictionary6;
            using (IEnumerator <XElement> enumerator7 = Extensions.Elements <XElement>(elements.Elements(Mem_mapcomp.tableName + "s"), Mem_mapcomp.tableName).GetEnumerator())
            {
                while (enumerator7.MoveNext())
                {
                    XElement    current7    = enumerator7.get_Current();
                    Mem_mapcomp mem_mapcomp = Model_Base.SetUserData <Mem_mapcomp>(current7);
                    dictionary7.Add(mem_mapcomp.Rid, mem_mapcomp);
                }
            }
            this.User_mapcomp.Clear();
            this.User_mapcomp = dictionary7;
            using (IEnumerator <XElement> enumerator8 = Extensions.Elements <XElement>(elements.Elements(Mem_mapclear.tableName + "s"), Mem_mapclear.tableName).GetEnumerator())
            {
                while (enumerator8.MoveNext())
                {
                    XElement     current8     = enumerator8.get_Current();
                    Mem_mapclear mem_mapclear = Model_Base.SetUserData <Mem_mapclear>(current8);
                    dictionary8.Add(mem_mapclear.Rid, mem_mapclear);
                }
            }
            this.User_mapclear.Clear();
            this.User_mapclear = dictionary8;
            using (IEnumerator <XElement> enumerator9 = Extensions.Elements <XElement>(elements.Elements(Mem_material.tableName + "s"), Mem_material.tableName).GetEnumerator())
            {
                while (enumerator9.MoveNext())
                {
                    XElement     current9     = enumerator9.get_Current();
                    Mem_material mem_material = Model_Base.SetUserData <Mem_material>(current9);
                    dictionary9.Add(mem_material.Rid, mem_material);
                }
            }
            this.User_material.Clear();
            this.User_material = dictionary9;
            using (IEnumerator <XElement> enumerator10 = Extensions.Elements <XElement>(elements.Elements(Mem_missioncomp.tableName + "s"), Mem_missioncomp.tableName).GetEnumerator())
            {
                while (enumerator10.MoveNext())
                {
                    XElement        current10       = enumerator10.get_Current();
                    Mem_missioncomp mem_missioncomp = Model_Base.SetUserData <Mem_missioncomp>(current10);
                    dictionary10.Add(mem_missioncomp.Rid, mem_missioncomp);
                }
            }
            this.User_missioncomp.Clear();
            this.User_missioncomp = dictionary10;
            using (IEnumerator <XElement> enumerator11 = Extensions.Elements <XElement>(elements.Elements(Mem_ndock.tableName + "s"), Mem_ndock.tableName).GetEnumerator())
            {
                while (enumerator11.MoveNext())
                {
                    XElement  current11 = enumerator11.get_Current();
                    Mem_ndock mem_ndock = Model_Base.SetUserData <Mem_ndock>(current11);
                    dictionary11.Add(mem_ndock.Rid, mem_ndock);
                }
            }
            this.User_ndock.Clear();
            this.User_ndock = dictionary11;
            using (IEnumerator <XElement> enumerator12 = Extensions.Elements <XElement>(elements.Elements(Mem_quest.tableName + "s"), Mem_quest.tableName).GetEnumerator())
            {
                while (enumerator12.MoveNext())
                {
                    XElement  current12 = enumerator12.get_Current();
                    Mem_quest mem_quest = Model_Base.SetUserData <Mem_quest>(current12);
                    dictionary12.Add(mem_quest.Rid, mem_quest);
                }
            }
            this.User_quest.Clear();
            this.User_quest = dictionary12;
            using (IEnumerator <XElement> enumerator13 = Extensions.Elements <XElement>(elements.Elements(Mem_questcount.tableName + "s"), Mem_questcount.tableName).GetEnumerator())
            {
                while (enumerator13.MoveNext())
                {
                    XElement       current13      = enumerator13.get_Current();
                    Mem_questcount mem_questcount = Model_Base.SetUserData <Mem_questcount>(current13);
                    dictionary13.Add(mem_questcount.Rid, mem_questcount);
                }
            }
            this.User_questcount.Clear();
            this.User_questcount = dictionary13;
            using (IEnumerator <XElement> enumerator14 = Extensions.Elements <XElement>(elements.Elements(Mem_slotitem.tableName + "s"), Mem_slotitem.tableName).GetEnumerator())
            {
                while (enumerator14.MoveNext())
                {
                    XElement     current14    = enumerator14.get_Current();
                    Mem_slotitem mem_slotitem = Model_Base.SetUserData <Mem_slotitem>(current14);
                    dictionary15.Add(mem_slotitem.Rid, mem_slotitem);
                }
            }
            this.User_slot.Clear();
            this.User_slot = dictionary15;
            using (IEnumerator <XElement> enumerator15 = Extensions.Elements <XElement>(elements.Elements(Mem_ship.tableName + "s"), Mem_ship.tableName).GetEnumerator())
            {
                while (enumerator15.MoveNext())
                {
                    XElement current15 = enumerator15.get_Current();
                    Mem_ship mem_ship  = Model_Base.SetUserData <Mem_ship>(current15);
                    dictionary14.Add(mem_ship.Rid, mem_ship);
                }
            }
            this.User_ship.Clear();
            this.User_ship = dictionary14;
            using (IEnumerator <XElement> enumerator16 = Extensions.Elements <XElement>(elements.Elements(Mem_tanker.tableName + "s"), Mem_tanker.tableName).GetEnumerator())
            {
                while (enumerator16.MoveNext())
                {
                    XElement   current16  = enumerator16.get_Current();
                    Mem_tanker mem_tanker = Model_Base.SetUserData <Mem_tanker>(current16);
                    dictionary16.Add(mem_tanker.Rid, mem_tanker);
                }
            }
            this.User_tanker.Clear();
            this.User_tanker = dictionary16;
            using (IEnumerator <XElement> enumerator17 = Extensions.Elements <XElement>(elements.Elements(Mem_useitem.tableName + "s"), Mem_useitem.tableName).GetEnumerator())
            {
                while (enumerator17.MoveNext())
                {
                    XElement    current17   = enumerator17.get_Current();
                    Mem_useitem mem_useitem = Model_Base.SetUserData <Mem_useitem>(current17);
                    dictionary17.Add(mem_useitem.Rid, mem_useitem);
                }
            }
            this.User_useItem.Clear();
            this.User_useItem = dictionary17;
            using (IEnumerator <XElement> enumerator18 = Extensions.Elements <XElement>(elements.Elements(Mem_rebellion_point.tableName + "s"), Mem_rebellion_point.tableName).GetEnumerator())
            {
                while (enumerator18.MoveNext())
                {
                    XElement            current18           = enumerator18.get_Current();
                    Mem_rebellion_point mem_rebellion_point = Model_Base.SetUserData <Mem_rebellion_point>(current18);
                    dictionary18.Add(mem_rebellion_point.Rid, mem_rebellion_point);
                }
            }
            this.User_rebellion_point.Clear();
            this.User_rebellion_point = dictionary18;
            using (IEnumerator <XElement> enumerator19 = Extensions.Elements <XElement>(elements.Elements(Mem_room.tableName + "s"), Mem_room.tableName).GetEnumerator())
            {
                while (enumerator19.MoveNext())
                {
                    XElement current19 = enumerator19.get_Current();
                    Mem_room mem_room  = Model_Base.SetUserData <Mem_room>(current19);
                    dictionary19.Add(mem_room.Rid, mem_room);
                }
            }
            this.User_room.Clear();
            this.User_room = dictionary19;
            using (IEnumerator <XElement> enumerator20 = elements.Element("temp_escortships").Elements().GetEnumerator())
            {
                while (enumerator20.MoveNext())
                {
                    XElement current20 = enumerator20.get_Current();
                    string   value     = current20.get_Value();
                    hashSet.Add(int.Parse(value));
                }
            }
            this.Temp_escortship.Clear();
            this.Temp_escortship = hashSet;
            using (IEnumerator <XElement> enumerator21 = elements.Element("temp_deckships").Elements().GetEnumerator())
            {
                while (enumerator21.MoveNext())
                {
                    XElement current21 = enumerator21.get_Current();
                    string   value2    = current21.get_Value();
                    hashSet2.Add(int.Parse(value2));
                }
            }
            this.Temp_deckship.Clear();
            this.Temp_deckship = hashSet2;
            using (IEnumerator <XElement> enumerator22 = Extensions.Elements <XElement>(elements.Elements(Mem_history.tableName + "s"), Mem_history.tableName).GetEnumerator())
            {
                while (enumerator22.MoveNext())
                {
                    XElement    current22   = enumerator22.get_Current();
                    Mem_history mem_history = Model_Base.SetUserData <Mem_history>(current22);
                    list.Add(mem_history);
                }
            }
            this.User_history.Clear();
            list.ForEach(delegate(Mem_history x)
            {
                this.Add_History(x);
            });
            return(true);
        }
 public EscortDeckModel(Mem_esccort_deck mem_escort_deck, Dictionary <int, ShipModel> ships)
 {
     this.__Update__(mem_escort_deck, ships);
 }
        private void updateRadingEscortShipExp(List <RadingResultData> radingData)
        {
            HashSet <int> radingArea = new HashSet <int>();

            if (radingData != null && radingData.get_Count() > 0)
            {
                radingData.ForEach(delegate(RadingResultData x)
                {
                    radingArea.Add(x.AreaId);
                });
            }
            Dictionary <int, int> mstLevel = ArrayMaster.GetMstLevel();

            using (Dictionary <int, Mem_esccort_deck> .ValueCollection.Enumerator enumerator = Comm_UserDatas.Instance.User_EscortDeck.get_Values().GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    Mem_esccort_deck current = enumerator.get_Current();
                    if (current.Ship.Count() > 0)
                    {
                        int             num     = (!radingArea.Contains(current.Maparea_id)) ? 2 : 1;
                        List <Mem_ship> memShip = current.Ship.getMemShip();
                        using (List <Mem_ship> .Enumerator enumerator2 = memShip.GetEnumerator())
                        {
                            while (enumerator2.MoveNext())
                            {
                                Mem_ship current2 = enumerator2.get_Current();
                                if (current2.IsFight() && !current2.IsBlingShip())
                                {
                                    double num2 = Math.Sqrt((double)current2.Level);
                                    int    num3 = 0;
                                    if (num == 1)
                                    {
                                        num3 = (int)(num2 * (20.0 + Utils.GetRandDouble(0.0, 80.0, 1.0, 1) + 0.5));
                                    }
                                    else
                                    {
                                        num3 = (int)(num2 * (1.0 + Utils.GetRandDouble(0.0, 3.0, 1.0, 1) + 0.5));
                                    }
                                    Mem_shipBase mem_shipBase = new Mem_shipBase(current2);
                                    List <int>   list         = new List <int>();
                                    int          levelupInfo  = current2.getLevelupInfo(mstLevel, mem_shipBase.Level, mem_shipBase.Exp, ref num3, out list);
                                    mem_shipBase.Level = levelupInfo;
                                    mem_shipBase.Exp  += num3;
                                    int num4 = levelupInfo - current2.Level;
                                    Dictionary <Mem_ship.enumKyoukaIdx, int> dictionary = current2.Kyouka;
                                    for (int i = 0; i < num4; i++)
                                    {
                                        dictionary = current2.getLevelupKyoukaValue(current2.Ship_id, dictionary);
                                    }
                                    mem_shipBase.SetKyoukaValue(dictionary);
                                    int num5 = 0;
                                    int num6 = 0;
                                    mstLevel.TryGetValue(mem_shipBase.Level - 1, ref num5);
                                    mstLevel.TryGetValue(mem_shipBase.Level + 1, ref num6);
                                    current2.SetRequireExp(mem_shipBase.Level, mstLevel);
                                    Mst_ship mst_data = Mst_DataManager.Instance.Mst_ship.get_Item(mem_shipBase.Ship_id);
                                    current2.Set_ShipParam(mem_shipBase, mst_data, false);
                                }
                            }
                        }
                    }
                }
            }
        }
Exemple #18
0
        public bool SetUserData()
        {
            XElement elements = VitaSaveManager.Instance.Elements;

            if (elements == null)
            {
                return(false);
            }
            Mem_basic        user_basic        = Model_Base.SetUserData <Mem_basic>(elements.Elements(Mem_basic.tableName).First());
            Mem_record       user_record       = Model_Base.SetUserData <Mem_record>(elements.Elements(Mem_record.tableName).First());
            Mem_turn         user_turn         = Model_Base.SetUserData <Mem_turn>(elements.Elements(Mem_turn.tableName).First());
            Mem_deckpractice user_deckpractice = Model_Base.SetUserData <Mem_deckpractice>(elements.Elements(Mem_deckpractice.tableName).First());
            XElement         xElement          = elements.Elements(Mem_trophy.tableName).FirstOrDefault();
            Mem_trophy       user_trophy       = (xElement != null) ? Model_Base.SetUserData <Mem_trophy>(xElement) : new Mem_trophy();
            XElement         xElement2         = elements.Elements(Mem_newgame_plus.tableName).FirstOrDefault();
            Mem_newgame_plus user_plus         = (xElement2 != null) ? Model_Base.SetUserData <Mem_newgame_plus>(xElement2) : new Mem_newgame_plus();

            User_basic        = null;
            User_basic        = user_basic;
            User_record       = null;
            User_record       = user_record;
            User_turn         = null;
            User_turn         = user_turn;
            User_deckpractice = null;
            User_deckpractice = user_deckpractice;
            User_trophy       = user_trophy;
            User_plus         = user_plus;
            Dictionary <int, Mem_book>         dictionary  = new Dictionary <int, Mem_book>();
            Dictionary <int, Mem_book>         dictionary2 = new Dictionary <int, Mem_book>();
            Dictionary <int, Mem_deck>         dictionary3 = new Dictionary <int, Mem_deck>();
            Dictionary <int, Mem_esccort_deck> dictionary4 = new Dictionary <int, Mem_esccort_deck>();
            Dictionary <int, Mem_furniture>    dictionary5 = new Dictionary <int, Mem_furniture>();
            Dictionary <int, Mem_kdock>        dictionary6 = new Dictionary <int, Mem_kdock>();
            Dictionary <int, Mem_mapcomp>      dictionary7 = new Dictionary <int, Mem_mapcomp>();
            Dictionary <int, Mem_mapclear>     dictionary8 = new Dictionary <int, Mem_mapclear>();
            Dictionary <enumMaterialCategory, Mem_material> dictionary9 = new Dictionary <enumMaterialCategory, Mem_material>();
            Dictionary <int, Mem_missioncomp>     dictionary10          = new Dictionary <int, Mem_missioncomp>();
            Dictionary <int, Mem_ndock>           dictionary11          = new Dictionary <int, Mem_ndock>();
            Dictionary <int, Mem_quest>           dictionary12          = new Dictionary <int, Mem_quest>();
            Dictionary <int, Mem_questcount>      dictionary13          = new Dictionary <int, Mem_questcount>();
            Dictionary <int, Mem_ship>            dictionary14          = new Dictionary <int, Mem_ship>();
            Dictionary <int, Mem_slotitem>        dictionary15          = new Dictionary <int, Mem_slotitem>();
            Dictionary <int, Mem_tanker>          dictionary16          = new Dictionary <int, Mem_tanker>();
            Dictionary <int, Mem_useitem>         dictionary17          = new Dictionary <int, Mem_useitem>();
            Dictionary <int, Mem_rebellion_point> dictionary18          = new Dictionary <int, Mem_rebellion_point>();
            Dictionary <int, Mem_room>            dictionary19          = new Dictionary <int, Mem_room>();
            HashSet <int>      hashSet  = new HashSet <int>();
            HashSet <int>      hashSet2 = new HashSet <int>();
            List <Mem_history> list     = new List <Mem_history>();

            foreach (XElement item2 in elements.Elements("ship_books").Elements("mem_book"))
            {
                Mem_book mem_book = Model_Base.SetUserData <Mem_book>(item2);
                dictionary.Add(mem_book.Table_id, mem_book);
            }
            Ship_book.Clear();
            Ship_book = dictionary;
            foreach (XElement item3 in elements.Elements("slot_books").Elements("mem_book"))
            {
                Mem_book mem_book2 = Model_Base.SetUserData <Mem_book>(item3);
                dictionary2.Add(mem_book2.Table_id, mem_book2);
            }
            Slot_book.Clear();
            Slot_book = dictionary2;
            foreach (XElement item4 in elements.Elements(Mem_deck.tableName + "s").Elements(Mem_deck.tableName))
            {
                Mem_deck mem_deck = Model_Base.SetUserData <Mem_deck>(item4);
                dictionary3.Add(mem_deck.Rid, mem_deck);
            }
            User_deck.Clear();
            User_deck = dictionary3;
            foreach (XElement item5 in elements.Elements(Mem_esccort_deck.tableName + "s").Elements(Mem_esccort_deck.tableName))
            {
                Mem_esccort_deck mem_esccort_deck = Model_Base.SetUserData <Mem_esccort_deck>(item5);
                dictionary4.Add(mem_esccort_deck.Rid, mem_esccort_deck);
            }
            User_EscortDeck.Clear();
            User_EscortDeck = dictionary4;
            foreach (XElement item6 in elements.Elements(Mem_furniture.tableName + "s").Elements(Mem_furniture.tableName))
            {
                Mem_furniture mem_furniture = Model_Base.SetUserData <Mem_furniture>(item6);
                dictionary5.Add(mem_furniture.Rid, mem_furniture);
            }
            User_furniture.Clear();
            User_furniture = dictionary5;
            foreach (XElement item7 in elements.Elements(Mem_kdock.tableName + "s").Elements(Mem_kdock.tableName))
            {
                Mem_kdock mem_kdock = Model_Base.SetUserData <Mem_kdock>(item7);
                dictionary6.Add(mem_kdock.Rid, mem_kdock);
            }
            User_kdock.Clear();
            User_kdock = dictionary6;
            foreach (XElement item8 in elements.Elements(Mem_mapcomp.tableName + "s").Elements(Mem_mapcomp.tableName))
            {
                Mem_mapcomp mem_mapcomp = Model_Base.SetUserData <Mem_mapcomp>(item8);
                dictionary7.Add(mem_mapcomp.Rid, mem_mapcomp);
            }
            User_mapcomp.Clear();
            User_mapcomp = dictionary7;
            foreach (XElement item9 in elements.Elements(Mem_mapclear.tableName + "s").Elements(Mem_mapclear.tableName))
            {
                Mem_mapclear mem_mapclear = Model_Base.SetUserData <Mem_mapclear>(item9);
                dictionary8.Add(mem_mapclear.Rid, mem_mapclear);
            }
            User_mapclear.Clear();
            User_mapclear = dictionary8;
            foreach (XElement item10 in elements.Elements(Mem_material.tableName + "s").Elements(Mem_material.tableName))
            {
                Mem_material mem_material = Model_Base.SetUserData <Mem_material>(item10);
                dictionary9.Add(mem_material.Rid, mem_material);
            }
            User_material.Clear();
            User_material = dictionary9;
            foreach (XElement item11 in elements.Elements(Mem_missioncomp.tableName + "s").Elements(Mem_missioncomp.tableName))
            {
                Mem_missioncomp mem_missioncomp = Model_Base.SetUserData <Mem_missioncomp>(item11);
                dictionary10.Add(mem_missioncomp.Rid, mem_missioncomp);
            }
            User_missioncomp.Clear();
            User_missioncomp = dictionary10;
            foreach (XElement item12 in elements.Elements(Mem_ndock.tableName + "s").Elements(Mem_ndock.tableName))
            {
                Mem_ndock mem_ndock = Model_Base.SetUserData <Mem_ndock>(item12);
                dictionary11.Add(mem_ndock.Rid, mem_ndock);
            }
            User_ndock.Clear();
            User_ndock = dictionary11;
            foreach (XElement item13 in elements.Elements(Mem_quest.tableName + "s").Elements(Mem_quest.tableName))
            {
                Mem_quest mem_quest = Model_Base.SetUserData <Mem_quest>(item13);
                dictionary12.Add(mem_quest.Rid, mem_quest);
            }
            User_quest.Clear();
            User_quest = dictionary12;
            foreach (XElement item14 in elements.Elements(Mem_questcount.tableName + "s").Elements(Mem_questcount.tableName))
            {
                Mem_questcount mem_questcount = Model_Base.SetUserData <Mem_questcount>(item14);
                dictionary13.Add(mem_questcount.Rid, mem_questcount);
            }
            User_questcount.Clear();
            User_questcount = dictionary13;
            foreach (XElement item15 in elements.Elements(Mem_slotitem.tableName + "s").Elements(Mem_slotitem.tableName))
            {
                Mem_slotitem mem_slotitem = Model_Base.SetUserData <Mem_slotitem>(item15);
                dictionary15.Add(mem_slotitem.Rid, mem_slotitem);
            }
            User_slot.Clear();
            User_slot = dictionary15;
            foreach (XElement item16 in elements.Elements(Mem_ship.tableName + "s").Elements(Mem_ship.tableName))
            {
                Mem_ship mem_ship = Model_Base.SetUserData <Mem_ship>(item16);
                dictionary14.Add(mem_ship.Rid, mem_ship);
            }
            User_ship.Clear();
            User_ship = dictionary14;
            foreach (XElement item17 in elements.Elements(Mem_tanker.tableName + "s").Elements(Mem_tanker.tableName))
            {
                Mem_tanker mem_tanker = Model_Base.SetUserData <Mem_tanker>(item17);
                dictionary16.Add(mem_tanker.Rid, mem_tanker);
            }
            User_tanker.Clear();
            User_tanker = dictionary16;
            foreach (XElement item18 in elements.Elements(Mem_useitem.tableName + "s").Elements(Mem_useitem.tableName))
            {
                Mem_useitem mem_useitem = Model_Base.SetUserData <Mem_useitem>(item18);
                dictionary17.Add(mem_useitem.Rid, mem_useitem);
            }
            User_useItem.Clear();
            User_useItem = dictionary17;
            foreach (XElement item19 in elements.Elements(Mem_rebellion_point.tableName + "s").Elements(Mem_rebellion_point.tableName))
            {
                Mem_rebellion_point mem_rebellion_point = Model_Base.SetUserData <Mem_rebellion_point>(item19);
                dictionary18.Add(mem_rebellion_point.Rid, mem_rebellion_point);
            }
            User_rebellion_point.Clear();
            User_rebellion_point = dictionary18;
            foreach (XElement item20 in elements.Elements(Mem_room.tableName + "s").Elements(Mem_room.tableName))
            {
                Mem_room mem_room = Model_Base.SetUserData <Mem_room>(item20);
                dictionary19.Add(mem_room.Rid, mem_room);
            }
            User_room.Clear();
            User_room = dictionary19;
            foreach (XElement item21 in elements.Element("temp_escortships").Elements())
            {
                string value = item21.Value;
                hashSet.Add(int.Parse(value));
            }
            Temp_escortship.Clear();
            Temp_escortship = hashSet;
            foreach (XElement item22 in elements.Element("temp_deckships").Elements())
            {
                string value2 = item22.Value;
                hashSet2.Add(int.Parse(value2));
            }
            Temp_deckship.Clear();
            Temp_deckship = hashSet2;
            foreach (XElement item23 in elements.Elements(Mem_history.tableName + "s").Elements(Mem_history.tableName))
            {
                Mem_history item = Model_Base.SetUserData <Mem_history>(item23);
                list.Add(item);
            }
            User_history.Clear();
            list.ForEach(delegate(Mem_history x)
            {
                Add_History(x);
            });
            return(true);
        }
Exemple #19
0
 public __EscortDeckModel__(Mem_esccort_deck mem_escort_deck, Dictionary <int, ShipModel> ships)
     : base(mem_escort_deck, ships)
 {
 }
Exemple #20
0
        public bool IsValidChange(int deck_rid, int deck_targetIdx, int ship_rid, DeckShips deckShip)
        {
            initEscortGroup();
            Mem_esccort_deck value = null;

            if (!Comm_UserDatas.Instance.User_EscortDeck.TryGetValue(deck_rid, out value))
            {
                return(false);
            }
            List <int> unsetShips = null;

            if (ship_rid == -2)
            {
                if (deckShip.Count() <= 1)
                {
                    return(false);
                }
                deckShip.Clone(out unsetShips);
                unsetShips.RemoveAt(0);
            }
            else if (ship_rid == -1)
            {
                unsetShips = new List <int>
                {
                    deckShip[deck_targetIdx]
                };
            }
            else
            {
                if (ship_rid == deckShip[deck_targetIdx])
                {
                    return(false);
                }
                int stype = Comm_UserDatas.Instance.User_ship[ship_rid].Stype;
                if (Mst_DataManager.Instance.Mst_stype[stype].IsSubmarine())
                {
                    return(false);
                }
                unsetShips = new List <int>
                {
                    ship_rid
                };
            }
            DeckShips out_ships = null;

            deckShip.Clone(out out_ships);
            Change_TempDeck(deck_targetIdx, ship_rid, ref out_ships);
            if (!validEscortStypeCheck(out_ships, -1))
            {
                return(false);
            }
            Mem_ndock mem_ndock = Comm_UserDatas.Instance.User_ndock.Values.FirstOrDefault((Mem_ndock x) => unsetShips.Contains(x.Ship_id) ? true : false);

            if (mem_ndock != null)
            {
                return(false);
            }
            if (unsetShips.Any(delegate(int bling_rid)
            {
                Mem_ship value3 = null;
                return(Comm_UserDatas.Instance.User_ship.TryGetValue(bling_rid, out value3) && value3.IsBlingShip());
            }))
            {
                return(false);
            }
            if (ship_rid < 0)
            {
                return(true);
            }
            if (Comm_UserDatas.Instance.User_deck.Values.Any((Mem_deck x) => x.Ship.Find(ship_rid) != -1))
            {
                return(false);
            }
            if (Comm_UserDatas.Instance.User_EscortDeck.Values.Any((Mem_esccort_deck x) => x.Rid != deck_rid && x.Ship.Find(ship_rid) != -1))
            {
                return(false);
            }
            Func <DeckShips, bool> func = delegate(DeckShips x)
            {
                int           num  = x.Count();
                List <string> list = new List <string>();
                for (int i = 0; i < num; i++)
                {
                    int ship_id = Comm_UserDatas.Instance.User_ship[x[i]].Ship_id;
                    list.Add(Mst_DataManager.Instance.Mst_ship[ship_id].Yomi);
                }
                IEnumerable <IGrouping <string, string> > source = from y in list
                                                                   group y by y;
                return((source.Count() == list.Count()) ? true : false);
            };
            Mem_ship value2 = null;

            if (!Comm_UserDatas.Instance.User_ship.TryGetValue(ship_rid, out value2))
            {
                return(false);
            }
            if (value2.IsBlingShip())
            {
                return(false);
            }
            if (value2.BlingType == Mem_ship.BlingKind.WaitDeck)
            {
                return(false);
            }
            if (value2.BlingType == Mem_ship.BlingKind.WaitEscort && value2.BlingWaitArea != value.Maparea_id)
            {
                return(false);
            }
            if (deckShip.Equals(out_ships))
            {
                return(false);
            }
            if (!func(out_ships))
            {
                return(false);
            }
            return(true);
        }