少年修仙传客户端代码仓库
client_Wu Xijin
2018-12-25 6672d108b517e4fd62a73fafd948f6a5f07e08aa
Merge branch 'Cross_Server' of http://192.168.0.87:10010/r/snxxz_scripts into Cross_Server
2个文件已添加
7个文件已修改
401 ■■■■■ 已修改文件
Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0320_tagFBEnd.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeasonInfo.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerOneVsOneHonorStoreWin.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerOneVsOnePKSeason.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerOneVsOnePlayerInfo.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerOneVsOneWin.cs 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerOneVsOneWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerWin.cs 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/HeavenBattle/BattlePrepareCoolDownWin.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0320_tagFBEnd.cs
@@ -1,10 +1,12 @@
using UnityEngine;
using System.Collections;
using Snxxz.UI;
/** 副本结束界面 */
using System;
/** 副本结束界面 */
public class DTC0320_tagFBEnd : DtcBasic {
    public static event Action UpdateFBEndEvent;
    /** 重写基类的数据包转逻辑处理 */
    public override void Done(GameNetPackBasic vNetPack)
    {
@@ -13,5 +15,9 @@
        var dungeonModel = ModelCenter.Instance.GetModel<DungeonModel>();
        dungeonModel.ProcessResult(vNetData.Msg);
        if(UpdateFBEndEvent != null)
        {
            UpdateFBEndEvent();
        }
    }
}
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC004_tagGCCrossRealmPKSeasonInfo.cs
@@ -27,8 +27,6 @@
                TransBytes (out ZoneList[i].SeasonList[j].StartDate, vBytes, NetDataType.Chars, 10);
                TransBytes (out ZoneList[i].SeasonList[j].EndDate, vBytes, NetDataType.Chars, 10);
                TransBytes (out ZoneList[i].SeasonList[j].EndTime, vBytes, NetDataType.Chars, 5);
                TransBytes (out ZoneList[i].SeasonList[j].NextStartDate, vBytes, NetDataType.Chars, 10);
                TransBytes (out ZoneList[i].SeasonList[j].NextEndDate, vBytes, NetDataType.Chars, 10);
            }
        }
    }
