| System/Dungeon/DungeonFairyLandWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Dungeon/NormalDungeonEntranceWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/GeneralConfig/GeneralDefine.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/Dungeon/DungeonFairyLandWin.cs
@@ -17,6 +17,12 @@ [SerializeField] List<Text> targetTextList; [SerializeField] RectTransform m_FairyLandUpperBehaviour; [SerializeField] Text m_FairyLandUpperTip; [SerializeField] PositionTween m_PositionTween; [SerializeField] ScaleTween m_ScaleTween; [SerializeField] RectTransform[] m_MoveRects; DungeonModel m_Model; DungeonModel model { @@ -64,14 +70,17 @@ protected override void OnPreOpen() { m_FairyLandUpperBehaviour.gameObject.SetActive(false); SetTween(m_PositionTween, m_ScaleTween, 0); StageChangeEvent(); MyTeamRefreshEvent(); DungeonEncourageEvent(); UpdateBuf(); model.dungeonFairyLandChangeEvent += StageChangeEvent; model.dungeonInspireLvEvent += DungeonEncourageEvent; PlayerBuffDatas.Even_ObjAddBuf += UpdateBuf; PlayerBuffDatas.Even_ObjDelBuff += UpdateBuf; PlayerBuffDatas.Even_ObjAddBuf += AddBuff; PlayerBuffDatas.Even_ObjDelBuff += DeleteBuff; teamModel.myTeamRefreshEvent += MyTeamRefreshEvent; } @@ -93,6 +102,12 @@ _teamOnlineCnt == 0 ? "<color=#ff2828>" : "<color=#00ff00>", Mathf.Max(0, _teamOnlineCnt - 1) * 10, "%</color>"); } protected override void OnActived() { base.OnActived(); DisplayBuff(); } protected override void OnAfterOpen() { } @@ -101,8 +116,8 @@ { model.dungeonFairyLandChangeEvent -= StageChangeEvent; model.dungeonInspireLvEvent -= DungeonEncourageEvent; PlayerBuffDatas.Even_ObjAddBuf -= UpdateBuf; PlayerBuffDatas.Even_ObjDelBuff -= UpdateBuf; PlayerBuffDatas.Even_ObjAddBuf -= AddBuff; PlayerBuffDatas.Even_ObjDelBuff -= DeleteBuff; teamModel.myTeamRefreshEvent -= MyTeamRefreshEvent; } @@ -124,6 +139,18 @@ var level = model.GetDungeonInspireLevel(); targetTextList[3].text = level == 0 ? StringUtility.Contact(Language.Get("FairyLand_Func3"), ":", Language.Get("FairyLand_Func4")) : StringUtility.Contact(Language.Get("FairyLand_Func3"), ":<color=#00ff00>", level * model.GetDungeonInspireUpper(31080), "%</color>"); } private void AddBuff() { UpdateBuf(); DisplayBuff(); } private void DeleteBuff() { UpdateBuf(); DisplayBuff(); } private void UpdateBuf() @@ -149,6 +176,67 @@ } targetTextList[4].text = StringUtility.Contact(Language.Get("FairyLand_Func1"), ":", Language.Get("FairyLand_Func2")); } private void DisplayBuff() { var gainBuff = Buffmodel._BuffDic.ContainsKey(GeneralDefine.fairyLandBuffId); var config = Config.Instance.Get<SkillConfig>(GeneralDefine.fairyLandBuffId); if (config != null) { m_FairyLandUpperTip.text = UIHelper.ReplaceNewLine(Language.Get("XjmjAddHarm2", GeneralDefine.fairyLandBuffCondition, config.EffectValue11 / 10000 + 1)); } if (!gainBuff) { if (m_FairyLandUpperBehaviour.gameObject.activeSelf) { m_FairyLandUpperBehaviour.gameObject.SetActive(false); } } else { if (!m_FairyLandUpperBehaviour.gameObject.activeSelf) { SetTween(m_PositionTween, m_ScaleTween, 0); m_FairyLandUpperBehaviour.gameObject.SetActive(true); m_PositionTween.Play(OnPositionTweenComplete); } } } private void OnPositionTweenComplete() { SetTween(m_PositionTween, m_ScaleTween, 1); m_PositionTween.Play(); m_ScaleTween.Play(); } private void SetTween(PositionTween _posTween, ScaleTween _scaleTween, int index) { _posTween.from = m_MoveRects[index].localPosition; _posTween.to = m_MoveRects[index + 1].localPosition; _posTween.duration = index == 0 ? 2f : 1f; _posTween.delay = index == 0 ? 0 : 1.0f; _posTween.SetStartState(); if (index == 0) { _scaleTween.SetStartState(); } else { _scaleTween.delay = 1.0f; } } #if UNITY_EDITOR [ContextMenu("Test")] void Test() { SetTween(m_PositionTween, m_ScaleTween, 0); m_FairyLandUpperBehaviour.gameObject.SetActive(true); m_PositionTween.Play(OnPositionTweenComplete); } #endif } } System/Dungeon/NormalDungeonEntranceWin.cs
@@ -51,6 +51,9 @@ [SerializeField] RectTransform m_ContainerGroup; [SerializeField] RectTransform m_FairyLandTipBehaviour; [SerializeField] Text m_FairyLandTip; DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } TeamModel teamModel { get { return ModelCenter.Instance.GetModel<TeamModel>(); } } PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } } @@ -75,6 +78,7 @@ DrawDungeonBaseInfo(); DrawSweepInfo(); DrawDungeonTicketInfo(); DisplayFairyLandTip(); m_BreifInfo.SetDungeonInfo(model.currentDungeon); } @@ -83,6 +87,8 @@ playerPack.RefreshItemCountAct += OnPackageItemChange; model.updateDungeonEnterCD += UpdateDungeonEnterCD; m_EnterCdContainer.OnCdComplete += UpdateDungeonEnterCD; PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent; PlayerDatas.Instance.OnRoleAttrRefresh += OnWorldLevelRefresh; } protected override void OnPreClose() @@ -90,6 +96,8 @@ playerPack.RefreshItemCountAct -= OnPackageItemChange; model.updateDungeonEnterCD -= UpdateDungeonEnterCD; m_EnterCdContainer.OnCdComplete -= UpdateDungeonEnterCD; PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent; PlayerDatas.Instance.OnRoleAttrRefresh -= OnWorldLevelRefresh; } protected override void OnAfterClose() @@ -116,6 +124,7 @@ bool _cd = model.HasEnterCD(dungeonConfig.DataMapID) && model.IsEnterCountDowning(dungeonConfig.DataMapID); m_EnterCdContainer.gameObject.SetActive(_cd); m_ContainerBtns.gameObject.SetActive(!_cd); DisplayFairyLandTip(); } private void DrawDungeonBaseInfo() @@ -421,6 +430,34 @@ } } private void PlayerDataRefreshInfoEvent(PlayerDataRefresh refreshType) { if (refreshType == PlayerDataRefresh.LV) { DisplayFairyLandTip(); } } private void OnWorldLevelRefresh() { DisplayFairyLandTip(); } private void DisplayFairyLandTip() { var dungeonId = model.GetDungeonId(model.currentDungeon); var dungeonConfig = Config.Instance.Get<DungeonConfig>(dungeonId); bool cd = model.HasEnterCD(dungeonConfig.DataMapID) && model.IsEnterCountDowning(dungeonConfig.DataMapID); var satisfy = (PlayerDatas.Instance.baseData.LV + GeneralDefine.fairyLandBuffCondition) <= PlayerDatas.Instance.worldLv && !cd; m_FairyLandTipBehaviour.gameObject.SetActive(satisfy); var config = Config.Instance.Get<SkillConfig>(GeneralDefine.fairyLandBuffId); if (config != null) { m_FairyLandTip.text = UIHelper.ReplaceNewLine(Language.Get("XjmjAddHarm1", GeneralDefine.fairyLandBuffCondition, config.EffectValue11 / 10000 + 1)); } } } } System/GeneralConfig/GeneralDefine.cs
@@ -149,6 +149,9 @@ public static int medQualityCount { get; private set; } public static int highQualityCount { get; private set; } public static int fairyLandBuffCondition { get; private set; } public static int fairyLandBuffId { get; private set; } public static void Init() { try @@ -521,6 +524,9 @@ lowQualityCount = int.Parse(func.Numerical1); medQualityCount = int.Parse(func.Numerical2); highQualityCount = int.Parse(func.Numerical3); fairyLandBuffCondition = GetInt("XjmjAddHarm", 1); fairyLandBuffId = GetInt("XjmjAddHarm", 2); } catch (Exception ex) {