少年修仙传客户端代码仓库
5761 子 【开发】【1.5】新增300级后的成长基金 / 【前端】【1.5】新增300级后的成长基金
5个文件已修改
491 ■■■■ 已修改文件
System/LoginAd/LoginAdModel.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/FairyJadeInvestmentItem.cs 76 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/FairyJadeInvestmentModel.cs 329 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/FairyJadeInvestmentTipWin.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/FairyJadeInvestmentWin.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/LoginAd/LoginAdModel.cs
@@ -106,7 +106,8 @@
                    switch ((LoginAdCondition)config.condition[0])
                    {
                        case LoginAdCondition.MoneyInvest:
                            if (moneyInvestModel.InvestmentGrade > 0 || PlayerDatas.Instance.baseData.LV >= 300)
                            int InvestmentGrade = moneyInvestModel.GetInvestmentGrade();
                            if (InvestmentGrade > 0 || PlayerDatas.Instance.baseData.LV >= 300)
                            {
                                continue;
                            }
System/Vip/FairyJadeInvestmentItem.cs
@@ -39,7 +39,13 @@
        private void MoreThanGrade(int Lv)//超过等级
        {
            if (fairyJadeInvestmentModel.FairyJadeInvestmentDic.ContainsKey(Lv))
            int _type = fairyJadeInvestmentModel.GetType();
            if (!fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic.ContainsKey(_type))
            {
                return;
            }
            var Dit = fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic[_type];
            if (Dit.ContainsKey(Lv))
            {
                if (Lv <= 0)
                {
@@ -59,8 +65,9 @@
                        m_Label_Text.gameObject.SetActive(false);
                    }
                }
                int indexID = fairyJadeInvestmentModel.FairyJadeInvestmentDic[Lv].ID;
                if (fairyJadeInvestmentModel.InvestmentGrade == 0)
                int indexID = Dit[Lv].ID;
                int InvestmentGrade = fairyJadeInvestmentModel.GetInvestmentGrade();
                if (InvestmentGrade == 0)
                {
                    m_ReceiveAwardBtn.gameObject.SetActive(false);
                    m_IsDrawImage.gameObject.SetActive(false);
@@ -86,12 +93,12 @@
                    }
                    else
                    {
                        List<AwardItem> fairyJadeInvestmentItem = fairyJadeInvestmentModel.FairyJadeInvestmentDic[Lv].FairyJadeInvestmentItem.GetAwardItem(fairyJadeInvestmentModel.InvestmentGrade);
                        List<AwardItem> fairyJadeInvestmentItem = Dit[Lv].FairyJadeInvestmentItem.GetAwardItem(InvestmentGrade);
                        int AtPresentNumber = 0;
                        if (IsReceive != 0)
                        {
                            List<AwardItem> fairyJadeInvestmentItemAdd = fairyJadeInvestmentModel.FairyJadeInvestmentDic[Lv].FairyJadeInvestmentItem.GetAwardItem(IsReceive);
                            List<AwardItem> fairyJadeInvestmentItemAdd = Dit[Lv].FairyJadeInvestmentItem.GetAwardItem(IsReceive);
                            AwardItem itemAdd = fairyJadeInvestmentItemAdd[0];
                            AtPresentNumber = itemAdd.item.count;
                        }
@@ -124,7 +131,13 @@
        private void BeforeTheClass(int Lv)//未到等级 
        {
            if (fairyJadeInvestmentModel.FairyJadeInvestmentDic.ContainsKey(Lv))
            int _type = fairyJadeInvestmentModel.GetType();
            if (!fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic.ContainsKey(_type))
            {
                return;
            }
            var Dit = fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic[_type];
            if (Dit.ContainsKey(Lv))
            {
                if (Lv <= 0)
                {
@@ -155,13 +168,20 @@
        private void ItemCellAssignment(int Lv)
        {
            if (fairyJadeInvestmentModel.FairyJadeInvestmentDic.ContainsKey(Lv))
            int _type = fairyJadeInvestmentModel.GetType();
            if (!fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic.ContainsKey(_type))
            {
                return;
            }
            var Dit = fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic[_type];
            int InvestmentGrade = fairyJadeInvestmentModel.GetInvestmentGrade();
            if (Dit.ContainsKey(Lv))
            {
                int grade = 3;
                if (fairyJadeInvestmentModel.InvestmentGrade != 0)
                if (InvestmentGrade != 0)
                {
                    grade = fairyJadeInvestmentModel.InvestmentGrade;
                    grade = InvestmentGrade;
                }
                else
                {
@@ -171,8 +191,8 @@
                    }
                }
                List<AwardItem> fairyJadeInvestmentItem = fairyJadeInvestmentModel.FairyJadeInvestmentDic[Lv].FairyJadeInvestmentItem.GetAwardItem(grade);
                int indexID = fairyJadeInvestmentModel.FairyJadeInvestmentDic[Lv].ID;
                List<AwardItem> fairyJadeInvestmentItem = Dit[Lv].FairyJadeInvestmentItem.GetAwardItem(grade);
                int indexID = Dit[Lv].ID;
                int IsReceive = fairyJadeInvestmentModel.InfoSeriors[indexID];
                for (int i = 0; i < m_Group.childCount; i++)
                {
@@ -205,7 +225,7 @@
                            int AtPresentNumber = 0;
                            if (IsReceive != 0)
                            {
                                List<AwardItem> fairyJadeInvestmentItemAdd = fairyJadeInvestmentModel.FairyJadeInvestmentDic[Lv].FairyJadeInvestmentItem.GetAwardItem(IsReceive);
                                List<AwardItem> fairyJadeInvestmentItemAdd = Dit[Lv].FairyJadeInvestmentItem.GetAwardItem(IsReceive);
                                AwardItem itemAdd = fairyJadeInvestmentItemAdd[i];
                                AtPresentNumber = itemAdd.item.count;
                            }
@@ -250,9 +270,10 @@
        private float InvestmentProportion(int Lv)//获取返回仙玉的比例
        {
            int grade = 3;
            if (fairyJadeInvestmentModel.InvestmentGrade != 0)
            int InvestmentGrade = fairyJadeInvestmentModel.GetInvestmentGrade();
            if (InvestmentGrade != 0)
            {
                grade = fairyJadeInvestmentModel.InvestmentGrade;
                grade = InvestmentGrade;
            }
            else
            {
@@ -262,11 +283,17 @@
                }
            }
            int GetFairyJade = 0;
            foreach (var key in fairyJadeInvestmentModel.FairyJadeInvestmentDic.Keys)
            int _type = fairyJadeInvestmentModel.GetType();
            if (!fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic.ContainsKey(_type))
            {
                return GetFairyJade;
            }
            var Dit = fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic[_type];
            foreach (var key in Dit.Keys)
            {
                if (key == Lv)
                {
                    List<AwardItem> fairyJadeInvestmentItem = fairyJadeInvestmentModel.FairyJadeInvestmentDic[key].FairyJadeInvestmentItem.GetAwardItem(grade);
                    List<AwardItem> fairyJadeInvestmentItem = Dit[key].FairyJadeInvestmentItem.GetAwardItem(grade);
                    AwardItem item = fairyJadeInvestmentItem[0];
                    GetFairyJade = item.item.count;
                }
@@ -278,9 +305,10 @@
        private int RebateMultiple(int lv)
        {
            int grade = 3;
            if (fairyJadeInvestmentModel.InvestmentGrade != 0)
            int InvestmentGrade = fairyJadeInvestmentModel.GetInvestmentGrade();
            if (InvestmentGrade != 0)
            {
                grade = fairyJadeInvestmentModel.InvestmentGrade;
                grade = InvestmentGrade;
            }
            else
            {
@@ -291,11 +319,17 @@
            }
            int ShowLinesNumber = ShowLines(grade);
            int GetFairyJade = 0;
            foreach (var key in fairyJadeInvestmentModel.FairyJadeInvestmentDic.Keys)
            int _type = fairyJadeInvestmentModel.GetType();
            if (!fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic.ContainsKey(_type))
            {
                return GetFairyJade;
            }
            var Dit = fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic[_type];
            foreach (var key in Dit.Keys)
            {
                if (key <= lv)
                {
                    List<AwardItem> fairyJadeInvestmentItem = fairyJadeInvestmentModel.FairyJadeInvestmentDic[key].FairyJadeInvestmentItem.GetAwardItem(grade);
                    List<AwardItem> fairyJadeInvestmentItem = Dit[key].FairyJadeInvestmentItem.GetAwardItem(grade);
                    AwardItem item = fairyJadeInvestmentItem[0];
                    GetFairyJade += item.item.count;
                }
@@ -308,8 +342,6 @@
            }
            return GetValue;
        }
    }
}
System/Vip/FairyJadeInvestmentModel.cs
@@ -8,6 +8,12 @@
using Snxxz.UI;
using System.Linq;
//仙玉投资
public class BinningClass
{
    public int Money;//金额
    public int Binning;//
}
public class FairyJadeInvestmentClass
{
    public int ID;//ID
@@ -19,15 +25,16 @@
[XLua.LuaCallCSharp]
public class FairyJadeInvestmentModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk, IOpenServerActivity
{
    public Dictionary<int, FairyJadeInvestmentClass> FairyJadeInvestmentDic = new Dictionary<int, FairyJadeInvestmentClass>();//等级(0-300级)
    //   public Dictionary<int, FairyJadeInvestmentClass> FairyJadeInvestmentDic = new Dictionary<int, FairyJadeInvestmentClass>();//等级(0-300级)
    public Dictionary<int, Dictionary<int, FairyJadeInvestmentClass>> FairyJadeInvestmentTypeDic = new Dictionary<int, Dictionary<int, FairyJadeInvestmentClass>>();//根据投资类型来存储奖励类型和金额(类型3,4,5);
    public Dictionary<int, int> InfoSeriors = new Dictionary<int, int>();//奖励领取信息//key为索引,Value(0,未领,其他值未领的钱数)等级(0-300级)
    public Dictionary<int, Dictionary<int, int>> InfoSeriorsTypeDic = new Dictionary<int, Dictionary<int, int>>();//根据类型存储奖励信息
    public Dictionary<int, Dictionary<int, int>> InvestmentAmountTypeDic = new Dictionary<int, Dictionary<int, int>>();//根据类型获得投资金额
    public Dictionary<int, int> InvestmentAmountDic = new Dictionary<int, int>();//投资金额
    public Dictionary<int, BinningClass> BinningDic = new Dictionary<int, BinningClass>();//根据类型获取各个类型投资的档位金额和分档
    public static Action FairyJadeInfoSeriorsUpdate;
    public int InvestGold = 0; // 投资额度
    public int InvestmentGrade = 0;//0未投,1档,2,档,3,档,4档
   // public int InvestGold = 0; // 投资额度
   // public int InvestmentGrade = 0;//0未投,1档,2,档,3,档,4档
    public int SelectNumber = 0;//记录想要投资的钱数
    public int RecordSelectNumberMax = 0;//用来标记最大可投资额度
    public List<int> MultipleList = new List<int>();
@@ -74,6 +81,7 @@
    private bool IsOpenFeatures()//功能是否开启
    {
        bool isOpen = false;
        int InvestmentGrade = GetInvestmentGrade();
        if (InvestmentGrade > 0 && InvestmentGrade < 4)
        {
            isOpen = true;
@@ -126,11 +134,10 @@
    {
        IsOk = false;
        IsRedpoint = false;
        InvestGold = 0;
        InvestmentGrade = 0;
       // InvestGold = 0;
        SelectNumber = 0;
        RecordSelectNumberMax = 0;
        FairyJadeInvestmentDic.Clear();
        // FairyJadeInvestmentDic.Clear();
        InvestmentAmountDic.Clear();
        InfoSeriors.Clear();
        Assignment();
@@ -147,7 +154,6 @@
        PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;
        FairyJadeInvestmentWin.FairyJadeInvestmentRedPointEvent -= FairyJadeInvestmentRedPoint;
        FairyJadeInvestmentWin.FairyJadeInvestmentRedPointEvent += FairyJadeInvestmentRedPoint;
        DebugEx.LogError(InfoSeriorsTypeDic);
    }
    private void FairyJadeInvestmentRedPoint()
@@ -157,6 +163,7 @@
    private void Updatefighting(PlayerDataRefresh _tCDBPlayerRefresh)
    {
        int InvestGold = GetInvestGold();
        if (_tCDBPlayerRefresh == PlayerDataRefresh.LV && InvestGold > 0)
        {
            InvestmentRedPoint();
@@ -283,87 +290,97 @@
    public void Assignment()
    {
        AssignmentType();
        var InvestConfig = Config.Instance.GetAllValues<InvestConfig>();
        if (FairyJadeInvestmentDic.Count > 0)
        {
            return;
        }
        foreach (var value in InvestConfig)
        {
            if (value.type == 3 && !FairyJadeInvestmentDic.ContainsKey(value.needLV))
            {
                FairyJadeInvestmentClass fairyJadeInvestment = new FairyJadeInvestmentClass();
                if (value.id >= 310)
                {
                    fairyJadeInvestment.ID = value.id % 100;
                }
                else
                {
                    fairyJadeInvestment.ID = value.id % 10;
                }
                if (!InfoSeriors.ContainsKey(fairyJadeInvestment.ID))
                {
                    InfoSeriors.Add(fairyJadeInvestment.ID, 0);
                }
                fairyJadeInvestment.Type = value.type;
                fairyJadeInvestment.NeedDay = value.needDay;
                fairyJadeInvestment.NeedLv = value.needLV;
                MonthlyInvestmentModel.MonthlyInvestmentItem FairyJadeItem = new MonthlyInvestmentModel.MonthlyInvestmentItem();
                var _jsonData = LitJson.JsonMapper.ToObject(value.award);
                foreach (string key in _jsonData.Keys)
                {
                    var _job = int.Parse(key);
                    var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(_jsonData[key].ToJson());
                    for (int j = 0; j < _itemArray.Length; j++)
                    {
                        FairyJadeItem.Add(_job, new AwardItem()
                        {
                            item = new Item(_itemArray[j][0], _itemArray[j][1]),
                            isBind = _itemArray[j][2],
                        });
                    }
                }
                fairyJadeInvestment.FairyJadeInvestmentItem = FairyJadeItem;
                FairyJadeInvestmentDic.Add(value.needLV, fairyJadeInvestment);
            }
        }
        //var InvestConfig = Config.Instance.GetAllValues<InvestConfig>();
        //if (FairyJadeInvestmentDic.Count > 0)
        //{
        //    return;
        //}
        //foreach (var value in InvestConfig)
        //{
        //    if (value.type == 3 && !FairyJadeInvestmentDic.ContainsKey(value.needLV))
        //    {
        //        FairyJadeInvestmentClass fairyJadeInvestment = new FairyJadeInvestmentClass();
        //        if (value.id >= 310)
        //        {
        //            fairyJadeInvestment.ID = value.id % 100;
        //        }
        //        else
        //        {
        //            fairyJadeInvestment.ID = value.id % 10;
        //        }
        //        if (!InfoSeriors.ContainsKey(fairyJadeInvestment.ID))
        //        {
        //            InfoSeriors.Add(fairyJadeInvestment.ID, 0);
        //        }
        //        fairyJadeInvestment.Type = value.type;
        //        fairyJadeInvestment.NeedDay = value.needDay;
        //        fairyJadeInvestment.NeedLv = value.needLV;
        //        MonthlyInvestmentModel.MonthlyInvestmentItem FairyJadeItem = new MonthlyInvestmentModel.MonthlyInvestmentItem();
        //        var _jsonData = LitJson.JsonMapper.ToObject(value.award);
        //        foreach (string key in _jsonData.Keys)
        //        {
        //            var _job = int.Parse(key);
        //            var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(_jsonData[key].ToJson());
        //            for (int j = 0; j < _itemArray.Length; j++)
        //            {
        //                FairyJadeItem.Add(_job, new AwardItem()
        //                {
        //                    item = new Item(_itemArray[j][0], _itemArray[j][1]),
        //                    isBind = _itemArray[j][2],
        //                });
        //            }
        //        }
        //        fairyJadeInvestment.FairyJadeInvestmentItem = FairyJadeItem;
        //        FairyJadeInvestmentDic.Add(value.needLV, fairyJadeInvestment);
        //    }
        //}
        //  DebugEx.LogError(FairyJadeInvestmentDic);
    }
    public void GetInfoSeriors(HA337_tagMCGoldInvestInfo vNetData)//接受信息
    {
        if (vNetData.InvestType == 3)
        {
            InvestmentAmount();
            InvestGold = (int)vNetData.InvestGold;
            if (InvestmentAmountDic.ContainsKey(InvestGold))
            {
                InvestmentGrade = InvestmentAmountDic[InvestGold];
            }
            else
            {
                InvestmentGrade = 0;
            }
            for (int i = 0; i < vNetData.RewardRecordCnt; i++)
            {
                if (InfoSeriors.ContainsKey((int)vNetData.InvestRewardList[i].RewardIndex))
                {
                    InfoSeriors[(int)vNetData.InvestRewardList[i].RewardIndex] = (int)vNetData.InvestRewardList[i].RewardValue;
                }
            }
            if (FairyJadeInfoSeriorsUpdate != null)
            {
                FairyJadeInfoSeriorsUpdate();
            }
            if (IsOk)
            {
                InvestmentRedPoint();
            }
        }
        //if (vNetData.InvestType == 3)
        //{
        //    InvestmentAmount();
        //    InvestGold = (int)vNetData.InvestGold;
        //    if (InvestmentAmountDic.ContainsKey(InvestGold))
        //    {
        //        InvestmentGrade = InvestmentAmountDic[InvestGold];
        //    }
        //    else
        //    {
        //        InvestmentGrade = 0;
        //    }
        //    for (int i = 0; i < vNetData.RewardRecordCnt; i++)
        //    {
        //        if (InfoSeriors.ContainsKey((int)vNetData.InvestRewardList[i].RewardIndex))
        //        {
        //            InfoSeriors[(int)vNetData.InvestRewardList[i].RewardIndex] = (int)vNetData.InvestRewardList[i].RewardValue;
        //        }
        //    }
        //    if (FairyJadeInfoSeriorsUpdate != null)
        //    {
        //        FairyJadeInfoSeriorsUpdate();
        //    }
        //    if (IsOk)
        //    {
        //        InvestmentRedPoint();
        //    }
        //}
        if (vNetData.InvestType == 3 || vNetData.InvestType == 4 || vNetData.InvestType == 5)
        {
            InvestmentAmount();
            if (BinningDic.ContainsKey(vNetData.InvestType) && InvestmentAmountTypeDic.ContainsKey(vNetData.InvestType))
            {
                var dit = InvestmentAmountTypeDic[vNetData.InvestType];
                if (dit.ContainsKey((int)vNetData.InvestGold))
                {
                    BinningDic[vNetData.InvestType].Money = (int)vNetData.InvestGold;
                    BinningDic[vNetData.InvestType].Binning = dit[(int)vNetData.InvestGold];
                }
            }
            if (InfoSeriorsTypeDic.ContainsKey(vNetData.InvestType))//奖励刷新赋值
            {
                var Dit = InfoSeriorsTypeDic[vNetData.InvestType];
@@ -376,7 +393,10 @@
                }
                InfoSeriorsTypeDic[vNetData.InvestType] = Dit;
            }
            if (FairyJadeInfoSeriorsUpdate != null)
            {
                FairyJadeInfoSeriorsUpdate();
            }
        }
    }
@@ -399,6 +419,7 @@
    public void InvestmentAmount()
    {
        InvestmentAmountType();
        SetBinning();
        if (InvestmentAmountDic.Count <= 0)
        {
            InvestmentAmountDic.Add(VipInvestModel.GetInvestGold(3, 0), 1);
@@ -409,6 +430,19 @@
        }
    }
    private void SetBinning()
    {
        if (BinningDic.Count > 0)
        {
            return;
        }
        BinningClass binning = new BinningClass();
        binning.Money = 0;
        binning.Money = 0;
        BinningDic.Add(3, binning);
        BinningDic.Add(4, binning);
        BinningDic.Add(5, binning);
    }
    private void InvestmentAmountType()
    {
        if (InvestmentAmountTypeDic.Count > 0)
@@ -420,6 +454,7 @@
        Dic.Add(VipInvestModel.GetInvestGold(3, 1), 2);
        Dic.Add(VipInvestModel.GetInvestGold(3, 2), 3);
        Dic.Add(VipInvestModel.GetInvestGold(3, 3), 4);
        RecordSelectNumberMax = VipInvestModel.GetInvestGold(3, 3);
        InvestmentAmountTypeDic.Add(3, Dic);
        InvestmentAmountTypeDic.Add(4, Dic);
        InvestmentAmountTypeDic.Add(5, Dic);
@@ -436,12 +471,20 @@
        int type = -1;
        redPointStre1.state = RedPointState.None;
        int PlayerLV = PlayerDatas.Instance.baseData.LV;
        foreach (var key in FairyJadeInvestmentDic.Keys)
        int InvestmentGrade = GetInvestmentGrade();
        int _type = GetType();
        if (!FairyJadeInvestmentTypeDic.ContainsKey(_type))
        {
            return;
        }
        var Dit = FairyJadeInvestmentTypeDic[_type];
        foreach (var key in Dit.Keys)
        {
            type += 1;
            if (PlayerLV >= key)
            {
                int indexID = FairyJadeInvestmentDic[key].ID;
                int indexID = Dit[key].ID;
                if (InvestmentGrade != 0)
                {
                    int IsReceive = InfoSeriors[indexID];
@@ -453,11 +496,11 @@
                    }
                    else
                    {
                        List<AwardItem> fairyJadeInvestmentItem = FairyJadeInvestmentDic[key].FairyJadeInvestmentItem.GetAwardItem(InvestmentGrade);
                        List<AwardItem> fairyJadeInvestmentItem = Dit[key].FairyJadeInvestmentItem.GetAwardItem(InvestmentGrade);
                        int AtPresentNumber = 0;
                        if (IsReceive != 0)
                        {
                            List<AwardItem> fairyJadeInvestmentItemAdd = FairyJadeInvestmentDic[key].FairyJadeInvestmentItem.GetAwardItem(IsReceive);
                            List<AwardItem> fairyJadeInvestmentItemAdd = Dit[key].FairyJadeInvestmentItem.GetAwardItem(IsReceive);
                            AwardItem itemAdd = fairyJadeInvestmentItemAdd[0];
                            AtPresentNumber = itemAdd.item.count;
                        }
@@ -474,7 +517,7 @@
        int type1 = -1;
        if (JumpInedx == 0 && InvestmentGrade != 0)
        {
            foreach (var key in FairyJadeInvestmentDic.Keys)
            foreach (var key in Dit.Keys)
            {
                type1 += 1;
                if (key > PlayerLV)
@@ -487,6 +530,7 @@
    }
    private void RedPointSate()//月卡投资创角前三天红点
    {
        int InvestGold = GetInvestGold();
        if (InvestGold > 0)
        {
            return;
@@ -532,6 +576,7 @@
    public void MessageNotification()
    {
        var _funcOrder = 0;
        int InvestmentGrade = GetInvestmentGrade();
        if (!OpenServerActivityCenter.Instance.IsAnyActivityOpen(out _funcOrder))
        {
            SysNotifyMgr.Instance.ShowTip("JadeInvestmentLimit1");//信息提示
@@ -561,9 +606,121 @@
                return;
            }
        }
    }
    public int GetType()//获取投资类型
    {
        int type = 3;
        bool Isbool = true;
        int PlayerLV = PlayerDatas.Instance.baseData.LV;
        foreach (var key in BinningDic.Keys)
        {
            if (BinningDic[key].Money != 0)
            {
                Isbool = false;
            }
        }
        if (Isbool)//没有投资过永远为第一档
        {
            return 3;
        }
        bool Isbool3 = false;
        if (FairyJadeInvestmentTypeDic.ContainsKey(3) && InfoSeriorsTypeDic.ContainsKey(3))
        {
            var dit = FairyJadeInvestmentTypeDic[3];
            var dit1 = InfoSeriorsTypeDic[3];
            foreach (var key in dit.Keys)
            {
                if (PlayerLV >= key)
                {
                    int indexID = dit[key].ID;
                    int IsReceive = dit1[indexID];
                    if (IsReceive == 0)
                    {
                        Isbool3 = true;
                    }
                }
            }
        }
        if (Isbool3 || PlayerLV <= 300)
        {
            return 3;
        }
        if (BinningDic.ContainsKey(4) && BinningDic[4].Money == 0)
        {
            return 4;
        }
        bool Isbool4 = false;
        if (FairyJadeInvestmentTypeDic.ContainsKey(4) && InfoSeriorsTypeDic.ContainsKey(4))
        {
            var dit = FairyJadeInvestmentTypeDic[4];
            var dit1 = InfoSeriorsTypeDic[4];
            foreach (var key in dit.Keys)
            {
                if (PlayerLV >= key)
                {
                    int indexID = dit[key].ID;
                    int IsReceive = dit1[indexID];
                    if (IsReceive == 0)
                    {
                        Isbool4 = true;
                    }
                }
            }
        }
        if ((PlayerLV > 300 && PlayerLV <= 400) || Isbool4)
        {
            return 4;
        }
        if (BinningDic.ContainsKey(5) && BinningDic[5].Money == 0)
        {
            return 5;
        }
        bool Isbool5 = false;
        if (FairyJadeInvestmentTypeDic.ContainsKey(5) && InfoSeriorsTypeDic.ContainsKey(5))
        {
            var dit = FairyJadeInvestmentTypeDic[5];
            var dit1 = InfoSeriorsTypeDic[5];
            foreach (var key in dit.Keys)
            {
                if (PlayerLV >= key)
                {
                    int indexID = dit[key].ID;
                    int IsReceive = dit1[indexID];
                    if (IsReceive == 0)
                    {
                        Isbool5 = true;
                    }
                }
            }
        }
        if ((PlayerLV > 400 && PlayerLV <= 500) || Isbool5)
        {
            return 5;
        }
        return type;
    }
    public int GetInvestmentGrade()//获取投资档位
    {
        int InvestmentGrade = 0;
        int type = GetType();
        if (BinningDic.ContainsKey(type))
        {
            InvestmentGrade = BinningDic[type].Binning;
        }
        return InvestmentGrade;
    }
    public int GetInvestGold()//获取投资金额
    {
        int InvestGold = 0;
        int type = GetType();
        if (BinningDic.ContainsKey(type))
        {
            InvestGold = BinningDic[type].Money;
        }
        return InvestGold;
    }
}
System/Vip/FairyJadeInvestmentTipWin.cs
@@ -45,8 +45,9 @@
            m_Text_2.text= VipInvestModel.GetInvestGold(3,1).ToString();
            m_Text_3.text = VipInvestModel.GetInvestGold(3,2).ToString();
            m_Text_4.text = VipInvestModel.GetInvestGold(3, 3).ToString();
            m_AmountOfChoice_2.gameObject.SetActive(true);
            if (fairyJadeInvestmentModel.InvestGold >= VipInvestModel.GetInvestGold(3,0))
            m_AmountOfChoice_2.gameObject.SetActive(true);
            int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
            if (InvestGold >= VipInvestModel.GetInvestGold(3,0))
            {
                m_AmountOfChoice_1.gameObject.SetActive(false);
            }
@@ -54,7 +55,7 @@
            {
                m_AmountOfChoice_1.gameObject.SetActive(true);
            }
            if (fairyJadeInvestmentModel.InvestGold >= VipInvestModel.GetInvestGold(3,1))
            if (InvestGold >= VipInvestModel.GetInvestGold(3,1))
            {
                m_AmountOfChoice_2.gameObject.SetActive(false);
            }
@@ -62,7 +63,7 @@
            {
                m_AmountOfChoice_2.gameObject.SetActive(true);
            }
            if (fairyJadeInvestmentModel.InvestGold >= VipInvestModel.GetInvestGold(3, 2))
            if (InvestGold >= VipInvestModel.GetInvestGold(3, 2))
            {
                m_AmountOfChoice_3.gameObject.SetActive(false);
            }
System/Vip/FairyJadeInvestmentWin.cs
@@ -66,21 +66,22 @@
        protected override void OnPreOpen()
        {
            if (fairyJadeInvestmentModel.InvestGold < fairyJadeInvestmentModel.RecordSelectNumberMax)
            int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
            if (InvestGold < fairyJadeInvestmentModel.RecordSelectNumberMax)
            {
                if (fairyJadeInvestmentModel.InvestGold < VipInvestModel.GetInvestGold(3, 0))
                if (InvestGold < VipInvestModel.GetInvestGold(3, 0))
                {
                    fairyJadeInvestmentModel.SelectNumber = VipInvestModel.GetInvestGold(3, 0);
                }
                else if (fairyJadeInvestmentModel.InvestGold < VipInvestModel.GetInvestGold(3, 1))
                else if (InvestGold < VipInvestModel.GetInvestGold(3, 1))
                {
                    fairyJadeInvestmentModel.SelectNumber = VipInvestModel.GetInvestGold(3, 1);
                }
                else if (fairyJadeInvestmentModel.InvestGold < VipInvestModel.GetInvestGold(3, 2))
                else if (InvestGold < VipInvestModel.GetInvestGold(3, 2))
                {
                    fairyJadeInvestmentModel.SelectNumber = VipInvestModel.GetInvestGold(3, 2);
                }
                else if (fairyJadeInvestmentModel.InvestGold < VipInvestModel.GetInvestGold(3, 3))
                else if (InvestGold < VipInvestModel.GetInvestGold(3, 3))
                {
                    fairyJadeInvestmentModel.SelectNumber = VipInvestModel.GetInvestGold(3, 3);
                }
@@ -91,33 +92,34 @@
                fairyJadeInvestmentModel.SelectNumber = fairyJadeInvestmentModel.RecordSelectNumberMax;
                m_SelectButton.gameObject.SetActive(false);
            }
            if (fairyJadeInvestmentModel.InvestGold <= 0)
            if (InvestGold <= 0)
            {
                m_InvestmentText.text = Language.Get("FairyJadeInvestment_7");
            }
            else
            {
                m_InvestmentText.text = string.Format(Language.Get("FairyJadeInvestment_8"), fairyJadeInvestmentModel.InvestGold);
                m_InvestmentText.text = string.Format(Language.Get("FairyJadeInvestment_8"), InvestGold);
            }
            if (fairyJadeInvestmentModel.InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
            if (InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
            {
                m_JadeText.gameObject.SetActive(false);
            }
            else
            {
                m_JadeText.gameObject.SetActive(true);
                m_JadeText.text = string.Format(Language.Get("FairyJadeInvestment_9"), fairyJadeInvestmentModel.SelectNumber - fairyJadeInvestmentModel.InvestGold);
                m_JadeText.text = string.Format(Language.Get("FairyJadeInvestment_9"), fairyJadeInvestmentModel.SelectNumber - InvestGold);
            }
            IsInvestment();
            GetMoney();
            SetIconKeyImage();
            if (fairyJadeInvestmentModel.InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
            if (InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
            {
                m_TextNumber.text = fairyJadeInvestmentModel.RecordSelectNumberMax.ToString();
            }
            else
            {
                m_TextNumber.text = (fairyJadeInvestmentModel.SelectNumber - fairyJadeInvestmentModel.InvestGold).ToString();
                m_TextNumber.text = (fairyJadeInvestmentModel.SelectNumber - InvestGold).ToString();
            }
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418)
            FairyJadeInvestmentModel.FairyJadeInfoSeriorsUpdate += FairyJadeInfoSeriorsUpdate;
@@ -150,23 +152,24 @@
        private void SelectNumberRefresh()
        {
            if (fairyJadeInvestmentModel.InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
            int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
            if (InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
            {
                m_TextNumber.text = fairyJadeInvestmentModel.RecordSelectNumberMax.ToString();
            }
            else
            {
                m_TextNumber.text = (fairyJadeInvestmentModel.SelectNumber - fairyJadeInvestmentModel.InvestGold).ToString();
                m_TextNumber.text = (fairyJadeInvestmentModel.SelectNumber - InvestGold).ToString();
            }
            SetIconKeyImage();
            if (fairyJadeInvestmentModel.InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
            if (InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
            {
                m_JadeText.gameObject.SetActive(false);
            }
            else
            {
                m_JadeText.gameObject.SetActive(true);
                m_JadeText.text = string.Format(Language.Get("FairyJadeInvestment_9"), fairyJadeInvestmentModel.SelectNumber - fairyJadeInvestmentModel.InvestGold);
                m_JadeText.text = string.Format(Language.Get("FairyJadeInvestment_9"), fairyJadeInvestmentModel.SelectNumber - InvestGold);
            }
            m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
        }
@@ -177,7 +180,8 @@
        #endregion
        private void FairyJadeInfoSeriorsUpdate()
        {
            if (fairyJadeInvestmentModel.InvestGold < fairyJadeInvestmentModel.RecordSelectNumberMax)
            int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
            if (InvestGold < fairyJadeInvestmentModel.RecordSelectNumberMax)
            {
                fairyJadeInvestmentModel.SelectNumber = fairyJadeInvestmentModel.RecordSelectNumberMax;
                m_SelectButton.gameObject.SetActive(true);
@@ -187,31 +191,31 @@
                fairyJadeInvestmentModel.SelectNumber = fairyJadeInvestmentModel.RecordSelectNumberMax;
                m_SelectButton.gameObject.SetActive(false);
            }
            if (fairyJadeInvestmentModel.InvestGold <= 0)
            if (InvestGold <= 0)
            {
                m_InvestmentText.text = Language.Get("FairyJadeInvestment_7");
            }
            else
            {
                m_InvestmentText.text = string.Format(Language.Get("FairyJadeInvestment_8"), fairyJadeInvestmentModel.InvestGold);
                m_InvestmentText.text = string.Format(Language.Get("FairyJadeInvestment_8"), InvestGold);
            }
            if (fairyJadeInvestmentModel.InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
            if (InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
            {
                m_JadeText.gameObject.SetActive(false);
            }
            else
            {
                m_JadeText.gameObject.SetActive(true);
                m_JadeText.text = string.Format(Language.Get("FairyJadeInvestment_9"), fairyJadeInvestmentModel.SelectNumber - fairyJadeInvestmentModel.InvestGold);
                m_JadeText.text = string.Format(Language.Get("FairyJadeInvestment_9"), fairyJadeInvestmentModel.SelectNumber - InvestGold);
            }
            if (fairyJadeInvestmentModel.InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
            if (InvestGold >= fairyJadeInvestmentModel.RecordSelectNumberMax)
            {
                m_TextNumber.text = fairyJadeInvestmentModel.RecordSelectNumberMax.ToString();
            }
            else
            {
                m_TextNumber.text = (fairyJadeInvestmentModel.SelectNumber - fairyJadeInvestmentModel.InvestGold).ToString();
                m_TextNumber.text = (fairyJadeInvestmentModel.SelectNumber - InvestGold).ToString();
            }
            IsInvestment();
            m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见
@@ -220,7 +224,13 @@
        void OnCreateGridLineCell(ScrollerController gridCtrl)//预制体创建
        {
            gridCtrl.Refresh();
            foreach (int key in fairyJadeInvestmentModel.FairyJadeInvestmentDic.Keys)
            int _type = fairyJadeInvestmentModel.GetType();
            if (!fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic.ContainsKey(_type))
            {
                return;
            }
            var Dit = fairyJadeInvestmentModel.FairyJadeInvestmentTypeDic[_type];
            foreach (int key in Dit.Keys)
            {
                gridCtrl.AddCell(ScrollerDataType.Header, key);
            }
@@ -236,11 +246,12 @@
        private void IsInvestment()//是否可投资
        {
            if (fairyJadeInvestmentModel.InvestGold < fairyJadeInvestmentModel.RecordSelectNumberMax)
            int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
            if (InvestGold < fairyJadeInvestmentModel.RecordSelectNumberMax)
            {
                m_MaxInverstment.SetActive(false);
                if (fairyJadeInvestmentModel.InvestGold > 0)
                if (InvestGold > 0)
                {
                    m_Image_AD.SetSprite("XT_VIP_106");
                    m_InvestmentButton.gameObject.SetActive(false);
@@ -264,14 +275,15 @@
        private void InvestmentButton()//仙玉投资
        {
            int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
            if (PlayerDatas.Instance.baseData.LV > 300)
            {
                MessageWin.Inst.ShowFixedTip(Language.Get("HasExceededTheInvestmentGrade_Z"));
                return;
            }
            if (fairyJadeInvestmentModel.InvestGold > 0)
            if (InvestGold > 0)
            {
                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), string.Format(Language.Get("FairyJadeInvestment_2"), fairyJadeInvestmentModel.SelectNumber - fairyJadeInvestmentModel.InvestGold), (bool isOk) =>
                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), string.Format(Language.Get("FairyJadeInvestment_2"), fairyJadeInvestmentModel.SelectNumber - InvestGold), (bool isOk) =>
                 {
                     if (isOk)
                     {
@@ -293,9 +305,10 @@
        private void RealizedInvestment_Button()//追加投资按钮
        {
            if (fairyJadeInvestmentModel.InvestGold > 0)
            int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
            if (InvestGold > 0)
            {
                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), string.Format(Language.Get("FairyJadeInvestment_2"), fairyJadeInvestmentModel.SelectNumber - fairyJadeInvestmentModel.InvestGold), (bool isOk) =>
                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), string.Format(Language.Get("FairyJadeInvestment_2"), fairyJadeInvestmentModel.SelectNumber - InvestGold), (bool isOk) =>
                {
                    if (isOk)
                    {
@@ -319,8 +332,9 @@
        private void ConsumeFairyJade(int fairyJade)
        {
            int InvestGold = fairyJadeInvestmentModel.GetInvestGold();
            int getFairyJade = (int)UIHelper.GetMoneyCnt(1);
            if (getFairyJade >= (fairyJade - fairyJadeInvestmentModel.InvestGold))
            if (getFairyJade >= (fairyJade - InvestGold))
            {
                fairyJadeInvestmentModel.InvestmentMonthlyInvestment(3, fairyJade);
            }