Esempio n. 1
0
        public Api_Result <Mem_ship> Marriage(int ship_rid)
        {
            Api_Result <Mem_ship> api_Result = new Api_Result <Mem_ship>();

            if (!this.ValidMarriage(ship_rid))
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            Mem_useitem mem_useitem = null;

            if (!Comm_UserDatas.Instance.User_useItem.TryGetValue(55, ref mem_useitem))
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            if (mem_useitem.Value == 0)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            Mem_ship     mem_ship     = Comm_UserDatas.Instance.User_ship.get_Item(ship_rid);
            Mst_ship     mst_ship     = Mst_DataManager.Instance.Mst_ship.get_Item(mem_ship.Ship_id);
            Mem_shipBase mem_shipBase = new Mem_shipBase(mem_ship);
            int          num          = mem_ship.Maxhp - mem_shipBase.C_taik_powerup;
            int          num2         = num + this.getMariageTaik(num);

            if (num2 > mst_ship.Taik_max)
            {
                num2 = mst_ship.Taik_max;
            }
            mem_shipBase.C_taik         = num2 - mst_ship.Taik;
            mem_shipBase.C_taik_powerup = ((num2 + mem_shipBase.C_taik_powerup <= mst_ship.Taik_max) ? mem_shipBase.C_taik_powerup : (mst_ship.Taik_max - num2));
            num2 += mem_shipBase.C_taik_powerup;
            mem_shipBase.Nowhp = num2;
            int luck = mem_ship.Luck;
            int num3 = (int)Utils.GetRandDouble(3.0, 6.0, 1.0, 1);
            int num4 = luck + num3;

            if (num4 > mst_ship.Luck_max)
            {
                num4 = mst_ship.Luck_max;
            }
            mem_shipBase.C_luck = num4 - mst_ship.Luck;
            mem_shipBase.Level  = 100;
            mem_ship.Set_ShipParam(mem_shipBase, mst_ship, false);
            Dictionary <int, int> mst_level = Mst_DataManager.Instance.Get_MstLevel(true);

            mem_ship.SetRequireExp(mem_ship.Level, mst_level);
            mem_ship.SumLovToMarriage();
            Comm_UserDatas.Instance.Ship_book.get_Item(mem_ship.Ship_id).UpdateShipBook(false, true);
            Comm_UserDatas.Instance.User_useItem.get_Item(55).Sub_UseItem(1);
            api_Result.data = mem_ship;
            return(api_Result);
        }
Esempio n. 2
0
        public Api_Result <object> Buy(int mst_id)
        {
            Api_Result <object> api_Result    = new Api_Result <object>();
            Mst_furniture       mst_furniture = null;

            if (!Mst_DataManager.Instance.Mst_furniture.TryGetValue(mst_id, ref mst_furniture))
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            if (Comm_UserDatas.Instance.User_furniture.ContainsKey(mst_id))
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            Mem_basic user_basic = Comm_UserDatas.Instance.User_basic;

            if (mst_furniture.Saleflg == 0 || user_basic.Fcoin < mst_furniture.Price)
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            Mem_useitem mem_useitem = null;

            if (mst_furniture.IsRequireWorker())
            {
                if (!Comm_UserDatas.Instance.User_useItem.TryGetValue(52, ref mem_useitem))
                {
                    api_Result.state = Api_Result_State.Parameter_Error;
                    return(api_Result);
                }
                if (mem_useitem.Value <= 0)
                {
                    api_Result.state = Api_Result_State.Parameter_Error;
                    return(api_Result);
                }
            }
            if (!Comm_UserDatas.Instance.Add_Furniture(mst_id))
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            user_basic.SubCoin(mst_furniture.Price);
            if (mem_useitem != null)
            {
                mem_useitem.Sub_UseItem(1);
            }
            return(api_Result);
        }
