protected override void OnUpdate() { var ecb = _barrier.CreateCommandBuffer(); Entities.WithAll <HelloWorld>() .ForEach(( Entity e, ref DynamicBuffer <TerminalTilesBuffer> tilesBuffer, in TerminalSize size, in Translation translation) => { if (tilesBuffer.Length == 0) { return; } var term = new TerminalAccessor(tilesBuffer, size); term.ClearScreen(); term.DrawBorder(); term.Print(5, 5, "Hello, world!"); ecb.RemoveComponent <HelloWorld>(e); }).Schedule();
protected override void OnUpdate() { var ecb = _barrier.CreateCommandBuffer(); Entities .WithAll <TerminalAddBorder>() .ForEach(( Entity e, ref DynamicBuffer <TerminalTilesBuffer> tilesBuffer, in TerminalSize size) => { if (tilesBuffer.Length == 0) { return; } var term = new TerminalAccessor(tilesBuffer, size); term.DrawBorder(); ecb.RemoveComponent <TerminalAddBorder>(e); }).Schedule(); _barrier.AddJobHandleForProducer(Dependency); }
protected override void OnUpdate() { Entities .WithAll <TerminalClearEveryFrame>() .ForEach(( ref DynamicBuffer <TerminalTilesBuffer> tilesBuffer, in TerminalSize size) => { if (tilesBuffer.Length == 0) { return; } var term = new TerminalAccessor(tilesBuffer, size); term.ClearScreen(); //Debug.Log("Clearing terminal"); }).ScheduleParallel(); var ecb = _barrier.CreateCommandBuffer(); Entities .WithAll <TerminalClearOnce>() .ForEach(( Entity e, ref DynamicBuffer <TerminalTilesBuffer> tilesBuffer, in TerminalSize size, in Translation pos) => { if (tilesBuffer.Length == 0) { return; } var term = new TerminalAccessor(tilesBuffer, size); term.ClearScreen(); ecb.RemoveComponent <TerminalClearOnce>(e); }).Schedule();