Core/GameEngine/Login/Launch.cs
@@ -43,6 +43,7 @@ SoundPlayer.CreateSoundPlayer(); SoundPlayer.Instance.PlayLoginMusic(); SystemSetting.Instance.SetSoundVolume(SystemSetting.Instance.GetSoundVolume()); SystemSetting.Instance.SetVSyncCount(SystemSetting.Instance.GetVSyncCount()); SDKUtility.Instance.Init(); GameObjectPoolManager.Instance.gameObject.name = "GameObjectPool"; System/AssetVersion/InGameDownLoadProgress.cs
@@ -28,7 +28,8 @@ && InGameDownLoad.Instance.completeDownLoadAccount == PlayerDatas.Instance.baseData.AccID) { m_ProgressText.gameObject.SetActive(true); m_ProgressText.text = "100%"; var progress = Mathf.RoundToInt(InGameDownLoad.Instance.progress * 100); m_ProgressText.text = StringUtility.Contact(progress, "%"); this.gameObject.SetActive(true); } else @@ -91,7 +92,8 @@ case InGameDownLoad.State.Award: this.gameObject.SetActive(true); m_ProgressText.gameObject.SetActive(true); m_ProgressText.text = "100%"; var progress = Mathf.RoundToInt(InGameDownLoad.Instance.progress * 100); m_ProgressText.text = StringUtility.Contact(progress, "%"); break; } } System/DailyQuest/DayRemind.cs
@@ -42,7 +42,7 @@ public const string POTENTIAL_NO_NOTIFY = "PotentialNoNotify"; public const string FLASHSALE_REDPOINT = "FlashSale_Redpoint"; public const string OSTIMEGIFT_REDPOINT = "OSTimeGift_Redpoint"; public const string TRIALEXCHANGE_REDPOINT = "TrialExchange_Redpoint"; public const string OSGIFT_REDPOINT = "OSGitf_Redpoint"; public Dictionary<string, int[]> dayRemindDic = new Dictionary<string, int[]>(); public bool GetDayRemind(string _remindKey) @@ -93,7 +93,7 @@ SetDayRemind(POTENTIAL_NO_NOTIFY); SetDayRemind(FLASHSALE_REDPOINT); SetDayRemind(OSTIMEGIFT_REDPOINT); SetDayRemind(TRIALEXCHANGE_REDPOINT); SetDayRemind(OSGIFT_REDPOINT); } private void SetDayRemind(string _key) System/FindPrecious/DemonJarVictoryWin.cs
@@ -18,7 +18,7 @@ [SerializeField] Transform m_ContainerPoivt; [SerializeField] Transform m_KillRewardExplain; [SerializeField] Text m_Rank; [SerializeField] Text m_RewardType; [SerializeField] RectTransform m_FirstRankRewardTip; [SerializeField] Transform m_DoubleReward; [SerializeField] Transform m_DoubleChallenge; [SerializeField] ScrollRect m_RewardsScroll; @@ -112,7 +112,7 @@ var rank = model.dungeonResult.rank; m_Rank.text = Language.Get("DemonJar7", rank); m_RewardType.text = Language.Get(rank == 1 ? "DemonJar9" : "DemonJar11"); m_FirstRankRewardTip.gameObject.SetActive(rank == 1); m_KillRewardExplain.gameObject.SetActive(rank == 1); m_DamageFirstEffect.gameObject.SetActive(rank == 1); m_VictoryFontContainer.gameObject.SetActive(rank != 1); System/FindPrecious/ElderGodAreaRebornWin.cs
@@ -18,12 +18,11 @@ [SerializeField] Text m_ReBornTimer; [SerializeField] Button m_Reborn; PlayerDeadModel _deadModel; PlayerDeadModel DeadModel { get { return _deadModel ?? (_deadModel = ModelCenter.Instance.GetModel<PlayerDeadModel>()); } } PlayerDeadModel DeadModel { get { return ModelCenter.Instance.GetModel<PlayerDeadModel>(); } } float rebornTime = 0f; float secondTimer = 0f; bool sendReborn = false; #region Built-in protected override void BindController() { @@ -36,13 +35,22 @@ protected override void OnPreOpen() { TimeDownMgr.CoolTimeData coolDown; if (TimeDownMgr.Instance.Get(TimeDownMgr.CoolTimeType.DuplicatesReborn, out coolDown)) { RefreshTime(Mathf.RoundToInt(coolDown.duration - coolDown.time)); } secondTimer = 0f; sendReborn = false; DeadModel.RefreshDuplicatesRebornCDEvent = RefreshTime; try { rebornTime = Time.time + GeneralConfig.Instance.dungeonRebornClientTimes[ElderGodAreaModel.ELDERGODAREA_MAPID]; if (rebornTime <= Time.time) { Reborn(); } } catch (Exception ex) { Debug.Log(ex); rebornTime = Time.time + 10f; } } protected override void OnAfterOpen() @@ -51,6 +59,10 @@ protected override void OnPreClose() { if (!sendReborn) { Reborn(); } } protected override void OnAfterClose() @@ -58,20 +70,33 @@ } #endregion private void RefreshTime(int _time) protected override void LateUpdate() { if (_time > 0) base.LateUpdate(); if (Time.time >= rebornTime) { m_ReBornTimer.text = StringUtility.Contact("(", _time, ")"); if (!sendReborn) { Reborn(); } } else { Reborn(); secondTimer -= Time.deltaTime; if (secondTimer < 0f) { secondTimer = 1f; var surplusSecond = Mathf.RoundToInt(rebornTime - Time.time); m_ReBornTimer.text = StringUtility.Contact("(", surplusSecond, ")"); } } } private void Reborn() { sendReborn = true; DeadModel.SendRebornQuest(0); WindowCenter.Instance.Close<ElderGodAreaRebornWin>(); } System/GeneralConfig/GeneralConfig.cs
@@ -126,6 +126,8 @@ public List<int> dungeonCanUseMoneyIds { get; private set; } public Dictionary<int, int> dungeonRebornClientTimes { get; private set; } public void Init() { try @@ -429,6 +431,7 @@ inGameDownLoadHighestLevelPoint = GetInt("DownReward", 2); dungeonCanUseMoneyIds = new List<int>(GetIntArray("FBEnterTickeyAuto", 1)); dungeonRebornClientTimes = ConfigParse.GetDic<int, int>(GetInputString("DuplicatesRebornTime", 2)); } catch (Exception ex) { System/KnapSack/Logic/EquipTip.cs
@@ -827,7 +827,10 @@ { if(itemAttrData.packType != PackType.rptDogzItem && itemAttrData.packType != PackType.rptDogzEquip) { dogzEquipDesText.gameObject.SetActive(false); if (dogzEquipDesText != null) { dogzEquipDesText.gameObject.SetActive(false); } if (itemAttrData.itemConfig.Description == "" || string.IsNullOrEmpty(itemAttrData.itemConfig.Description)) { equipSourceNormal.gameObject.SetActive(true); @@ -849,8 +852,11 @@ equipSourceNormal.gameObject.SetActive(false); equipSourceDes.gameObject.SetActive(false); equipSourceText.gameObject.SetActive(false); dogzEquipDesText.gameObject.SetActive(true); dogzEquipDesText.text = itemAttrData.itemConfig.Description; if (dogzEquipDesText != null) { dogzEquipDesText.gameObject.SetActive(true); dogzEquipDesText.text = itemAttrData.itemConfig.Description; } } } System/MainInterfacePanel/FlyingShoesTask.cs
@@ -322,11 +322,23 @@ { m_TitleText.text = "<color=#ec4bf6>" + TaskTitle(TaskID) + "</color>"; } int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品 if (mainModel.TaskId_Skill1.Contains(TaskID)) { if (itemNumber >= mainModel.ItemNumber) { m_TitleText.text = "<color=#109d06>" + TaskTitle(TaskID) + "</color>"; } else { m_TitleText.text = "<color=#feed28>" + TaskTitle(TaskID) + "</color>"; } } string str = taskmodel.allMissionDict[TaskID].InforList; var taskinfo = Config.Instance.Get<TASKINFOConfig>(str); if (mainModel.TaskId_Skill1.Contains(TaskID))//特殊任务 { int itemNumber = playerPack.GetItemCountByID(PackType.rptItem, mainModel.ItemID);//获取特殊物品 string Str_A = string.Format(Language.Get("PassiveSkillTask1"), mainModel.ItemID, itemNumber); string Str_B = Language.Get("PassiveSkillTask2"); if (itemNumber >= mainModel.ItemNumber) System/Message/RichText.cs
@@ -500,7 +500,7 @@ { get { if (font == null) if (font == null && Application.isPlaying) { font = FontUtility.preferred; } @@ -513,7 +513,7 @@ { get { if (font == null) if (font == null && Application.isPlaying) { font = FontUtility.preferred; } @@ -719,7 +719,7 @@ fitterText = fitterText.Replace("\n", ""); float width = 0; textBuilder.Length = 0; if (null == font) if (null == font && Application.isPlaying) { font = FontUtility.preferred; } System/Message/SysNotifyMgr.cs
@@ -28,12 +28,19 @@ private void Awake() { DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent; StageManager.Instance.onStageLoadFinish += OnStageLoadFinish; } protected override void OnDestroy() { base.OnDestroy(); DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerDataInitializeEvent; StageManager.Instance.onStageLoadFinish -= OnStageLoadFinish; } private void OnStageLoadFinish() { ServerTipDetails.OnStageLoadFinish(); } private void BeforePlayerDataInitializeEvent() System/OpenServerActivity/ImpactRankModel.cs
@@ -495,7 +495,8 @@ public bool CanGetAward(int _type, out int _displayIndex) { _displayIndex = 0; if (IsMissImpactRank(_type) || !IsActivityClose(_type)) bool _locked = IsLock(_type); if (IsMissImpactRank(_type) || _locked) { return false; } @@ -524,7 +525,7 @@ } } } else else if (IsActivityClose(_type)) { var _start = (_cfg as OSCBillRankAwardConfig).RankA; var _end = (_cfg as OSCBillRankAwardConfig).RankB; System/OpenServerActivity/OSGiftBehaviour.cs
@@ -18,6 +18,7 @@ [SerializeField] Text m_OriginalMoneyValue; [SerializeField] Button m_BuyBtn; [SerializeField] Image m_Complete; [SerializeField] Text m_OwnMoney; StoreModel m_StoreModel; StoreModel storeModel @@ -55,11 +56,21 @@ private void OnEnable() { storeModel.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent; PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent; } private void OnDisable() { storeModel.RefreshBuyShopLimitEvent -= RefreshBuyShopLimitEvent; PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent; } private void PlayerDataRefreshInfoEvent(PlayerDataRefresh refreshType) { if (refreshType == PlayerDataRefresh.Gold || refreshType == PlayerDataRefresh.GoldPaper) { DisplayOwnMoney(); } } private void RefreshBuyShopLimitEvent() @@ -111,11 +122,22 @@ m_OriginalMoneyValue.text = _storeConfig.MoneyOriginal.ToString(); } DisplayOwnMoney(); var _limit = storeModel.GetBuyShopLimit((uint)storeId); m_Complete.gameObject.SetActive(_limit != null && _limit.BuyCnt >= _storeConfig.PurchaseNumber[0]); m_BuyBtn.gameObject.SetActive(_limit == null || _limit.BuyCnt < _storeConfig.PurchaseNumber[0]); } private void DisplayOwnMoney() { if (m_OwnMoney != null) { var config = Config.Instance.Get<StoreConfig>(storeId); m_OwnMoney.text = UIHelper.GetMoneyCnt(config == null ? 1 : config.MoneyType).ToString(); } } private void OnBuyBtn() { var _storeConfig = Config.Instance.Get<StoreConfig>(storeId); System/OpenServerActivity/OSGiftModel.cs
@@ -27,22 +27,12 @@ { onStateUpate(6); } UpdateRedpoint(); } public event Action<int> onStateUpate; public bool activate { get; private set; } private bool m_GiftGetNotify = false; public bool giftGetNotify { get { return m_GiftGetNotify; } set { m_GiftGetNotify = value; OSGiftRedpoint.state = value ? RedPointState.Simple : RedPointState.None; } } StoreModel storeModel { @@ -80,6 +70,7 @@ { onStateUpate(6); } UpdateRedpoint(); } } @@ -94,6 +85,7 @@ onStateUpate(6); } } UpdateRedpoint(); } public bool CheckActivate() @@ -131,7 +123,24 @@ public void OnBeforePlayerDataInitialize() { giftGetNotify = false; } public void SetDayRemind() { if (OSGiftRedpoint.state == RedPointState.Simple) { DayRemind.Instance.SetDayRemind(DayRemind.OSGIFT_REDPOINT, true); UpdateRedpoint(); } } void UpdateRedpoint() { OSGiftRedpoint.state = RedPointState.None; if (CheckActivate() && !DayRemind.Instance.GetDayRemind(DayRemind.OSGIFT_REDPOINT)) { OSGiftRedpoint.state = RedPointState.Simple; } } public Redpoint OSGiftRedpoint = new Redpoint(MainRedDot.REDPOINT_OPENSERVER, 20906); System/OpenServerActivity/OpenServerActivityWin.cs
@@ -55,7 +55,12 @@ { m_ActivitySpreadDict[m_SortArray[i]] = false; } impactRankModel.presentSelectType = impactRankModel.GetDefaultSelectType(); var impactDefaultType= impactRankModel.GetDefaultSelectType(); if (impactRankModel.IsLock(impactDefaultType)) { impactDefaultType = impactRankModel.billRankCfgDict.Keys.First(); } impactRankModel.presentSelectType = impactDefaultType; impactRankModel.gotoImpactRankType = 0; envelopeModel.selectType = 1; CheckAlreadyOpen(); @@ -241,7 +246,8 @@ private void OnStepServerDayEvent() { m_ActivityCtrl.m_Scorller.RefreshActiveCellViews(); //m_ActivityCtrl.m_Scorller.RefreshActiveCellViews(); UpdateFunctionBtns(); } private void RefreshActivityTypeCell(OpenActivityRankTypeCell _cell) @@ -292,6 +298,10 @@ } foreach (var _type in impactRankModel.billRankCfgDict.Keys) { if (impactRankModel.IsLock(_type)) { continue; } m_ActivityCtrl.AddCell(ScrollerDataType.Normal, sort * 100 + _type); } break; System/OpenServerActivity/OpenServerGiftWin.cs
@@ -26,6 +26,8 @@ return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<StoreModel>()); } } OSGiftModel giftModel { get { return ModelCenter.Instance.GetModel<OSGiftModel>(); } } #region Built-in protected override void BindController() { @@ -43,9 +45,8 @@ { WindowCenter.Instance.windowAfterOpenEvent += WindowAfterOpenEvent; WindowCenter.Instance.windowAfterCloseEvent += windowAfterCloseEvent; ModelCenter.Instance.GetModel<OSGiftModel>().giftGetNotify = false; model.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent; giftModel.SetDayRemind(); Display(); m_ContainerDisplay.gameObject.SetActive(!WindowCenter.Instance.CheckOpen<OffLineOnHookWin>()); System/Rune/RuneMosaicWin.cs
@@ -31,10 +31,11 @@ [SerializeField] Text presentRuneNameTxt; [SerializeField] Text presentRuneAttrTxt; [SerializeField] RectTransform m_ContainerLevelUp; //[SerializeField] RectTransform m_ContainerLevelUp; [SerializeField] RectTransform m_ContainerLvUp1; [SerializeField] RectTransform m_ContainerLvUp2; [SerializeField] RectTransform m_ContainerItem; [SerializeField] RectTransform m_ContaienrMaxLevel; [SerializeField] Text runeLevelUpAttr1; [SerializeField] Text runeLevelUpAttr2; [SerializeField] Text runeLevelUpAttrNum1; @@ -294,7 +295,8 @@ m_ContainerLvUp1.gameObject.SetActive(!_isRuneMaxLv); m_ContainerItem.gameObject.SetActive(!_isRuneMaxLv); m_RuneLevelUpBtn.gameObject.SetActive(!_isRuneMaxLv); m_ContainerLevelUp.gameObject.SetActive(!_isRuneMaxLv); //m_ContainerLevelUp.gameObject.SetActive(!_isRuneMaxLv); m_ContaienrMaxLevel.gameObject.SetActive(_isRuneMaxLv); runeLevelUpItemNum.text = StringUtility.Contact(UIHelper.GetTextColorByItemColor( model.RuneSplinters >= _levelUpExp ? TextColType.Green : TextColType.Red , model.RuneSplinters.ToString(), true), "/", _levelUpExp); System/SystemSetting/SystemSetWin.cs
@@ -15,6 +15,7 @@ [SerializeField] Toggle m_HighQuality; [SerializeField] Toggle m_MediumQuality; [SerializeField] Toggle m_LowQuality; [SerializeField] OnOffToggle m_SixtyFrame; [SerializeField] Toggle m_OtherPlayer; [SerializeField] Toggle m_Monster; @@ -49,6 +50,8 @@ m_HighQuality.AddListener(OnSetQualityHigh); m_MediumQuality.AddListener(OnSetQualityMedium); m_LowQuality.AddListener(OnSetQualityLow); m_SixtyFrame.AddListener(SwitchVSyncCount); m_OtherPlayer.AddListener(OnShowOrHideOtherPlayers); m_Monster.AddListener(OnShowOrHideMonsters); @@ -78,6 +81,8 @@ UpdateToggleSkin(m_LowQuality); UpdateToggleSkin(m_OtherPlayer); UpdateToggleSkin(m_Monster); m_SixtyFrame.isOn = SystemSetting.Instance.GetVSyncCount() == 1; var serverName = ServerListCenter.Instance.GetServerData(ServerListCenter.Instance.currentServer.region_flag).name; var playerAccount = PlayerDatas.Instance.baseData.AccID.Split('@'); @@ -111,6 +116,7 @@ loginModel.accountBindOkEvent += UpdateAccountBindTitle; SDKUtility.Instance.onFreePlatfromDoIDAuthenticationOk += OnAuthenticationOk; SystemSetting.Instance.vSyncCountChangeEvent += OnSwitchVSyncCount; SystemSetting.Instance.playerSyncCountChangeEvent += OnPlayerSyncCountChange; isInited = true; @@ -121,6 +127,7 @@ isInited = false; loginModel.accountBindOkEvent -= UpdateAccountBindTitle; SDKUtility.Instance.onFreePlatfromDoIDAuthenticationOk -= OnAuthenticationOk; SystemSetting.Instance.vSyncCountChangeEvent -= OnSwitchVSyncCount; SystemSetting.Instance.playerSyncCountChangeEvent -= OnPlayerSyncCountChange; SystemSetting.Instance.SetPlayerSyncCount(playerSyncCountRef); } @@ -182,6 +189,27 @@ UpdateToggleSkin(m_LowQuality); } private void SwitchVSyncCount() { var currentVSyncCount = SystemSetting.Instance.GetVSyncCount(); switch (currentVSyncCount) { case 1: SystemSetting.Instance.SetVSyncCount(2); break; case 2: SystemSetting.Instance.SetVSyncCount(1); break; default: break; } } private void OnSwitchVSyncCount() { m_SixtyFrame.isOn = SystemSetting.Instance.GetVSyncCount() == 1; } private void OnShowOrHideOtherPlayers(bool _value) { SystemSetting.Instance.SetSystemSettingSwitch(SystemSwitch.OtherPlayer, _value); System/SystemSetting/SystemSetting.cs
@@ -12,6 +12,7 @@ const string SOUND_VOLUME_KEY = "SoundRatioKey"; //音乐 const string SOUND_EFFECT_KEY = "SoundEffect"; //音效 const string FPS_KEY = "FPSKey"; const string VSYNC_KEY = "GameVSyncCountSetting";//垂直同步率 public Dictionary<SystemSwitch, bool> systemSettings = new Dictionary<SystemSwitch, bool>(); @@ -20,6 +21,7 @@ public event Action<SystemSwitch, bool> OnSettingChanged; public event Action qualityLevelChangeEvent; public event Action playerSyncCountChangeEvent; public event Action vSyncCountChangeEvent; public SystemSetting() { @@ -50,6 +52,21 @@ public float GetSoundEffect() { return LocalSave.GetFloat(SOUND_EFFECT_KEY, 1); } public void SetVSyncCount(int _vSync) { LocalSave.SetInt(VSYNC_KEY, QualitySettings.vSyncCount = Mathf.Clamp(_vSync, 0, 2)); if (vSyncCountChangeEvent != null) { vSyncCountChangeEvent(); } } public int GetVSyncCount() { return LocalSave.GetInt(VSYNC_KEY, 2); } public void SetSystemSettingSwitch(SystemSwitch type, bool _value) @@ -122,7 +139,6 @@ public void SetQualityLevel(GameQuality _quality, bool _disabeCamera = true) { LocalSave.SetInt(QUALITY_LEVEL_KEY, Mathf.Clamp((int)_quality, 0, 2)); QualitySettings.SetQualityLevel((int)GameQuality.High); switch (_quality) { @@ -131,6 +147,7 @@ Shader.DisableKeyword("QUALITY_HGH"); Shader.DisableKeyword("QUALITY_MED"); Shader.EnableKeyword("QUALITY_LOW"); SetVSyncCount(2); break; case GameQuality.Medium: Shader.globalMaximumLOD = 250; System/Tip/MarqueeWin.cs
@@ -14,13 +14,11 @@ public class MarqueeWin : Window { [SerializeField] RichText marqueeText; [SerializeField] RectTransform marqueeBg; [SerializeField] TweenCurve tweenCurve; [SerializeField] RectTransform m_ContainerMarquee; [SerializeField] RichText marqueeText; [SerializeField] RectTransform marqueeBg; [SerializeField] TweenCurve tweenCurve; [SerializeField] UIEffect m_Effect; #region 参数 Vector3 fromPos; Vector3 toPos; @@ -32,6 +30,8 @@ [SerializeField] float speed = 5.0f; Coroutine cacheCoroutine = null; #region Built-in protected override void BindController() @@ -49,19 +49,37 @@ m_Time = 0; ServerTipDetails.OnTweening = false; presentCnt = 0; m_ContainerMarquee.gameObject.SetActive(false); if (cacheCoroutine != null) { StopCoroutine(cacheCoroutine); cacheCoroutine = null; } } protected override void OnActived() { base.OnActived(); m_Effect.Play(); cacheCoroutine = StartCoroutine(Co_StartTween()); } protected override void OnAfterOpen() { BeginMarquee(); //BeginMarquee(); } protected override void OnPreClose() { ServerTipDetails.OnTweening = false; presentCnt = 0; if (cacheCoroutine != null) { StopCoroutine(cacheCoroutine); cacheCoroutine = null; } } protected override void OnAfterClose() @@ -69,6 +87,13 @@ } IEnumerator Co_StartTween() { yield return WaitingForSecondConst.WaitMS500; m_ContainerMarquee.gameObject.SetActive(true); BeginMarquee(); } protected override void LateUpdate() { base.LateUpdate(); System/Tip/ServerTipDetails.cs
@@ -1,106 +1,138 @@ using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace Snxxz.UI { public class ServerTipDetails { #region 跑马灯 public static bool OnTweening = false; private static List<SystemHintData> m_Marquees = new List<SystemHintData>(); public static void ShowMarquee(string msg, ArrayList info, int _order, int loopCnt = 1) { m_Marquees.Add(new SystemHintData() { appendTime = DateTime.Now, message = msg, extentionData = info == null ? info : new ArrayList(info), order = _order }); m_Marquees.Sort(SysNotifyMgr.Instance.Compare); if (!WindowCenter.Instance.CheckOpen<MarqueeWin>()) { WindowCenter.Instance.Open<MarqueeWin>(); } } public static SystemHintData RequireMarquee() { if (m_Marquees.Count > 0) { var _hint = m_Marquees[0]; m_Marquees.RemoveAt(0); return _hint; } return null; } #endregion #region 固定全服消息 private static List<SystemHintData> hintTips = new List<SystemHintData>(); public static void ShowServerTip(string msg, ArrayList info, int order) { hintTips.Add(new SystemHintData() { message = msg, order = order, extentionData = info == null ? info : new ArrayList(info), appendTime = DateTime.Now, }); hintTips.Sort(SysNotifyMgr.Instance.Compare); MessageWin.Inst.ShowServerTip(); } public static SystemHintData RequireServerTip() { if (hintTips.Count > 0) { var _hint = hintTips[0]; hintTips.RemoveAt(0); return _hint; } return null; } #endregion public static void ClearHint() { hintTips.Clear(); m_Marquees.Clear(); queueTrumpetTips.Clear(); } #region 喇叭信息 private static Queue<ChatTrumpetData> queueTrumpetTips = new Queue<ChatTrumpetData>(); public static void ShowTrumpetTip(ChatTrumpetData trumpetData) { queueTrumpetTips.Enqueue(trumpetData); if (!WindowCenter.Instance.CheckOpen<TrumpetWin>()) { WindowCenter.Instance.Open<TrumpetWin>(); } } public static ChatTrumpetData RequireTrumpetTip() { if (queueTrumpetTips.Count > 0) { return queueTrumpetTips.Dequeue(); } return null; } public static int GetTrumpetSurplusCnt() { return queueTrumpetTips.Count; } #endregion } } using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace Snxxz.UI { public class ServerTipDetails { #region 跑马灯 public static bool OnTweening = false; private static List<SystemHintData> m_Marquees = new List<SystemHintData>(); public static void ShowMarquee(string msg, ArrayList info, int _order, int loopCnt = 1) { m_Marquees.Add(new SystemHintData() { appendTime = DateTime.Now, message = msg, extentionData = info == null ? info : new ArrayList(info), order = _order }); m_Marquees.Sort(SysNotifyMgr.Instance.Compare); if (!CheckOpenMarquee()) { return; } if (!WindowCenter.Instance.CheckOpen<MarqueeWin>()) { WindowCenter.Instance.Open<MarqueeWin>(); } } public static void OnStageLoadFinish() { if (StageManager.Instance.CurrentStage is LoginStage || StageManager.Instance.CurrentStage is SelectRoleStage) { m_Marquees.Clear(); return; } SnxxzGame.Instance.StartCoroutine(Co_StageLoadFinish()); } static IEnumerator Co_StageLoadFinish() { yield return null; if (CheckOpenMarquee() && m_Marquees.Count > 0) { if (!WindowCenter.Instance.CheckOpen<MarqueeWin>()) { WindowCenter.Instance.Open<MarqueeWin>(); } } } static bool CheckOpenMarquee() { return (StageManager.Instance.CurrentStage is DungeonStage) && !StageManager.Instance.isLoading; } public static SystemHintData RequireMarquee() { if (m_Marquees.Count > 0) { var _hint = m_Marquees[0]; m_Marquees.RemoveAt(0); return _hint; } return null; } #endregion #region 固定全服消息 private static List<SystemHintData> hintTips = new List<SystemHintData>(); public static void ShowServerTip(string msg, ArrayList info, int order) { hintTips.Add(new SystemHintData() { message = msg, order = order, extentionData = info == null ? info : new ArrayList(info), appendTime = DateTime.Now, }); hintTips.Sort(SysNotifyMgr.Instance.Compare); MessageWin.Inst.ShowServerTip(); } public static SystemHintData RequireServerTip() { if (hintTips.Count > 0) { var _hint = hintTips[0]; hintTips.RemoveAt(0); return _hint; } return null; } #endregion public static void ClearHint() { hintTips.Clear(); m_Marquees.Clear(); queueTrumpetTips.Clear(); } #region 喇叭信息 private static Queue<ChatTrumpetData> queueTrumpetTips = new Queue<ChatTrumpetData>(); public static void ShowTrumpetTip(ChatTrumpetData trumpetData) { queueTrumpetTips.Enqueue(trumpetData); if (!WindowCenter.Instance.CheckOpen<TrumpetWin>()) { WindowCenter.Instance.Open<TrumpetWin>(); } } public static ChatTrumpetData RequireTrumpetTip() { if (queueTrumpetTips.Count > 0) { return queueTrumpetTips.Dequeue(); } return null; } public static int GetTrumpetSurplusCnt() { return queueTrumpetTips.Count; } #endregion } } System/Treasure/TreasureLevelUpWin.cs
@@ -931,6 +931,12 @@ var stage = m_Treasure.treasureStages[m_Treasure.stage]; var _index = m_Treasure.GetStageIndex(stage.stage); model.SetTreasureStageShow(m_Treasure.id, stage.stage); if (WindowCenter.Instance.CheckOpen<TreasureStageTipWin>()) { WindowCenter.Instance.CloseImmediately<TreasureStageTipWin>(); } switch (stage.unlockType) { case TreasureStageUnlock.Skill: System/Vip/FairyJadeInvestmentModel.cs
@@ -31,8 +31,17 @@ VipInvestModel VipInvestModel { get { return m_VipInvestModel ?? (m_VipInvestModel = ModelCenter.Instance.GetModel<VipInvestModel>()); } } private bool IsOk = false; public bool IsRedpoint = false; private int DisplayLevel = 0;//显示等级 private int DisplayDays = 0;//显示天数 //---- private bool IsOneRedPoint = true; public override void Init() { var InvestRedPoint = Config.Instance.Get<FuncConfigConfig>("InvestRedPoint"); DisplayLevel = int.Parse(InvestRedPoint.Numerical2); DisplayDays = int.Parse(InvestRedPoint.Numerical3); int[] MultipleIntList = ConfigParse.GetMultipleStr<int>(Config.Instance.Get<FuncConfigConfig>("JadeInvest").Numerical1); MultipleList.Clear(); for (int i = 0; i < MultipleIntList.Length; i++) @@ -61,10 +70,10 @@ IsOk = true; InvestmentAmount(); InvestmentRedPoint(); if (TimeUtility.CreateDays <= 3 && redPointStre1.state == RedPointState.None) if (TimeUtility.CreateDays <= DisplayDays && redPointStre1.state == RedPointState.None) { IsRedpoint = true; if (PlayerDatas.Instance.baseData.LV >= 30) if (PlayerDatas.Instance.baseData.LV >= DisplayLevel) { RedPointSate(); } @@ -88,7 +97,7 @@ } if (_tCDBPlayerRefresh == PlayerDataRefresh.LV) { if (TimeUtility.CreateDays <= 3 && redPointStre1.state == RedPointState.None && PlayerDatas.Instance.baseData.LV >= 30) if (TimeUtility.CreateDays <= DisplayDays && redPointStre1.state == RedPointState.None && PlayerDatas.Instance.baseData.LV >= DisplayLevel) { if (IsRedpoint) { @@ -250,9 +259,7 @@ } } } } } int type1 = -1; if (JumpInedx == 0 && InvestmentGrade != 0) @@ -266,7 +273,6 @@ return; } } } } private void RedPointSate()//月卡投资创角前三天红点 @@ -277,7 +283,11 @@ } if (IsRedpoint) { redPointStre1.state = RedPointState.Simple; if (IsOneRedPoint) { redPointStre1.state = RedPointState.Simple; IsOneRedPoint = false; } } else { System/Vip/FairyJadeInvestmentWin.cs
@@ -98,7 +98,7 @@ protected override void OnAfterOpen() { if (fairyJadeInvestmentModel.IsRedpoint) if (fairyJadeInvestmentModel.redPointStre1.state==RedPointState.Simple) { fairyJadeInvestmentModel.IsRedpoint = false; if (FairyJadeInvestmentRedPointEvent != null) System/Vip/FirstRechargeWin.cs
@@ -132,7 +132,6 @@ if(PlayerDatas.Instance.baseData.coinPointTotal > 0 && !model.firstChargeRewardGet) { ModelCenter.Instance.GetModel<OSGiftModel>().giftGetNotify = true; CA504_tagCMPlayerGetReward pak = new CA504_tagCMPlayerGetReward(); pak.RewardType = (byte)GotServerRewardType.Def_RewardType_GoldGiftFirst; pak.DataEx = 0; System/Vip/VipInvest/VipInvestModel.cs
@@ -15,6 +15,11 @@ public int NeedVipLv { get; private set;} private bool IsOkBool = false; public bool IsRedpoint = false; private int DisplayLevel = 0;//显示等级 private int DisplayDays = 0;//显示天数 //---- private bool IsOneRedPoint = true; public override void Init() { vipInvestDict.Clear(); @@ -22,7 +27,9 @@ vipInvestLvlimitDict.Clear(); investGoldDict.Clear(); investMaxDayDict.Clear(); var InvestRedPoint = Config.Instance.Get<FuncConfigConfig>("InvestRedPoint"); DisplayLevel = int.Parse(InvestRedPoint.Numerical1); DisplayDays = int.Parse(InvestRedPoint.Numerical3); FuncConfigConfig vipInvestLv = Config.Instance.Get<FuncConfigConfig>("VIPInvest"); NeedVipLv = int.Parse(vipInvestLv.Numerical2); JsonData vipInvestData = JsonMapper.ToObject(vipInvestLv.Numerical1); @@ -83,10 +90,10 @@ VipInvestWin.VipInvestRedPointEvent += VipInvestRedPointEvent; PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting; PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting; if (TimeUtility.CreateDays <= 3 && redPointStre1.state==RedPointState.None) if (TimeUtility.CreateDays <= DisplayDays && redPointStre1.state==RedPointState.None) { IsRedpoint = true; if (PlayerDatas.Instance.baseData.LV >= 30) if (PlayerDatas.Instance.baseData.LV >= DisplayLevel) { RedPointSate(); } @@ -97,7 +104,7 @@ { if (_tCDBPlayerRefresh == PlayerDataRefresh.LV) { if (TimeUtility.CreateDays <= 3 && redPointStre1.state == RedPointState.None && PlayerDatas.Instance.baseData.LV >= 30) if (TimeUtility.CreateDays <= DisplayDays && redPointStre1.state == RedPointState.None && PlayerDatas.Instance.baseData.LV >= DisplayLevel) { if (IsRedpoint) { @@ -185,7 +192,6 @@ { return investGoldDict[type][index]; } return 0; } @@ -200,7 +206,6 @@ return index; } } return ""; } @@ -359,7 +364,6 @@ { cycle = day / 7; } return cycle; } @@ -381,7 +385,6 @@ { } ServerInvestInfo InvestInfo; int cycle = 0; private List<InvestConfig> configlist; @@ -437,7 +440,6 @@ break; default: break; } // redPointStre1.state = RedPointState.Simple; JumpIndex = i; @@ -456,7 +458,6 @@ return; } } } } @@ -469,16 +470,17 @@ } if (IsRedpoint) { redPointStre1.state = RedPointState.Simple; if (IsOneRedPoint) { redPointStre1.state = RedPointState.Simple; IsOneRedPoint = false; } } else { VipInvestRedPoint(); } } } public struct InvestReward System/Vip/VipInvest/VipInvestWin.cs
@@ -81,7 +81,7 @@ protected override void OnAfterOpen() { if (investModel.IsRedpoint) if (investModel.redPointStre1.state==RedPointState.Simple) { investModel.IsRedpoint = false; if (VipInvestRedPointEvent != null) System/Welfare/WelfareCenter.cs
@@ -49,7 +49,7 @@ { functionOrder = 3; } else if (sevenDayModel.redPointStre1.state == RedPointState.Simple && FuncOpen.Instance.IsFuncOpen(115)) else if (sevenDayModel.redPointStre1.state == RedPointState.GetReward && FuncOpen.Instance.IsFuncOpen(115)) { WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<WelfareWin>(false, 2); @@ -100,7 +100,7 @@ { functionOrder = 3; } else if (sevenDayModel.redPointStre1.state == RedPointState.Simple && FuncOpen.Instance.IsFuncOpen(115)) else if (sevenDayModel.redPointStre1.state == RedPointState.GetReward && FuncOpen.Instance.IsFuncOpen(115)) { return 2; } UI/Common/OnOffToggle.cs
New file @@ -0,0 +1,61 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Thursday, August 23, 2018 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.Events; namespace Snxxz.UI { public class OnOffToggle : MonoBehaviour { [SerializeField] Button m_Button; [SerializeField] RectTransform m_Handle; [SerializeField] Image m_BackGround; [SerializeField] RectTransform m_OnShow; [SerializeField] RectTransform m_OffShow; [SerializeField] Vector2 m_OnHandleOffset; [SerializeField] Vector2 m_OffHandleOffset; bool m_IsOn = false; public bool isOn { get { return m_IsOn; } set { m_IsOn = value; SwitchShowState(m_IsOn); } } public void AddListener(UnityAction _action) { if (m_Button != null) { m_Button.AddListener(_action); } } public void RemoveAllListeners() { if (m_Button != null) { m_Button.RemoveAllListeners(); } } private void SwitchShowState(bool _isOn) { m_Handle.anchoredPosition = _isOn ? m_OnHandleOffset : m_OffHandleOffset; m_BackGround.SetSprite(_isOn ? "SettingUpWin_NO" : "SettingUpWin_OFF"); m_OnShow.gameObject.SetActive(_isOn); m_OffShow.gameObject.SetActive(!_isOn); } } } UI/Common/OnOffToggle.cs.meta
New file @@ -0,0 +1,12 @@ fileFormatVersion: 2 guid: dd8929af600e643478d3f0a22d7e3c52 timeCreated: 1535009068 licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: assetBundleName: assetBundleVariant: