调整部分数据表配置,优化 SpriteCache 功能

This commit is contained in:
2026-09-13 20:36:21 +08:00
parent de53890de6
commit 7dc529a840
520 changed files with 24231 additions and 967 deletions
@@ -1,7 +1,7 @@
using System;
using SepCore.CustomUtility;
using SepCore.Definition;
using SepCore.Timer;
using UnityGameFramework.Runtime;
using UnityEngine;
namespace SepCore.EnemyManager
@@ -20,7 +20,7 @@ namespace SepCore.EnemyManager
public float SpawnRateScale => _spawnRateScale;
public float ElapsedTime => _elapsedTime;
public int WaveCount => _enemyTypes?.Length ?? 0;
public int WaveCount => _enemyTypes.Length;
public void Init(LevelConfig level, Action<EnemyType, int> onSpawn)
{
@@ -37,7 +37,7 @@ namespace SepCore.EnemyManager
{
var spawnConfig = level.EnemySpawnConfigs[i];
_baseIntervals[i] = spawnConfig.Interval / 1000f;
_enemyTypes[i] = EntityDataFactory.GetEnemyType(spawnConfig.EnemyName);
_enemyTypes[i] = spawnConfig.EnemyType;
_spawnCounts[i] = spawnConfig.EnemyCount;
}
@@ -57,8 +57,13 @@ namespace SepCore.EnemyManager
public void SetSpawnRateScale(float scale)
{
if (_waveHandles == null)
{
Log.Error("Can not set spawn rate scale before scheduler init.");
return;
}
_spawnRateScale = Mathf.Max(MinSpawnRateScale, scale);
if (_waveHandles == null) return;
for (int i = 0; i < _waveHandles.Length; i++)
{
@@ -81,7 +86,7 @@ namespace SepCore.EnemyManager
private void OnWaveTick(int waveIndex)
{
_onSpawn?.Invoke(_enemyTypes[waveIndex], _spawnCounts[waveIndex]);
_onSpawn(_enemyTypes[waveIndex], _spawnCounts[waveIndex]);
}
private static float GetScaledInterval(float baseInterval, float scale)