@@ -46,8 +44,6 @@
        public string StartDate;        // 开始日期 yyyy-MM-dd
        public string EndDate;        // 结束日期 yyyy-MM-dd
        public string EndTime;        // 赛季结算时间,赛季奖励该时间后才可领取 hh:mm
        public string NextStartDate;        // 下赛季开始日期 yyyy-MM-dd
        public string NextEndDate;        // 下赛季结束日期 yyyy-MM-dd
    }
}
System/CrossServerOneVsOne/CrossServerOneVsOneHonorStoreWin.cs
@@ -51,8 +51,15 @@
        private void CreateShopCell()
        {
            shopCtrl.Refresh();
            shoplist = m_storeModel.TryGetStoreDatas((int)m_storeModel.storeFuncType);
            if(shoplist == null)
            {
                DebugEx.Log("跨服商店数据为空");
                return;
            }
            shopCtrl.Refresh();
            if (shoplist.Count > 0)
            {
                int i = 0;
System/CrossServerOneVsOne/CrossServerOneVsOnePKSeason.cs
@@ -57,18 +57,12 @@
            public string EndTime { get; private set; }      // 赛季结算时间,赛季奖励该时间后才可领取 hh:mm
            public OperationDate NextStartDate { get; private set; }     // 下赛季开始日期 yyyy-MM-dd
            public OperationDate NextEndDate { get; private set; }     // 下赛季结束日期 yyyy-MM-dd
            public void SetPkSeasonInfo(HC004_tagGCCrossRealmPKSeasonInfo.tagGCCrossRealmPKSeason seasonInfo)
            {
                this.SeasonID = seasonInfo.SeasonID;
                this.StartDate = ParseOperationDate(seasonInfo.StartDate);
                this.EndDate = ParseOperationDate(seasonInfo.EndDate);
                this.EndTime = seasonInfo.EndTime;
                this.NextStartDate = ParseOperationDate(seasonInfo.NextStartDate);
                this.NextEndDate = ParseOperationDate(seasonInfo.NextEndDate);
            }
            private OperationDate ParseOperationDate(string date)
@@ -207,6 +201,25 @@
            return false;
        }
        public bool TryGetNextSeasonInfo(out PkSeasonInfo seasonInfo)
        {
            seasonInfo = null;
            PkZoneInfo zoneInfo = null;
            bool isZone = TryGetZoneInfo(out zoneInfo);
            if (!isZone) return false;
            for (int i = 0; i < zoneInfo.SeasonList.Count; i++)
            {
                var info = zoneInfo.SeasonList[i];
                if(info.SeasonID > this.SeasonID)
                {
                    seasonInfo = info;
                    return true;
                }
            }
            return true;
        }
        public bool InDay(DateTime time)
        {
            OperationDate date = new OperationDate()
@@ -258,19 +271,15 @@
                {
                    return Language.Get("CrossServer106", ToDisplayTime(seasonInfo.StartDate, seasonInfo.EndDate));
                }
                else
                {
                    if (seasonInfo.NextStartDate.Equals(default(OperationDate)))
                    {
                        return Language.Get("CrossServer107", Language.Get("CrossServer108"));
                    }
                    else
                    {
                        return Language.Get("CrossServer107", ToDisplayTime(seasonInfo.NextStartDate, seasonInfo.NextEndDate));
                    }
                }
            }
           return Language.Get("CrossServer107", Language.Get("CrossServer108"));
            PkSeasonInfo nextSeasonInfo = null;
            bool isNextSeason = TryGetNextSeasonInfo(out nextSeasonInfo);
            if (isNextSeason && !nextSeasonInfo.StartDate.Equals(default(OperationDate)))
            {
                return Language.Get("CrossServer107", ToDisplayTime(nextSeasonInfo.StartDate, nextSeasonInfo.EndDate));
            }
            return Language.Get("CrossServer107", Language.Get("CrossServer108"));
        }
        private string ToDisplayTime(OperationDate start,OperationDate end)
System/CrossServerOneVsOne/CrossServerOneVsOnePlayerInfo.cs
@@ -70,7 +70,7 @@
        public int GetBuyMatchNumPrice()
        {
            Equation.Instance.Clear();
            Equation.Instance.AddKeyValue("buyCnt",DayBuyCount);
            Equation.Instance.AddKeyValue("todayBuyCount", DayBuyCount);
            return Equation.Instance.Eval<int>(crossServerModel.priceFormula);
        }
