| System/DailyQuest/DayRemind.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/FairyAu/FairyLeagueModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/FairyAu/FairyLeagueNoticeWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/FairyAu/FairyLeagueNoticeWin.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Message/WordAnalysis.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/ImpactRankModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/OpenServerActivity/OpenServerActivityWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/DailyQuest/DayRemind.cs
@@ -45,6 +45,7 @@ public const string OSGIFT_REDPOINT = "OSGitf_Redpoint"; public const string TASK_SKILL_HOLE = "TaskSkillHole"; public const string RUNE_SPECIAL_HOLE = "RuneSpecialHole"; public const string LEAGUE_NOTICE_REDPOINT = "LeagueNoticeRedpoint"; public Dictionary<string, int[]> dayRemindDic = new Dictionary<string, int[]>(); public bool GetDayRemind(string _remindKey) @@ -98,6 +99,7 @@ SetDayRemind(OSGIFT_REDPOINT); SetDayRemind(TASK_SKILL_HOLE); SetDayRemind(RUNE_SPECIAL_HOLE); SetDayRemind(LEAGUE_NOTICE_REDPOINT); } private void SetDayRemind(string _key) System/FairyAu/FairyLeagueModel.cs
@@ -9,7 +9,7 @@ namespace Snxxz.UI { public class FairyLeagueModel : Model, IAfterPlayerDataInitialize, IBeforePlayerDataInitialize, IPlayerLoginOk public class FairyLeagueModel : Model, IAfterPlayerDataInitialize, IBeforePlayerDataInitialize, IPlayerLoginOk,IOpenServerActivity { public event Action OnRefreshFairyLeagueEvent; @@ -123,9 +123,11 @@ DTCA003_tagUniversalGameRecInfo.onGetUniversalGameInfo += OnGetUniversalGameInfo; PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent; StageManager.Instance.onStageLoadFinish += OnStageLoadFinish; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; TimeMgr.Instance.OnMinuteEvent += MinuteEvent; TimeMgr.Instance.OnDayEvent += DayEvent; fairyLeagueHelp = new FairyLeagueHelp(); OpenServerActivityCenter.Instance.Register((int)OpenServerActivityCenter.OSActivityType.FairyLeagueNotice, this); } public override void UnInit() @@ -154,6 +156,7 @@ cacheLeagueStage = fairyLeagueStage; CheckFairyLeagueData(); UpdateRedpoint(); UpdateNoticeRedpoint(); serverInited = true; } @@ -244,6 +247,7 @@ readonly List<int> fairyLeagueStateValues = new List<int>() { 11, 12, 13, 21, 22, 23 }; FairyLeagueWeekTime fairyLeagueWeekTime = new FairyLeagueWeekTime(); Dictionary<int, Dictionary<int, FairyLeagueWeekTime>> specialLeagueTimes = new Dictionary<int, Dictionary<int, FairyLeagueWeekTime>>(); public Dictionary<int,int> leagueNoticeWeapons { get; private set; } private void ParseConfig() { FuncConfigConfig cfg = Config.Instance.Get<FuncConfigConfig>("FamilyMatchGuide"); @@ -351,12 +355,15 @@ integralAddition = int.Parse(cfg.Numerical5); cfg = Config.Instance.Get<FuncConfigConfig>("FamilyMatchResourcePoint1"); crystalRateDict = ConfigParse.GetDic<int, float>(cfg.Numerical1); cfg = Config.Instance.Get<FuncConfigConfig>("FamilyForcast"); leagueNoticeWeapons = ConfigParse.GetDic<int, int>(cfg.Numerical1); } int GetIndexOfWeek(int _openWeekDay, int _openDays, out int dayOfWeek) { var index = (_openWeekDay + _openDays - 1) / 7; var index = (_openWeekDay + _openDays - 2) / 7; dayOfWeek = (_openWeekDay + _openDays - 1) % 7; dayOfWeek = dayOfWeek == 0 ? 7 : dayOfWeek; return index; } @@ -905,6 +912,7 @@ #region 红点 private Redpoint m_LeagueRedpoint = new Redpoint(107, 10704); public Redpoint m_JoinFairyLeagueRedpoint { get; private set; } public void UpdateRedpoint() { m_JoinFairyLeagueRedpoint.state = RedPointState.None; @@ -918,6 +926,115 @@ return; } m_JoinFairyLeagueRedpoint.state = RedPointState.Simple; } #endregion #region 仙盟联赛预告 private void OnFuncStateChangeEvent(int func) { if (func == (int)FuncOpenEnum.FairyLeague) { if (onStateUpate != null) { onStateUpate((int)OpenServerActivityCenter.OSActivityType.FairyLeagueNotice); } UpdateNoticeRedpoint(); } } public event Action<int> onStateUpate; public bool IsOpen { get { return FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.FairyLeague) && !IsAfterFirstLeague(); } } public bool IsAdvance { get { return false; } } public bool priorityOpen { get { return false; } } public int GetBeforeFirstLeagueTime() { var seconds = 0; if (TimeUtility.OpenWeekCnt <= 1) { if (IsAfterFirstLeague()) { return 0; } var weekTime = currentWeekTime == null ? nextWeekTime : currentWeekTime; var ring = weekTime.rings[0]; var session = ring.sessions[0]; var fightStage = session.stages.Find((x) => { return x.stage == FairyLeagueStage.Fight; }); var time = TimeUtility.openServerTime.AddTicks((weekTime.rings[0].openServerDay - 1) * TimeSpan.TicksPerDay); time = new DateTime(time.Year, time.Month, time.Day, fightStage.startHour, fightStage.startMinute, 0); seconds = (int)(time - TimeUtility.ServerNow).TotalSeconds; seconds = Mathf.Max(seconds, 0); } return seconds; } public bool IsAfterFirstLeague() { if (TimeUtility.OpenWeekCnt <= 1) { var openServerTime = TimeUtility.openServerTime; var openServerWeekDay = openServerTime.DayOfWeek == DayOfWeek.Sunday ? 7 : (int)openServerTime.DayOfWeek; if (specialLeagueTimes.ContainsKey(openServerWeekDay)) { var dict = specialLeagueTimes[openServerWeekDay]; var weekCount = TimeUtility.OpenWeekCnt; if (dict.ContainsKey(0) && weekCount > 0) { return true; } if (currentWeekTime == null) { return false; } var weekTime = currentWeekTime == null ? nextWeekTime : currentWeekTime; if (weekTime.IsNextWeek) { return true; } if (weekTime.rings.Count > 1 && weekTime.currentRing == 1) { return true; } return weekTime.currentSession == 1 && weekTime.fairyLeagueStage == FairyLeagueStage.Over; } } return true; } Redpoint fairyLeagueNoticeRedpoint = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, 20912); void UpdateNoticeRedpoint() { fairyLeagueNoticeRedpoint.state = RedPointState.None; if (!DayRemind.Instance.GetDayRemind(DayRemind.LEAGUE_NOTICE_REDPOINT) && IsOpen) { fairyLeagueNoticeRedpoint.state = RedPointState.Simple; } } public void SetViewLeagueNotice() { if (fairyLeagueNoticeRedpoint.state == RedPointState.Simple) { DayRemind.Instance.SetDayRemind(DayRemind.LEAGUE_NOTICE_REDPOINT, true); UpdateNoticeRedpoint(); } } #endregion } @@ -1093,6 +1210,8 @@ public int dayOfWeek { get; set; } public int openServerDay { get; private set; } public void Sort() { sessions.Sort((Session x, Session y) => @@ -1122,6 +1241,8 @@ public void ParseConfig(DungeonSpecialStateTimeConfig config, int dayOfWeek) { openServerDay = config.OpenServerDay; var session = sessions.Find((x) => { return x.session == (config.StateValue < 20 ? 0 : 1); System/FairyAu/FairyLeagueNoticeWin.cs
New file @@ -0,0 +1,111 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, September 21, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using TableConfig; using UnityEngine; using UnityEngine.UI; namespace Snxxz.UI { public class FairyLeagueNoticeWin : Window { [SerializeField] RectTransform m_ContainerNoFairy; [SerializeField] RectTransform m_ContainerHasFairy; [SerializeField] Button m_JoinFairy; [SerializeField] Button m_Goto; [SerializeField] RawImage[] m_RawWeapons; [SerializeField, Header("武器角度,职业1,2,3")] Vector3[] m_WeaponAngles; FairyLeagueModel model { get { return ModelCenter.Instance.GetModel<FairyLeagueModel>(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_JoinFairy.onClick.AddListener(JoinFairy); m_Goto.onClick.AddListener(Goto); } protected override void OnPreOpen() { PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo; PlayerDatas.Instance.fairyData.OnRefreshFairyMine += OnRefreshFairyInfo; model.SetViewLeagueNotice(); Display(); DisplayWeapons(); } protected override void OnAfterOpen() { } protected override void OnPreClose() { PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo; PlayerDatas.Instance.fairyData.OnRefreshFairyMine -= OnRefreshFairyInfo; UI3DModelExhibition.Instance.StopShowEquipment(); } protected override void OnAfterClose() { } #endregion void Display() { m_ContainerNoFairy.gameObject.SetActive(!PlayerDatas.Instance.fairyData.HasFairy); m_ContainerHasFairy.gameObject.SetActive(PlayerDatas.Instance.fairyData.HasFairy); } private void Goto() { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.UnionFunc4); } private void JoinFairy() { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.UnionFunc3); } private void OnRefreshFairyInfo() { Display(); } void DisplayWeapons() { var job = PlayerDatas.Instance.baseData.Job; var _rawImage = m_RawWeapons[0]; var _angle = m_WeaponAngles[0]; var _weaponId = model.leagueNoticeWeapons.ContainsKey(job) ? model.leagueNoticeWeapons[job] : 0; if (_weaponId == 0) { return; } for (int i = 0; i < m_RawWeapons.Length; i++) { m_RawWeapons[i].gameObject.SetActive(job == (i + 1)); if ((i + 1) == job) { _rawImage = m_RawWeapons[i]; _angle = m_WeaponAngles[i]; } } var config = Config.Instance.Get<ItemConfig>(_weaponId); UI3DModelExhibition.Instance.BeginShowEquipment(config.ChangeOrd, _angle, _rawImage); } } } System/FairyAu/FairyLeagueNoticeWin.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: c1c8b96d40cac8741ab435102d9d4549 timeCreated: 1537498840 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: System/Message/WordAnalysis.cs
@@ -10,8 +10,8 @@ public static Regex Color_Start_Regex = new Regex(@"<color=#[0-9a-zA-Z]+>", RegexOptions.Singleline); public static Regex Color_End_Regex = new Regex(@"</color>", RegexOptions.Singleline); public static Regex Space_Regex = new Regex(@"<Space=([0-9]*)>", RegexOptions.Singleline); public static Regex Size_Start_Regex = new Regex(@"<Size=([0-9]+)>", RegexOptions.Singleline); public static Regex Size_End_Regex = new Regex(@"</Size>", RegexOptions.Singleline); public static Regex Size_Start_Regex = new Regex(@"<[Ss]ize=([0-9]+)>", RegexOptions.Singleline); public static Regex Size_End_Regex = new Regex(@"</[Ss]ize>", RegexOptions.Singleline); private static RichTextEventEnum eventType = RichTextEventEnum.TABLE; System/OpenServerActivity/ImpactRankModel.cs
@@ -781,7 +781,9 @@ [Header("仙玉投资")] FairyInvest, [Header("VIP投资")] VipInvest VipInvest, [Header("仙盟联赛预告")] FairyLeagueNotice, } } System/OpenServerActivity/OpenServerActivityWin.cs
@@ -29,6 +29,7 @@ return m_OSRedEnvelopeModel ?? (m_OSRedEnvelopeModel = ModelCenter.Instance.GetModel<OSRedEnvelopeModel>()); } } FairyLeagueModel fairyLeagueModel { get { return ModelCenter.Instance.GetModel<FairyLeagueModel>(); } } List<int> openActivitys = new List<int>(); List<int> priorityActivitys = new List<int>(); @@ -64,6 +65,7 @@ impactRankModel.presentSelectType = impactDefaultType; impactRankModel.gotoImpactRankType = 0; envelopeModel.selectType = 1; GlobalTimeEvent.Instance.secondEvent += SecondEvent; CheckAlreadyOpen(); UpdateFunctionBtns(); } @@ -121,6 +123,7 @@ TimeUtility.OnServerOpenDayRefresh -= OnStepServerDayEvent; OperationTimeHepler.Instance.operationTimeUpdateEvent -= OperationTimeUpdateEvent; OpenServerActivityCenter.Instance.openServerActivityStateChange -= OpenServerActivityStateChange; GlobalTimeEvent.Instance.secondEvent -= SecondEvent; CloseOtherWin(); impactRankModel.gotoImpactRankType = 0; } @@ -165,6 +168,24 @@ { openActivitys.Sort(Compare); return openActivitys[0]; } } private void SecondEvent() { var cell = m_ActivityCtrl.GetActiveCellView((int)OpenServerActivityCenter.OSActivityType.FairyLeagueNotice); if (cell != null) { var activityCell = cell as OpenServerActivityCell; var seconds = fairyLeagueModel.GetBeforeFirstLeagueTime(); if (seconds > 0) { activityCell.title.text = UIHelper.ReplaceNewLine(Language.Get("FairyLeagueForcast", TimeUtility.SecondsToHMS(seconds))); } else { activityCell.title.text = Language.Get("FamilyMatchName"); } } } @@ -224,6 +245,17 @@ if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.MultipRealmPoint, out operationBase)) { _cell.title.text = Language.Get("MultipleRealmPoint", Language.Get(StringUtility.Contact("Num_CHS_", (operationBase as OperationMultipleRealmPoint).multiplePractice))); } break; case 12: var seconds = fairyLeagueModel.GetBeforeFirstLeagueTime(); if (seconds > 0) { _cell.title.text = UIHelper.ReplaceNewLine(Language.Get("FairyLeagueForcast", TimeUtility.SecondsToHMS(seconds))); } else { _cell.title.text = Language.Get("FamilyMatchName"); } break; default: @@ -471,7 +503,7 @@ } else { WindowCenter.Instance.Open<FairyJadeInvestmentWin>(); WindowCenter.Instance.Open<FairyJadeInvestmentWin>(true); } break; case 11: @@ -481,10 +513,19 @@ } else { WindowCenter.Instance.Open<VipInvestWin>(); WindowCenter.Instance.Open<VipInvestWin>(true); } break; case 12: if (windowState == WindowState.Opened) { WindowCenter.Instance.OpenWithoutAnimation<FairyLeagueNoticeWin>(); } else { WindowCenter.Instance.Open<FairyLeagueNoticeWin>(true); } break; } } @@ -518,6 +559,7 @@ WindowCenter.Instance.CloseImmediately<LimitedTimePackageWin>(); WindowCenter.Instance.CloseImmediately<FairyJadeInvestmentWin>(); WindowCenter.Instance.CloseImmediately<VipInvestWin>(); WindowCenter.Instance.CloseImmediately<FairyLeagueNoticeWin>(); } private int Compare(int order_x, int order_y)