少年修仙传客户端代码仓库
client_linchunjie
2018-10-11 979cbabd993d665c81e2b51358602a04d59b14a7
Merge branch 'master' into 3687天赋功能
2个文件已添加
33个文件已修改
1390 ■■■■■ 已修改文件
Core/GameEngine/DataToCtl/PackageRegedit.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Achievement/AchievementGotoPart3.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Achievement/AchievementModel.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayForDrugVipLackWin.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayForDrugVipLackWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayForDurgModel.cs 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/BlastFurnace/PrayforDrugWin.cs 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/DailyQuest/DailyQuestData.cs 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyGrabBossModel.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/MethodToWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/PlayerMethodData.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PlayerPackModels.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/PlayerStarNumWin.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Login/LoginModel.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/UpgradeWin.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Rank/RankPanel.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/BuyItemPopModel.cs 300 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/Logic/BuyBoxInfoWin.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/Logic/BuyEquipTip.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/Logic/BuyGuardTip.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/Logic/BuyItemInfoWin.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/Logic/BuyPetMatInfoWin.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/Logic/BuyWingsTip.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WingsRefined.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/SystemSetting/SystemSetWin.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/UI3DTreasureSelectStage.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VipInvest/CheckDisplay.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VipInvest/RotatePointer.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VipInvest/WheelOfFortuneModel.cs 248 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Vip/VipInvest/WheelOfFortuneWin.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Welfare/AwardExchangeWin.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/WindowCenter.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowJump/WindowJumpMgr.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/UIHelper.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -381,7 +381,7 @@
        Register(typeof(HA3C0_tagMCDogzInfo), typeof(DTCA3C0_tagMCDogzInfo));
        Register(typeof(HA3C1_tagMCDogzHelpbattleState), typeof(DTCA3C1_tagMCDogzHelpbattleState));
        #endregion
        Register(typeof(HA324_tagMCBindJadeWheelResult),typeof(DTCA324_tagMCBindJadeWheelResult));
    }
    private static void Register(Type _pack, Type _business)
System/Achievement/AchievementGotoPart3.cs
@@ -134,6 +134,20 @@
            {
                guideAchievementId = _achievementId;
            }
        }
        public static void Goto3129(int _achievementId, SuccessConfig config)
        {
            if (config == null) return;
            guideAchievementId = _achievementId;
            var dogzModel = ModelCenter.Instance.GetModel<DogzModel>();
            int dogzId = 0;
            if(config.Condition != null && config.Condition.Length > 0)
            {
                dogzId = config.Condition[0];
            }
            dogzModel.SetSelectDogz(dogzId);
        }
    }
System/Achievement/AchievementModel.cs
@@ -731,6 +731,9 @@
                case 125:
                    AchievementGoto.GotoIceCrystal(_achievementId);
                    break;
                case 129:
                    AchievementGoto.Goto3129(_achievementId, config);
                    break;
            }
        }
System/BlastFurnace/PrayForDrugVipLackWin.cs
New file
@@ -0,0 +1,60 @@
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class PrayForDrugVipLackWin : Window
    {
        [SerializeField] Button m_ViewVip;
        [SerializeField] Button m_Close;
        [SerializeField] Text vipLvText;
        [SerializeField] Text contenetText;
        #region Built-in
        public static int vipLv = 0;
        public static string content;
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_ViewVip.AddListener(ViewVip);
            m_Close.AddListener(CloseClick);
        }
        protected override void OnPreOpen()
        {
            Display();
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void Display()
        {
            vipLvText.text = vipLv.ToString();
            contenetText.text = content;
        }
        private void ViewVip()
        {
            if (VersionConfig.Get().isBanShu)
            {
                SysNotifyMgr.Instance.ShowTip("FuncNoOpen_VIP");
                return;
            }
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc2);
        }
    }
}
System/BlastFurnace/PrayForDrugVipLackWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 55268f4e1c8090748bdbe67d2162fc31
timeCreated: 1539156973
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/BlastFurnace/PrayForDurgModel.cs
@@ -18,6 +18,7 @@
        {
            SetPrayDrugCondi();
            SetPrayDrugDict();
            SetPrayVipLimit();
        }
        public override void UnInit()
@@ -31,7 +32,8 @@
            FuncOpen.Instance.OnFuncStateChangeEvent -= UpdateFuncState;
            blastModel.RefreshStoveModelEvent -= UpdateBlastLv;
            playerPack.RefreshItemSumUseCntAct -= RefreshItemUsce;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= UpdateVipLV;
        }
        public void OnAfterPlayerDataInitialize()
@@ -41,11 +43,21 @@
        public void OnPlayerLoginOk()
        {
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += UpdateVipLV;
            FuncOpen.Instance.OnFuncStateChangeEvent += UpdateFuncState;
            blastModel.RefreshStoveModelEvent += UpdateBlastLv;
            playerPack.RefreshItemSumUseCntAct += RefreshItemUsce;
            SetPrayPrivilegeByVipLv();
            prayDrugRecordKey = StringUtility.Contact(PlayerDatas.Instance.baseData.PlayerID, "PrayDrugRecord");
            SetIsNewDay();
            UpdatePrayDanRedpoint();
        }
        private void UpdateVipLV(PlayerDataRefresh type)
        {
            if (type != PlayerDataRefresh.VIPLv) return;
            SetPrayPrivilegeByVipLv();
            UpdatePrayDanRedpoint();
        }
@@ -94,15 +106,12 @@
        }
        #region 读取本地配置
        public int costMoney { get; private set; }
        public int everyDayNum { get; private set; }
        public int costMoney { get; private set; }
        public int prayPushLv { get; private set;}
        private void SetPrayDrugCondi()
        {
            FuncConfigConfig func = Config.Instance.Get<FuncConfigConfig>("GodAlchemy");
            costMoney = int.Parse(func.Numerical2);
            everyDayNum = int.Parse(func.Numerical3);
            func = Config.Instance.Get<FuncConfigConfig>("GodAlchemyShow");
            prayPushLv = int.Parse(func.Numerical2);
        }
@@ -147,7 +156,10 @@
                if (day != TimeUtility.ServerNow.Day)
                {
                    IsNewDay = true;
                    LocalSave.SetInt(prayDrugRecordKey, TimeUtility.ServerNow.Day);
                    if (CheckIsPray())
                    {
                        LocalSave.SetInt(prayDrugRecordKey, TimeUtility.ServerNow.Day);
                    }
                }
                else
                {
@@ -157,8 +169,37 @@
            else
            {
                IsNewDay = true;
                LocalSave.SetInt(prayDrugRecordKey, TimeUtility.ServerNow.Day);
                if(CheckIsPray())
                {
                    LocalSave.SetInt(prayDrugRecordKey, TimeUtility.ServerNow.Day);
                }
            }
        }
        public int everyDayNum { get; private set; }
        public int minVipLvLimit { get; private set; }
        public void SetPrayPrivilegeByVipLv()
        {
            int vipLv = PlayerDatas.Instance.baseData.VIPLv;
            everyDayNum = VipPrivilegeConfig.GetVipPrivilegeData(VipPrivilegeType.PrayForDrug,vipLv);
        }
        public void SetPrayVipLimit()
        {
            for (int i = 0; i < 16; i++)
            {
                int prayNum = VipPrivilegeConfig.GetVipPrivilegeData(VipPrivilegeType.PrayForDrug, i);
                if(prayNum != 0)
                {
                    minVipLvLimit = i;
                    break;
                }
            }
        }
        public bool CheckIsPrayByVip()
        {
            return PlayerDatas.Instance.baseData.VIPLv >= minVipLvLimit ? true : false;
        }
        #endregion
