少年修仙传客户端代码仓库
client_linchunjie
2018-08-31 91657297f85150af5db2393261a74cd1d8286720
2960 添加召集仙盟按钮下方CD
1个文件已修改
27 ■■■■■ 已修改文件
System/FairyAu/FairyCallMemberBehaviour.cs 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyCallMemberBehaviour.cs
@@ -9,6 +9,7 @@
    public class FairyCallMemberBehaviour : MonoBehaviour
    {
        [SerializeField] Button m_CallMember;
        [SerializeField] Text m_Timer;
        long lastTick = 0;
@@ -23,13 +24,16 @@
        {
            model.bossGrabHintEvent += BossGrabHintEvent;
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;
            GlobalTimeEvent.Instance.secondEvent += DisplayTimer;
            Display();
            DisplayTimer();
        }
        private void OnDisable()
        {
            model.bossGrabHintEvent -= BossGrabHintEvent;
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
            GlobalTimeEvent.Instance.secondEvent -= DisplayTimer;
        }
        private void BossGrabHintEvent()
@@ -85,6 +89,7 @@
                if (ts.TotalSeconds >= model.callMemberSeconds)
                {
                    lastTick = DateTime.Now.Ticks;
                    DisplayTimer();
                    CAC05_tagCGCallupFamilyMemberToBoss pak = new CAC05_tagCGCallupFamilyMemberToBoss();
                    pak.NPCID = (uint)bossId;
                    GameNetSystem.Instance.SendInfo(pak);
@@ -95,6 +100,28 @@
                }
            }
        }
        void DisplayTimer()
        {
            if (m_CallMember.gameObject.activeInHierarchy)
            {
                var ticks = DateTime.Now.Ticks - lastTick;
                var ts = new TimeSpan(ticks < 0 ? 0 : ticks);
                var seconds = (int)(model.callMemberSeconds - ts.TotalSeconds);
                if (seconds <= 0 && m_Timer.gameObject.activeSelf)
                {
                    m_Timer.gameObject.SetActive(false);
                }
                else if (seconds > 0)
                {
                    if (!m_Timer.gameObject.activeSelf)
                    {
                        m_Timer.gameObject.SetActive(true);
                    }
                    m_Timer.text = StringUtility.Contact(seconds, Language.Get("RealmWin_Bewrite_35"));
                }
            }
        }
    }
}