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); }
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); }
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); }
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); }
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); }
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); } }
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); }
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"); }
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); }
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); }
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); }
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); }
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; } }