Esempio n. 3
0
        public Api_Result <Mem_ship> ExpandSlot(int shipRid)
        {
            Api_Result <Mem_ship> api_Result = new Api_Result <Mem_ship>();
            Mem_ship     mem_ship            = Comm_UserDatas.Instance.User_ship.get_Item(shipRid);
            Mem_shipBase mem_shipBase        = new Mem_shipBase(mem_ship);
            Mst_ship     mst_data            = Mst_DataManager.Instance.Mst_ship.get_Item(mem_ship.Ship_id);

            mem_shipBase.Exslot = -1;
            mem_ship.Set_ShipParam(mem_shipBase, mst_data, false);
            api_Result.data = mem_ship;
            Mem_useitem mem_useitem = null;

            Comm_UserDatas.Instance.User_useItem.TryGetValue(64, ref mem_useitem);
            mem_useitem.Sub_UseItem(1);
            return(api_Result);
        }
Esempio n. 4
0
        public Api_Result <Mem_ship> ExpandSlot(int shipRid)
        {
            Api_Result <Mem_ship> api_Result = new Api_Result <Mem_ship>();
            Mem_ship     mem_ship            = Comm_UserDatas.Instance.User_ship[shipRid];
            Mem_shipBase mem_shipBase        = new Mem_shipBase(mem_ship);
            Mst_ship     mst_data            = Mst_DataManager.Instance.Mst_ship[mem_ship.Ship_id];

            mem_shipBase.Exslot = -1;
            mem_ship.Set_ShipParam(mem_shipBase, mst_data, enemy_flag: false);
            api_Result.data = mem_ship;
            Mem_useitem value = null;

            Comm_UserDatas.Instance.User_useItem.TryGetValue(64, out value);
            value.Sub_UseItem(1);
            return(api_Result);
        }
        public void Add_Useitem(int rid, int count)
        {
            if (Mst_DataManager.Instance.Mst_useitem.get_Item(rid).Usetype == 6 && Mst_DataManager.Instance.Mst_useitem.get_Item(rid).Category == 21)
            {
                this.User_basic.AddCoin(count);
                return;
            }
            Mem_useitem mem_useitem = null;

            if (!this.User_useItem.TryGetValue(rid, ref mem_useitem))
            {
                mem_useitem = new Mem_useitem(rid, count);
                this.User_useItem.Add(mem_useitem.Rid, mem_useitem);
                return;
            }
            mem_useitem.Add_UseItem(count);
        }
Esempio n. 6
0
        public bool[] itemuse_cond_check(int deck_id)
        {
            bool[] array = new bool[2];
            Dictionary <int, Mem_useitem> user_useItem = Comm_UserDatas.Instance.User_useItem;

            int[]       array2 = new int[2];
            Mem_useitem value  = null;
            Mem_useitem value2 = null;

            Comm_UserDatas.Instance.User_useItem.TryGetValue(54, out value);
            if (value != null)
            {
                array2[0] = user_useItem[54].Value;
            }
            Comm_UserDatas.Instance.User_useItem.TryGetValue(59, out value2);
            if (value2 != null)
            {
                array2[1] = user_useItem[59].Value;
            }
            if (!Comm_UserDatas.Instance.User_deck.TryGetValue(deck_id, out Mem_deck value3))
            {
                return(array);
            }
            List <Mem_ship> memShip = value3.Ship.getMemShip();

            if (memShip.Count == 0)
            {
                return(array);
            }
            if (array2[1] >= 1)
            {
                array[1] = true;
            }
            if (array2[0] >= 1)
            {
                foreach (Mem_ship item in memShip)
                {
                    if (item.Cond < 40)
                    {
                        array[0] = true;
                    }
                }
                return(array);
            }
            return(array);
        }
Esempio n. 7
0
        public void Add_Useitem(int rid, int count)
        {
            if (Mst_DataManager.Instance.Mst_useitem[rid].Usetype == 6 && Mst_DataManager.Instance.Mst_useitem[rid].Category == 21)
            {
                User_basic.AddCoin(count);
                return;
            }
            Mem_useitem value = null;

            if (!User_useItem.TryGetValue(rid, out value))
            {
                value = new Mem_useitem(rid, count);
                User_useItem.Add(value.Rid, value);
            }
            else
            {
                value.Add_UseItem(count);
            }
        }
