protected override void OnCreate()
    {
        playerInput = new PlayerInputActions();
        playerInput.Enable();
        pInput = playerInput.Player;

        bulletArchetype = EntityManager.CreateArchetype(
            typeof(LocalToWorld),
            typeof(Translation),
            typeof(Rotation),
            typeof(Scale),
            typeof(Velocity),
            typeof(Speed),
            typeof(Lifetime),
            typeof(Faction),
            typeof(ColliderComponent),
            typeof(RenderBounds),
            typeof(RenderMesh),
            typeof(Bullet));
        Addressables.LoadAssetAsync <BulletPrefabList>("BulletPrefabList").Completed += OnBulletPrefabListLoadDone;
        var query = new EntityQueryDesc
        {
            All = new ComponentType[] { typeof(BulletPrefabListComponent) }
        };

        bulletPrefabListQuery = GetEntityQuery(query);
    }
    protected override void OnCreate()
    {
        playerArchetype = EntityManager.CreateArchetype(
            typeof(Translation),
            typeof(Rotation),
            typeof(Speed),
            typeof(Velocity),
            typeof(ColliderComponent),
            typeof(Faction),
            typeof(Damageable),
            typeof(Health),
            typeof(RenderMesh),
            typeof(RenderBounds),
            typeof(LocalToWorld),
            typeof(Player),
            typeof(Cooldown));
        Addressables.LoadAssetAsync <PlayerSettings>("PlayerSettings").Completed += OnPlayerSettingsLoad;

        PlayerInput = new PlayerInputActions();
        PlayerInput.Enable();
        pInput = PlayerInput.Player;
    }