gameplay手游触屏支持,一些小优化和修复

This commit is contained in:
FloatGaming
2026-07-15 01:32:14 +08:00
parent 020ca473c7
commit d9990d6fdb
17 changed files with 1489 additions and 50 deletions
+39
View File
@@ -1,4 +1,5 @@
using System;
using System.Collections;
using System.Collections.Generic;
using DG.Tweening;
using UnityEngine;
@@ -86,12 +87,14 @@ public class UI_Idols : MonoBehaviour
private bool suppressToggleCallbacks;
private int pendingGrowthAnimationHeroId = -1;
private Tween idolExpBarTween;
private Coroutine startupSkillValidationRoutine;
private void Start()
{
BindQuitButton();
InitializeSectionToggles();
RebuildCards();
BeginStartupSkillValidation();
}
private void OnEnable()
@@ -123,6 +126,11 @@ public class UI_Idols : MonoBehaviour
idolExpBarTween.Kill();
idolExpBarTween = null;
}
if (startupSkillValidationRoutine != null)
{
StopCoroutine(startupSkillValidationRoutine);
startupSkillValidationRoutine = null;
}
UnbindSectionToggles();
}
@@ -152,6 +160,37 @@ public class UI_Idols : MonoBehaviour
gameObject.SetActive(false);
}
private void BeginStartupSkillValidation()
{
if (!isActiveAndEnabled)
{
return;
}
if (startupSkillValidationRoutine != null)
{
StopCoroutine(startupSkillValidationRoutine);
}
startupSkillValidationRoutine = StartCoroutine(ValidateSkillsOnStartupRoutine());
}
private IEnumerator ValidateSkillsOnStartupRoutine()
{
yield return null;
bool anyChanged = false;
yield return AllyHeroSkillSelectionValidator.ValidateAllHeroesAsync(2, changed => anyChanged = changed);
startupSkillValidationRoutine = null;
if (!anyChanged)
{
yield break;
}
RebuildCards(false);
}
private void InitializeSectionToggles()
{
BindSectionToggles();