| | |
| | | [SerializeField] FairyFeastRankBehaviour[] m_RankBehaviours;
|
| | | [SerializeField] FairyFeastRankBehaviour m_TopRank;
|
| | | [SerializeField] DungeonMultipleTaskWin.SelectEffect m_SelectEffect;
|
| | | [SerializeField] Button m_Transmit;
|
| | | [SerializeField] SmoothSlider m_TransmitSlider;
|
| | | [SerializeField] Text m_TransmitProgress;
|
| | |
|
| | | DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
| | | FairyFeastModel fairyFeastModel { get { return ModelCenter.Instance.GetModel<FairyFeastModel>(); } }
|
| | |
|
| | | int currentSelect = 0;
|
| | | #region Built-in
|
| | | protected override void BindController()
|
| | | {
|
| | | }
|
| | |
|
| | | protected override void AddListeners()
|
| | | {
|
| | | m_FairyFeast.onClick.AddListener(() =>
|
| | | {
|
| | |
| | | {
|
| | | Select(1);
|
| | | });
|
| | | }
|
| | |
|
| | | protected override void AddListeners()
|
| | | {
|
| | | m_Transmit.onClick.AddListener(Transmit);
|
| | | }
|
| | |
|
| | | protected override void OnPreOpen()
|
| | | {
|
| | | Select(0);
|
| | | m_TransmitSlider.ResetValue(0);
|
| | | model.updateMissionEvent += UpdateMissionEvent;
|
| | | fairyFeastModel.selectTransmit += SelectTransmit;
|
| | | fairyFeastModel.transmitStateUpdate += TransmitStateUpdate;
|
| | | SelectTransmit();
|
| | | }
|
| | |
|
| | |
|
| | | protected override void OnAfterOpen()
|
| | | {
|
| | |
| | | protected override void OnPreClose()
|
| | | {
|
| | | model.updateMissionEvent -= UpdateMissionEvent;
|
| | | fairyFeastModel.selectTransmit -= SelectTransmit;
|
| | | fairyFeastModel.transmitStateUpdate -= TransmitStateUpdate;
|
| | | }
|
| | |
|
| | | protected override void OnAfterClose()
|
| | | {
|
| | | }
|
| | |
|
| | | protected override void LateUpdate()
|
| | | {
|
| | | if (fairyFeastModel.transmiting)
|
| | | {
|
| | | if (!m_TransmitSlider.gameObject.activeSelf)
|
| | | {
|
| | | m_TransmitSlider.gameObject.SetActive(true);
|
| | | }
|
| | | var surplusTime = (fairyFeastModel.transmitCompleteTime - DateTime.Now).TotalSeconds;
|
| | | var progress = Mathf.Clamp01(1 - (float)surplusTime / fairyFeastModel.transmitCostSeconds);
|
| | | m_TransmitSlider.value = progress;
|
| | | m_TransmitProgress.text = StringUtility.Contact((int)(progress * 100), "%");
|
| | | }
|
| | | else
|
| | | {
|
| | | if (m_TransmitSlider.gameObject.activeSelf)
|
| | | {
|
| | | m_TransmitSlider.gameObject.SetActive(false);
|
| | | }
|
| | | }
|
| | | }
|
| | | #endregion
|
| | |
|
| | |
| | | {
|
| | | return x.rank.CompareTo(y.rank);
|
| | | }
|
| | |
|
| | | private void SelectTransmit()
|
| | | {
|
| | | m_Transmit.gameObject.SetActive(fairyFeastModel.selectPlayer != 0 && fairyFeastModel.allowTransmit
|
| | | && !fairyFeastModel.transmiting);
|
| | | }
|
| | |
|
| | | private void Transmit()
|
| | | {
|
| | | fairyFeastModel.Transmit();
|
| | | }
|
| | |
|
| | | private void TransmitStateUpdate()
|
| | | {
|
| | | SelectTransmit();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|