Esempio n. 8
0
 public ItemlistModel(Mst_useitem mst_data, Mem_useitem mem_data, string description)
 {
     _mst_data    = mst_data;
     _mem_data    = mem_data;
     _description = description;
 }
        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);
        }
Esempio n. 10
0
        protected void _Init(bool all_item)
        {
            if (_descriptions == null)
            {
                _descriptions = Mst_DataManager.Instance.GetUseitemText();
            }
            _have_items = new List <ItemlistModel>();
            if (_mst_cabinet == null)
            {
                _mst_cabinet = Mst_DataManager.Instance.GetMstCabinet();
            }
            List <Mst_item_shop> list = _mst_cabinet[3];

            _cabinet_relations = new Dictionary <ItemlistModel, Mst_item_shop>();
            Api_Result <Dictionary <int, Mem_useitem> > api_Result = new Api_get_Member().UseItem();

            if (api_Result.state == Api_Result_State.Success)
            {
                Dictionary <int, Mst_useitem> mst_useitem = Mst_DataManager.Instance.Mst_useitem;
                Dictionary <int, Mem_useitem> dictionary  = (api_Result.data != null) ? api_Result.data : new Dictionary <int, Mem_useitem>();
                if (all_item)
                {
                    foreach (Mst_useitem value7 in mst_useitem.Values)
                    {
                        if (!(value7.Name == string.Empty))
                        {
                            Mem_useitem value = null;
                            dictionary.TryGetValue(value7.Id, out value);
                            _descriptions.TryGetValue(value7.Id, out string value2);
                            ItemlistModel tmp = new ItemlistModel(value7, value, value2);
                            _have_items.Add(tmp);
                            Mst_item_shop value3 = list.Find((Mst_item_shop item) => item.Item1_id == tmp.MstId);
                            _cabinet_relations.Add(tmp, value3);
                        }
                    }
                    _have_items.Sort((ItemlistModel a, ItemlistModel b) => (a.MstId > b.MstId) ? 1 : (-1));
                }
                else
                {
                    foreach (Mst_item_shop item in list)
                    {
                        int         key    = (item.Item1_type == 1) ? item.Item1_id : 0;
                        Mst_useitem value4 = null;
                        mst_useitem.TryGetValue(key, out value4);
                        Mem_useitem value5 = null;
                        dictionary.TryGetValue(key, out value5);
                        string value6 = string.Empty;
                        if (value4 != null)
                        {
                            _descriptions.TryGetValue(value4.Id, out value6);
                        }
                        ItemlistModel itemlistModel = new ItemlistModel(value4, value5, value6);
                        _have_items.Add(itemlistModel);
                        _cabinet_relations.Add(itemlistModel, item);
                    }
                }
                __UpdateCount__();
                return;
            }
            throw new Exception("Logic Error");
        }
        protected void _Init(bool all_item)
        {
            if (this._descriptions == null)
            {
                this._descriptions = Mst_DataManager.Instance.GetUseitemText();
            }
            this._have_items = new List <ItemlistModel>();
            if (this._mst_cabinet == null)
            {
                this._mst_cabinet = Mst_DataManager.Instance.GetMstCabinet();
            }
            List <Mst_item_shop> list = this._mst_cabinet.get_Item(3);

            this._cabinet_relations = new Dictionary <ItemlistModel, Mst_item_shop>();
            Api_Result <Dictionary <int, Mem_useitem> > api_Result = new Api_get_Member().UseItem();

            if (api_Result.state == Api_Result_State.Success)
            {
                Dictionary <int, Mst_useitem> mst_useitem = Mst_DataManager.Instance.Mst_useitem;
                Dictionary <int, Mem_useitem> dictionary  = (api_Result.data != null) ? api_Result.data : new Dictionary <int, Mem_useitem>();
                if (all_item)
                {
                    using (Dictionary <int, Mst_useitem> .ValueCollection.Enumerator enumerator = mst_useitem.get_Values().GetEnumerator())
                    {
                        while (enumerator.MoveNext())
                        {
                            Mst_useitem current = enumerator.get_Current();
                            if (!(current.Name == string.Empty))
                            {
                                Mem_useitem mem_data = null;
                                dictionary.TryGetValue(current.Id, ref mem_data);
                                string description;
                                this._descriptions.TryGetValue(current.Id, ref description);
                                ItemlistModel tmp = new ItemlistModel(current, mem_data, description);
                                this._have_items.Add(tmp);
                                Mst_item_shop mst_item_shop = list.Find((Mst_item_shop item) => item.Item1_id == tmp.MstId);
                                this._cabinet_relations.Add(tmp, mst_item_shop);
                            }
                        }
                    }
                    this._have_items.Sort((ItemlistModel a, ItemlistModel b) => (a.MstId <= b.MstId) ? -1 : 1);
                }
                else
                {
                    using (List <Mst_item_shop> .Enumerator enumerator2 = list.GetEnumerator())
                    {
                        while (enumerator2.MoveNext())
                        {
                            Mst_item_shop current2     = enumerator2.get_Current();
                            int           num          = (current2.Item1_type != 1) ? 0 : current2.Item1_id;
                            Mst_useitem   mst_useitem2 = null;
                            mst_useitem.TryGetValue(num, ref mst_useitem2);
                            Mem_useitem mem_data2 = null;
                            dictionary.TryGetValue(num, ref mem_data2);
                            string empty = string.Empty;
                            if (mst_useitem2 != null)
                            {
                                this._descriptions.TryGetValue(mst_useitem2.Id, ref empty);
                            }
                            ItemlistModel itemlistModel = new ItemlistModel(mst_useitem2, mem_data2, empty);
                            this._have_items.Add(itemlistModel);
                            this._cabinet_relations.Add(itemlistModel, current2);
                        }
                    }
                }
                this.__UpdateCount__();
                return;
            }
            throw new Exception("Logic Error");
        }