System/CrossServerOneVsOne/CrossServerOneVsOneWin.cs
New file
@@ -0,0 +1,147 @@
using System;
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class CrossServerOneVsOneWin : Window
    {
        [SerializeField] Image headImg;
        [SerializeField] Text nameText;
        [SerializeField] Text lvText;
        [SerializeField] Text rankText;
        [SerializeField] Text curScoreText;
        [SerializeField] Text honorText;
        [SerializeField] Image rankImg;
        [SerializeField] Slider scoreSlider;
        [SerializeField] Text scorePerText;
        [SerializeField] GameObject danLvUpObj;
        [SerializeField] Button rankAwardBtn;
        [SerializeField] GameObject rankAward_SelectImg;
        [SerializeField] Button arenaBtn;
        [SerializeField] GameObject arena_SelectImg;
        [SerializeField] Button seasonAwardBtn;
        [SerializeField] GameObject seasonAward_SelectImg;
        [SerializeField] Button honorStoreBtn;
        [SerializeField] GameObject honorStore_SelectImg;
        CrossServerOneVsOnePlayerInfo playerInfo;
        CrossServerWin crossServerWin;
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            rankAwardBtn.AddListener(ClickRankAward);
            arenaBtn.AddListener(ClickArena);
            seasonAwardBtn.AddListener(ClickSeasonAward);
            honorStoreBtn.AddListener(ClickHonorStore);
        }
        protected override void OnPreOpen()
        {
            SetDisplay();
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            CloseSubWindows();
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void SetDisplay()
        {
            crossServerWin = WindowCenter.Instance.Get<CrossServerWin>();
            playerInfo = CrossServerOneVsOnePlayerInfo.Instance;
            var playerData = PlayerDatas.Instance.baseData;
            headImg.SetSprite(GeneralDefine.GetOtherJobHeadPortrait(playerData.Job, 0));
            nameText.text = playerData.PlayerName;
            lvText.text = StringUtility.Contact("Lv.", playerData.LV);
            scoreSlider.minValue = 0;
            scoreSlider.maxValue = 1;
            UpdateScore();
            var arenaConfig = Config.Instance.Get<CrossServerArenaConfig>(playerInfo.DanLV);
            rankText.text = arenaConfig.Name;
            rankImg.SetSprite(arenaConfig.IconKey);
            ClickArena();
        }
        private void UpdateScore()
        {
            curScoreText.text = playerInfo.Score.ToString();
            int maxScore = 0;
            bool isMaxRank = playerInfo.TryGetMaxRank(out maxScore);
            danLvUpObj.SetActive(!isMaxRank);
            if (!isMaxRank)
            {
                scorePerText.text = StringUtility.Contact(playerInfo.Score, "/", maxScore);
                scoreSlider.value = (float)playerInfo.Score / maxScore;
            }
        }
        private void ClickHonorStore()
        {
            if (honorStore_SelectImg.activeInHierarchy) return;
            CloseSubWindows();
            WindowCenter.Instance.Open<CrossServerOneVsOneHonorStoreWin>();
            honorStore_SelectImg.SetActive(true);
        }
        private void ClickSeasonAward()
        {
            if (seasonAward_SelectImg.activeInHierarchy) return;
            CloseSubWindows();
            WindowCenter.Instance.Open<SeasonRewardWin>();
            seasonAward_SelectImg.SetActive(true);
        }
        private void ClickArena()
        {
            if (arena_SelectImg.activeInHierarchy) return;
            CloseSubWindows();
            if (crossServerWin.windowState == WindowState.Opened)
            {
                WindowCenter.Instance.OpenWithoutAnimation<CrossServerOneVsOneArenaWin>();
            }
            else
            {
                WindowCenter.Instance.Open<CrossServerOneVsOneArenaWin>();
            }
            arena_SelectImg.SetActive(true);
        }
        private void ClickRankAward()
        {
            if (rankAward_SelectImg.activeInHierarchy) return;
            CloseSubWindows();
            WindowCenter.Instance.Open<SegmentRewardWin>();
            rankAward_SelectImg.SetActive(true);
        }
        private void CloseSubWindows()
        {
            WindowCenter.Instance.CloseImmediately<CrossServerOneVsOneArenaWin>();
            WindowCenter.Instance.CloseImmediately<CrossServerOneVsOneHonorStoreWin>();
            WindowCenter.Instance.CloseImmediately<SeasonRewardWin>();
            WindowCenter.Instance.CloseImmediately<SegmentRewardWin>();
            WindowCenter.Instance.CloseImmediately<MatchWin>();
            arena_SelectImg.SetActive(false);
            rankAward_SelectImg.SetActive(false);
            seasonAward_SelectImg.SetActive(false);
            honorStore_SelectImg.SetActive(false);
        }
    }
}
System/CrossServerOneVsOne/CrossServerOneVsOneWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: e97d33fd53654fc4297572c97027529e
timeCreated: 1545705583
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/CrossServerOneVsOne/CrossServerWin.cs
@@ -14,28 +14,6 @@
        [SerializeField] FunctionButton arenaFunc;
        [SerializeField] FunctionButton bossFunc;
        [SerializeField] FunctionButtonGroup funcGroup;
        [SerializeField] Image headImg;
        [SerializeField] Text nameText;
        [SerializeField] Text lvText;
        [SerializeField] Text rankText;
        [SerializeField] Text curScoreText;
        [SerializeField] Text honorText;
        [SerializeField] Image rankImg;
        [SerializeField] Slider scoreSlider;
        [SerializeField] Text scorePerText;
        [SerializeField] GameObject danLvUpObj;
        [SerializeField] Button rankAwardBtn;
        [SerializeField] GameObject rankAward_SelectImg;
        [SerializeField] Button arenaBtn;
        [SerializeField] GameObject arena_SelectImg;
        [SerializeField] Button seasonAwardBtn;
        [SerializeField] GameObject seasonAward_SelectImg;
        [SerializeField] Button honorStoreBtn;
        [SerializeField] GameObject honorStore_SelectImg;
        CrossServerRewardModel m_CrossServerRewardModel;
        CrossServerRewardModel crossServerRewardModel { get { return m_CrossServerRewardModel ?? (m_CrossServerRewardModel = ModelCenter.Instance.GetModel<CrossServerRewardModel>()); } }
        CrossServerOneVsOneModel crossServerModel { get { return ModelCenter.Instance.GetModel<CrossServerOneVsOneModel>(); } }
        CrossServerOneVsOnePlayerInfo playerInfo;
        #region Built-in
        protected override void BindController()
        {
@@ -48,15 +26,11 @@
            rightBtn.AddListener(ClickRight);
            arenaFunc.AddListener(ClickArenaFunc);
            bossFunc.AddListener(ClickBossFunc);
            rankAwardBtn.AddListener(ClickRankAward);
            arenaBtn.AddListener(ClickArena);
            seasonAwardBtn.AddListener(ClickSeasonAward);
            honorStoreBtn.AddListener(ClickHonorStore);
        }
        protected override void OnPreOpen()
        {
            SetDisplay();
        }
        protected override void OnActived()
