123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class FreeResult : Result_Display
- {
- private void Awake()
- {
- base.Initialize();
- base.StartCoroutine(this.ScoreFadeIn());
- }
- protected override void Update()
- {
- base.Update();
- }
- protected override void UIInit(Transform child)
- {
- UISprite component = child.GetComponent<UISprite>();
- Vector3 localPosition = child.localPosition;
- localPosition.x = UI_ScreenFitBase.PointToScreenPos(Vector3.right * (float)UICamera.ScreenWidth).x;
- if (component)
- {
- localPosition.x += (float)(component.width / 2);
- }
- if (this.m_ScoreResultUI != child)
- {
- this.m_RateResultGroup.Add(child);
- this.m_GroupEnd.Add(child.localPosition);
- this.m_GroupStart.Add(localPosition);
- }
- else
- {
- this.m_ScoreUIStart = localPosition;
- this.m_ScoreUIEnd = child.localPosition;
- }
- child.localPosition = localPosition;
- }
- private IEnumerator ScoreFadeIn()
- {
- while (GameMain.Instance.MainCamera.IsFadeOut())
- {
- yield return null;
- }
- float timer = 0f;
- GameMain.Instance.SoundMgr.PlaySe(this.m_SlideSEName, false);
- for (;;)
- {
- timer += base.m_MydeltaTime;
- this.m_ScoreResultUI.localPosition = Vector3.Lerp(this.m_ScoreUIStart, this.m_ScoreUIEnd, base.SinRate01(timer, this.m_ScoreUISlide));
- if (timer > this.m_ScoreUISlide)
- {
- break;
- }
- yield return null;
- }
- yield return new WaitForSeconds(this.m_ScoreUIRug / (float)this.m_TimeSpeed);
- base.StartCoroutine(this.OtherResultFadeIn());
- yield break;
- yield break;
- }
- private IEnumerator OtherResultFadeIn()
- {
- float timer = 0f;
- int count = 0;
- GameMain.Instance.SoundMgr.PlaySe(this.m_SlideSEName, false);
- for (;;)
- {
- timer += base.m_MydeltaTime;
- this.m_RateResultGroup[count].localPosition = Vector3.Lerp(this.m_GroupStart[count], this.m_GroupEnd[count], base.SinRate01(timer, this.m_OtherUISlide));
- if (timer > this.m_OtherUISlide)
- {
- count++;
- timer = 0f;
- yield return new WaitForSeconds(this.m_OtherUIRug / (float)this.m_TimeSpeed);
- if (count == this.m_RateResultGroup.Count)
- {
- break;
- }
- GameMain.Instance.SoundMgr.PlaySe(this.m_SlideSEName, false);
- }
- yield return null;
- }
- this.m_ButtonUI.SetActive(true);
- yield break;
- yield break;
- }
- [SerializeField]
- [Header("スコア表示UI表示後の待機時間")]
- private float m_ScoreUIRug = 0.25f;
- [SerializeField]
- [Header("スコア表示UIのスライド時間")]
- private float m_ScoreUISlide = 0.5f;
- [SerializeField]
- [Header("他のUI表示後の待機時間")]
- private float m_OtherUIRug = 0.0625f;
- [SerializeField]
- [Header("他のUIのスライド時間")]
- private float m_OtherUISlide = 0.15f;
- [SerializeField]
- [Header("スコア表示UI")]
- private Transform m_ScoreResultUI;
- private Vector3 m_ScoreUIStart;
- private Vector3 m_ScoreUIEnd;
- private List<Transform> m_RateResultGroup = new List<Transform>();
- }
|