123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- //------------------------------------------------------------
- // Game Framework
- // Copyright © 2013-2021 Jiang Yin. All rights reserved.
- // Homepage: https://gameframework.cn/
- // Feedback: mailto:ellan@gameframework.cn
- //------------------------------------------------------------
- using UnityEngine;
- using UnityEngine.UI;
- using UnityGameFramework.Runtime;
- namespace MetaClient
- {
- public class AboutForm : UGuiForm
- {
- [SerializeField]
- private RectTransform m_Transform = null;
- [SerializeField]
- private float m_ScrollSpeed = 1f;
- private float m_InitPosition = 0f;
- #if UNITY_2017_3_OR_NEWER
- protected override void OnInit(object userData)
- #else
- protected internal override void OnInit(object userData)
- #endif
- {
- base.OnInit(userData);
- CanvasScaler canvasScaler = GetComponentInParent<CanvasScaler>();
- if (canvasScaler == null)
- {
- Log.Warning("Can not find CanvasScaler component.");
- return;
- }
- m_InitPosition = -0.5f * canvasScaler.referenceResolution.x * Screen.height / Screen.width;
- }
- #if UNITY_2017_3_OR_NEWER
- protected override void OnOpen(object userData)
- #else
- protected internal override void OnOpen(object userData)
- #endif
- {
- base.OnOpen(userData);
- m_Transform.SetLocalPositionY(m_InitPosition);
- // 换个音乐
- GameEntry.Sound.PlayMusic(3);
- }
- #if UNITY_2017_3_OR_NEWER
- protected override void OnClose(bool isShutdown, object userData)
- #else
- protected internal override void OnClose(bool isShutdown, object userData)
- #endif
- {
- base.OnClose(isShutdown, userData);
- // 还原音乐
- GameEntry.Sound.PlayMusic(1);
- }
- #if UNITY_2017_3_OR_NEWER
- protected override void OnUpdate(float elapseSeconds, float realElapseSeconds)
- #else
- protected internal override void OnUpdate(float elapseSeconds, float realElapseSeconds)
- #endif
- {
- base.OnUpdate(elapseSeconds, realElapseSeconds);
- m_Transform.AddLocalPositionY(m_ScrollSpeed * elapseSeconds);
- if (m_Transform.localPosition.y > m_Transform.sizeDelta.y - m_InitPosition)
- {
- m_Transform.SetLocalPositionY(m_InitPosition);
- }
- }
- }
- }
|