Esempio n. 12
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);
        }
Esempio n. 13
0
        public Api_req_Kaisou.RemodelingChkResult ValidRemodeling(int ship_rid, out int reqDrawingNum)
        {
            Mem_ship mem_ship = null;

            reqDrawingNum = 0;
            if (!Comm_UserDatas.Instance.User_ship.TryGetValue(ship_rid, ref mem_ship))
            {
                return(Api_req_Kaisou.RemodelingChkResult.Invalid);
            }
            Mem_deck mem_deck = Enumerable.FirstOrDefault <Mem_deck>(Comm_UserDatas.Instance.User_deck.get_Values(), (Mem_deck x) => x.Ship.Find(ship_rid) != -1);

            if (mem_deck != null)
            {
                if (mem_deck.MissionState != MissionStates.NONE)
                {
                    return(Api_req_Kaisou.RemodelingChkResult.Mission);
                }
                if (mem_deck.IsActionEnd)
                {
                    return(Api_req_Kaisou.RemodelingChkResult.ActionEndDeck);
                }
            }
            if (Enumerable.Any <Mem_ndock>(Comm_UserDatas.Instance.User_ndock.get_Values(), (Mem_ndock x) => x.Ship_id == ship_rid))
            {
                return(Api_req_Kaisou.RemodelingChkResult.Repair);
            }
            Mst_ship mst_ship = Mst_DataManager.Instance.Mst_ship.get_Item(mem_ship.Ship_id);

            if (mst_ship.Aftershipid <= 0)
            {
                return(Api_req_Kaisou.RemodelingChkResult.Invalid);
            }
            if (mem_ship.Level < mst_ship.Afterlv)
            {
                return(Api_req_Kaisou.RemodelingChkResult.Level);
            }
            if (mem_ship.IsBlingShip())
            {
                return(Api_req_Kaisou.RemodelingChkResult.BlingShip);
            }
            Mst_shipupgrade mst_shipupgrade = null;

            if (Mst_DataManager.Instance.Mst_upgrade.TryGetValue(mst_ship.Aftershipid, ref mst_shipupgrade))
            {
                reqDrawingNum = mst_shipupgrade.Drawing_count;
            }
            if (mem_ship.Ship_id == 466 || mem_ship.Ship_id == 467)
            {
                reqDrawingNum = 0;
            }
            if (reqDrawingNum > 0)
            {
                Mem_useitem mem_useitem = null;
                if (!Comm_UserDatas.Instance.User_useItem.TryGetValue(58, ref mem_useitem))
                {
                    return(Api_req_Kaisou.RemodelingChkResult.Drawing);
                }
                if (mem_useitem.Value < reqDrawingNum)
                {
                    return(Api_req_Kaisou.RemodelingChkResult.Drawing);
                }
            }
            if (Comm_UserDatas.Instance.User_material.get_Item(enumMaterialCategory.Steel).Value < mst_ship.Afterfuel)
            {
                return(Api_req_Kaisou.RemodelingChkResult.Steel);
            }
            if (Comm_UserDatas.Instance.User_material.get_Item(enumMaterialCategory.Bull).Value < mst_ship.Afterbull)
            {
                return(Api_req_Kaisou.RemodelingChkResult.Bull);
            }
            int remodelDevKitNum = mst_ship.GetRemodelDevKitNum();

            if (Comm_UserDatas.Instance.User_material.get_Item(enumMaterialCategory.Dev_Kit).Value < remodelDevKitNum)
            {
                return(Api_req_Kaisou.RemodelingChkResult.Invalid);
            }
            return(Api_req_Kaisou.RemodelingChkResult.OK);
        }