@@ -223,14 +264,24 @@
        }
        #region 红点
        public bool CheckIsPray()
        {
            if (blastModel.StoveLV < prayPushLv
               || alreadyPrayNum >= everyDayNum
               || GetPrayDruglist().Count < 1)
            {
                return false;
            }
            return true;
        }
        public const int PRAYDRUGREDPOINT_KEY = 110011001;
        private Redpoint prayRedpoint = new Redpoint(BlastFurnaceModel.LINGDANREDPOINT_KEY, PRAYDRUGREDPOINT_KEY);
        public void UpdatePrayDanRedpoint()
        {
            if (blastModel.StoveLV < prayPushLv
                 || alreadyPrayNum >= everyDayNum
                 || GetPrayDruglist().Count < 1
                 || !IsNewDay)
            if ( !CheckIsPray() || !IsNewDay)
            {
                prayRedpoint.state = RedPointState.None;
                return;
@@ -242,8 +293,12 @@
        public void ClearPrayRedpoint()
        {
            prayRedpoint.state = RedPointState.None;
            IsNewDay = false;
            if(prayRedpoint.state != RedPointState.None)
            {
                prayRedpoint.state = RedPointState.None;
                LocalSave.SetInt(prayDrugRecordKey, TimeUtility.ServerNow.Day);
                IsNewDay = false;
            }
        }
        #endregion
    }
System/BlastFurnace/PrayforDrugWin.cs
@@ -10,6 +10,12 @@
        [SerializeField] ScrollerController ctrl;
        [SerializeField] Button prayBtn;
        [SerializeField] Image prayBtnImg;
        [SerializeField] GameObject vipPray;
        [SerializeField] Text prayVipLimit;
        [SerializeField] GameObject unVipPray;
        [SerializeField] GameObject vipLimitText;
        [SerializeField] GameObject prayMoneyGo;
        [SerializeField] Text costText;
        [SerializeField] Button closeBtn;
        [Header("最大格子数")]
@@ -64,15 +70,36 @@
        private void UpdatePrayBtn()
        {
            prayBtn.RemoveAllListeners();
            if (PrayModel.alreadyPrayNum >= PrayModel.everyDayNum)
            if(PrayModel.CheckIsPrayByVip())
            {
                prayBtnImg.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
                vipLimitText.SetActive(false);
                vipPray.SetActive(false);
                unVipPray.SetActive(true);
                if (PrayModel.alreadyPrayNum >= PrayModel.everyDayNum)
                {
                    prayBtnImg.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
                }
                else
                {
                    prayBtn.AddListener(ClickPrayBtn);
                    prayBtnImg.material = MaterialUtility.GetUIDefaultGraphicMaterial();
                }
            }
            else
            {
                prayBtn.AddListener(ClickPrayBtn);
                prayBtnImg.material = MaterialUtility.GetUIDefaultGraphicMaterial();
                prayBtnImg.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
                vipPray.SetActive(true);
                unVipPray.SetActive(false);
                vipLimitText.SetActive(true);
                prayVipLimit.text = StringUtility.Contact("V",PrayModel.minVipLvLimit);
                prayBtn.AddListener(()=>
                {
                    PrayForDrugVipLackWin.vipLv = PrayModel.minVipLvLimit;
                    PrayForDrugVipLackWin.content = Language.Get("BlessingHint", PrayModel.costMoney);
                    WindowCenter.Instance.Open<PrayForDrugVipLackWin>();
                });
            }
        }
        private void ClickPrayBtn()
System/DailyQuest/DailyQuestData.cs
@@ -291,7 +291,7 @@
                for (int i = 0; i < hourMinutes.Count; i++)
                {
                    var hourMinute = hourMinutes[i];
                    if (hour <= hourMinute.hourEnd && minute <= hourMinute.minuteEnd)
                    if (hour < hourMinute.hourEnd || (hour == hourMinute.hourEnd && minute <= hourMinute.minuteEnd))
                    {
                        _hourMinute = hourMinute;
                        break;
@@ -322,7 +322,7 @@
            for (int i = 0; i < hourMinutes.Count; i++)
            {
                var hourMinute = hourMinutes[i];
                if (hour <= hourMinute.hourEnd && minute <= hourMinute.minuteEnd)
                if (hour < hourMinute.hourEnd || (hour == hourMinute.hourEnd && minute <= hourMinute.minuteEnd))
                {
                    _hourMinute = hourMinute;
                    break;
@@ -343,7 +343,26 @@
        var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
        var dayIndex = TimeUtility.OpenDay + 1;
        var maxDays = 15 - openDayWeek == 0 ? 7 : openDayWeek;
        for (int i = dayIndex; i <= maxDays; i++)
        var startDay = dayIndex;
        var createRoleTime = TimeUtility.createRoleTime;
        if (dayIndex == 1 && specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(dayIndex))
        {
            var openServerDay = TimeUtility.ServerNow.AddTicks(-TimeUtility.OpenDay * TimeSpan.TicksPerDay);
            if (createRoleTime.Year == openServerDay.Year && createRoleTime.Month == openServerDay.Month
                && createRoleTime.Day == openServerDay.Day)
            {
                var hourMinutes = specialOpenTimes[openDayWeek][1];
                var hourMinute = hourMinutes[hourMinutes.Count - 1];
                var hour = createRoleTime.Hour;
                var minute = createRoleTime.Minute;
                if (hour > hourMinute.hourEnd ||
                    (hour == hourMinute.hourEnd && minute >= hourMinute.minuteEnd))
                {
                    startDay++;
                }
            }
        }
        for (int i = startDay; i <= maxDays; i++)
        {
            if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(dayIndex))
            {
@@ -370,7 +389,26 @@
        var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
        var dayIndex = TimeUtility.OpenDay + 1;
        var maxDays = 15 - openDayWeek == 0 ? 7 : openDayWeek;
        for (int i = 1; i <= maxDays; i++)
        var startDay = 1;
        var createRoleTime = TimeUtility.createRoleTime;
        if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(1))
        {
            var openServerDay = TimeUtility.ServerNow.AddTicks(-TimeUtility.OpenDay * TimeSpan.TicksPerDay);
            if (createRoleTime.Year == openServerDay.Year && createRoleTime.Month == openServerDay.Month
                && createRoleTime.Day == openServerDay.Day)
            {
                var hourMinutes = specialOpenTimes[openDayWeek][1];
                var hourMinute = hourMinutes[hourMinutes.Count - 1];
                var hour = createRoleTime.Hour;
                var minute = createRoleTime.Minute;
                if (hour > hourMinute.hourEnd ||
                    (hour == hourMinute.hourEnd && minute >= hourMinute.minuteEnd))
                {
                    startDay = 2;
                }
            }
        }
        for (int i = startDay; i <= maxDays; i++)
        {
            if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(dayIndex))
            {
System/FairyAu/FairyGrabBossModel.cs
@@ -107,6 +107,7 @@
            SysNotifyMgr.Instance.sysNotifyEvent += SystemNotifyEvent;
            GlobalTimeEvent.Instance.secondEvent += SecondEvent;
            TimeMgr.Instance.OnMinuteEvent += MinuteEvent;
            TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
            OpenServerActivityCenter.Instance.Register(13, this);
        }
@@ -135,6 +136,19 @@
            SysNotifyMgr.Instance.sysNotifyEvent -= SystemNotifyEvent;
            GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
            TimeMgr.Instance.OnMinuteEvent -= MinuteEvent;
            TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
        }
        private void OnServerOpenDayRefresh()
        {
            if (cacheNoticeOpen != IsOpen)
            {
                cacheNoticeOpen = !cacheNoticeOpen;
                if (onStateUpate != null)
                {
                    onStateUpate((int)OpenServerActivityCenter.OSActivityType.FairyGrabBossNotice);
                }
            }
        }
        private void MinuteEvent()
System/FairyAu/MethodToWin.cs
@@ -330,7 +330,7 @@
                    CA607_tagCMFamilyTechLVUP tag_CA607 = new CA607_tagCMFamilyTechLVUP();
                    tag_CA607.TechID = (uint)indexID;
                    GameNetSystem.Instance.SendInfo(tag_CA607);
                    DebugEx.LogError("输出心法科技需要提升的技能IndexID"+ indexID);
                   // DebugEx.LogError("输出心法科技需要提升的技能IndexID"+ indexID);
                }
                else
                {
System/FairyAu/PlayerMethodData.cs
@@ -62,10 +62,21 @@
        PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= OnRefreshFairyMine;
        PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;//加入仙盟
        PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyMine;//退出仙盟
        PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418)
        PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418)
        FairyAuMethodDic();
        FairyAuMethodRedPoint();
    }
    private void Updatefighting(PlayerDataRefresh obj)
    {
        if (obj == PlayerDataRefresh.LV)
        {
            FairyAuMethodDic();
            FairyAuMethodRedPoint();
        }
    }
    private void OnRefreshFairyInfo()//加入仙盟
    {
        FairyAuHallRedPoint();
System/KnapSack/Logic/PlayerPackModels.cs
@@ -550,6 +550,47 @@
            equipAttrActiveDict.TryGetValue(type,out cnt);
            return cnt;
        }
        public List<int> GetAddAttrIdByStars(out int starsCount)
        {
            starsCount = 0;
            List<int> activeIdlist = new List<int>();
            List<int> addIdlist = new List<int>();
            int activeStars = GetActiveCntByType(1);
            RoleEquipStarsConfig activeStarsConfig = RoleEquipStarsConfig.GetEquipStarsModel(activeStars);
            if(activeStarsConfig != null)
            {
                for(int i = 0; i < activeStarsConfig.attType.Length; i++)
                {
                    activeIdlist.Add(activeStarsConfig.attType[i]);
                }
            }
            List<RoleEquipStarsConfig> starsConfigs = Config.Instance.GetAllValues<RoleEquipStarsConfig>();
            for (int i = 0; i < starsConfigs.Count; i++)
            {
                bool isAddId = false;
                RoleEquipStarsConfig starsConfig = starsConfigs[i];
                if (activeStars < starsConfig.countNeed)
                {
                    for(int j = 0; j < starsConfig.attType.Length; j++)
                    {
                        int attrId = starsConfig.attType[j];
                        if (!activeIdlist.Contains(attrId))
                        {
                            isAddId = true;
                            addIdlist.Add(attrId);
                        }
                    }
                }
                if(isAddId)
                {
                    starsCount = starsConfig.countNeed;
                    break;
                }
            }
            return addIdlist;
        }
        #endregion
        #endregion
System/KnapSack/Logic/PlayerStarNumWin.cs
@@ -23,6 +23,7 @@
        [SerializeField] Button activityBtn;
        [SerializeField] Text activeBtnText;
        [SerializeField] UIEffect successEffect;
        [SerializeField] Text addAttrText;
        private int _curStarsCount;
        private PlayerPropertyConfig _playerProModel;
@@ -155,6 +156,27 @@
                nextNoActObj.SetActive(true);
                RefreshActiveBtnUI(false);
            }
            int addAttrStarsNum = 0;
            List<int> addIdlist = playerPack.GetAddAttrIdByStars(out addAttrStarsNum);
            if(addIdlist.Count > 0)
            {
                addAttrText.gameObject.SetActive(true);
                string addAttr = "";
                for(int i = 0; i < addIdlist.Count; i++)
                {
                    PlayerPropertyConfig propertyConfig = Config.Instance.Get<PlayerPropertyConfig>(addIdlist[i]);
                    if(propertyConfig != null)
                    {
                        addAttr = StringUtility.Contact(addAttr, propertyConfig.Name);
                    }
                }
                addAttrText.text = Language.Get("KnapS148",addAttrStarsNum,addAttr);
            }
            else
            {
                addAttrText.gameObject.SetActive(false);
            }
        }
        private void RefreshActiveBtnUI(bool isActive)
