using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace MoleMole { public class MonoActButton : MonoBehaviour { private enum BGAniStep { None = 0, Prepare = 1, FadeIn = 2 } private enum BGState { Idle = 0, Fading = 1 } private const string ACTIVITY_LEVEL_PANEL = "UI/Menus/Widget/Map/LevelPanelActivity"; private const string MATERIAL_COLORIZE_PATH = "Material/ImageColorize"; private const string MATERIAL_COLOR_PATH = "Material/ImageMonoColor"; private const float BG_ANI_PREPARE_SPAN = 0.1f; private const float BG_FADE_IN_SPAN = 0.4f; private const float UNSELECT_POSITION_X = -22f; private const int UNSELECT_FONTSIZE = 24; private const float SELECT_POSITION_X = -42f; private const int SELECT_FONTSIZE = 30; private MonoActScroller _scroller; private WeekDayActivityDataItem _activityDatta; private Transform _bgTrans; private MonoActivityInfoPanel _infoPanel; private ActDataItem _actData; private bool _needFade; private float _bgAniTimer; private BGAniStep _step; private static BGState _state; private GameObject _selectedGameObject; private GameObject _unselectedGameObject; private GameObject _hideGameObject; private GameObject _hideDotGameObject; private GameObject _imageGameObject; private GameObject _selectDotGameObject; private GameObject _unselectDotGameObject; private Transform _descTransform; private Image _imageImage; private Text _descText; private Outline _descOutline; private Image _preImage; private CanvasGroup _preCanvasGroup; private Image _postImage; private CanvasGroup _postCanvasGroup; private GameObject _exBGGameObject; private CanvasGroup _exBGCanvasGroup; private Material _unselectMaterial; private Sprite _bgImgSprite; private Sprite _activityBgImgSprite; public bool selected { get; private set; } private void InitCache() { _selectedGameObject = base.transform.Find("Selected").gameObject; _unselectedGameObject = base.transform.Find("Unselected").gameObject; _hideGameObject = base.transform.Find("Hide").gameObject; _imageGameObject = base.transform.Find("Image").gameObject; _imageImage = _imageGameObject.GetComponent(); _hideDotGameObject = base.transform.Find("TimeLineDots/HideDot").gameObject; _selectDotGameObject = base.transform.Find("TimeLineDots/SelectDot").gameObject; _unselectDotGameObject = base.transform.Find("TimeLineDots/UnselectDot").gameObject; _descTransform = base.transform.Find("Desc"); _descText = _descTransform.GetComponent(); _descOutline = _descTransform.GetComponent(); _preImage = _bgTrans.Find("Pre").GetComponent(); _preCanvasGroup = _bgTrans.Find("Pre").GetComponent(); _postImage = _bgTrans.Find("Post").GetComponent(); _postCanvasGroup = _bgTrans.Find("Post").GetComponent(); _exBGGameObject = _bgTrans.Find("ExBG").gameObject; _exBGCanvasGroup = _bgTrans.Find("ExBG").GetComponent(); _unselectMaterial = Miscs.LoadResource("Material/ImageMonoColor"); if (_actData != null) { _bgImgSprite = Miscs.GetSpriteByPrefab(_actData.BGImgPath); } if (_activityDatta != null) { _activityBgImgSprite = Miscs.GetSpriteByPrefab(_activityDatta.GetBgImgPath()); } } private void Start() { _scroller = base.transform.parent.parent.GetComponent(); base.transform.Find("Btn").GetComponent