Esempio n. 14
0
        public RemodelingChkResult ValidRemodeling(int ship_rid, out int reqDrawingNum)
        {
            Mem_ship value = null;

            reqDrawingNum = 0;
            if (!Comm_UserDatas.Instance.User_ship.TryGetValue(ship_rid, out value))
            {
                return(RemodelingChkResult.Invalid);
            }
            Mem_deck mem_deck = Comm_UserDatas.Instance.User_deck.Values.FirstOrDefault((Mem_deck x) => (x.Ship.Find(ship_rid) != -1) ? true : false);

            if (mem_deck != null)
            {
                if (mem_deck.MissionState != 0)
                {
                    return(RemodelingChkResult.Mission);
                }
                if (mem_deck.IsActionEnd)
                {
                    return(RemodelingChkResult.ActionEndDeck);
                }
            }
            if (Comm_UserDatas.Instance.User_ndock.Values.Any((Mem_ndock x) => x.Ship_id == ship_rid))
            {
                return(RemodelingChkResult.Repair);
            }
            Mst_ship mst_ship = Mst_DataManager.Instance.Mst_ship[value.Ship_id];

            if (mst_ship.Aftershipid <= 0)
            {
                return(RemodelingChkResult.Invalid);
            }
            if (value.Level < mst_ship.Afterlv)
            {
                return(RemodelingChkResult.Level);
            }
            if (value.IsBlingShip())
            {
                return(RemodelingChkResult.BlingShip);
            }
            Mst_shipupgrade value2 = null;

            if (Mst_DataManager.Instance.Mst_upgrade.TryGetValue(mst_ship.Aftershipid, out value2))
            {
                reqDrawingNum = value2.Drawing_count;
            }
            if (value.Ship_id == 466 || value.Ship_id == 467)
            {
                reqDrawingNum = 0;
            }
            if (reqDrawingNum > 0)
            {
                Mem_useitem value3 = null;
                if (!Comm_UserDatas.Instance.User_useItem.TryGetValue(58, out value3))
                {
                    return(RemodelingChkResult.Drawing);
                }
                if (value3.Value < reqDrawingNum)
                {
                    return(RemodelingChkResult.Drawing);
                }
            }
            if (Comm_UserDatas.Instance.User_material[enumMaterialCategory.Steel].Value < mst_ship.Afterfuel)
            {
                return(RemodelingChkResult.Steel);
            }
            if (Comm_UserDatas.Instance.User_material[enumMaterialCategory.Bull].Value < mst_ship.Afterbull)
            {
                return(RemodelingChkResult.Bull);
            }
            int remodelDevKitNum = mst_ship.GetRemodelDevKitNum();

            if (Comm_UserDatas.Instance.User_material[enumMaterialCategory.Dev_Kit].Value < remodelDevKitNum)
            {
                return(RemodelingChkResult.Invalid);
            }
            return(RemodelingChkResult.OK);
        }
