|
- using System;
- using SUISS.Core;
- using Tweening;
- using UnityEngine;
-
- public class OverlayButtons : MonoBehaviour
- {
- public OverlayButton InfoButton
- {
- get
- {
- return this._infoButton;
- }
- }
-
- public OverlayButton MoveButton
- {
- get
- {
- return this._moveButton;
- }
- }
-
- public OverlayButton UpgradeButton
- {
- get
- {
- return this._upgradeButton;
- }
- }
-
- public OverlayButton DemolishButton
- {
- get
- {
- return this._demolishButton;
- }
- }
-
- public static OverlayButtons Get(Component comp)
- {
- OverlayButtons overlayButtons = comp.GetComponent<OverlayButtons>();
- if (overlayButtons == null)
- {
- overlayButtons = OverlayButtons.Create(comp.gameObject);
- }
- return overlayButtons;
- }
-
- public void DisableAllButtons()
- {
- this.InfoButton.DisableButton();
- this.MoveButton.DisableButton();
- this.UpgradeButton.DisableButton();
- this.DemolishButton.DisableButton();
- }
-
- public void ShowOpenAnimation(Action onFinished = null)
- {
- if (this._tweener.IsPlaying)
- {
- this._tweener.Stop();
- }
- if (onFinished != null)
- {
- Tweener.FinishedPlayingEventHandler onFinishedInternal = null;
- onFinishedInternal = delegate(Tweener tweener)
- {
- tweener.FinishedPlaying -= onFinishedInternal;
- onFinished();
- };
- this._tweener.FinishedPlaying += onFinishedInternal;
- }
- this._tweener.Reset(false);
- this._tweener.Play();
- }
-
- public void ShowCloseAnimation(Action onFinished = null)
- {
- if (this._tweener.IsPlaying)
- {
- this._tweener.Stop();
- }
- if (onFinished != null)
- {
- Tweener.FinishedPlayingEventHandler onFinishedInternal = null;
- onFinishedInternal = delegate(Tweener tweener)
- {
- tweener.FinishedPlaying -= onFinishedInternal;
- onFinished();
- };
- this._tweener.FinishedPlaying += onFinishedInternal;
- }
- this._tweener.Reset(true);
- this._tweener.PlayReverse();
- }
-
- private static OverlayButtons Create(GameObject go)
- {
- OverlayManager instance = SingletonMonobehaviour<OverlayManager>.Instance;
- return instance.CreateOverlay<OverlayButtons>(go, instance.ButtonsPrefab);
- }
-
- [SerializeField]
- private OverlayButton _infoButton;
-
- [SerializeField]
- private OverlayButton _moveButton;
-
- [SerializeField]
- private OverlayButton _upgradeButton;
-
- [SerializeField]
- private OverlayButton _demolishButton;
-
- [SerializeField]
- private Tweener _tweener;
- }
|