少年修仙传客户端代码仓库
client_Wu Xijin
2018-12-20 0f01fc6f8e61d71e663a37e81d2d56f59f690f30
Merge branch 'Cross_Server' of http://192.168.0.87:10010/r/snxxz_scripts into Cross_Server
10个文件已修改
4个文件已添加
344 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/CrossServerArenaConfig.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/CrossServerArenaConfig.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0431_tagTimeTick.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerArenaWin.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerModel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerPKSeason.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerPlayerInfo.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerWin.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/DungeonPlayerLeaveCoolDownWin.cs 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/DungeonPlayerLeaveCoolDownWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/DungeonWaitPlayerCoolDownWin.cs 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/DungeonWaitPlayerCoolDownWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonModel.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/CrossServerArenaConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:            第二世界
//    [  Date ]:           Wednesday, December 12, 2018
//    [  Date ]:           Thursday, December 20, 2018
//--------------------------------------------------------
using UnityEngine;
@@ -13,8 +13,9 @@
        public int DanLV { get ; private set ; }
        public string Name { get ; private set; } 
        public string IconKey { get ; private set; }
        public int LVUpScore { get ; private set ; }
        public string DayAwardList { get ; private set; }
        public string DanLVAwardList { get ; private set; }
        public string SeasonAwardList { get ; private set; } 
        public override string getKey()
@@ -29,11 +30,13 @@
            
                Name = rawContents[1].Trim();
            
                LVUpScore=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0;
                IconKey = rawContents[2].Trim();
            
                DayAwardList = rawContents[3].Trim();
                LVUpScore=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0;
            
                SeasonAwardList = rawContents[4].Trim();
                DanLVAwardList = rawContents[4].Trim();
                SeasonAwardList = rawContents[5].Trim();
            }
            catch (Exception ex)
            {
Core/GameEngine/Model/Config/CrossServerArenaConfig.cs.meta
@@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: f10a2faba8659904ab5c13d1a770a7e2
timeCreated: 1544607874
licenseType: Free
timeCreated: 1545293132
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0431_tagTimeTick.cs
@@ -11,7 +11,7 @@
        dungeonModel.UpdateCoolDown((DungeonCoolDownType)vNetData.Type,vNetData.Tick);
        if((DungeonCoolDownType)vNetData.Type == DungeonCoolDownType.WaitStart)
        {
            var mapId = PlayerDatas.Instance.baseData.MapID;
            var mapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
            switch (mapId)
            {
                case HeavenBattleModel.HEAVEBATTLE_MAPID:
@@ -23,7 +23,14 @@
                        WindowCenter.Instance.Open<BattlePrepareCoolDownWin>();
                    }
                    break;
                case CrossServerModel.CrossServerDataMapId:
                    WindowCenter.Instance.CloseImmediately<DungeonBeginCoolDownWin>();
                    WindowCenter.Instance.CloseImmediately<DungeonEndCoolDownWin>();
                    if (!WindowCenter.Instance.IsOpen<BattlePrepareCoolDownWin>())
                    {
                        WindowCenter.Instance.Open<BattlePrepareCoolDownWin>();
                    }
                    break;
            }
        }
    }
System/CrossServerOneVsOne/CrossServerArenaWin.cs
@@ -37,6 +37,7 @@
        protected override void OnPreOpen()
        {
            SetDisplay();
            TimeMgr.Instance.OnMinuteEvent += UpdateMinute;
        }
        protected override void OnAfterOpen()
@@ -46,7 +47,7 @@
        protected override void OnPreClose()
        {
            TimeMgr.Instance.OnMinuteEvent -= UpdateMinute;
        }
        protected override void OnAfterClose()
        {
@@ -60,6 +61,28 @@
            UpdatePKInfo();
            UpdateActivityState();
            seasonTimeText.text = CrossServerPKSeason.Instance.ToDisplaySeasonTime();
            var openTimes = CrossServerPKSeason.Instance.GetActivityTimes();
            openTimeText.gameObject.SetActive(openTimes != null && openTimes.Count > 0);
            if(openTimes != null)
            {
                string openTimeDes = string.Empty;
                for(int i = 0; i < openTimes.Count; i++)
                {
                    var openTime = openTimes[i];
                    string timeDes = StringUtility.Contact(openTime.hourBegin.ToString("D2"), ":", openTime.minuteBegin.ToString("D2")
                        ,"-",openTime.hourEnd.ToString("D2"),":",openTime.minuteEnd.ToString("D2"));
                    if(i == 0)
                    {
                        openTimeDes = timeDes;
                    }
                    else
                    {
                        openTimeDes = StringUtility.Contact(openTimeDes,"、",timeDes);
                    }
                }
                openTimeText.text = Language.Get("CrossServer119", openTimeDes);
            }
        }
        private void UpdateMatchInfo()
