From a0ede150686a218c92b901b1f20aef12a9913890 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期五, 14 九月 2018 09:36:59 +0800
Subject: [PATCH] 1930【1.0.15】【主干】功能预告跳转八卦炉激活,功能预告界面未关闭
---
System/FindPrecious/FindPreciousBossBriefInfoBehaviour.cs | 484 ++++++++++++++++++++++++++++-------------------------
1 files changed, 253 insertions(+), 231 deletions(-)
diff --git a/System/FindPrecious/FindPreciousBossBriefInfoBehaviour.cs b/System/FindPrecious/FindPreciousBossBriefInfoBehaviour.cs
index 3b8dc8c..732b3f8 100644
--- a/System/FindPrecious/FindPreciousBossBriefInfoBehaviour.cs
+++ b/System/FindPrecious/FindPreciousBossBriefInfoBehaviour.cs
@@ -1,231 +1,253 @@
-锘�//--------------------------------------------------------
-// [Author]: 绗簩涓栫晫
-// [ Date ]: Tuesday, January 02, 2018
-//--------------------------------------------------------
-using UnityEngine;
-using System.Collections;
-using UnityEngine.UI;
-using System;
-
-namespace Snxxz.UI
-{
-
- public class FindPreciousBossBriefInfoBehaviour : ScrollItem
- {
-
- [SerializeField] protected float m_SelectedShifting = 6f;
- [SerializeField] protected CanvasGroup m_CanvasGroup;
- [SerializeField] protected AutoSelectCyclicScroll m_Scroll;
- [SerializeField] protected Transform m_CenterSign;
- [SerializeField] protected Button m_Select;
- [SerializeField] protected RectTransform m_Content;
- [SerializeField] protected Image m_BackGround;
- [SerializeField] protected Transform m_Selected;
- [SerializeField] protected ImageEx m_Portrait;
- [SerializeField] protected TextEx m_BossName;
- [SerializeField] protected TextEx m_BossLevel;
- [SerializeField] protected TimerBehaviour m_CoolDown;
- [SerializeField] protected Transform m_RefreshAtOnce;
- [SerializeField] protected Material m_NormalMaterial;
- [SerializeField] protected Material m_GrayMaterial;
- [SerializeField] protected FontColorSizeConfig m_BossNameFontConfig;
- [SerializeField] protected FontColorSizeConfig m_BossLevelFontConfig;
-
- protected int bossId = 0;
- protected virtual int selectedBossId {
- get;
- set;
- }
-
- InteractorableState m_InteractorableState;
- protected virtual InteractorableState interactorableState {
- get { return m_InteractorableState; }
- set { m_InteractorableState = value; }
- }
-
- protected virtual bool isRebornRightNow {
- get {
- FindPreciousModel.BossInfo bossInfo = null;
- if (findPreciousModel.TryGetBossInfo(bossId, out bossInfo))
- {
- return !findPreciousModel.IsBossAlive(bossId) && DateTime.Now > bossInfo.refreshTime;
- }
- else
- {
- return false;
- }
- }
- }
-
- protected virtual bool isUnLocked {
- get { return true; }
- }
-
- protected FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
-
- public override void Display(object _data)
- {
- base.Display(_data);
- bossId = (int)_data;
-
- findPreciousModel.bossSubscribeChangeEvent -= OnSubscribe;
- findPreciousModel.bossSubscribeChangeEvent += OnSubscribe;
- findPreciousModel.bossInfoUpdateEvent -= OnBossInfoUpdate;
- findPreciousModel.bossInfoUpdateEvent += OnBossInfoUpdate;
- }
-
- public override void Dispose()
- {
- base.Dispose();
- findPreciousModel.bossSubscribeChangeEvent -= OnSubscribe;
- findPreciousModel.bossInfoUpdateEvent -= OnBossInfoUpdate;
- }
-
- protected void DrawBossBaseInfo(string _icon, string _name, int _level)
- {
- m_Portrait.SetSprite(_icon);
- m_Portrait.SetNativeSize();
- m_BossName.text = _name;
- m_BossLevel.text = Language.Get("Z1024", _level);
- }
-
- private void Awake()
- {
- m_Select.AddListener(SelectBoss);
- }
-
- private void SelectBoss()
- {
- m_Scroll.TrySelectData(bossId);
- }
-
- protected virtual void OnSubscribe(int _bossId)
- {
- if (bossId != _bossId)
- {
- return;
- }
-
- }
-
- protected virtual void UpdateBossPortrait(InteractorableState _state)
- {
- var isGray = _state == InteractorableState.DieOrLockedSelected || _state == InteractorableState.DieOrLockedUnSelected;
- m_BackGround.material = isGray ? m_GrayMaterial : m_NormalMaterial;
- m_Portrait.material = isGray ? m_GrayMaterial : m_NormalMaterial;
- }
-
- protected void UpdateBossRebornCoolDown(bool _isUnLocked)
- {
- if (_isUnLocked)
- {
- FindPreciousModel.BossInfo bossInfo;
- if (findPreciousModel.TryGetBossInfo(bossId, out bossInfo) && !bossInfo.IsBossAlive())
- {
- if (DateTime.Now > bossInfo.refreshTime)
- {
- m_CoolDown.gameObject.SetActive(false);
- }
- else
- {
- m_CoolDown.Begin(bossInfo.refreshTime, OnBossCoolDownCompleted);
- }
- }
- else
- {
- m_CoolDown.gameObject.SetActive(false);
- }
- }
- else
- {
- m_CoolDown.gameObject.SetActive(false);
- }
- }
-
- protected void UpdateBossNameLevelFont(InteractorableState _state)
- {
- var selected = _state == InteractorableState.DieOrLockedSelected || _state == InteractorableState.NormalSelected;
- m_Content.anchoredPosition = selected ? new Vector2(m_SelectedShifting, 0) : Vector2.zero;
- if (m_CanvasGroup != null)
- {
- m_CanvasGroup.alpha = selected ? 1 : 0.8f;
- }
-
- m_Selected.gameObject.SetActive(selected);
- m_BackGround.SetSprite(selected ? "DemonJarSelectFrame" : "DemonJarNormalFrame");
-
- var fontPattern = string.Empty;
- switch (_state)
- {
- case InteractorableState.NormalUnSelected:
- fontPattern = "NormalUnSelected";
- break;
- case InteractorableState.NormalSelected:
- fontPattern = "NormalSelected";
- break;
- case InteractorableState.DieOrLockedSelected:
- fontPattern = "DieOrLockedSelected";
- break;
- case InteractorableState.DieOrLockedUnSelected:
- fontPattern = "DieOrLockedUnSelected";
- break;
- }
-
- var nameFontColorSize = m_BossNameFontConfig.GetColorSize(fontPattern);
- var levelFontColorSize = m_BossLevelFontConfig.GetColorSize(fontPattern);
- m_BossName.color = nameFontColorSize.color;
- m_BossName.fontSize = nameFontColorSize.fontSize;
- m_BossLevel.color = levelFontColorSize.color;
- m_BossLevel.fontSize = levelFontColorSize.fontSize;
- }
-
- protected virtual void OnBossInfoUpdate(int _bossId)
- {
- if (bossId != _bossId)
- {
- return;
- }
-
- UpdateBossRebornCoolDown(isUnLocked);
- UpdateBossPortrait(interactorableState);
- }
-
- protected virtual void OnBossCoolDownCompleted()
- {
- UpdateBossPortrait(interactorableState);
- }
-
- protected virtual void LateUpdate()
- {
- if (m_Scroll.autoSelectable && selectedBossId != bossId && bossId > 0)
- {
- if (Mathf.Abs(m_CenterSign.position.y - rectTransform.position.y) * 100f < rectTransform.rect.height * 0.45f)
- {
- selectedBossId = bossId;
- }
- }
-
- if (isRebornRightNow && !m_RefreshAtOnce.gameObject.activeInHierarchy)
- {
- m_RefreshAtOnce.gameObject.SetActive(true);
- }
- else if (!isRebornRightNow && m_RefreshAtOnce.gameObject.activeInHierarchy)
- {
- m_RefreshAtOnce.gameObject.SetActive(false);
- }
- }
-
- public enum InteractorableState
- {
- NormalSelected,
- NormalUnSelected,
- DieOrLockedSelected,
- DieOrLockedUnSelected,
- }
-
- }
-
-}
-
-
-
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Tuesday, January 02, 2018
+//--------------------------------------------------------
+using UnityEngine;
+using System.Collections;
+using UnityEngine.UI;
+using System;
+using TableConfig;
+
+namespace Snxxz.UI
+{
+
+ public class FindPreciousBossBriefInfoBehaviour : ScrollItem
+ {
+
+ [SerializeField] protected float m_SelectedShifting = 6f;
+ [SerializeField] protected CanvasGroup m_CanvasGroup;
+ [SerializeField] protected AutoSelectCyclicScroll m_Scroll;
+ [SerializeField] protected Transform m_CenterSign;
+ [SerializeField] protected Button m_Select;
+ [SerializeField] protected RectTransform m_Content;
+ [SerializeField] protected Image m_BackGround;
+ [SerializeField] protected Transform m_Selected;
+ [SerializeField] protected ImageEx m_Portrait;
+ [SerializeField] protected TextEx m_BossName;
+ [SerializeField] protected TextEx m_BossLevel;
+ [SerializeField] protected Image m_Realm;
+ [SerializeField] protected TimerBehaviour m_CoolDown;
+ [SerializeField] protected Transform m_RefreshAtOnce;
+ [SerializeField] protected Material m_NormalMaterial;
+ [SerializeField] protected Material m_GrayMaterial;
+ [SerializeField] protected FontColorSizeConfig m_BossNameFontConfig;
+ [SerializeField] protected FontColorSizeConfig m_BossLevelFontConfig;
+
+ protected int bossId = 0;
+ protected virtual int selectedBossId {
+ get;
+ set;
+ }
+
+ InteractorableState m_InteractorableState;
+ protected virtual InteractorableState interactorableState {
+ get { return m_InteractorableState; }
+ set { m_InteractorableState = value; }
+ }
+
+ protected virtual bool isRebornRightNow {
+ get {
+ FindPreciousModel.BossInfo bossInfo = null;
+ if (findPreciousModel.TryGetBossInfo(bossId, out bossInfo))
+ {
+ return !findPreciousModel.IsBossAlive(bossId) && DateTime.Now > bossInfo.refreshTime;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
+
+ protected virtual bool isUnLocked {
+ get { return true; }
+ }
+
+ protected FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
+
+ public override void Display(object _data)
+ {
+ base.Display(_data);
+ bossId = (int)_data;
+
+ findPreciousModel.bossSubscribeChangeEvent -= OnSubscribe;
+ findPreciousModel.bossSubscribeChangeEvent += OnSubscribe;
+ findPreciousModel.bossInfoUpdateEvent -= OnBossInfoUpdate;
+ findPreciousModel.bossInfoUpdateEvent += OnBossInfoUpdate;
+ }
+
+ public override void Dispose()
+ {
+ base.Dispose();
+ findPreciousModel.bossSubscribeChangeEvent -= OnSubscribe;
+ findPreciousModel.bossInfoUpdateEvent -= OnBossInfoUpdate;
+ }
+
+ protected virtual void DrawBossBaseInfo(string _icon, string _name, int _level, int _realm)
+ {
+ m_Portrait.SetSprite(_icon);
+ m_Portrait.SetNativeSize();
+ m_BossName.text = _name;
+ m_BossLevel.text = Language.Get("Z1024", _level);
+
+ if (m_Realm != null)
+ {
+ if (Config.Instance.ContainKey<RealmConfig>(_realm))
+ {
+ m_Realm.gameObject.SetActive(true);
+ var realmConfig = Config.Instance.Get<RealmConfig>(_realm);
+ if (realmConfig != null)
+ {
+ m_Realm.SetSprite(realmConfig.Img);
+ }
+ }
+ else
+ {
+ m_Realm.gameObject.SetActive(false);
+ }
+ }
+ }
+
+ private void Awake()
+ {
+ m_Select.AddListener(SelectBoss);
+ }
+
+ private void SelectBoss()
+ {
+ m_Scroll.TrySelectData(bossId);
+ }
+
+ protected virtual void OnSubscribe(int _bossId)
+ {
+ if (bossId != _bossId)
+ {
+ return;
+ }
+
+ }
+
+ protected virtual void UpdateBossPortrait(InteractorableState _state)
+ {
+ var isGray = _state == InteractorableState.DieOrLockedSelected || _state == InteractorableState.DieOrLockedUnSelected;
+ m_BackGround.material = isGray ? m_GrayMaterial : m_NormalMaterial;
+ m_Portrait.material = isGray ? m_GrayMaterial : m_NormalMaterial;
+ }
+
+ protected virtual void UpdateBossRebornCoolDown(bool _isUnLocked)
+ {
+ if (_isUnLocked)
+ {
+ FindPreciousModel.BossInfo bossInfo;
+ if (findPreciousModel.TryGetBossInfo(bossId, out bossInfo) && !bossInfo.IsBossAlive())
+ {
+ if (DateTime.Now > bossInfo.refreshTime)
+ {
+ m_CoolDown.gameObject.SetActive(false);
+ }
+ else
+ {
+ m_CoolDown.Begin(bossInfo.refreshTime, OnBossCoolDownCompleted);
+ }
+ }
+ else
+ {
+ m_CoolDown.gameObject.SetActive(false);
+ }
+ }
+ else
+ {
+ m_CoolDown.gameObject.SetActive(false);
+ }
+ }
+
+ protected void UpdateBossNameLevelFont(InteractorableState _state)
+ {
+ var selected = _state == InteractorableState.DieOrLockedSelected || _state == InteractorableState.NormalSelected;
+ m_Content.anchoredPosition = selected ? new Vector2(m_SelectedShifting, 0) : Vector2.zero;
+ if (m_CanvasGroup != null)
+ {
+ m_CanvasGroup.alpha = selected ? 1 : 0.8f;
+ }
+
+ m_Selected.gameObject.SetActive(selected);
+ //m_BackGround.SetSprite(selected ? "DemonJarSelectFrame" : "DemonJarNormalFrame");
+
+ var fontPattern = string.Empty;
+ switch (_state)
+ {
+ case InteractorableState.NormalUnSelected:
+ fontPattern = "NormalUnSelected";
+ break;
+ case InteractorableState.NormalSelected:
+ fontPattern = "NormalSelected";
+ break;
+ case InteractorableState.DieOrLockedSelected:
+ fontPattern = "DieOrLockedSelected";
+ break;
+ case InteractorableState.DieOrLockedUnSelected:
+ fontPattern = "DieOrLockedUnSelected";
+ break;
+ }
+
+ var nameFontColorSize = m_BossNameFontConfig.GetColorSize(fontPattern);
+ var levelFontColorSize = m_BossLevelFontConfig.GetColorSize(fontPattern);
+ m_BossName.color = nameFontColorSize.color;
+ m_BossName.fontSize = nameFontColorSize.fontSize;
+ m_BossLevel.color = levelFontColorSize.color;
+ m_BossLevel.fontSize = levelFontColorSize.fontSize;
+ }
+
+ protected virtual void OnBossInfoUpdate(int _bossId)
+ {
+ if (bossId != _bossId)
+ {
+ return;
+ }
+
+ UpdateBossRebornCoolDown(isUnLocked);
+ UpdateBossPortrait(interactorableState);
+ }
+
+ protected virtual void OnBossCoolDownCompleted()
+ {
+ UpdateBossPortrait(interactorableState);
+ }
+
+ protected virtual void LateUpdate()
+ {
+ if (m_Scroll.autoSelectable && selectedBossId != bossId && bossId > 0)
+ {
+ if (Mathf.Abs(m_CenterSign.position.y - rectTransform.position.y) * 100f < rectTransform.rect.height * 0.45f)
+ {
+ selectedBossId = bossId;
+ }
+ }
+
+ if (m_RefreshAtOnce != null)
+ {
+ if (isRebornRightNow && !m_RefreshAtOnce.gameObject.activeInHierarchy)
+ {
+ m_RefreshAtOnce.gameObject.SetActive(true);
+ }
+ else if (!isRebornRightNow && m_RefreshAtOnce.gameObject.activeInHierarchy)
+ {
+ m_RefreshAtOnce.gameObject.SetActive(false);
+ }
+ }
+ }
+
+ public enum InteractorableState
+ {
+ NormalSelected,
+ NormalUnSelected,
+ DieOrLockedSelected,
+ DieOrLockedUnSelected,
+ }
+
+ }
+
+}
+
+
+
--
Gitblit v1.8.0