@@ -81,35 +55,6 @@
        }
        #endregion
        private void SetDisplay()
        {
            playerInfo = CrossServerOneVsOnePlayerInfo.Instance;
            var playerData = PlayerDatas.Instance.baseData;
            headImg.SetSprite(GeneralDefine.GetOtherJobHeadPortrait(playerData.Job, 0));
            nameText.text = playerData.PlayerName;
            lvText.text = StringUtility.Contact("Lv.", playerData.LV);
            scoreSlider.minValue = 0;
            scoreSlider.maxValue = 1;
            UpdateScore();
            var arenaConfig = Config.Instance.Get<CrossServerArenaConfig>(playerInfo.DanLV);
            rankText.text = arenaConfig.Name;
            rankImg.SetSprite(arenaConfig.IconKey);
        }
        private void UpdateScore()
        {
            curScoreText.text = playerInfo.Score.ToString();
            int maxScore = 0;
            bool isMaxRank = playerInfo.TryGetMaxRank(out maxScore);
            danLvUpObj.SetActive(!isMaxRank);
            if (!isMaxRank)
            {
                scorePerText.text = StringUtility.Contact(playerInfo.Score, "/", maxScore);
                scoreSlider.value = (float)playerInfo.Score / maxScore;
            }
        }
        #region 点击事件
        private void ClickBossFunc()
@@ -120,7 +65,7 @@
        private void ClickArenaFunc()
        {
            CloseSubWindows();
            ClickArena();
            WindowCenter.Instance.Open<CrossServerOneVsOneWin>();
        }
        private void ClickRight()
