public void OnUpdate(ref SystemState state)
{
var ecb = new EntityCommandBuffer(Unity.Collections.Allocator.Temp);
foreach (var (rpcRequest, swapClassRPC, entity) in SystemAPI.Query<RefRO<ReceiveRpcCommandRequest>, RefRO<SwapClassRequest>>().WithEntityAccess())
{
Entity connection = rpcRequest.ValueRO.SourceConnection;
Entity playerEntity = state.EntityManager.GetComponentData<CommandTarget>(connection).targetEntity;
if (playerEntity == Entity.Null) { UnityEngine.Debug.Log("AAAAA"); return; }
FirstPersonPlayer firstPersonPlayer = SystemAPI.GetComponent<FirstPersonPlayer>(playerEntity);
ecb.DestroyEntity(firstPersonPlayer.ControlledCharacter);
var controlledCharacter = ecb.Instantiate(SystemAPI.GetSingleton<CharacterClassDatabase>().Database.Value.entityLibrary[swapClassRPC.ValueRO.classID]);
firstPersonPlayer.ControlledCharacter = controlledCharacter;
ecb.DestroyEntity(entity);
}
ecb.Playback(state.EntityManager);
}
//////
This gives me a million different errors.
(For context, CharacterClassDatabase is a BlobAsset and I'm using the sample first person charactercontroller)