123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using com.workman.cm3d2.scene.dailyEtc;
- using UnityEngine;
- public class TitleCtrl : MonoBehaviour
- {
- public void Init(TitleMgr titleMgr, SceneMgr sceneMgr, GameObject goTitlePanel)
- {
- this.m_titleMgr = titleMgr;
- this.m_sceneMgr = sceneMgr;
- this.m_goTitlePanel = goTitlePanel;
- this.m_listButton = new List<GameObject>();
- this.m_dicTitleButton = new Dictionary<TitleMgr.ButtonType, TitleCtrl.TitleButton>();
- int num = 0;
- IEnumerator enumerator = Enum.GetValues(typeof(TitleMgr.ButtonType)).GetEnumerator();
- try
- {
- while (enumerator.MoveNext())
- {
- object obj = enumerator.Current;
- TitleMgr.ButtonType buttonType = (TitleMgr.ButtonType)obj;
- TitleCtrl.TitleButton titleButton = new TitleCtrl.TitleButton();
- string text = buttonType.ToString();
- GameObject childObject = UTY.GetChildObject(goTitlePanel, "ButtonGroup/" + text + "Group/" + text, false);
- if (buttonType == TitleMgr.ButtonType.Shop)
- {
- childObject.SetActive(false);
- }
- else if (buttonType == TitleMgr.ButtonType.Guest)
- {
- num += -61;
- childObject.SetActive(false);
- }
- else if (buttonType == TitleMgr.ButtonType.Continue)
- {
- num += -61;
- childObject.SetActive(false);
- }
- else
- {
- Vector3 localPosition = childObject.transform.localPosition;
- childObject.transform.localPosition = new Vector3(localPosition.x, localPosition.y - (float)num, localPosition.z);
- childObject.AddComponent<TitleMouseOver>();
- UIButton component = childObject.GetComponent<UIButton>();
- EventDelegate.Add(component.onClick, new EventDelegate.Callback(BaseMgr<TitleMgr>.Instance.ClickButton));
- GameObject childObject2 = UTY.GetChildObject(childObject, "SelectCursor", false);
- titleButton.selectCursor = childObject2;
- titleButton.name = buttonType;
- titleButton.active = false;
- this.m_dicTitleButton.Add(titleButton.name, titleButton);
- this.m_listButton.Add(UTY.GetChildObject(goTitlePanel, "ButtonGroup/" + text + "Group", false));
- }
- }
- }
- finally
- {
- IDisposable disposable;
- if ((disposable = (enumerator as IDisposable)) != null)
- {
- disposable.Dispose();
- }
- }
- this.SetActiveButton(TitleMgr.ButtonType.Start);
- this.PrepareAnimation(goTitlePanel);
- }
- public void SetActiveButton(TitleMgr.ButtonType activeButton)
- {
- IEnumerator enumerator = Enum.GetValues(typeof(TitleMgr.ButtonType)).GetEnumerator();
- try
- {
- while (enumerator.MoveNext())
- {
- object obj = enumerator.Current;
- TitleMgr.ButtonType buttonType = (TitleMgr.ButtonType)obj;
- if (buttonType != TitleMgr.ButtonType.Continue && buttonType != TitleMgr.ButtonType.Shop && buttonType != TitleMgr.ButtonType.Guest)
- {
- if (buttonType != TitleMgr.ButtonType.Shop || GameMain.Instance.CMSystem.NetUse)
- {
- if (activeButton == buttonType)
- {
- this.m_dicTitleButton[buttonType].active = true;
- this.m_dicTitleButton[buttonType].selectCursor.SetActive(true);
- BaseMgr<TitleMgr>.Instance.m_currentActiveButton = activeButton;
- }
- else
- {
- this.m_dicTitleButton[buttonType].active = false;
- this.m_dicTitleButton[buttonType].selectCursor.SetActive(false);
- }
- }
- }
- }
- }
- finally
- {
- IDisposable disposable;
- if ((disposable = (enumerator as IDisposable)) != null)
- {
- disposable.Dispose();
- }
- }
- }
- private void PrepareAnimation(GameObject goTitlePanel)
- {
- foreach (GameObject gameObject in this.m_listButton)
- {
- gameObject.transform.localPosition = new Vector2(-600f, 0f);
- }
- }
- public void StartComponentAnimation()
- {
- this.TitleButtonAnimation();
- }
- private IEnumerator StartAnimator(Animator animator, float wait)
- {
- yield return new WaitForSeconds(wait);
- animator.SetBool("Active", true);
- yield break;
- }
- private void TitleLogoAnimation()
- {
- TweenAlpha tweenAlpha = this.m_goTitleLogo.AddComponent<TweenAlpha>();
- tweenAlpha.from = 0f;
- tweenAlpha.to = 1f;
- tweenAlpha.delay = 4f;
- tweenAlpha.duration = 1.5f;
- TweenScale tweenScale = this.m_goTitleLogo.AddComponent<TweenScale>();
- tweenScale.from = new Vector2(0f, 0f);
- tweenScale.to = new Vector2(1f, 1f);
- tweenScale.delay = 4f;
- tweenScale.duration = 1.5f;
- EventDelegate.Set(tweenScale.onFinished, new EventDelegate.Callback(this.TitleButtonAnimation));
- tweenAlpha.PlayForward();
- tweenScale.PlayForward();
- }
- private void TitleButtonAnimation()
- {
- base.StartCoroutine(this.TweenAniamtion());
- }
- private IEnumerator TweenAniamtion()
- {
- foreach (GameObject go in this.m_listButton)
- {
- iTween.MoveTo(go, iTween.Hash(new object[]
- {
- "x",
- 0,
- "y",
- 0,
- "time",
- 0.7f,
- "islocal",
- true
- }));
- yield return new WaitForSeconds(0.3f);
- }
- yield break;
- }
- public void OnStart()
- {
- GameMain.Instance.MainCamera.FadeOut(3f, false, delegate
- {
- this.m_sceneMgr.CloseScene();
- }, true, default(Color));
- TweenAlpha.Begin(this.m_goTitlePanel, 3f, 0f);
- }
- public void OnContinue(SaveAndLoadMgr saveAndLoadMgr)
- {
- saveAndLoadMgr.CallbackAfterFadeOut = new Action(this.m_titleMgr.OpenTitlePanel);
- this.m_titleMgr.CloseTitlePanel(new Action(saveAndLoadMgr.OpenLoadPanel));
- }
- public void OnConfig()
- {
- BaseMgr<ConfigMgr>.Instance.OpenConfigPanel();
- }
- public void OnEnd()
- {
- GameMain.Instance.ToApplicationQuit(false);
- }
- public void OnShop()
- {
- Application.OpenURL(GameMain.Instance.CMSystem.ShopURL);
- }
- public void OnGuestMode(SaveAndLoadMgr saveAndLoadMgr)
- {
- saveAndLoadMgr.CallbackAfterFadeOut = new Action(this.m_titleMgr.OpenTitlePanel);
- this.m_titleMgr.CloseTitlePanel(new Action(saveAndLoadMgr.OpenLoadPanelKasiduki));
- }
- public void OnBenchMark()
- {
- GameMain.Instance.MainCamera.FadeOut(3f, false, delegate
- {
- this.m_sceneMgr.GoToLabel("label_benchmarksetting");
- }, true, default(Color));
- TweenAlpha.Begin(this.m_goTitlePanel, 3f, 0f);
- }
- public void OnDance()
- {
- GameMain.Instance.MainCamera.FadeOut(3f, false, delegate
- {
- this.m_sceneMgr.GoToLabel("label_vsdance");
- }, true, default(Color));
- TweenAlpha.Begin(this.m_goTitlePanel, 3f, 0f);
- }
- public void OnCredit()
- {
- GameMain.Instance.MainCamera.FadeOut(3f, false, delegate
- {
- this.m_sceneMgr.GoToLabel("label_staffroll");
- }, true, default(Color));
- TweenAlpha.Begin(this.m_goTitlePanel, 3f, 0f);
- }
- private TitleMgr m_titleMgr;
- private SceneMgr m_sceneMgr;
- private GameObject m_goTitleLogo;
- private GameObject m_goTitleForScale;
- private GameObject m_goTitlePanel;
- private Dictionary<TitleMgr.ButtonType, TitleCtrl.TitleButton> m_dicTitleButton;
- private TitleMgr.ButtonType m_currentActiveButton;
- private List<GameObject> m_listButton;
- private const string SCENE_NAME_FROM_START = "SceneUserEdit";
- private const string SCENE_NAME_FROM_CONTINUE = "SceneGeneral";
- private const string SCENE_NAME_FROM_CONFIG = "SceneConfig";
- private const float INIT_TITLE_LOGO_SCALE = 0f;
- private const float INIT_BUTTON_POS = -600f;
- private const float TITLELOGO_FADEIN_DELAY = 4f;
- private const float TITLELOGO_FADEIN_DURATION = 1.5f;
- private const float BUTTON_FADEIN_DURATION = 0.7f;
- private const float BUTTON_FADEIN_INTERVAL = 0.3f;
- private const float DURATION_TO_FADE = 3f;
- [SerializeField]
- private Animator m_animatorBenchMark;
- [SerializeField]
- private Animator m_animatorDance;
- private class TitleButton
- {
- public TitleMgr.ButtonType name;
- public GameObject selectCursor;
- public bool active;
- }
- }
|