| | |
| | |
|
| | | public class RuneTowerSweepResultWin : Window
|
| | | {
|
| | | [SerializeField] Button m_Skip;
|
| | | [SerializeField] Text m_Title;
|
| | | [SerializeField] ScrollRect m_ResultScrollRect;
|
| | | [SerializeField] Button m_Close;
|
| | |
| | |
|
| | | float floorHeight = 0;
|
| | | float totalResultHeight = 0;
|
| | | bool skip = false;
|
| | |
|
| | | #region Built-in
|
| | | protected override void BindController()
|
| | |
| | | {
|
| | | m_Close.AddListener(CloseClick);
|
| | | m_Continue.AddListener(Continue);
|
| | | m_Skip.AddListener(Skip);
|
| | | }
|
| | |
|
| | | protected override void OnPreOpen()
|
| | | {
|
| | | skip = false;
|
| | | m_Close.gameObject.SetActive(false);
|
| | | m_Continue.gameObject.SetActive(false);
|
| | | }
|
| | |
| | | private void ShowResults()
|
| | | {
|
| | | m_Title.text = Language.Get("RuneTowerSweepText9");
|
| | | GeneSweepResultBehaviours(m_ResultScrollRect.content, runeTowerModel.towerSweepResults.Count);
|
| | | GenerateSweepResultBehaviours(m_ResultScrollRect.content, runeTowerModel.towerSweepResults.Count);
|
| | | for (int i = 0; i < resultBehavioursBuf.Count; i++)
|
| | | {
|
| | | var behaviour = resultBehavioursBuf[i];
|
| | |
| | | StartCoroutine("Co_ShowResultTowerByTower");
|
| | | }
|
| | |
|
| | | private void GeneSweepResultBehaviours(Transform _parent, int _needCount)
|
| | | private void GenerateSweepResultBehaviours(Transform _parent, int _needCount)
|
| | | {
|
| | | var currentCount = resultBehavioursBuf.Count;
|
| | | if (_needCount > currentCount)
|
| | |
| | |
|
| | | IEnumerator Co_ShowResultTowerByTower()
|
| | | {
|
| | | var raycastFilter = this.AddMissingComponent<CanvasRaycastFilter>();
|
| | | var raycastFilter = m_ResultScrollRect.AddMissingComponent<CanvasRaycastFilter>();
|
| | | raycastFilter.raycastTarget = false;
|
| | |
|
| | | foreach (var behaviour in resultBehavioursBuf)
|
| | |
| | | m_ResultScrollRect.content.anchoredPosition = m_ResultScrollRect.content.anchoredPosition.SetY(end);
|
| | | }
|
| | |
|
| | | if (skip)
|
| | | {
|
| | | break;
|
| | | }
|
| | |
|
| | | yield return WaitingForSecondConst.WaitMS500;
|
| | | }
|
| | |
|
| | | yield return null;
|
| | | for (int i = 0; i < count; i++)
|
| | | {
|
| | | resultBehavioursBuf[i].transform.localScale = Vector3.one;
|
| | | }
|
| | |
|
| | | if (!skip)
|
| | | {
|
| | | yield return null;
|
| | | }
|
| | |
|
| | | resultTotalBehaviour.transform.localScale = Vector3.one;
|
| | | resultTotalBehaviour.UpdateSizeAndPosition();
|
| | |
| | | {
|
| | | m_ResultScrollRect.content.anchoredPosition = m_ResultScrollRect.content.anchoredPosition.SetY(y);
|
| | | }
|
| | |
|
| | | if (skip)
|
| | | {
|
| | | break;
|
| | | }
|
| | |
|
| | | yield return null;
|
| | | }
|
| | |
|
| | | m_ResultScrollRect.content.anchoredPosition = m_ResultScrollRect.content.anchoredPosition.SetY(end);
|
| | |
|
| | | foreach (var behaviour in resultBehavioursBuf)
|
| | | {
|
| | | behaviour.interactable = true;
|
| | |
| | | WindowCenter.Instance.Open<RuneTowerSweepBuyWin>();
|
| | | }
|
| | |
|
| | | private void Skip()
|
| | | {
|
| | | skip = true;
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | }
|