@@ -81,19 +104,24 @@
            sumNumText.text = CrossServerPlayerInfo.Instance.PKCount.ToString();
        }
        private void UpdateMinute()
        {
            UpdateActivityState();
        }
        private void UpdateActivityState()
        {
            bool isInTime = CrossServerPKSeason.Instance.InDay(TimeUtility.ServerNow);
            bool isOpen = false;
            bool isOpen = CrossServerPKSeason.Instance.InOpenTime();
            matchBtn.RemoveAllListeners();
            if(!isInTime)
            {
                matchBtn_Text.text = "即将开启";
                matchBtn_Text.text = Language.Get("CrossServer111");
                matchBtn_Img.material = MaterialUtility.GetDefaultSpriteGrayMaterial();
            }
            else
            {
                matchBtn_Text.text = "开始匹配";
                matchBtn_Text.text = Language.Get("CrossServer109");
                if(isOpen)
                {
                    matchBtn_Img.material = MaterialUtility.GetUIDefaultGraphicMaterial();
System/CrossServerOneVsOne/CrossServerModel.cs
@@ -15,7 +15,7 @@
        public List<CrossServerPkResult> localSaveResults { get; private set; }
        CrossServerRewardModel rewardModel { get { return ModelCenter.Instance.GetModel<CrossServerRewardModel>(); } }
        public event Action UpdateDayAwardsEvent;
        public const int CrossServerDataMapId = 32010;
        public override void Init()
        {
            ParseFuncConfig();
System/CrossServerOneVsOne/CrossServerPKSeason.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TableConfig;
namespace Snxxz.UI
{
@@ -30,6 +31,8 @@
        public event Action activityEndEvent;
        private bool inDateNotify = false;
        private bool stepDateNotify = false;
        public  const int dailyQuestId = 21;
        DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        public CrossServerPKSeason()
        {
@@ -40,6 +43,14 @@
        private void BeforePlayerDataInitializeEvent()
        {
           
        }
        public List<HourMinute> GetActivityTimes()
        {
            DailyQuestOpenTime _openTime = null;
            dailyQuestModel.TryGetOpenTime(dailyQuestId, out _openTime);
            var dayOfWeek = (int)TimeUtility.ServerNow.DayOfWeek;
            return _openTime != null ? _openTime.GetHourMinuteByWeek(dayOfWeek) : null;
        }
        private void SecondEvent()
@@ -90,6 +101,13 @@
            return date >= StartDate && date <= EndDate;
        }
        public bool InOpenTime()
        {
            DailyQuestOpenTime _openTime = null;
            dailyQuestModel.TryGetOpenTime(dailyQuestId, out _openTime);
           return _openTime != null && _openTime.InOpenTime();
        }
        public int IndexOfDays(DateTime time)
        {
            if (!InDay(time))
@@ -105,17 +123,17 @@
            if(!StartDate.Equals(default(OperationDate))
                && InDay(TimeUtility.ServerNow))
            {
                return ToDisplayTime(StartDate,EndDate);
                return Language.Get("CrossServer106", ToDisplayTime(StartDate, EndDate));
            }
            else
            {
                if(NextStartDate.Equals(default(OperationDate)))
                {
                    return "敬请期待";
                    return Language.Get("107",Language.Get("CrossServer108"));
                }
                else
                {
                    return ToDisplayTime(NextStartDate,NextEndDate);
                    return Language.Get("CrossServer107", ToDisplayTime(NextStartDate, NextEndDate));
                }
            }
        }
System/CrossServerOneVsOne/CrossServerPlayerInfo.cs
@@ -85,7 +85,7 @@
        public string DisplayWinningRate()
        {
            float rate = (float)WinCount / PKCount;
            float rate = PKCount != 0 ? (float)WinCount / PKCount : 0;
            return StringUtility.Contact((float)Math.Round(rate,1),"%");
        }
System/CrossServerOneVsOne/CrossServerWin.cs
@@ -20,6 +20,7 @@
        [SerializeField] Text rankText;
        [SerializeField] Text curScoreText;
        [SerializeField] Text honorText;
        [SerializeField] Image rankImg;
        [SerializeField] Slider scoreSlider;
        [SerializeField] Text scorePerText;
        [SerializeField] GameObject danLvUpObj;
@@ -90,7 +91,7 @@
            var arenaConfig = Config.Instance.Get<CrossServerArenaConfig>(playerInfo.DanLV);
            rankText.text = arenaConfig.Name;
            rankImg.SetSprite(arenaConfig.IconKey);
        }
        private void UpdateScore()
System/CrossServerOneVsOne/DungeonPlayerLeaveCoolDownWin.cs
New file
@@ -0,0 +1,105 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Wednesday, September 13, 2017
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class DungeonPlayerLeaveCoolDownWin : Window
    {
        [SerializeField]
        Transform m_CoolDownContainer;
        [SerializeField]
        Text m_CoolDown;
        DateTime beginTime = DateTime.Now;
        DungeonModel m_Model;
        DungeonModel model {
            get {
                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>());
            }
        }
        int coolTime = -1;
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
        }
        protected override void OnPreOpen()
        {
            coolTime = -1;
            beginTime = model.GetCoolDownEndTime(DungeonCoolDownType.PlayerLeave);
            model.dungeonCoolDownEvent += OnBeginTimeEvent;
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            model.dungeonCoolDownEvent -= OnBeginTimeEvent;
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void OnBeginTimeEvent(DungeonCoolDownType _type)
        {
            if (_type != DungeonCoolDownType.PlayerLeave)
            {
                return;
            }
            beginTime = model.GetCoolDownEndTime(_type);
        }
        protected override void LateUpdate()
        {
            base.LateUpdate();
            if (beginTime > DateTime.Now)
            {
                var surplusTime =Mathf.Clamp((int)(beginTime - DateTime.Now).TotalSeconds,0,int.MaxValue);
                if (coolTime != surplusTime)
                {
                    coolTime = surplusTime;
                    m_CoolDown.text = Language.Get("CrossServer118",surplusTime);
                }
                if (!m_CoolDownContainer.gameObject.activeInHierarchy)
                {
                    m_CoolDownContainer.gameObject.SetActive(true);
                }
            }
            else
            {
                if (m_CoolDownContainer.gameObject.activeInHierarchy)
                {
                    m_CoolDownContainer.gameObject.SetActive(false);
                }
            }
        }
    }
}
System/CrossServerOneVsOne/DungeonPlayerLeaveCoolDownWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 06957814b0967e2408ce1f18ed6ea6d1
timeCreated: 1545298190
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/CrossServerOneVsOne/DungeonWaitPlayerCoolDownWin.cs
New file
@@ -0,0 +1,100 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Wednesday, September 13, 2017
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class DungeonWaitPlayerCoolDownWin : Window
    {
        [SerializeField]
        Transform m_CoolDownContainer;
        [SerializeField]
        Text m_CoolDown;
        DateTime beginTime = DateTime.Now;
        DungeonModel m_Model;
        DungeonModel model {
            get {
                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>());
            }
        }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
        }
        protected override void OnPreOpen()
        {
            beginTime = model.GetCoolDownEndTime(DungeonCoolDownType.WaitPlayer);
            model.dungeonCoolDownEvent += OnBeginTimeEvent;
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            model.dungeonCoolDownEvent -= OnBeginTimeEvent;
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void OnBeginTimeEvent(DungeonCoolDownType _type)
        {
            if (_type != DungeonCoolDownType.WaitPlayer)
            {
                return;
            }
            beginTime = model.GetCoolDownEndTime(_type);
        }
        protected override void LateUpdate()
        {
            base.LateUpdate();
            if (beginTime > DateTime.Now)
            {
                var surplusTime =Mathf.Clamp((int)(beginTime - DateTime.Now).TotalSeconds,0,int.MaxValue);
                m_CoolDown.text = surplusTime.ToString();
                if (!m_CoolDownContainer.gameObject.activeInHierarchy)
                {
                    m_CoolDownContainer.gameObject.SetActive(true);
                }
            }
            else
            {
                if (m_CoolDownContainer.gameObject.activeInHierarchy)
                {
                    m_CoolDownContainer.gameObject.SetActive(false);
                }
            }
        }
    }
}
System/CrossServerOneVsOne/DungeonWaitPlayerCoolDownWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 8e5a4e30b66e6fc41973e7aceb0ef6bf
timeCreated: 1545297371
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Dungeon/DungeonModel.cs
@@ -686,6 +686,8 @@
                switch (_type)
                {
                    case DungeonCoolDownType.WaitStart:
                    case DungeonCoolDownType.WaitPlayer:
                    case DungeonCoolDownType.PlayerLeave:
                        dungeonFightStage = DungeonFightStage.Prepare;
                        break;
                    case DungeonCoolDownType.TowerTake:
@@ -701,6 +703,22 @@
                        dungeonFightStage = DungeonFightStage.ElderGodAreaNearDead;
                        break;
                }
                switch(_type)
                {
                    case DungeonCoolDownType.WaitPlayer:
                        if(!WindowCenter.Instance.IsOpen<DungeonWaitPlayerCoolDownWin>())
                        {
                            WindowCenter.Instance.Open<DungeonWaitPlayerCoolDownWin>();
                        }
                        break;
                    case DungeonCoolDownType.PlayerLeave:
                        if (!WindowCenter.Instance.IsOpen<DungeonPlayerLeaveCoolDownWin>())
                        {
                            WindowCenter.Instance.Open<DungeonPlayerLeaveCoolDownWin>();
                        }
                        break;
                }
            }
            if (_type == DungeonCoolDownType.WaitStart)
Utility/EnumHelper.cs
@@ -344,6 +344,8 @@
    FBAddTime = 6,
    ElderGodAreaDeadTime = 7,//古神禁地倒计时
    PickUpTime = 8,//副本捡装备倒计时
    WaitPlayer = 9, //等待对手倒计时
    PlayerLeave = 10, //对手掉线倒计时
}
/// <summary>