Table of Contents

Struct DecayModifiersJob

Namespace
Core.Diplomacy
Assembly
Core.dll

Burst-compiled job for marking decayed opinion modifiers

ARCHITECTURE: Flat storage with relationship keys

  • All modifiers stored in single NativeList{ModifierWithKey}
  • Job marks decayed modifiers (parallel READ-ONLY operation)
  • Main thread compacts array SEQUENTIALLY (deterministic order preserved)

DETERMINISM GUARANTEE:

  • Job is READ-ONLY (no race conditions, no order dependency)
  • Compaction is SEQUENTIAL on main thread
  • Insertion order preserved (append-only)
  • Result identical across all game clients

Performance Target: <5ms for 610k modifiers (parallel SIMD processing)

[BurstCompile(CompileSynchronously = true, OptimizeFor = OptimizeFor.Performance)]
public struct DecayModifiersJob

Fields

currentTick

Current game tick for decay calculations

public int currentTick

Field Value

int

isDecayed

Output: true if modifier at index i is fully decayed Each thread writes to unique index (no race conditions)

[WriteOnly]
public NativeArray<bool> isDecayed

Field Value

NativeArray<bool>

modifiers

All modifiers with their relationship keys (flat contiguous array) READ-ONLY for determinism

public NativeArray<ModifierWithKey> modifiers

Field Value

NativeArray<ModifierWithKey>

Methods

Execute(int)

Execute for each modifier in parallel Pure read operation - deterministic across all clients

public void Execute(int index)

Parameters

index int