using Rukhanka.WaybackMachine; using Unity.Burst; using Unity.Entities; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// namespace Rukhanka { [DisableAutoCreation] [UpdateAfter(typeof(AnimationCullingSystem))] [UpdateBefore(typeof(AnimationEventEmitSystem))] public partial struct WaybackMachinePlaybackSystem: ISystem { ///////////////////////////////////////////////////////////////////////////////////////////////////// [BurstCompile] public void OnCreate(ref SystemState ss) { ss.RequireForUpdate(); } ///////////////////////////////////////////////////////////////////////////////////////////////////// [BurstCompile] public void OnUpdate(ref SystemState ss) { var pc = SystemAPI.GetSingleton(); var pce = SystemAPI.GetSingletonEntity(); if (!SystemAPI.HasBuffer(pce)) return; var atps = SystemAPI.GetBuffer(pce); atps.Clear(); atps.AddRange(pc.playbackData.AsArray()); } } }