客户端rsa,冗余清理,bug修复,安卓build问题
This commit is contained in:
@@ -604,7 +604,7 @@ public class SkillBuilder : MonoBehaviour
|
||||
else Debug.LogWarning($"ApplyBuffToTargets: target {t.name} has no ICombatant");
|
||||
}
|
||||
if (buff.duration > 0f)
|
||||
yield return new WaitForSeconds(buff.duration);
|
||||
yield return GameplayClock.WaitForSeconds(buff.duration);
|
||||
else
|
||||
yield break;
|
||||
|
||||
@@ -1010,7 +1010,7 @@ public class SkillBuilder : MonoBehaviour
|
||||
|
||||
private IEnumerator RemoveRefreshOnlyTimedEffectAfterDuration(string key, GameObject target, float duration)
|
||||
{
|
||||
yield return new WaitForSeconds(duration);
|
||||
yield return GameplayClock.WaitForSeconds(duration);
|
||||
|
||||
if (_refreshOnlyTimedEffectStates.TryGetValue(key, out var state))
|
||||
{
|
||||
@@ -1212,7 +1212,7 @@ public class SkillBuilder : MonoBehaviour
|
||||
if (target == null) break;
|
||||
if (!ApplyRefreshOnlyOverTimeTick(def.effectType, target, perTick, source)) break;
|
||||
|
||||
yield return new WaitForSeconds(tickInterval);
|
||||
yield return GameplayClock.WaitForSeconds(tickInterval);
|
||||
elapsed += tickInterval;
|
||||
}
|
||||
|
||||
@@ -1544,7 +1544,7 @@ ResolvedGroup:
|
||||
{
|
||||
string sid = !string.IsNullOrWhiteSpace(def.skillId) ? def.skillId : def.name;
|
||||
string repeatKey = $"{slotIndex}:{sid}";
|
||||
float now = Time.time;
|
||||
float now = GameplayClock.NowSongTime;
|
||||
if (_lastSkillTriggerTime.TryGetValue(repeatKey, out float last) && (now - last) <= def.repeatWindowSeconds)
|
||||
{
|
||||
amountTotal = def.repeatValue;
|
||||
@@ -2406,7 +2406,7 @@ ResolvedGroup:
|
||||
}
|
||||
|
||||
ally.AddScoreDirect(Mathf.Max(0, state.scorePerSecond));
|
||||
yield return new WaitForSeconds(1f);
|
||||
yield return GameplayClock.WaitForSeconds(1f);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2650,7 +2650,7 @@ ResolvedGroup:
|
||||
{
|
||||
iBudeffPrefabController.Instance?.RegisterTimedEffect(ally, PlayerBudeffIconType.ot_scoreEfficiency_down, -ally.scoreEfficiency, duration);
|
||||
}
|
||||
yield return new WaitForSeconds(duration);
|
||||
yield return GameplayClock.WaitForSeconds(duration);
|
||||
if (ally != null && !ally.IsDead && _equipTalentScoutDisagreeRestoreScoreBySlot.TryGetValue(slotIndex, out float restore))
|
||||
{
|
||||
ally.scoreEfficiency = Mathf.Max(0f, restore);
|
||||
@@ -2760,7 +2760,7 @@ ResolvedGroup:
|
||||
|
||||
private IEnumerator NewIdeaExpireCoroutine(int slotIndex, float duration)
|
||||
{
|
||||
yield return new WaitForSeconds(duration);
|
||||
yield return GameplayClock.WaitForSeconds(duration);
|
||||
if (_equipNewIdeaStacksBySlot.TryGetValue(slotIndex, out int stacks))
|
||||
{
|
||||
_equipNewIdeaStacksBySlot[slotIndex] = Mathf.Max(0, stacks - 1);
|
||||
@@ -3372,7 +3372,7 @@ ResolvedGroup:
|
||||
{
|
||||
LogVerbose($"[SkillBuilder] NotifyNoteHit RECEIVED: track={trackIndex} judge={judgeResult} noteType={noteType} uniqueId={uniqueNoteId}");
|
||||
// cleanup old processed ids (> 10s)
|
||||
float nowCleanup = Time.time;
|
||||
float nowCleanup = GameplayClock.NowSongTime;
|
||||
_tmpNoteIdRemoval.Clear();
|
||||
var toRemove = _tmpNoteIdRemoval;
|
||||
foreach (var kv in _processedNoteHitTimestamps)
|
||||
@@ -3391,7 +3391,7 @@ ResolvedGroup:
|
||||
}
|
||||
else
|
||||
{
|
||||
_processedNoteHitTimestamps[uniqueNoteId] = Time.time;
|
||||
_processedNoteHitTimestamps[uniqueNoteId] = nowCleanup;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3491,7 +3491,7 @@ ResolvedGroup:
|
||||
|
||||
// cooldown per slot+skill
|
||||
string key = $"{trackIndex}:{def.skillId}";
|
||||
float now = Time.time;
|
||||
float now = GameplayClock.NowSongTime;
|
||||
if (def.onNoteHitCooldown > 0f)
|
||||
{
|
||||
if (_lastOnNoteHitTriggerTime.TryGetValue(key, out float last))
|
||||
@@ -3544,7 +3544,7 @@ ResolvedGroup:
|
||||
while (elapsed < duration)
|
||||
{
|
||||
ally.ModifyMana(Mathf.CeilToInt(perTick), true, true);
|
||||
yield return new WaitForSeconds(tickInterval);
|
||||
yield return GameplayClock.WaitForSeconds(tickInterval);
|
||||
elapsed += tickInterval;
|
||||
}
|
||||
}
|
||||
@@ -3552,7 +3552,7 @@ ResolvedGroup:
|
||||
private IEnumerator RemoveBuffAfterDuration(GameObject target, string buffId, float duration)
|
||||
{
|
||||
if (duration <= 0f) yield break;
|
||||
yield return new WaitForSeconds(duration);
|
||||
yield return GameplayClock.WaitForSeconds(duration);
|
||||
if (target == null) yield break;
|
||||
var ic = target.GetComponent<ICombatant>();
|
||||
ic?.RemoveBuff(buffId);
|
||||
@@ -3564,7 +3564,7 @@ ResolvedGroup:
|
||||
{
|
||||
if (ally == null) yield break;
|
||||
ally.scoreEfficiency = Mathf.Max(0f, ally.scoreEfficiency + delta);
|
||||
yield return new WaitForSeconds(duration);
|
||||
yield return GameplayClock.WaitForSeconds(duration);
|
||||
if (ally == null) yield break;
|
||||
ally.scoreEfficiency = Mathf.Max(0f, ally.scoreEfficiency - delta);
|
||||
}
|
||||
@@ -3581,7 +3581,7 @@ ResolvedGroup:
|
||||
{
|
||||
if (ally == null) yield break;
|
||||
ally.ModifyAttack(delta);
|
||||
yield return new WaitForSeconds(duration);
|
||||
yield return GameplayClock.WaitForSeconds(duration);
|
||||
if (ally == null) yield break;
|
||||
ally.ModifyAttack(-delta);
|
||||
}
|
||||
@@ -3599,7 +3599,7 @@ ResolvedGroup:
|
||||
if (enemy == null) yield break;
|
||||
enemy.ModifyAttack(delta);
|
||||
iBudeffPrefabController.Instance?.RefreshEnemyNow(enemy);
|
||||
yield return new WaitForSeconds(duration);
|
||||
yield return GameplayClock.WaitForSeconds(duration);
|
||||
if (enemy == null) yield break;
|
||||
enemy.ModifyAttack(-delta);
|
||||
}
|
||||
@@ -3674,7 +3674,7 @@ ResolvedGroup:
|
||||
|
||||
if (ally != null) ally.ModifyHP(-Mathf.CeilToInt(perTick), true);
|
||||
else ic?.ReceiveDamage(perTick, source);
|
||||
yield return new WaitForSeconds(tickInterval);
|
||||
yield return GameplayClock.WaitForSeconds(tickInterval);
|
||||
elapsed += tickInterval;
|
||||
}
|
||||
}
|
||||
@@ -3713,7 +3713,7 @@ ResolvedGroup:
|
||||
{
|
||||
if (ally != null) ally.ReceiveHeal(perTick, source);
|
||||
else ic?.ReceiveHeal(perTick, source);
|
||||
yield return new WaitForSeconds(tickInterval);
|
||||
yield return GameplayClock.WaitForSeconds(tickInterval);
|
||||
elapsed += tickInterval;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user