public static string enumMaterialCategoryToString(enumMaterialCategory material) { switch (material) { case enumMaterialCategory.Fuel: return("燃料"); case enumMaterialCategory.Bull: return("弾薬"); case enumMaterialCategory.Steel: return("鋼材"); case enumMaterialCategory.Bauxite: return("ボーキサイト"); case enumMaterialCategory.Build_Kit: return("高速建造"); case enumMaterialCategory.Repair_Kit: return("高速修復剤"); case enumMaterialCategory.Dev_Kit: return("開発資材"); case enumMaterialCategory.Revamp_Kit: return("改修資材"); default: return(string.Empty); } }
private void __UpdateCount__() { Dictionary <int, Mem_slotitem> dictionary = null; for (int i = 0; i < _have_items.Count; i++) { ItemlistModel itemlistModel = _have_items[i]; Mst_item_shop mst_cabinet = _cabinet_relations[itemlistModel]; if (mst_cabinet == null || !mst_cabinet.IsChildReference() || mst_cabinet.Item2_type == 1) { itemlistModel.__SetOverrideCount__(0); } else if (mst_cabinet.Item2_type == 2) { if (dictionary == null) { dictionary = new Api_get_Member().Slotitem().data; } int value = dictionary.Count((KeyValuePair <int, Mem_slotitem> item) => item.Value.Slotitem_id == mst_cabinet.Item2_id); itemlistModel.__SetOverrideCount__(value); } else if (mst_cabinet.Item2_type == 3) { enumMaterialCategory item2_id = (enumMaterialCategory)mst_cabinet.Item2_id; int count = base.Material.GetCount(item2_id); itemlistModel.__SetOverrideCount__(count); } else { itemlistModel.__SetOverrideCount__(0); } } }
public Api_Result <object> Buy(int mst_id, int buyNum) { Api_Result <object> api_Result = new Api_Result <object>(); Mst_payitem value = null; if (!mst_payitem.TryGetValue(mst_id, out value)) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } foreach (PayItemEffectInfo item in value.Items) { if (item.Type == 1) { Comm_UserDatas.Instance.Add_Useitem(item.MstId, item.Count); } else if (item.Type == 2) { IEnumerable <int> source = Enumerable.Repeat(item.MstId, item.Count); Comm_UserDatas.Instance.Add_Slot(source.ToList()); } else if (item.Type == 3) { enumMaterialCategory mstId = (enumMaterialCategory)item.MstId; Comm_UserDatas.Instance.User_material[mstId].Add_Material(item.Count); } } Comm_UserDatas.Instance.User_basic.SubPoint(value.Price * buyNum); return(api_Result); }
public static string ConvertMatCategory2String(enumMaterialCategory iCategory) { switch (iCategory) { case enumMaterialCategory.Bauxite: return("ボ\u30fcキサイト"); case enumMaterialCategory.Bull: return("弾薬"); case enumMaterialCategory.Fuel: return("燃料"); case enumMaterialCategory.Steel: return("鋼材"); case enumMaterialCategory.Repair_Kit: return("高速修復材"); case enumMaterialCategory.Build_Kit: return("高速建造材"); case enumMaterialCategory.Dev_Kit: return("開発資材"); case enumMaterialCategory.Revamp_Kit: return("改修資材"); default: return("未登録マテリアルID: " + iCategory.ToString()); } }
public Api_Result <object> Buy(int mst_id, int buyNum) { Api_Result <object> api_Result = new Api_Result <object>(); Mst_payitem mst_payitem = null; if (!this.mst_payitem.TryGetValue(mst_id, ref mst_payitem)) { api_Result.state = Api_Result_State.Parameter_Error; return(api_Result); } using (List <PayItemEffectInfo> .Enumerator enumerator = mst_payitem.Items.GetEnumerator()) { while (enumerator.MoveNext()) { PayItemEffectInfo current = enumerator.get_Current(); if (current.Type == 1) { Comm_UserDatas.Instance.Add_Useitem(current.MstId, current.Count); } else if (current.Type == 2) { IEnumerable <int> enumerable = Enumerable.Repeat <int>(current.MstId, current.Count); Comm_UserDatas.Instance.Add_Slot(Enumerable.ToList <int>(enumerable)); } else if (current.Type == 3) { enumMaterialCategory mstId = (enumMaterialCategory)current.MstId; Comm_UserDatas.Instance.User_material.get_Item(mstId).Add_Material(current.Count); } } } Comm_UserDatas.Instance.User_basic.SubPoint(mst_payitem.Price * buyNum); return(api_Result); }
public void Initialize(DutyModel dutyModel) { mDutyModel = dutyModel; mLabelTitle.text = dutyModel.Title; mLabelDescription.text = UserInterfaceAlbumManager.Utils.NormalizeDescription(24, 1, dutyModel.Description); mLabelFuelValue.text = dutyModel.Fuel.ToString(); mLabelSteelValue.text = dutyModel.Steel.ToString(); mLabelAmmoValue.text = dutyModel.Ammo.ToString(); mLabelBauxiteValue.text = dutyModel.Baux.ToString(); int num = 0; enumMaterialCategory[] source = new enumMaterialCategory[4] { enumMaterialCategory.Build_Kit, enumMaterialCategory.Dev_Kit, enumMaterialCategory.Repair_Kit, enumMaterialCategory.Revamp_Kit }; foreach (KeyValuePair <enumMaterialCategory, int> rewardMaterial in mDutyModel.RewardMaterials) { if (source.Contains(rewardMaterial.Key) && 0 < rewardMaterial.Value && num < mSprites_RewardMaterials.Length) { mSprites_RewardMaterials[num].spriteName = $"item_{MaterialEnumToMasterId(rewardMaterial.Key)}"; num++; } } for (int i = num; i < mSprites_RewardMaterials.Length; i++) { mSprites_RewardMaterials[i].spriteName = "none"; } }
public void Initialize(DutyModel dutyModel) { this.mDutyModel = dutyModel; this.mLabelTitle.text = dutyModel.Title; this.mLabelDescription.text = UserInterfaceAlbumManager.Utils.NormalizeDescription(24, 1, dutyModel.Description); this.mLabelFuelValue.text = dutyModel.Fuel.ToString(); this.mLabelSteelValue.text = dutyModel.Steel.ToString(); this.mLabelAmmoValue.text = dutyModel.Ammo.ToString(); this.mLabelBauxiteValue.text = dutyModel.Baux.ToString(); int num = 0; enumMaterialCategory[] array = new enumMaterialCategory[] { enumMaterialCategory.Build_Kit, enumMaterialCategory.Dev_Kit, enumMaterialCategory.Repair_Kit, enumMaterialCategory.Revamp_Kit }; using (Dictionary <enumMaterialCategory, int> .Enumerator enumerator = this.mDutyModel.RewardMaterials.GetEnumerator()) { while (enumerator.MoveNext()) { KeyValuePair <enumMaterialCategory, int> current = enumerator.get_Current(); if (Enumerable.Contains <enumMaterialCategory>(array, current.get_Key()) && 0 < current.get_Value() && num < this.mSprites_RewardMaterials.Length) { this.mSprites_RewardMaterials[num].spriteName = string.Format("item_{0}", this.MaterialEnumToMasterId(current.get_Key())); num++; } } } for (int i = num; i < this.mSprites_RewardMaterials.Length; i++) { this.mSprites_RewardMaterials[i].spriteName = "none"; } }
private Dictionary <enumMaterialCategory, int> takeBonusMaterial(Dictionary <enumMaterialCategory, int> baseData, HashSet <enumMaterialCategory> takeTarget, double keisu, double tani) { Dictionary <enumMaterialCategory, int> dictionary = new Dictionary <enumMaterialCategory, int>(); Mst_item_limit mst_item_limit = Mst_DataManager.Instance.Mst_item_limit.get_Item(1); using (HashSet <enumMaterialCategory> .Enumerator enumerator = takeTarget.GetEnumerator()) { while (enumerator.MoveNext()) { enumMaterialCategory current = enumerator.get_Current(); int materialLimit = mst_item_limit.GetMaterialLimit(Mst_DataManager.Instance.Mst_item_limit, current); double num = (double)baseData.get_Item(current) * keisu; int num2 = (int)(Math.Ceiling(num) / tani); int num3 = (int)(tani * (double)num2); int num4 = num3 + Comm_UserDatas.Instance.User_material.get_Item(current).Value; int num5 = materialLimit - num4; if (num5 < 0) { num3 = materialLimit - Comm_UserDatas.Instance.User_material.get_Item(current).Value; if (num3 < 0) { num3 = 0; } } dictionary.Add(current, num3); Comm_UserDatas.Instance.User_material.get_Item(current).Add_Material(num3); } } return(dictionary); }
private void setSummaryMaterialInfo(Dictionary <enumMaterialCategory, int> baseInfo, out Dictionary <enumMaterialCategory, int> monthlyInfo, out Dictionary <enumMaterialCategory, int> weeklyInfo) { monthlyInfo = null; weeklyInfo = null; DateTime dateTime = Comm_UserDatas.Instance.User_turn.GetDateTime(); if (dateTime.Day == 1) { double keisu = 5.0; double tani = 10.0; HashSet <enumMaterialCategory> hashSet = new HashSet <enumMaterialCategory>(); hashSet.Add(enumMaterialCategory.Fuel); hashSet.Add(enumMaterialCategory.Bull); hashSet.Add(enumMaterialCategory.Steel); hashSet.Add(enumMaterialCategory.Bauxite); HashSet <enumMaterialCategory> takeTarget = hashSet; monthlyInfo = takeBonusMaterial(baseInfo, takeTarget, keisu, tani); int value = takeBonusDevKit(); monthlyInfo.Add(enumMaterialCategory.Dev_Kit, value); } if (dateTime.DayOfWeek == DayOfWeek.Sunday) { double keisu = 2.5; double tani = 5.0; double randDouble = Utils.GetRandDouble(0.0, 2.0, 1.0, 1); enumMaterialCategory item = (randDouble == 0.0) ? enumMaterialCategory.Fuel : ((randDouble != 1.0) ? enumMaterialCategory.Steel : enumMaterialCategory.Bull); HashSet <enumMaterialCategory> hashSet = new HashSet <enumMaterialCategory>(); hashSet.Add(item); HashSet <enumMaterialCategory> takeTarget2 = hashSet; weeklyInfo = takeBonusMaterial(baseInfo, takeTarget2, keisu, tani); } }
private HashSet <int> ChargeDataSet_Onslot(enumHokyuType type, Mem_ship m_ship) { enumMaterialCategory key = enumMaterialCategory.Bauxite; int haveBauxite = Comm_UserDatas.Instance.User_material[key].Value; HashSet <int> hashSet = new HashSet <int>(); List <int> afterOnslot; if (haveBauxite == 0) { int haveBauxite2 = 100; int requireUseBauxiteNum = GetRequireUseBauxiteNum(m_ship, ref haveBauxite2, out afterOnslot); if (requireUseBauxiteNum > 0) { hashSet.Add(-2); } hashSet.Add(-1); return(hashSet); } int requireUseBauxiteNum2 = GetRequireUseBauxiteNum(m_ship, ref haveBauxite, out afterOnslot); m_ship.Set_ChargeData(m_ship.Bull, m_ship.Fuel, afterOnslot); Comm_UserDatas.Instance.User_material[key].Sub_Material(requireUseBauxiteNum2); List <int> maxeq = Mst_DataManager.Instance.Mst_ship[m_ship.Ship_id].Maxeq; for (int i = 0; i < m_ship.Slotnum; i++) { if (maxeq[i] > 0 && maxeq[i] != m_ship.Onslot[i]) { hashSet.Add(-2); } } return(hashSet); }
private void _AddMaterialReward(List <IReward_Material> container, enumMaterialCategory mat_type, Dictionary <enumMaterialCategory, int> reward) { if (reward.TryGetValue(mat_type, out int value)) { Reward_Material item = new Reward_Material(mat_type, value); container.Add(item); } }
private int _GetMaterialCount(enumMaterialCategory material_type, Dictionary <enumMaterialCategory, int> data) { if (data == null) { return(0); } return(data[material_type]); }
public int GetBuyNum() { Comm_UserDatas instance = Comm_UserDatas.Instance; List <int> list = new List <int>(); foreach (PayItemEffectInfo item2 in Items) { int item = 0; int num = 0; if (item2.Type == 1 && item2.MstId == 53) { int num2 = instance.User_basic.GetPortMaxExtendNum() - instance.User_basic.Max_chara; int num3 = 0; if (instance.User_useItem.TryGetValue(53, out Mem_useitem value)) { num3 = value.Value; } if (num2 > 0) { item = num2 / 10 - num3; } } else if (item2.Type == 1) { Mem_useitem value2 = null; if (Comm_UserDatas.Instance.User_useItem.TryGetValue(item2.MstId, out value2)) { num = value2.Value; } int num4 = 3000 - num; if (num4 > 0) { item = num4 / item2.Count; } } else if (item2.Type == 2) { item = int.MaxValue; } else if (item2.Type == 3) { enumMaterialCategory mstId = (enumMaterialCategory)item2.MstId; Dictionary <int, Mst_item_limit> mst_item_limit = Mst_DataManager.Instance.Mst_item_limit; int materialLimit = Mst_DataManager.Instance.Mst_item_limit[1].GetMaterialLimit(mst_item_limit, mstId); num = Comm_UserDatas.Instance.User_material[mstId].Value; int num5 = materialLimit - num; if (num5 > 0) { item = num5 / item2.Count; } } list.Add(item); } int num6 = list.Min(); return((num6 != int.MaxValue) ? num6 : (-1)); }
private void _AddMaterialReward(List <IReward_Material> container, enumMaterialCategory mat_type, Dictionary <enumMaterialCategory, int> reward) { int count; if (reward.TryGetValue(mat_type, ref count)) { Reward_Material reward_Material = new Reward_Material(mat_type, count); container.Add(reward_Material); } }
public int GetMaterialLimit(Dictionary <int, Mst_item_limit> mst_data, enumMaterialCategory category) { Mst_item_limit mst_item_limit = Enumerable.FirstOrDefault <Mst_item_limit>(mst_data.get_Values(), (Mst_item_limit x) => x.Material_id == (int)category); if (mst_item_limit == null) { return(0); } return(mst_item_limit.Max_items); }
private void initMaterials(DifficultKind difficult) { if (this.User_material == null) { this.User_material = new Dictionary <enumMaterialCategory, Mem_material>(); } else { this.User_material.Clear(); } int num = 1500; if (difficult == DifficultKind.KOU) { num = 2000; } else if (difficult == DifficultKind.OTU) { num = 3000; } else if (difficult == DifficultKind.HEI) { num = 3000; } else if (difficult == DifficultKind.TEI) { num = 6000; } Dictionary <enumMaterialCategory, int> dictionary = new Dictionary <enumMaterialCategory, int>(); dictionary.Add(enumMaterialCategory.Fuel, num); dictionary.Add(enumMaterialCategory.Bull, 3000); dictionary.Add(enumMaterialCategory.Steel, 3000); dictionary.Add(enumMaterialCategory.Bauxite, 3000); dictionary.Add(enumMaterialCategory.Build_Kit, 5); dictionary.Add(enumMaterialCategory.Repair_Kit, 5); dictionary.Add(enumMaterialCategory.Dev_Kit, 10); dictionary.Add(enumMaterialCategory.Revamp_Kit, 0); Dictionary <enumMaterialCategory, int> dictionary2 = dictionary; using (Dictionary <enumMaterialCategory, int> .Enumerator enumerator = dictionary2.GetEnumerator()) { while (enumerator.MoveNext()) { KeyValuePair <enumMaterialCategory, int> current = enumerator.get_Current(); enumMaterialCategory key = current.get_Key(); int value = current.get_Value(); Mem_material mem_material = new Mem_material(key, value); this.User_material.Add(key, mem_material); } } }
private QuestItemGetFmt _ItemGet(enumMaterialCategory material_category, int count) { QuestItemGetFmt questItemGetFmt = new QuestItemGetFmt(); questItemGetFmt.Category = QuestItemGetKind.Material; questItemGetFmt.Id = (int)material_category; questItemGetFmt.Count = count; if (questItemGetFmt.Category == QuestItemGetKind.Material) { enumMaterialCategory id = (enumMaterialCategory)questItemGetFmt.Id; Comm_UserDatas.Instance.User_material[id].Add_Material(questItemGetFmt.Count); } return(questItemGetFmt); }
private void initMaterials(DifficultKind difficult) { if (User_material == null) { User_material = new Dictionary <enumMaterialCategory, Mem_material>(); } else { User_material.Clear(); } int value = 1500; switch (difficult) { case DifficultKind.KOU: value = 2000; break; case DifficultKind.OTU: value = 3000; break; case DifficultKind.HEI: value = 3000; break; case DifficultKind.TEI: value = 6000; break; } Dictionary <enumMaterialCategory, int> dictionary = new Dictionary <enumMaterialCategory, int>(); dictionary.Add(enumMaterialCategory.Fuel, value); dictionary.Add(enumMaterialCategory.Bull, 3000); dictionary.Add(enumMaterialCategory.Steel, 3000); dictionary.Add(enumMaterialCategory.Bauxite, 3000); dictionary.Add(enumMaterialCategory.Build_Kit, 5); dictionary.Add(enumMaterialCategory.Repair_Kit, 5); dictionary.Add(enumMaterialCategory.Dev_Kit, 10); dictionary.Add(enumMaterialCategory.Revamp_Kit, 0); Dictionary <enumMaterialCategory, int> dictionary2 = dictionary; foreach (KeyValuePair <enumMaterialCategory, int> item in dictionary2) { enumMaterialCategory key = item.Key; int value2 = item.Value; Mem_material value3 = new Mem_material(key, value2); User_material.Add(key, value3); } }
private int getItemToMaterialBounus(enumMaterialCategory getType) { int num = 1; if (Get_1_type == num && getType == (enumMaterialCategory)Get_1_id) { return(Get_1_count); } if (Get_2_type == num && getType == (enumMaterialCategory)Get_2_id) { return(Get_2_count); } return(0); }
private IEnumerator InitializeCoroutine(DutyModel dutyModel) { mLabelTitle.text = dutyModel.Title; mLabelDescription.text = UserInterfaceAlbumManager.Utils.NormalizeDescription(24, 1, dutyModel.Description); mLabelFuelValue.text = dutyModel.Fuel.ToString(); mLabelSteelValue.text = dutyModel.Steel.ToString(); mLabelAmmoValue.text = dutyModel.Ammo.ToString(); mLabelBauxiteValue.text = dutyModel.Baux.ToString(); mDutyStartButton.SetOnPositiveSelectedCallBack(delegate { if (this.mDutyDetailActionCallBack != null) { this.mDutyDetailActionCallBack(SelectType.Positive); } }); mDutyStartButton.SetOnNegativeSelectedCallBack(delegate { if (this.mDutyDetailActionCallBack != null) { this.mDutyDetailActionCallBack(SelectType.Negative); } }); mDutyStartButton.SetOnSelectedCallBack(delegate { this.mKeyController = null; }); int materialIconIndex = 0; enumMaterialCategory[] showRewards = new enumMaterialCategory[4] { enumMaterialCategory.Build_Kit, enumMaterialCategory.Dev_Kit, enumMaterialCategory.Repair_Kit, enumMaterialCategory.Revamp_Kit }; foreach (KeyValuePair <enumMaterialCategory, int> material in mDutyModel.RewardMaterials) { if (showRewards.Contains(material.Key) && 0 < material.Value && materialIconIndex < mSprites_RewardMaterials.Length) { mSprites_RewardMaterials[materialIconIndex].spriteName = $"item_{MaterialEnumToMasterId(material.Key)}"; materialIconIndex++; } } for (int index = materialIconIndex; index < mSprites_RewardMaterials.Length; index++) { mSprites_RewardMaterials[index].spriteName = "none"; } yield return(null); }
public static List <KeyValuePair <enumMaterialCategory, int> > SortMaterial(List <enumMaterialCategory> sortkey, Dictionary <enumMaterialCategory, int> materials) { List <KeyValuePair <enumMaterialCategory, int> > list = new List <KeyValuePair <enumMaterialCategory, int> >(); using (List <enumMaterialCategory> .Enumerator enumerator = sortkey.GetEnumerator()) { while (enumerator.MoveNext()) { enumMaterialCategory current = enumerator.get_Current(); int num = (!materials.ContainsKey(current)) ? 0 : materials.get_Item(current); KeyValuePair <enumMaterialCategory, int> keyValuePair = new KeyValuePair <enumMaterialCategory, int>(current, num); list.Add(keyValuePair); } } return(list); }
private string GetMaterialImageFileName(enumMaterialCategory material) { switch (material) { case enumMaterialCategory.Fuel: return("icon-m1"); case enumMaterialCategory.Bull: return("icon-m2"); case enumMaterialCategory.Steel: return("icon-m3"); case enumMaterialCategory.Bauxite: return("icon-m4"); default: return(null); } }
private int enumMaterialCategoryToId(enumMaterialCategory type) { switch (type) { case enumMaterialCategory.Fuel: return(31); case enumMaterialCategory.Bull: return(32); case enumMaterialCategory.Steel: return(33); case enumMaterialCategory.Bauxite: return(34); default: return(0); } }
private int MaterialEnumToMasterId(enumMaterialCategory category) { int result = 0; switch (category) { case enumMaterialCategory.Bauxite: result = 34; break; case enumMaterialCategory.Build_Kit: result = 2; break; case enumMaterialCategory.Bull: result = 32; break; case enumMaterialCategory.Dev_Kit: result = 3; break; case enumMaterialCategory.Fuel: result = 31; break; case enumMaterialCategory.Repair_Kit: result = 1; break; case enumMaterialCategory.Revamp_Kit: result = 4; break; case enumMaterialCategory.Steel: result = 33; break; } return(result); }
public Dictionary <enumMaterialCategory, int> GetMaterialValues() { Dictionary <enumMaterialCategory, int> dictionary = new Dictionary <enumMaterialCategory, int>(); using (IEnumerator enumerator = Enum.GetValues(typeof(enumMaterialCategory)).GetEnumerator()) { while (enumerator.MoveNext()) { enumMaterialCategory enumMaterialCategory = (enumMaterialCategory)((int)enumerator.get_Current()); dictionary.Add(enumMaterialCategory, 0); } } dictionary.set_Item(enumMaterialCategory.Fuel, this.Mat1); dictionary.set_Item(enumMaterialCategory.Bull, this.Mat2); dictionary.set_Item(enumMaterialCategory.Steel, this.Mat3); dictionary.set_Item(enumMaterialCategory.Bauxite, this.Mat4); dictionary.set_Item(enumMaterialCategory.Build_Kit, this.getItemToMaterialBounus(enumMaterialCategory.Build_Kit)); dictionary.set_Item(enumMaterialCategory.Repair_Kit, this.getItemToMaterialBounus(enumMaterialCategory.Repair_Kit)); dictionary.set_Item(enumMaterialCategory.Dev_Kit, this.getItemToMaterialBounus(enumMaterialCategory.Dev_Kit)); dictionary.set_Item(enumMaterialCategory.Revamp_Kit, this.getItemToMaterialBounus(enumMaterialCategory.Revamp_Kit)); return(dictionary); }
private HashSet <int> ChargeDataSet_Onslot(Api_req_Hokyu.enumHokyuType type, Mem_ship m_ship) { enumMaterialCategory enumMaterialCategory = enumMaterialCategory.Bauxite; int value = Comm_UserDatas.Instance.User_material.get_Item(enumMaterialCategory).Value; HashSet <int> hashSet = new HashSet <int>(); List <int> onslot; if (value == 0) { int num = 100; int requireUseBauxiteNum = this.GetRequireUseBauxiteNum(m_ship, ref num, out onslot); if (requireUseBauxiteNum > 0) { hashSet.Add(-2); } hashSet.Add(-1); return(hashSet); } int requireUseBauxiteNum2 = this.GetRequireUseBauxiteNum(m_ship, ref value, out onslot); m_ship.Set_ChargeData(m_ship.Bull, m_ship.Fuel, onslot); Comm_UserDatas.Instance.User_material.get_Item(enumMaterialCategory).Sub_Material(requireUseBauxiteNum2); List <int> maxeq = Mst_DataManager.Instance.Mst_ship.get_Item(m_ship.Ship_id).Maxeq; for (int i = 0; i < m_ship.Slotnum; i++) { if (maxeq.get_Item(i) > 0) { if (maxeq.get_Item(i) != m_ship.Onslot.get_Item(i)) { hashSet.Add(-2); } } } return(hashSet); }
public int GetCount(enumMaterialCategory category) { return(this._materialData.get_Item(category).Value); }
public Reward_Material(enumMaterialCategory type, int count) { this._type = type; this._count = count; }
public Mem_material(enumMaterialCategory category, int value) { Rid = category; Value = value; }
public void TakeMaterialNum(Dictionary <int, Mem_mapclear> mapclear, int tankerNum, ref Dictionary <enumMaterialCategory, int> addValues, bool randMaxFlag, DeckShips deckShip) { if (tankerNum == 0) { return; } if (!this.IsActiveArea()) { return; } int num = Enumerable.Count <Mem_ship>(deckShip.getMemShip(), (Mem_ship x) => x.IsEscortDeffender()); double num2 = (double)tankerNum; double num3 = (double)this.Req_tanker_num; Dictionary <enumMaterialCategory, double> dictionary = new Dictionary <enumMaterialCategory, double>(); dictionary.Add(enumMaterialCategory.Fuel, 0.0); dictionary.Add(enumMaterialCategory.Bull, 0.0); dictionary.Add(enumMaterialCategory.Steel, 0.0); dictionary.Add(enumMaterialCategory.Bauxite, 0.0); Dictionary <enumMaterialCategory, double> dictionary2 = dictionary; int materialLimitTankerNum = this.GetMaterialLimitTankerNum(); if (tankerNum <= this.Req_tanker_num) { dictionary2.set_Item(enumMaterialCategory.Fuel, (double)((int)((double)this.Material_1 * num2 / num3))); dictionary2.set_Item(enumMaterialCategory.Bull, (double)((int)((double)this.Material_2 * num2 / num3))); dictionary2.set_Item(enumMaterialCategory.Steel, (double)((int)((double)this.Material_3 * num2 / num3))); dictionary2.set_Item(enumMaterialCategory.Bauxite, (double)((int)((double)this.Material_4 * num2 / num3))); if (num == 0) { double min = (!randMaxFlag) ? 0.5 : 0.75; dictionary2.set_Item(enumMaterialCategory.Fuel, dictionary2.get_Item(enumMaterialCategory.Fuel) * Utils.GetRandDouble(min, 0.75, 0.01, 2)); dictionary2.set_Item(enumMaterialCategory.Bull, dictionary2.get_Item(enumMaterialCategory.Bull) * Utils.GetRandDouble(min, 0.75, 0.01, 2)); dictionary2.set_Item(enumMaterialCategory.Steel, dictionary2.get_Item(enumMaterialCategory.Steel) * Utils.GetRandDouble(min, 0.75, 0.01, 2)); dictionary2.set_Item(enumMaterialCategory.Bauxite, dictionary2.get_Item(enumMaterialCategory.Bauxite) * Utils.GetRandDouble(min, 0.75, 0.01, 2)); } int num4 = num * 2; if (num4 < tankerNum && num < 6) { double min2 = (!randMaxFlag) ? 0.75 : 1.0; dictionary2.set_Item(enumMaterialCategory.Fuel, dictionary2.get_Item(enumMaterialCategory.Fuel) * Utils.GetRandDouble(min2, 1.0, 0.01, 2)); dictionary2.set_Item(enumMaterialCategory.Bull, dictionary2.get_Item(enumMaterialCategory.Bull) * Utils.GetRandDouble(min2, 1.0, 0.01, 2)); dictionary2.set_Item(enumMaterialCategory.Steel, dictionary2.get_Item(enumMaterialCategory.Steel) * Utils.GetRandDouble(min2, 1.0, 0.01, 2)); dictionary2.set_Item(enumMaterialCategory.Bauxite, dictionary2.get_Item(enumMaterialCategory.Bauxite) * Utils.GetRandDouble(min2, 1.0, 0.01, 2)); } } else if (tankerNum >= materialLimitTankerNum) { double min3 = (!randMaxFlag) ? 1.0 : 1.3; dictionary2.set_Item(enumMaterialCategory.Fuel, (double)this.Material_1 * Utils.GetRandDouble(min3, 1.3, 0.1, 1)); dictionary2.set_Item(enumMaterialCategory.Bull, (double)this.Material_2 * Utils.GetRandDouble(min3, 1.3, 0.1, 1)); dictionary2.set_Item(enumMaterialCategory.Steel, (double)this.Material_3 * Utils.GetRandDouble(min3, 1.3, 0.1, 1)); dictionary2.set_Item(enumMaterialCategory.Bauxite, (double)this.Material_4 * Utils.GetRandDouble(min3, 1.3, 0.1, 1)); if (num == 0) { min3 = ((!randMaxFlag) ? 0.5 : 0.85); dictionary2.set_Item(enumMaterialCategory.Fuel, dictionary2.get_Item(enumMaterialCategory.Fuel) * Utils.GetRandDouble(min3, 0.85, 0.01, 2)); dictionary2.set_Item(enumMaterialCategory.Bull, dictionary2.get_Item(enumMaterialCategory.Bull) * Utils.GetRandDouble(min3, 0.85, 0.01, 2)); dictionary2.set_Item(enumMaterialCategory.Steel, dictionary2.get_Item(enumMaterialCategory.Steel) * Utils.GetRandDouble(min3, 0.85, 0.01, 2)); dictionary2.set_Item(enumMaterialCategory.Bauxite, dictionary2.get_Item(enumMaterialCategory.Bauxite) * Utils.GetRandDouble(min3, 0.85, 0.01, 2)); } int num5 = num * 2; if (num5 < tankerNum && num < 6) { min3 = ((!randMaxFlag) ? 0.75 : 0.95); dictionary2.set_Item(enumMaterialCategory.Fuel, dictionary2.get_Item(enumMaterialCategory.Fuel) * Utils.GetRandDouble(min3, 0.95, 0.01, 2)); dictionary2.set_Item(enumMaterialCategory.Bull, dictionary2.get_Item(enumMaterialCategory.Bull) * Utils.GetRandDouble(min3, 0.95, 0.01, 2)); dictionary2.set_Item(enumMaterialCategory.Steel, dictionary2.get_Item(enumMaterialCategory.Steel) * Utils.GetRandDouble(min3, 0.95, 0.01, 2)); dictionary2.set_Item(enumMaterialCategory.Bauxite, dictionary2.get_Item(enumMaterialCategory.Bauxite) * Utils.GetRandDouble(min3, 0.95, 0.01, 2)); } } double num6 = 1.0; DifficultKind difficult = Comm_UserDatas.Instance.User_basic.Difficult; if (difficult == DifficultKind.SHI) { num6 = 1.0; } else if (difficult == DifficultKind.KOU) { num6 = 2.0; } else if (difficult == DifficultKind.OTU) { num6 = 2.5; } else if (difficult == DifficultKind.HEI) { num6 = 3.0; } else if (difficult == DifficultKind.TEI) { num6 = 4.0; } using (Dictionary <enumMaterialCategory, double> .Enumerator enumerator = dictionary2.GetEnumerator()) { while (enumerator.MoveNext()) { KeyValuePair <enumMaterialCategory, double> current = enumerator.get_Current(); double num7 = (current.get_Key() != enumMaterialCategory.Bauxite) ? 1.0 : 0.65; double num8 = current.get_Value() * num6 * num7; int num9 = (int)(Math.Ceiling(num8) / 5.0); int num10 = 5 * num9; Dictionary <enumMaterialCategory, int> dictionary3; Dictionary <enumMaterialCategory, int> expr_605 = dictionary3 = addValues; enumMaterialCategory key; enumMaterialCategory expr_60F = key = current.get_Key(); int num11 = dictionary3.get_Item(key); expr_605.set_Item(expr_60F, num11 + num10); } } }