System/Login/LoginModel.cs
@@ -296,6 +296,8 @@
                    }else if(SDKUtility.Instance.ChannelPlatform == SDKUtility.E_ChannelPlatform.Js)
                    {
                        send.IDType = 4;
                        send.Extra += ("|" + sdkLoginResult.token);
                        send.ExtraLen = (byte)send.Extra.Length;
                    }
                    send.AccID = sdkLoginResult.account;
                    send.Password = sdkLoginResult.token;
System/MainInterfacePanel/UpgradeWin.cs
@@ -15,8 +15,10 @@
    public class UpgradeWin : Window
    {
        [SerializeField] ScaleTween m_ScaleTween;
        [SerializeField] UIAlphaTween m_UIAlphaTween;
        [SerializeField] Text m_TextLV;
        [SerializeField] UIEffect m_UIEffect;
        public float Delay = 0.5f;
        #region Built-in
        protected override void BindController()
        {
@@ -28,13 +30,18 @@
        protected override void OnPreOpen()
        {
            m_UIAlphaTween.SetStartState();
            m_TextLV.text = PlayerDatas.Instance.baseData.LV.ToString();
        }
        protected override void OnActived()
        {
            m_UIEffect.Play();
            m_UIEffect.OnComplete = () => { CloseImmediately(); };
            m_ScaleTween.Play();
            m_UIEffect.OnComplete = () =>
            {
                StopCoroutine(DelayIEnumerator());
                Close();
            };
            m_ScaleTween.Play(false, () => { StartCoroutine(DelayIEnumerator()); });
        }
        protected override void OnAfterOpen()
        {
@@ -54,11 +61,18 @@
        protected override void OnAfterClose()
        {
        }
        IEnumerator DelayIEnumerator()
        {
            yield return new WaitForSeconds(Delay);
            m_UIAlphaTween.Play();
        }
        #endregion
        private void windowBeforeClose(Window _window)
        {
            if (_window is MainInterfaceWin)
            {
                StopCoroutine(DelayIEnumerator());
                Close();
            }
        }
System/Rank/RankPanel.cs
@@ -278,6 +278,10 @@
        private void OnRankListClick(CellView cell)
        {
            int index = cell.index;
            if (model.rankList == null)
            {
                return;
            }
            if (index < model.rankList.Count)
            {
                if (model.rankList[index].ID == PlayerDatas.Instance.baseData.PlayerID)
System/Store/BuyItemPopModel.cs
@@ -1,140 +1,162 @@
using Snxxz.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TableConfig;
public class BuyItemPopModel : Singleton<BuyItemPopModel>
{
    public StoreConfig storeConfig { get; private set; }
    public void SetModel(int shopId)
    {
        storeConfig = Config.Instance.Get<StoreConfig>(shopId);
    }
    public Dictionary<int, int> vipBuyCntDict = new Dictionary<int, int>();
    public bool CheckIsVipBuy(StoreConfig model,out int curVipIndex,out int nextVipIndex)
    {
        vipBuyCntDict.Clear();
        curVipIndex = -1;
        nextVipIndex = -1;
        bool isVipBuy = false;
        if (model == null) return isVipBuy;
        if (model.VIPLV.Length < 2)
        {
            if (model.VIPLV[0] != 0)
            {
                isVipBuy = true;
            }
            else
            {
                isVipBuy = false;
            }
        }
        else
        {
            isVipBuy = true;
        }
        if(isVipBuy)
        {
            for (int i = model.VIPLV.Length-1; i > -1; i--)
            {
                vipBuyCntDict.Add(model.VIPLV[i], model.PurchaseNumber[i]);
            }
            int playerVip = PlayerDatas.Instance.baseData.VIPLv;
            for (int i = model.VIPLV.Length - 1; i > -1; i--)
            {
                if (model.VIPLV[i] > playerVip)
                {
                    nextVipIndex = i;
                }
                else if(model.VIPLV[i] <= playerVip)
                {
                    curVipIndex = i;
                    break;
                }
            }
        }
        return isVipBuy;
    }
    public bool CheckIsLimitBuyCnt(StoreConfig model,out int canBuyCnt,out int addBuyCnt)
    {
        canBuyCnt = 0;
        addBuyCnt = 0;
        if (model == null) return false;
        int[] canBuyNums = model.PurchaseNumber;
        int curVipIndex = -1;
        int nexVipIndex = -1;
        bool isVipBuy = CheckIsVipBuy(model, out curVipIndex, out nexVipIndex);
        if (isVipBuy)
        {
            if (curVipIndex != -1)
            {
                canBuyCnt = canBuyNums[curVipIndex];
            }
            if (nexVipIndex != -1)
            {
                addBuyCnt = canBuyNums[nexVipIndex] - canBuyCnt;
            }
            return true;
        }
        else
        {
            if (canBuyNums[0] != 0)
            {
                canBuyCnt = canBuyNums[0];
                return true;
            }
            else
            {
                return false;
            }
        }
    }
    public int GetCurBuyCnt(int buyCnt,int canBuyCnt,bool isVipBuy,out bool IsReachUpper)
    {
        int count = 0;
        IsReachUpper = false;
        if(canBuyCnt == 0)
using Snxxz.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TableConfig;
public class BuyItemPopModel : Singleton<BuyItemPopModel>
{
    public StoreConfig storeConfig { get; private set; }
    public void SetModel(int shopId)
    {
        storeConfig = Config.Instance.Get<StoreConfig>(shopId);
    }
    public Dictionary<int, int> vipBuyCntDict = new Dictionary<int, int>();
    public bool CheckIsVipBuy(StoreConfig model,out int curVipIndex,out int nextVipIndex)
    {
        vipBuyCntDict.Clear();
        curVipIndex = -1;
        nextVipIndex = -1;
        bool isVipBuy = false;
        if (model == null) return isVipBuy;
        if (model.VIPLV.Length < 2)
        {
            IsReachUpper = true;
            count = 0;
        }
        else
        {
            if(buyCnt <= canBuyCnt)
            {
                count = buyCnt;
            }
            else
            {
                count = canBuyCnt;
                IsReachUpper = true;
            }
        }
        if(count < 0)
        {
            count = 0;
        }
        return count;
    }
    public int GetBuyPrice(StoreConfig model,int buyCnt)
    {
        if (model == null) return 0;
        int buyItemPrice = model.MoneyNumber * buyCnt;
        return buyItemPrice;
    }
}
            if (model.VIPLV[0] != 0)
            {
                isVipBuy = true;
            }
            else
            {
                isVipBuy = false;
            }
        }
        else
        {
            isVipBuy = true;
        }
        if(isVipBuy)
        {
            for (int i = model.VIPLV.Length-1; i > -1; i--)
            {
                vipBuyCntDict.Add(model.VIPLV[i], model.PurchaseNumber[i]);
            }
            int playerVip = PlayerDatas.Instance.baseData.VIPLv;
            for (int i = model.VIPLV.Length - 1; i > -1; i--)
            {
                if (model.VIPLV[i] > playerVip)
                {
                    nextVipIndex = i;
                }
                else if(model.VIPLV[i] <= playerVip)
                {
                    curVipIndex = i;
                    break;
                }
            }
        }
        return isVipBuy;
    }
    public bool CheckIsLimitBuyCnt(StoreConfig model,out int canBuyCnt,out int addBuyCnt)
    {
        canBuyCnt = 0;
        addBuyCnt = 0;
        if (model == null) return false;
        int[] canBuyNums = model.PurchaseNumber;
        int curVipIndex = -1;
        int nexVipIndex = -1;
        bool isVipBuy = CheckIsVipBuy(model, out curVipIndex, out nexVipIndex);
        if (isVipBuy)
        {
            if (curVipIndex != -1)
            {
                canBuyCnt = canBuyNums[curVipIndex];
            }
            if (nexVipIndex != -1)
            {
                addBuyCnt = canBuyNums[nexVipIndex] - canBuyCnt;
            }
            return true;
        }
        else
        {
            if (canBuyNums[0] != 0)
            {
                canBuyCnt = canBuyNums[0];
                return true;
            }
            else
            {
                return false;
            }
        }
    }
    public int GetCurBuyCnt(int buyCnt,int remainBuyCnt,out bool IsReachUpper)
    {
        int count = 0;
        IsReachUpper = false;
        if(remainBuyCnt == 0)
        {
            IsReachUpper = true;
            count = 0;
        }
        else
        {
            if(buyCnt <= remainBuyCnt)
            {
                count = buyCnt;
            }
            else
            {
                count = remainBuyCnt;
                IsReachUpper = true;
            }
        }
        if(count < 0)
        {
            count = 0;
        }
        return count;
    }
    public int GetRemainBuyCnt(int canBuyCnt,BuyShopItemLimit shopItemLimit,bool isVipBuy)
    {
        int haveBuyCnt = 0;
        if (shopItemLimit != null)
        {
            haveBuyCnt = shopItemLimit.BuyCnt;
        }
        if (canBuyCnt <= 0 && !isVipBuy)
        {
            canBuyCnt = 9999;
        }
        int remainCnt = canBuyCnt - haveBuyCnt;
        if (remainCnt >= 0)
        {
            return remainCnt;
        }
        else
        {
            return 0;
        }
    }
    public int GetBuyPrice(StoreConfig model,int buyCnt)
    {
        if (model == null) return 0;
        int buyItemPrice = model.MoneyNumber * buyCnt;
        return buyItemPrice;
    }
}
System/Store/Logic/BuyBoxInfoWin.cs
@@ -336,16 +336,7 @@
            int addBuyCnt = 0;
            bool isLimitCnt = buyItem.CheckIsLimitBuyCnt(buyItem.storeConfig,out canBuyCnt,out addBuyCnt);
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(1, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            if (itemTipsModel.curAttrData.itemConfig.PackCount > 1)
            {
                numberGo.gameObject.SetActive(true);
            }
            else
            {
                numberGo.gameObject.SetActive(false);
            }
            buyCnt = buyItem.GetCurBuyCnt(1, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            if(isVipBuy)
            {
                if(nextVipIndex != -1)
@@ -365,7 +356,7 @@
                else
                {
                    buyBtn.gameObject.SetActive(false);
                    buyCnt = buyItem.GetCurBuyCnt(0, canBuyCnt, isVipBuy, out isReachUpper);
                    buyCnt = buyItem.GetCurBuyCnt(0, canBuyCnt, out isReachUpper);
                }
            }
            else
@@ -402,15 +393,24 @@
            if (_price <= 0)
            {
                numberGo.gameObject.SetActive(false);
                moneyRect.gameObject.SetActive(false);
                buyBtnText.text = Language.Get("MailReceive");
            }
            else
            {
                numberGo.gameObject.SetActive(true);
                moneyRect.gameObject.SetActive(true);
                buyBtnText.text = Language.Get("ItemHandle_buy");
            }
            if (_price <= 0 || itemTipsModel.curAttrData.itemConfig.PackCount < 2)
            {
                numberGo.gameObject.SetActive(false);
            }
            else
            {
                numberGo.gameObject.SetActive(true);
            }
        }
        #region 点击事件
@@ -419,28 +419,10 @@
            numKeyboard.gameObject.SetActive(true);
        }
        private int GetRemainBuyCnt()
        {
            int haveBuyCnt = 0;
            if (shopItemLimit != null)
            {
                haveBuyCnt = shopItemLimit.BuyCnt;
            }
            int remainCnt = canBuyCnt - haveBuyCnt;
            if (remainCnt >= 0)
            {
                return remainCnt;
            }
            else
            {
                return 0;
            }
        }
        private void OnClickNum()
        {
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(int.Parse(numKeyboard.Value),GetRemainBuyCnt(), isVipBuy,out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(int.Parse(numKeyboard.Value), buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy),out isReachUpper);
            RefreshBuyPrice(buyCnt);
            numKeyboard.Value = buyCnt.ToString();
            if (isReachUpper)
@@ -462,7 +444,7 @@
        {
            buyCnt += 1;
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            buyCountText.text = buyCnt.ToString();
            RefreshBuyPrice(buyCnt);
            if (isReachUpper)
@@ -475,7 +457,7 @@
        {
            buyCnt -= 1;
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, GetRemainBuyCnt(), isVipBuy,out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy),out isReachUpper);
            buyCountText.text = buyCnt.ToString();
            RefreshBuyPrice(buyCnt);
        }
System/Store/Logic/BuyEquipTip.cs
@@ -690,16 +690,7 @@
            int addBuyCnt = 0;
            bool isLimitCnt = buyItem.CheckIsLimitBuyCnt(buyItem.storeConfig, out canBuyCnt, out addBuyCnt);
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(1, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            if (itemAttrData.itemConfig.PackCount > 1)
            {
                _numberGo.gameObject.SetActive(true);
            }
            else
            {
                _numberGo.gameObject.SetActive(false);
            }
            buyCnt = buyItem.GetCurBuyCnt(1, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            if (isVipBuy)
            {
                if (nextVipIndex != -1)
@@ -719,7 +710,7 @@
                else
                {
                    btnGroup.gameObject.SetActive(false);
                    buyCnt = buyItem.GetCurBuyCnt(0, canBuyCnt, isVipBuy, out isReachUpper);
                    buyCnt = buyItem.GetCurBuyCnt(0, canBuyCnt, out isReachUpper);
                }
            }
            else
@@ -797,15 +788,24 @@
            if (_price <= 0)
            {
                _numberGo.gameObject.SetActive(false);
                moneyRect.gameObject.SetActive(false);
                buyBtnText.text = Language.Get("MailReceive");
            }
            else
            {
                _numberGo.gameObject.SetActive(true);
                moneyRect.gameObject.SetActive(true);
                buyBtnText.text = Language.Get("ItemHandle_buy");
            }
            if (_price <= 0 || itemAttrData.itemConfig.PackCount < 2)
            {
                _numberGo.gameObject.SetActive(false);
            }
            else
            {
                _numberGo.gameObject.SetActive(true);
            }
        }
@@ -814,27 +814,11 @@
        {
            numKeyboard.gameObject.SetActive(true);
        }
        private int GetRemainBuyCnt()
        {
            int haveBuyCnt = 0;
            if (shopItemLimit != null)
            {
                haveBuyCnt = shopItemLimit.BuyCnt;
            }
            int remainCnt = canBuyCnt - haveBuyCnt;
            if (remainCnt >= 0)
            {
                return remainCnt;
            }
            else
            {
                return 0;
            }
        }
        private void OnClickNum()
        {
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(int.Parse(numKeyboard.Value), GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(int.Parse(numKeyboard.Value), buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            RefreshBuyPrice(buyCnt);
            numKeyboard.Value = buyCnt.ToString();
            if (isReachUpper)
@@ -857,7 +841,7 @@
        {
            buyCnt += 1;
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            buyCountText.text = buyCnt.ToString();
            RefreshBuyPrice(buyCnt);
            m_storeModel.SetBuyCnt(buyCnt);
@@ -872,7 +856,7 @@
        {
            buyCnt -= 1;
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            buyCountText.text = buyCnt.ToString();
            RefreshBuyPrice(buyCnt);
            m_storeModel.SetBuyCnt(buyCnt);
System/Store/Logic/BuyGuardTip.cs
@@ -398,16 +398,7 @@
            int addBuyCnt = 0;
            bool isLimitCnt = buyItem.CheckIsLimitBuyCnt(buyItem.storeConfig, out canBuyCnt, out addBuyCnt);
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(1, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            if (itemAttrData.itemConfig.PackCount > 1)
            {
                _numberGo.gameObject.SetActive(true);
            }
            else
            {
                _numberGo.gameObject.SetActive(false);
            }
            buyCnt = buyItem.GetCurBuyCnt(1, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit,isVipBuy), out isReachUpper);
            if (isVipBuy)
            {
                if (nextVipIndex != -1)
@@ -427,7 +418,7 @@
                else
                {
                    buyBtn.gameObject.SetActive(false);
                    buyCnt = buyItem.GetCurBuyCnt(0, canBuyCnt, isVipBuy, out isReachUpper);
                    buyCnt = buyItem.GetCurBuyCnt(0, canBuyCnt, out isReachUpper);
                }
            }
            else
@@ -474,15 +465,24 @@
            if (_price <= 0)
            {
                _numberGo.gameObject.SetActive(false);
                moneyRect.gameObject.SetActive(false);
                buyBtnText.text = Language.Get("MailReceive");
            }
            else
            {
                _numberGo.gameObject.SetActive(true);
                moneyRect.gameObject.SetActive(true);
                buyBtnText.text = Language.Get("ItemHandle_buy");
            }
            if (_price <= 0 || itemAttrData.itemConfig.PackCount < 2)
            {
                _numberGo.gameObject.SetActive(false);
            }
            else
            {
                _numberGo.gameObject.SetActive(true);
            }
        }
        #region 点击事件
@@ -491,28 +491,10 @@
            numKeyboard.gameObject.SetActive(true);
        }
        private int GetRemainBuyCnt()
        {
            int haveBuyCnt = 0;
            if (shopItemLimit != null)
            {
                haveBuyCnt = shopItemLimit.BuyCnt;
            }
            int remainCnt = canBuyCnt - haveBuyCnt;
            if (remainCnt >= 0)
            {
                return remainCnt;
            }
            else
            {
                return 0;
            }
        }
        private void OnClickNum()
        {
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(int.Parse(numKeyboard.Value), GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(int.Parse(numKeyboard.Value), buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            RefreshBuyPrice(buyCnt);
            numKeyboard.Value = buyCnt.ToString();
            if (isReachUpper)
@@ -535,7 +517,7 @@
        {
            buyCnt += 1;
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            buyCountText.text = buyCnt.ToString();
            RefreshBuyPrice(buyCnt);
            if (isReachUpper)
@@ -549,7 +531,7 @@
        {
            buyCnt -= 1;
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            buyCountText.text = buyCnt.ToString();
            RefreshBuyPrice(buyCnt);
System/Store/Logic/BuyItemInfoWin.cs
@@ -326,16 +326,8 @@
            int addBuyCnt = 0;
            bool isLimitCnt = buyItem.CheckIsLimitBuyCnt(buyItem.storeConfig,out canBuyCnt,out addBuyCnt);
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(1, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            if (itemTipsModel.curAttrData.itemConfig.PackCount > 1)
            {
                numberGo.gameObject.SetActive(true);
            }
            else
            {
                numberGo.gameObject.SetActive(false);
            }
            buyCnt = buyItem.GetCurBuyCnt(1,buyItem.GetRemainBuyCnt(canBuyCnt,shopItemLimit, isVipBuy), out isReachUpper);
            buyBtn.gameObject.SetActive(true);
            if (isVipBuy)
@@ -357,7 +349,7 @@
                else
                {
                    buyBtn.gameObject.SetActive(false);
                    buyCnt = buyItem.GetCurBuyCnt(0, canBuyCnt, isVipBuy, out isReachUpper);
                    buyCnt = buyItem.GetCurBuyCnt(0, canBuyCnt, out isReachUpper);
                }
            }
            else
@@ -433,39 +425,31 @@
                buyPriceText.text = UIHelper.GetTextColorByItemColor(TextColType.Green, _price.ToString());
            }
            if(_price <= 0)
            if (_price <= 0)
            {
                numberGo.gameObject.SetActive(false);
                moneyRect.gameObject.SetActive(false);
                buyBtnText.text = Language.Get("MailReceive");
            }
            else
            {
                numberGo.gameObject.SetActive(true);
                moneyRect.gameObject.SetActive(true);
                buyBtnText.text = Language.Get("ItemHandle_buy");
                moneyRect.gameObject.SetActive(true);
            }
            if (_price <= 0 || itemTipsModel.curAttrData.itemConfig.PackCount < 2)
            {
                numberGo.gameObject.SetActive(false);
            }
            else
            {
                numberGo.gameObject.SetActive(true);
            }
        }
        #region 点击事件
        private int GetRemainBuyCnt()
        {
            int haveBuyCnt = 0;
            if(shopItemLimit != null)
            {
                haveBuyCnt = shopItemLimit.BuyCnt;
            }
            int remainCnt = canBuyCnt - haveBuyCnt;
            if(remainCnt >= 0)
            {
                return remainCnt;
            }
            else
            {
                return 0;
            }
        }
        private void OnClickCountBtn()
        {
            numKeyboard.gameObject.SetActive(true);
@@ -474,7 +458,7 @@
        private void OnClickNum()
        {
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(int.Parse(numKeyboard.Value), GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(int.Parse(numKeyboard.Value),buyItem.GetRemainBuyCnt(canBuyCnt,shopItemLimit, isVipBuy), out isReachUpper);
            RefreshBuyPrice(buyCnt);
            numKeyboard.Value = buyCnt.ToString();
            if (isReachUpper)
@@ -496,7 +480,7 @@
        {
            bool isReachUpper = false;
            buyCnt += 1;
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, buyItem.GetRemainBuyCnt(canBuyCnt,shopItemLimit, isVipBuy), out isReachUpper);
            buyCountText.text = buyCnt.ToString();
            RefreshBuyPrice(buyCnt);
            if (isReachUpper || buyCnt == 0)
@@ -509,7 +493,7 @@
        {
            bool isReachUpper = false;
            buyCnt -= 1;
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(buyCnt,buyItem.GetRemainBuyCnt(canBuyCnt,shopItemLimit, isVipBuy), out isReachUpper);
            buyCountText.text = buyCnt.ToString();
            RefreshBuyPrice(buyCnt);
        }
System/Store/Logic/BuyPetMatInfoWin.cs
@@ -307,16 +307,7 @@
            int addBuyCnt = 0;
            bool isLimitCnt = buyItem.CheckIsLimitBuyCnt(buyItem.storeConfig,out canBuyCnt,out addBuyCnt);
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(1, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            if (itemTipsModel.curAttrData.itemConfig.PackCount > 1)
            {
                numberGo.gameObject.SetActive(true);
            }
            else
            {
                numberGo.gameObject.SetActive(false);
            }
            buyCnt = buyItem.GetCurBuyCnt(1, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            buyBtn.gameObject.SetActive(true);
            if (isVipBuy)
@@ -338,7 +329,7 @@
                else
                {
                    buyBtn.gameObject.SetActive(false);
                    buyCnt = buyItem.GetCurBuyCnt(0, canBuyCnt, isVipBuy, out isReachUpper);
                    buyCnt = buyItem.GetCurBuyCnt(0, canBuyCnt, out isReachUpper);
                }
            }
            else
@@ -416,36 +407,28 @@
            if (_price <= 0)
            {
                numberGo.gameObject.SetActive(false);
                moneyRect.gameObject.SetActive(false);
                buyBtnText.text = Language.Get("MailReceive");
            }
            else
            {
                numberGo.gameObject.SetActive(true);
                moneyRect.gameObject.SetActive(true);
                buyBtnText.text = Language.Get("ItemHandle_buy");
                moneyRect.gameObject.SetActive(true);
            }
        }
        #region 点击事件
        private int GetRemainBuyCnt()
        {
            int haveBuyCnt = 0;
            if(shopItemLimit != null)
            if (_price <= 0 || itemTipsModel.curAttrData.itemConfig.PackCount < 2)
            {
                haveBuyCnt = shopItemLimit.BuyCnt;
            }
            int remainCnt = canBuyCnt - haveBuyCnt;
            if(remainCnt >= 0)
            {
                return remainCnt;
                numberGo.gameObject.SetActive(false);
            }
            else
            {
                return 0;
                numberGo.gameObject.SetActive(true);
            }
        }
        #region 点击事件
        private void OnClickCountBtn()
        {
            numKeyboard.gameObject.SetActive(true);
@@ -454,7 +437,7 @@
        private void OnClickNum()
        {
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(int.Parse(numKeyboard.Value),GetRemainBuyCnt(), isVipBuy,out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(int.Parse(numKeyboard.Value), buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy),out isReachUpper);
            RefreshBuyPrice(buyCnt);
            numKeyboard.Value = buyCnt.ToString();
            if (isReachUpper)
@@ -476,7 +459,7 @@
        {
            buyCnt += 1;
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(buyCnt,GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            buyCountText.text = buyCnt.ToString();
            RefreshBuyPrice(buyCnt);
            if (isReachUpper)
@@ -489,7 +472,7 @@
        {
            buyCnt -= 1;
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, GetRemainBuyCnt(), isVipBuy,out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy),out isReachUpper);
            buyCountText.text = buyCnt.ToString();
            RefreshBuyPrice(buyCnt);
        }
System/Store/Logic/BuyWingsTip.cs
@@ -361,16 +361,7 @@
            int addBuyCnt = 0;
            bool isLimitCnt = buyItem.CheckIsLimitBuyCnt(buyItem.storeConfig, out canBuyCnt, out addBuyCnt);
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(1, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            if (itemAttrData.itemConfig.PackCount > 1)
            {
                numberGo.gameObject.SetActive(true);
            }
            else
            {
                numberGo.gameObject.SetActive(false);
            }
            buyCnt = buyItem.GetCurBuyCnt(1, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            if (isVipBuy)
            {
                if (nextVipIndex != -1)
@@ -390,7 +381,7 @@
                else
                {
                    buyBtn.gameObject.SetActive(false);
                    buyCnt = buyItem.GetCurBuyCnt(0, canBuyCnt, isVipBuy, out isReachUpper);
                    buyCnt = buyItem.GetCurBuyCnt(0, canBuyCnt, out isReachUpper);
                }
            }
            else
@@ -433,18 +424,26 @@
            {
                buyPriceText.text = UIHelper.GetTextColorByItemColor(TextColType.Green, _price.ToString());
            }
            if (_price <= 0)
            {
                numberGo.gameObject.SetActive(false);
                moneyRect.gameObject.SetActive(false);
                buyBtnText.text = Language.Get("MailReceive");
            }
            else
            {
                numberGo.gameObject.SetActive(true);
                moneyRect.gameObject.SetActive(true);
                buyBtnText.text = Language.Get("ItemHandle_buy");
            }
            if(_price <= 0 || itemAttrData.itemConfig.PackCount < 2)
            {
                numberGo.gameObject.SetActive(false);
            }
            else
            {
                numberGo.gameObject.SetActive(true);
            }
        }
        #region 点击事件
@@ -453,28 +452,10 @@
            numKeyboard.gameObject.SetActive(true);
        }
        private int GetRemainBuyCnt()
        {
            int haveBuyCnt = 0;
            if (shopItemLimit != null)
            {
                haveBuyCnt = shopItemLimit.BuyCnt;
            }
            int remainCnt = canBuyCnt - haveBuyCnt;
            if (remainCnt >= 0)
            {
                return remainCnt;
            }
            else
            {
                return 0;
            }
        }
        private void OnClickNum()
        {
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(int.Parse(numKeyboard.Value), GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(int.Parse(numKeyboard.Value), buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            RefreshBuyPrice(buyCnt);
            numKeyboard.Value = buyCnt.ToString();
            if (isReachUpper)
@@ -496,7 +477,7 @@
        {
            buyCnt += 1;
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            buyCountText.text = buyCnt.ToString();
            RefreshBuyPrice(buyCnt);
            if (isReachUpper)
@@ -509,7 +490,7 @@
        {
            buyCnt -= 1;
            bool isReachUpper = false;
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, GetRemainBuyCnt(), isVipBuy, out isReachUpper);
            buyCnt = buyItem.GetCurBuyCnt(buyCnt, buyItem.GetRemainBuyCnt(canBuyCnt, shopItemLimit, isVipBuy), out isReachUpper);
            buyCountText.text = buyCnt.ToString();
            RefreshBuyPrice(buyCnt);
System/Strengthening/WingsRefined.cs
@@ -282,7 +282,8 @@
        ItemModel itemModel = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retWing);
        if (itemModel == null)
        var WingItem = Config.Instance.Get<WingRefineExpConfig>(itemModel.itemId);
        if (itemModel == null || WingItem == null)
            return;
        int YRefiningRatioMin = 0;//预览生命比值
System/SystemSetting/SystemSetWin.cs
@@ -24,6 +24,7 @@
        [SerializeField] Text m_SyncPlayerCount;
        [SerializeField] Button m_SwitchAccountBtn;
        [SerializeField] Button m_SwitchServer;
        [SerializeField] Text m_SwitchAccountTitle;
        [SerializeField] Button m_LockScreenBtn;
        [SerializeField] Button m_ServiceBulletinsBtn;
@@ -58,6 +59,7 @@
            m_SyncPlayerSlider.AddListener(OnPlayerSyncCountChange);
            m_SwitchAccountBtn.AddListener(ClickSwitchAccountBtn);
            m_SwitchServer.SetListener(ClickSwitchServerButton);
            m_LockScreenBtn.AddListener(ClickLockScreen);
            m_CopyBtn.AddListener(ClickCopyBtn);
            m_AntiAddition.AddListener(AntiAdditction);
@@ -249,6 +251,11 @@
            }
        }
        private void ClickSwitchServerButton()
        {
            GameNetSystem.Instance.LoginOut();
        }
        private void ClickLockScreen()
        {
            if (!WindowJumpMgr.Instance.IsJumpState)
System/Treasure/UI3DTreasureSelectStage.cs
@@ -219,6 +219,7 @@
        private Dictionary<TreasureCategory, List<TreasureComponent>> m_Treasures = new Dictionary<TreasureCategory, List<TreasureComponent>>();
        private Dictionary<TreasureCategory, bool> m_PreloadDict = new Dictionary<TreasureCategory, bool>();
        Coroutine preloadCoroutine = null;
        private void InitTreasure()
        {
            Load(TreasureCategory.Human);
@@ -417,6 +418,12 @@
            HideAllTreasure();
            InitScene();
            if (preloadCoroutine != null)
            {
                StopCoroutine(preloadCoroutine);
                preloadCoroutine = null;
            }
            if (!m_PreloadDict.ContainsKey(currentCategory) && !_closer)
            {
                Preloading = true;
@@ -424,15 +431,16 @@
                current_angle = 0;
                before_angle = 0;
                before_drag_angle = current_angle;
                StartCoroutine(Co_PreLoad(currentCategory, () =>
                {
                    if (!m_PreloadDict.ContainsKey(currentCategory))
                    {
                        m_PreloadDict.Add(currentCategory, true);
                    }
                    GoTreasureFromHeader(_index);
                    Preloading = false;
                }));
                preloadCoroutine = StartCoroutine(Co_PreLoad(currentCategory, () =>
                  {
                      if (!m_PreloadDict.ContainsKey(currentCategory))
                      {
                          m_PreloadDict.Add(currentCategory, true);
                      }
                      GoTreasureFromHeader(_index);
                      Preloading = false;
                      preloadCoroutine = null;
                  }));
            }
            else
            {
@@ -596,6 +604,10 @@
        public void Goto(int _index, bool _force = false)
        {
            var _list = m_Treasures[currentCategory];
            if (_index < 0 || _index >= _list.Count)
            {
                _index = 0;
            }
            jumpTreasure = _list[_index].treasureId;
            if (!_force && _index == presentSelectIndex)
            {
System/Vip/VipInvest/CheckDisplay.cs
@@ -5,10 +5,12 @@
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;
namespace Snxxz.UI {
    public class CheckDisplay:MonoBehaviour {
        public static event Action EndOfFlashing;
        [SerializeField] Image m_Image1;
        [SerializeField] Image m_Image2;
        [SerializeField] Image m_Image3;
@@ -17,8 +19,32 @@
        [SerializeField] Image m_Image6;
        [SerializeField] Image m_Image7;
        [SerializeField] Image m_Image8;
        [SerializeField] Image m_Image9;
        [SerializeField] Image m_Image9;
        [Header("闪烁时间")]
        public float FlashingTime = 2f;
        private float _time=0;
        bool IsBool = false;
        private void OnEnable()
        {
            IsBool = false;
            _time = 0;
        }
        private void LateUpdate()
        {
            if (IsBool)
            {
                _time += Time.deltaTime;
                if (FlashingTime < _time)
                {
                    CloseAll();
                    if (EndOfFlashing != null)
                    {
                        EndOfFlashing();
                    }
                }
            }
        }
        public void CloseAll()
        {
            m_Image1.gameObject.SetActive(false);
@@ -30,6 +56,8 @@
            m_Image7.gameObject.SetActive(false);
            m_Image8.gameObject.SetActive(false);
            m_Image9.gameObject.SetActive(false);
            IsBool = false;
            _time = 0;
        }
        public void ShowSelected(int Index)
@@ -63,9 +91,8 @@
                case 9:
                    m_Image9.gameObject.SetActive(true);
                    break;
            }
            IsBool = true;
        }
    }
System/Vip/VipInvest/RotatePointer.cs
@@ -8,9 +8,10 @@
using DG.Tweening;
using System;
namespace Snxxz.UI {
    public class RotatePointer:MonoBehaviour {
namespace Snxxz.UI
{
    public class RotatePointer : MonoBehaviour
    {
        public bool _isRotate = false;//是否旋转      
        public float Speed = 2000;//旋转速度
        public float Angle = 0; // 这个是设置停止的角度
@@ -23,7 +24,7 @@
        [Header("加速减速时间")]
        public float SpeedTime = 1;
        [Header("最小速度")]
        public float MinSpeed= 400;
        public float MinSpeed = 400;
        [Header("最大速度")]
        public float MaxSpeed = 800;
        WheelOfFortuneModel wheelOfFortuneModel { get { return ModelCenter.Instance.GetModel<WheelOfFortuneModel>(); } }
@@ -32,23 +33,22 @@
        public void Init()
        {
            IsRotateBool = false;
            _time = 0;
            transform.localRotation = Quaternion.Euler(0, 0, -wheelOfFortuneModel.AngleSave);
            _time = 0;
            Angle = wheelOfFortuneModel.AngleSave;
            transform.localRotation = Quaternion.Euler(0, 0, -Angle);
            Acceleration = (MaxSpeed - MinSpeed) / SpeedTime;
            m_CheckDisplay.CloseAll();
        }
        private void OnEnable()
        {
        }
        }
        void Update()
        {
            if (!_isRotate)
            {
                if (-Angle != transform.localRotation.z)
            {
                if (Math.Abs((360 - Angle) - transform.eulerAngles.z) > 2)
                {
                    transform.localRotation = Quaternion.Euler(0, 0, -Angle);
                    m_CheckDisplay.ShowSelected(wheelOfFortuneModel.Lattice);
@@ -57,16 +57,12 @@
                        IsButtonShow(true);
                    }
                    IsRotateBool = false;
                }
                }
                return; //不旋转结束
            }
            if (IsRotateBool)
            {
                _time += Time.deltaTime;
                if (_time < SpeedTime)//匀加速
                {
                    Speed = MinSpeed + Acceleration * _time;
@@ -97,7 +93,7 @@
                    //这里有个360,使用来防止指针回转的,如果不加这个360,你会看到指针倒退
                    Sequence sequence = DOTween.Sequence();
                    sequence.Append(transform.DORotate(new Vector3(0, 0, -(360 + Angle)), 2f, RotateMode.FastBeyond360));
                    sequence.AppendCallback(()=>
                    sequence.AppendCallback(() =>
                    {
                        _isRotate = false; // 设置不旋转
                        if (IsButtonShow != null)
@@ -105,16 +101,16 @@
                            IsButtonShow(true);
                        }
                        m_CheckDisplay.ShowSelected(wheelOfFortuneModel.Lattice);
                    });
                    });
                    IsRotateBool = false;
                }
            }
            }
        }
        //外部调用,初始化时间和打开旋转
        //外部调用,初始化时间和打开旋转,设置停止角度
        public void SetTime(bool _bool)
        {
            _time =0;
            _time = 0;
            Angle = wheelOfFortuneModel.AngleSave;
            if (_bool)
            {
                IsRotateBool = false;
@@ -125,14 +121,7 @@
                IsRotateBool = true;
                _isRotate = true;
            }
        }
        private void TweenOver()
        {
        }
        //外部调用,设置停止角度
        }
    }
}
System/Vip/VipInvest/WheelOfFortuneModel.cs
@@ -2,125 +2,157 @@
//    [Author]:           第二世界
//    [  Date ]:           Thursday, September 27, 2018
//--------------------------------------------------------
using LitJson;
using System;
using System.Collections.Generic;
using LitJson;
using System;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
namespace Snxxz.UI
using UnityEngine;
namespace Snxxz.UI
{
    public class WheelOfFortuneModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
    {
        public class AngleClass
        {
            public float AngleStart;
            public float AngleEnd;
        }
        public int Lattice = -1;//格子
        public int Number = 0;//次数
        public int NeedJade = 0;//需要仙玉
        public float AngleSave = 0f;//角度记录
        public Dictionary<int, AngleClass> AngleDic = new Dictionary<int, AngleClass>();
        private  int[][] AngleList;
        public event Action<float> WheelOfFortuneUpdate;
        private string StrKey = string.Empty;
        private bool IsOk = false;
        private const int Redpoint_key1 = 66666;//幸运转盘红点
        public Redpoint redPointStre1 = new Redpoint(6666, Redpoint_key1);
        VipModel m_Vipmodel;
        VipModel vipmodel { get { return m_Vipmodel ?? (m_Vipmodel = ModelCenter.Instance.GetModel<VipModel>()); } }
        public override void Init()
        {
            var BindJadewheel = Config.Instance.Get<FuncConfigConfig>("BindJadeWheelCfg");
            NeedJade = int.Parse(BindJadewheel.Numerical1);
            AngleList = JsonMapper.ToObject<int[][]>(BindJadewheel.Numerical5);
            for (int i = 0; i < AngleList.Length; i++)
    public class WheelOfFortuneModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
    {
        public class AngleClass
        {
            public float AngleStart;
            public float AngleEnd;
        }
        public int Lattice = -1;//格子
        public int Number = 0;//次数(当日已转次数)
        public int NeedJade = 0;//需要仙玉
        public float AngleSave = 0f;//角度记录
        public Dictionary<int, AngleClass> AngleDic = new Dictionary<int, AngleClass>();
        private double[][] AngleList;
        public event Action<float> WheelOfFortuneUpdate;
        private string StrKey = string.Empty;
        private bool IsOk = false;
        private const int Redpoint_key1 = 20106;//幸运转盘红点
        public Redpoint redPointStre1 = new Redpoint(201, Redpoint_key1);
        VipModel m_Vipmodel;
        VipModel vipmodel { get { return m_Vipmodel ?? (m_Vipmodel = ModelCenter.Instance.GetModel<VipModel>()); } }
        public override void Init()
        {
            var BindJadewheel = Config.Instance.Get<FuncConfigConfig>("BindJadeWheelCfg");
            NeedJade = int.Parse(BindJadewheel.Numerical1);
            AngleList = JsonMapper.ToObject<double[][]>(BindJadewheel.Numerical5);
            if (AngleDic.Count <= 0)
            {
                if (AngleDic.Count <= 0)
                for (int i = 0; i < AngleList.Length; i++)
                {
                    int Type = i + 1;
                    AngleClass angleClass = new AngleClass();
                    angleClass.AngleStart = AngleList[i][0];
                    angleClass.AngleEnd = AngleList[i][1];
                    angleClass.AngleStart = (float)AngleList[i][0];
                    angleClass.AngleEnd = (float)AngleList[i][1];
                    AngleDic.Add(Type, angleClass);
                }
            }
        }
        public override void UnInit()
        {
        }
        public void OnBeforePlayerDataInitialize()
        {
            IsOk = false;
        }
        public void OnPlayerLoginOk()
        {
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418)
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418)
            IsOk = true;
            StrKey = "IsOpenFiaryJadeRedPoint" + PlayerDatas.Instance.baseData.PlayerID;
            AngleSave = LocalSave.GetFloat(StrKey);
            RedPoint();
        }
        public void BindJadeWheelResult(HA324_tagMCBindJadeWheelResult Info)
        {
            Lattice = Info.Index;
            Number = Info.Cnt;
            if (IsOk)
            {
                if (AngleDic.ContainsKey(Lattice))
                {
                    float flo = UnityEngine.Random.Range(AngleDic[Lattice].AngleStart + 0.05f, AngleDic[Lattice].AngleEnd - 0.05f);
                    LocalSave.SetFloat(StrKey, flo);
                    AngleSave = LocalSave.GetFloat(StrKey);
                }
                if (WheelOfFortuneUpdate != null)
                {
                    WheelOfFortuneUpdate(AngleSave);
                }
                RedPoint();
            }
        }
        public void StartTheDraw()//开始抽奖
        {
            CA517_tagCMStartBindJadeWheel _tagC517 = new CA517_tagCMStartBindJadeWheel();
            GameNetSystem.Instance.SendInfo(_tagC517);
        }
        private void Updatefighting(PlayerDataRefresh obj)//红点
        {
            if (obj == PlayerDataRefresh.VIPLv)
            {
                RedPoint();
            }
        }
        private void RedPoint()
        {
            redPointStre1.state = RedPointState.None;
            int LotteryNumber = vipmodel.GetVipPrivilegeCnt(VipPrivilegeType.BindJadeWheel);
            if (LotteryNumber > Number)
            {
                redPointStre1.state = RedPointState.Simple;
            }
        }
    }
        }
        public override void UnInit()
        {
        }
        public void OnBeforePlayerDataInitialize()
        {
            IsOk = false;
        }
        public void OnPlayerLoginOk()
        {
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418)
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418)
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
            IsOk = true;
            StrKey = "IsOpenFiaryJadeRedPoint" + PlayerDatas.Instance.baseData.PlayerID;
            AngleSave = LocalSave.GetFloat(StrKey);
            RedPoint();
        }
        private void OnFuncStateChangeEvent(int obj)
        {
            if (obj == 144)
            {
                RedPoint();
            }
        }
        public void BindJadeWheelResult(HA324_tagMCBindJadeWheelResult Info)
        {
            Lattice = Info.Index;
            Number = Info.Cnt;
            if (IsOk)
            {
                if (AngleDic.ContainsKey(Lattice))
                {
                    float flo = UnityEngine.Random.Range(AngleDic[Lattice].AngleStart + 1f, AngleDic[Lattice].AngleEnd - 1f);
                    flo = (float)Math.Round((double)flo, 2);
                    if (flo > 360f)
                    {
                        flo = flo - 360f;
                    }
                    LocalSave.SetFloat(StrKey, flo);
                    AngleSave = LocalSave.GetFloat(StrKey);
                }
                if (WheelOfFortuneUpdate != null)
                {
                    WheelOfFortuneUpdate(AngleSave);
                }
                RedPoint();
            }
        }
        public void StartTheDraw()//开始抽奖
        {
            CA517_tagCMStartBindJadeWheel _tagC517 = new CA517_tagCMStartBindJadeWheel();
            GameNetSystem.Instance.SendInfo(_tagC517);
        }
        private void Updatefighting(PlayerDataRefresh obj)//红点
        {
            if (obj == PlayerDataRefresh.VIPLv)
            {
                RedPoint();
            }
        }
        private void RedPoint()
        {
            if (!FuncOpen.Instance.IsFuncOpen(144) /*|| Number<=0*/)
            {
                return;
            }
            int GetDayOfYear = DateTime.Now.DayOfYear;
            string strKey = "WheelOfRedPoint" + PlayerDatas.Instance.baseData.PlayerID;
            int day = LocalSave.GetInt(strKey);
            if (day != GetDayOfYear)
            {
                redPointStre1.state = RedPointState.Simple;
            }
            else
            {
                redPointStre1.state = RedPointState.None;
            }
        }
        public int GetTheGrid(float angle)
        {
            foreach (var key in AngleDic.Keys)
            {
                if (angle > AngleDic[key].AngleStart && angle < AngleDic[key].AngleEnd)
                {
                    return key;
                }
            }
            return 0;
        }
    }
}
System/Vip/VipInvest/WheelOfFortuneWin.cs
@@ -22,10 +22,9 @@
        [SerializeField] Text Money1_Text;
        [SerializeField] Text Money2_Text;
        [SerializeField] Text m_Text_remainingTimes;
        [SerializeField] Button m_PromotionBtn;
        [Header("最大速度")]
        public  float RollingTime = 1f;
        [SerializeField] Button m_PromotionBtn;
        [Header("滚动时间")]
        public  float RollingTime = 1f;
        VipModel m_Vipmodel;
        VipModel vipmodel { get { return m_Vipmodel ?? (m_Vipmodel = ModelCenter.Instance.GetModel<VipModel>()); } }
        WheelOfFortuneModel wheelOfFortuneModel { get { return ModelCenter.Instance.GetModel<WheelOfFortuneModel>(); } }
@@ -55,19 +54,33 @@
        protected override void OnAfterOpen()
        {
            wheelOfFortuneModel.WheelOfFortuneUpdate += WheelOfFortuneUpdate;
            RotatePointer.IsButtonShow += IsButtonShow;
            RotatePointer.IsButtonShow += IsButtonShow;
            CheckDisplay.EndOfFlashing += EndOfFlashing;
            if (wheelOfFortuneModel.redPointStre1.state == RedPointState.Simple)
            {
                int GetDayOfYear = DateTime.Now.DayOfYear;
                string strKey = "WheelOfRedPoint" + PlayerDatas.Instance.baseData.PlayerID;
                LocalSave.SetInt(strKey, GetDayOfYear);
                wheelOfFortuneModel.redPointStre1.state = RedPointState.None;
            }
        }
        protected override void OnPreClose()
        {
            wheelOfFortuneModel.WheelOfFortuneUpdate -= WheelOfFortuneUpdate;
            RotatePointer.IsButtonShow -= IsButtonShow;
            RotatePointer.IsButtonShow -= IsButtonShow;
            CheckDisplay.EndOfFlashing -= EndOfFlashing;
        }
        private void EndOfFlashing()
        {
            TiedJadeChange();
        }
        private void WheelOfFortuneUpdate(float Angel)
        {
            m_LotteryBtn.interactable = false;
            m_RotatePointer.SetTime(m_Toggle.isOn);
            IsLottery();
        }
@@ -77,13 +90,8 @@
        private void OnClickButton()
        {
         //   m_UIEffectFly.StartFly(Text);
            m_CheckDisplay.CloseAll();
            wheelOfFortuneModel.StartTheDraw();//开始抽奖
            m_LotteryBtn.interactable = false;
            float angel = UnityEngine.Random.Range(0f, 360f);
            m_RotatePointer.Angle = angel;
            m_RotatePointer.SetTime(m_Toggle.isOn);
            wheelOfFortuneModel.StartTheDraw();//开始抽奖
        }
        private void OnClickToggle(bool _bool)
        {
@@ -95,7 +103,6 @@
            {
                m_RotatePointer._isRotate = true;
            }
        }
        private void OnClickPromotionBtn()
        {        
System/Welfare/AwardExchangeWin.cs
@@ -60,6 +60,7 @@
                tables["accid"] = SDKUtility.Instance.FreePlatformInfo.account;
                tables["sid"] = ServerListCenter.Instance.currentServer.region_flag.ToString();
                tables["pushurl"] = ServerListCenter.Instance.currentServer.region_domain;
                tables["spid"] = VersionConfig.Get().SpID;
                HttpRequest.Instance.RequestHttpGet(StringUtility.Contact(exchangeUrl, HttpRequest.HashtablaToString(tables)), HttpRequest.defaultHttpContentType, 1, null);
            }
        }
System/WindowBase/WindowCenter.cs
@@ -14,7 +14,7 @@
        List<string> closeAllIgnoreWindows = new List<string>() {
            "MessageWin", "NewBieWin", "NewItemGetWin", "AttributePromoteShowWin" ,"DungeonBeginCoolDownWin","DungeonFightWin","StatusTipWin"
            ,"ScrollTipWin","MarqueeWin","ExperienceOpenWin","TrumpetWin","BattlePrepareCoolDownWin","DungeonGradeWin","BattleHintWin",
            "TreasureDungeonMissionHintWin","FairyGrabBossHintWin","DungeonFairyFeastHintWin","PetAndMountPushWin",
            "TreasureDungeonMissionHintWin","FairyGrabBossHintWin","DungeonFairyFeastHintWin","PetAndMountPushWin","UpgradeWin",
        };
        UIRoot m_UIRoot;
System/WindowJump/WindowJumpMgr.cs
@@ -526,6 +526,8 @@
                break;
            case JumpUIType.DogzFunc1Type1:
            case JumpUIType.DogzFunc1Type2:
            case JumpUIType.DogzFunc2Type1:
            case JumpUIType.DogzFunc2Type2:
                SetJumpLogic<DogzWin>(_tagWinSearchModel.TABID);
                break;
            case JumpUIType.FaBaoSoul_BenYuan:
@@ -1374,6 +1376,8 @@
    CeremonyOutof = 247, //仙界盛典绝版降临界面
    DogzFunc1Type1 = 248, //神兽界面
    DogzFunc1Type2 = 249, //神兽界面
    DogzFunc2Type1 = 250, //神兽强化界面
    DogzFunc2Type2 = 251, //神兽强化界面
    DhszTs = 1001,//定海神针功法提升界面
    HyqTs = 1002,//皓月枪功法提升界面
    GyzTs = 1003,//鬼牙刃功法提升界面
Utility/EnumHelper.cs
@@ -1113,6 +1113,7 @@
    BossHomeAwardLimit = 27,
    DemonJarDouble = 28,
    BindJadeWheel=30,
    PrayForDrug = 31,
}
Utility/UIHelper.cs
@@ -581,7 +581,7 @@
                }
                else
                {
                    int attrValue = _propertyDict[_key];
                    float attrValue = _propertyDict[_key];
                    int fightParm = GetFightPowerParmByAttrId(_key);
                    if(_key == 11)
                    {
@@ -602,7 +602,7 @@
                            attrValue = attrValue * fightParm;
                        }
                    }
                    Equation.Instance.AddKeyValue(cfg.Parameter,attrValue);
                    Equation.Instance.AddKeyValue(cfg.Parameter, attrValue);
                }
            }