Import art/VFX asset packs + game-feel systems; normalize texture extensions to lowercase for LFS
Add BefourStudios SciFi environment packs, Gabriel Aguiar VFX, and the ShaderCrew Toon Shader embedded packages, plus combat/enemy/wave/death gameplay systems and supporting vault docs/screenshots. Rename 11 vendor textures from uppercase .PNG/.HDR to lowercase so the case-sensitive Git LFS filters (*.png/*.hdr) match on case-sensitive filesystems (Linux CI, case-sensitive macOS), not just locally where core.ignorecase=true masks the gap. Each .meta moved with its asset so GUID references are preserved. All ~1000 binaries tracked via LFS. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
using Unity.Entities;
|
||||
|
||||
namespace ProjectM.Simulation
|
||||
{
|
||||
/// <summary>
|
||||
/// Baked config for the Husk wave/threat director (singleton). The director escalates: wave N spawns
|
||||
/// <c>BaseCount + (N-1)*CountPerWave</c> Husks (round-robin over the <see cref="WaveEnemyPrefab"/> pool) at a
|
||||
/// deterministic ring around the <see cref="BaseAnchor"/>, one every <c>SpawnIntervalTicks</c>; once a wave is
|
||||
/// cleared the field stays calm for <c>LullTicks</c> before the next, bigger wave. Replaces the flat sustain.
|
||||
/// </summary>
|
||||
public struct WaveDirector : IComponentData
|
||||
{
|
||||
public float RingRadius;
|
||||
public int RingSlots;
|
||||
public int BaseCount;
|
||||
public int CountPerWave;
|
||||
public int SpawnIntervalTicks;
|
||||
public int LullTicks;
|
||||
}
|
||||
|
||||
/// <summary>Baked pool of Husk prefab variants the director draws from round-robin (Grunt / Swarmer / Brute / ...).</summary>
|
||||
public struct WaveEnemyPrefab : IBufferElementData
|
||||
{
|
||||
public Entity Prefab;
|
||||
}
|
||||
|
||||
/// <summary>Phase constants for <see cref="WaveState.Phase"/>.</summary>
|
||||
public static class WavePhase
|
||||
{
|
||||
public const byte Lull = 0;
|
||||
public const byte Spawning = 1;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Runtime state of the wave director (server-only singleton; not replicated). Tracks the current wave, the
|
||||
/// phase (lull vs spawning), the next action tick, how many Husks remain to spawn this wave, and a monotonic
|
||||
/// spawn counter (drives the ring slot + the round-robin prefab pick).
|
||||
/// </summary>
|
||||
public struct WaveState : IComponentData
|
||||
{
|
||||
public int WaveNumber;
|
||||
public byte Phase;
|
||||
public uint NextActionTick;
|
||||
public int RemainingToSpawn;
|
||||
public int SpawnCounter;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user