@@ -133,58 +78,6 @@
            funcGroup.TriggerLast();
        }
        private void ClickHonorStore()
        {
            if (honorStore_SelectImg.activeInHierarchy) return;
            CloseSubWindows();
            WindowCenter.Instance.Open<CrossServerOneVsOneHonorStoreWin>();
            honorStore_SelectImg.SetActive(true);
        }
        private void ClickSeasonAward()
        {
            if (seasonAward_SelectImg.activeInHierarchy) return;
            CloseSubWindows();
            WindowCenter.Instance.Open<SeasonRewardWin>();
            seasonAward_SelectImg.SetActive(true);
        }
        private void ClickArena()
        {
            if (arena_SelectImg.activeInHierarchy) return;
            CloseSubWindows();
            if (crossServerRewardModel.IsOpenMatch)
            {
                WindowCenter.Instance.Open<MatchWin>();
            }
            else
            {
                if (windowState == WindowState.Opened)
                {
                    WindowCenter.Instance.OpenWithoutAnimation<CrossServerOneVsOneArenaWin>();
                }
                else
                {
                    WindowCenter.Instance.Open<CrossServerOneVsOneArenaWin>();
                }
            }
            arena_SelectImg.SetActive(true);
        }
        private void ClickRankAward()
        {
            if (rankAward_SelectImg.activeInHierarchy) return;
            CloseSubWindows();
            WindowCenter.Instance.Open<SegmentRewardWin>();
            rankAward_SelectImg.SetActive(true);
        }
        private void ClickClose()
        {
            CloseSubWindows();
@@ -193,20 +86,11 @@
        private void CloseSubWindows()
        {
            //var children = WindowConfig.Get().FindChildWindows("CrossServerWin");
            //foreach (var window in children)
            //{
            //    WindowCenter.Instance.Close(window);
            //}
            WindowCenter.Instance.CloseImmediately<CrossServerOneVsOneArenaWin>();
            WindowCenter.Instance.CloseImmediately<CrossServerOneVsOneHonorStoreWin>();
            WindowCenter.Instance.CloseImmediately<SeasonRewardWin>();
            WindowCenter.Instance.CloseImmediately<SegmentRewardWin>();
            WindowCenter.Instance.CloseImmediately<MatchWin>();
            arena_SelectImg.SetActive(false);
            rankAward_SelectImg.SetActive(false);
            seasonAward_SelectImg.SetActive(false);
            honorStore_SelectImg.SetActive(false);
            var children = WindowConfig.Get().FindChildWindows("CrossServerWin");
            foreach (var window in children)
            {
                WindowCenter.Instance.Close(window);
            }
        }
        #endregion
    }
System/HeavenBattle/BattlePrepareCoolDownWin.cs
@@ -13,13 +13,13 @@
        [SerializeField] Image virtualDownImage;
        [SerializeField] Image coolDownImg;
        DungeonModel m_Model;
        DungeonModel m_Model;
        DungeonModel model
        {
        {
            get
            {
                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>());
            }
            {
                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>());
            }
        }
        DateTime beginTime = DateTime.Now;
        int coolTime = -1;
@@ -40,6 +40,7 @@
            scaleTween.SetStartState();
            virtualscaleTween.SetStartState();
            beginTime = model.GetCoolDownEndTime(DungeonCoolDownType.WaitStart);
            DTC0320_tagFBEnd.UpdateFBEndEvent += UpdateFBEnd;
        }
        protected override void OnAfterOpen()
@@ -49,34 +50,39 @@
        protected override void OnPreClose()
        {
            DTC0320_tagFBEnd.UpdateFBEndEvent -= UpdateFBEnd;
        }
        protected override void OnAfterClose()
        {
        }
        protected override void LateUpdate()
        {
        private void UpdateFBEnd()
        {
            CloseImmediately();
        }
        protected override void LateUpdate()
        {
            base.LateUpdate();
            UpdateCoolTime();
            UpdateCoolTime();
        }
        private void UpdateCoolTime()
        {
            if (beginTime > DateTime.Now)
            {
                var surplusTime = Mathf.Clamp((int)(beginTime - DateTime.Now).TotalSeconds, 0, int.MaxValue);
            if (beginTime > DateTime.Now)
            {
                var surplusTime = Mathf.Clamp((int)(beginTime - DateTime.Now).TotalSeconds, 0, int.MaxValue);
                if (coolTime != surplusTime)
                {
                    coolTime = surplusTime;
                    RefreshPrepareTime(surplusTime);
                }
            }
            else
            {
                CloseWin();
                }
            }
            else
            {
                CloseWin();
            }
        }