Esempio n. 15
0
        public Api_Result <bool> itemuse_cond(int deck_id, HashSet <int> useitem_id)
        {
            Api_Result <bool> api_Result = new Api_Result <bool>();

            api_Result.data = false;
            int num;

            if (useitem_id.Contains(54) && useitem_id.Contains(59))
            {
                num = 3;
            }
            else if (useitem_id.Contains(54))
            {
                num = 1;
            }
            else
            {
                if (!useitem_id.Contains(59))
                {
                    api_Result.state = Api_Result_State.Parameter_Error;
                    return(api_Result);
                }
                num = 2;
            }
            Dictionary <int, Mem_useitem> user_useItem = Comm_UserDatas.Instance.User_useItem;
            List <Mem_useitem>            list         = new List <Mem_useitem>();

            foreach (int item in useitem_id)
            {
                Mem_useitem value = null;
                user_useItem.TryGetValue(item, out value);
                list.Add(value);
            }
            if (!Comm_UserDatas.Instance.User_deck.TryGetValue(deck_id, out Mem_deck value2))
            {
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            List <Mem_ship> memShip  = value2.Ship.getMemShip();
            int             num2     = 0;
            int             num3     = 0;
            int             num4     = 0;
            int             num5     = 0;
            int             num6     = 100;
            int             num7     = 0;
            int             maxValue = 100;
            List <Mem_ship> list2    = new List <Mem_ship>();

            switch (num)
            {
            case 1:
            {
                num2     = 50;
                num4     = 40;
                maxValue = 100;
                Random random2 = new Random();
                foreach (Mem_ship item2 in memShip)
                {
                    int num10 = 0;
                    if (item2.Cond < 50)
                    {
                        if (item2.Rid == memShip[0].Rid)
                        {
                            num10 = num2;
                        }
                        else
                        {
                            int num11 = random2.Next(maxValue);
                            if (item2.Stype == 2)
                            {
                                if (num11 < 80)
                                {
                                    num10 = num2;
                                }
                            }
                            else if (item2.Stype == 3)
                            {
                                if (num11 < 50)
                                {
                                    num10 = num2;
                                }
                            }
                            else if (num11 < 30)
                            {
                                num10 = num2;
                            }
                            if (item2.Cond < 40)
                            {
                                num10 = num4;
                            }
                        }
                    }
                    if (num10 > 0)
                    {
                        Mem_shipBase mem_shipBase2 = new Mem_shipBase(item2);
                        mem_shipBase2.Cond = num10;
                        item2.Set_ShipParam(mem_shipBase2, Mst_DataManager.Instance.Mst_ship[mem_shipBase2.Ship_id], enemy_flag: false);
                        list2.Add(item2);
                    }
                }
                break;
            }

            case 2:
            case 3:
            {
                Dictionary <int, int>    dictionary  = new Dictionary <int, int>();
                Dictionary <string, int> dictionary2 = new Dictionary <string, int>();
                if (num == 2)
                {
                    num2     = 65;
                    num3     = 25;
                    num4     = 65;
                    num5     = 25;
                    num6     = 100;
                    num7     = 81;
                    maxValue = 100;
                    dictionary.Add(2, 20);
                    dictionary.Add(3, 10);
                    dictionary.Add(13, 20);
                    dictionary.Add(14, 20);
                    dictionary2.Add("ながと", 30);
                    dictionary2.Add("かが", 15);
                    dictionary2.Add("すずや", 15);
                }
                if (num == 3)
                {
                    num2     = 70;
                    num3     = 30;
                    num4     = 65;
                    num5     = 20;
                    num6     = 100;
                    num7     = 0;
                    maxValue = 11;
                    dictionary.Add(2, 10);
                    dictionary.Add(3, 5);
                    dictionary.Add(13, 10);
                    dictionary.Add(14, 10);
                    dictionary2.Add("ながと", 10);
                    dictionary2.Add("かが", 5);
                    dictionary2.Add("すずや", 5);
                }
                Random random = new Random();
                foreach (Mem_ship item3 in memShip)
                {
                    int num8 = 0;
                    if (item3.Cond < num6)
                    {
                        if (item3.Rid == memShip[0].Rid)
                        {
                            num8 = ((item3.Cond >= 41) ? (item3.Cond + num3) : num2);
                        }
                        else
                        {
                            int num9   = random.Next(maxValue);
                            int value3 = 0;
                            dictionary.TryGetValue(item3.Stype, out value3);
                            if (value3 != 0)
                            {
                                num9 += value3;
                            }
                            int value4 = 0;
                            dictionary2.TryGetValue(Mst_DataManager.Instance.Mst_ship[item3.Ship_id].Yomi, out value4);
                            if (value4 != 0)
                            {
                                num9 += value4;
                            }
                            if (num9 >= num7)
                            {
                                num8 = ((item3.Cond >= 41) ? ((num != 2) ? (item3.Cond + num5 + num9) : (item3.Cond + num5)) : num4);
                            }
                        }
                        if (num8 > num6)
                        {
                            num8 = num6;
                        }
                        if (num8 > 0)
                        {
                            Mem_shipBase mem_shipBase = new Mem_shipBase(item3);
                            mem_shipBase.Cond = num8;
                            item3.Set_ShipParam(mem_shipBase, Mst_DataManager.Instance.Mst_ship[mem_shipBase.Ship_id], enemy_flag: false);
                            list2.Add(item3);
                        }
                    }
                }
                break;
            }

            default:
                api_Result.state = Api_Result_State.Parameter_Error;
                return(api_Result);
            }
            foreach (Mem_ship item4 in list2)
            {
                item4.SumLovToUseFoodSupplyShip(num);
            }
            foreach (Mem_useitem item5 in list)
            {
                item5.Sub_UseItem(1);
            }
            api_Result.data = true;
            return(api_Result);
        }
Esempio n. 16
0
        private void slotModelChangeQuestNormalize(Mem_ship flagShip, Mem_quest mem_quest, Mst_quest mst_quest, User_QuestFmt changeFmt)
        {
            HashSet <int> hashSet = new HashSet <int>();

            if (mem_quest.State == QuestState.COMPLETE)
            {
                if (mst_quest.Get_1_type == 15)
                {
                    hashSet.Add(mst_quest.Get_1_id);
                }
                if (mst_quest.Get_2_type == 15)
                {
                    hashSet.Add(mst_quest.Get_2_id);
                }
            }
            if (hashSet.Count == 0)
            {
                return;
            }
            Mst_questcount value = null;

            Mst_DataManager.Instance.Mst_questcount.TryGetValue(mem_quest.Rid, out value);
            HashSet <int> hashSet2 = new HashSet <int>();
            bool          flag     = false;

            foreach (int item2 in hashSet)
            {
                int  mst_id  = mst_slotitemchange[item2][0];
                bool maxFlag = mst_quest.IsLevelMax(mst_slotitemchange[item2]);
                if (mst_quest.IsUseCrew(mst_slotitemchange[item2]))
                {
                    flag = true;
                }
                int item = findModelChangeEnableSlotPos(flagShip.Slot, mst_id, maxFlag);
                hashSet2.Add(item);
            }
            if (flag)
            {
                int         num    = 0;
                Mem_useitem value2 = null;
                if (Comm_UserDatas.Instance.User_useItem.TryGetValue(70, out value2))
                {
                    num = value2.Value;
                }
                if (num == 0)
                {
                    hashSet2.Add(-1);
                }
            }
            List <string> requireShip = QuestKousyou.GetRequireShip(mem_quest.Rid);

            if (requireShip.Count > 0)
            {
                string yomi = Mst_DataManager.Instance.Mst_ship[flagShip.Ship_id].Yomi;
                if (!requireShip.Any((string x) => x.Equals(yomi)))
                {
                    hashSet2.Add(-1);
                }
            }
            if (hashSet2.Contains(-1))
            {
                mem_quest.StateChange(this, QuestState.WAITING_START);
                changeFmt.State = mem_quest.State;
                if (value != null)
                {
                    foreach (int item3 in value.Counter_id)
                    {
                        Mem_questcount value3 = null;
                        if (Comm_UserDatas.Instance.User_questcount.TryGetValue(item3, out value3))
                        {
                            value3.Reset(deleteFlag: false);
                        }
                    }
                }
            }
            else if (hashSet2.Contains(-2))
            {
                changeFmt.InvalidFlag = true;
            }
        }
        private void slotModelChangeQuestNormalize(Mem_ship flagShip, Mem_quest mem_quest, Mst_quest mst_quest, User_QuestFmt changeFmt)
        {
            HashSet <int> hashSet = new HashSet <int>();

            if (mem_quest.State == QuestState.COMPLETE)
            {
                if (mst_quest.Get_1_type == 15)
                {
                    hashSet.Add(mst_quest.Get_1_id);
                }
                if (mst_quest.Get_2_type == 15)
                {
                    hashSet.Add(mst_quest.Get_2_id);
                }
            }
            if (hashSet.get_Count() == 0)
            {
                return;
            }
            Mst_questcount mst_questcount = null;

            Mst_DataManager.Instance.Mst_questcount.TryGetValue(mem_quest.Rid, ref mst_questcount);
            HashSet <int> hashSet2 = new HashSet <int>();
            bool          flag     = false;

            using (HashSet <int> .Enumerator enumerator = hashSet.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    int  current = enumerator.get_Current();
                    int  mst_id  = this.mst_slotitemchange.get_Item(current).get_Item(0);
                    bool maxFlag = mst_quest.IsLevelMax(this.mst_slotitemchange.get_Item(current));
                    if (mst_quest.IsUseCrew(this.mst_slotitemchange.get_Item(current)))
                    {
                        flag = true;
                    }
                    int num = this.findModelChangeEnableSlotPos(flagShip.Slot, mst_id, maxFlag);
                    hashSet2.Add(num);
                }
            }
            if (flag)
            {
                int         num2        = 0;
                Mem_useitem mem_useitem = null;
                if (Comm_UserDatas.Instance.User_useItem.TryGetValue(70, ref mem_useitem))
                {
                    num2 = mem_useitem.Value;
                }
                if (num2 == 0)
                {
                    hashSet2.Add(-1);
                }
            }
            List <string> requireShip = QuestKousyou.GetRequireShip(mem_quest.Rid);

            if (requireShip.get_Count() > 0)
            {
                string yomi = Mst_DataManager.Instance.Mst_ship.get_Item(flagShip.Ship_id).Yomi;
                if (!Enumerable.Any <string>(requireShip, (string x) => x.Equals(yomi)))
                {
                    hashSet2.Add(-1);
                }
            }
            if (hashSet2.Contains(-1))
            {
                mem_quest.StateChange(this, QuestState.WAITING_START);
                changeFmt.State = mem_quest.State;
                if (mst_questcount == null)
                {
                    return;
                }
                using (HashSet <int> .Enumerator enumerator2 = mst_questcount.Counter_id.GetEnumerator())
                {
                    while (enumerator2.MoveNext())
                    {
                        int            current2       = enumerator2.get_Current();
                        Mem_questcount mem_questcount = null;
                        if (Comm_UserDatas.Instance.User_questcount.TryGetValue(current2, ref mem_questcount))
                        {
                            mem_questcount.Reset(false);
                        }
                    }
                }
            }
            else if (hashSet2.Contains(-2))
            {
                changeFmt.InvalidFlag = true;
            }
        }