Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
                }
            }
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
        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());
            }
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 9
0
        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);
            }
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
 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);
     }
 }
Exemplo n.º 12
0
 private int _GetMaterialCount(enumMaterialCategory material_type, Dictionary <enumMaterialCategory, int> data)
 {
     if (data == null)
     {
         return(0);
     }
     return(data[material_type]);
 }
Exemplo n.º 13
0
        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);
                }
            }
        }
Exemplo n.º 17
0
        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);
        }
Exemplo n.º 18
0
        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);
            }
        }
Exemplo n.º 19
0
        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);
        }
Exemplo n.º 20
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);
        }
Exemplo n.º 21
0
        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);
        }
Exemplo n.º 22
0
    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);
            }
        }
Exemplo n.º 24
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);
        }
Exemplo n.º 25
0
        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);
        }
Exemplo n.º 26
0
        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);
        }
Exemplo n.º 27
0
 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;
 }
Exemplo n.º 29
0
 public Mem_material(enumMaterialCategory category, int value)
 {
     Rid   = category;
     Value = value;
 }
Exemplo n.º 30
0
        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);
                }
            }
        }