public EnemyEntity InstantiateEnemy(EnemyType enemyType, IInstantiator instantiator, Vector3 position,
                                            Quaternion rotation, Transform parent = null)
        {
            var enemyObject = GetAsset <GameObject>(assetCache.GetEnemyAsset(enemyType));

            return(Instantiate <EnemyEntity>(instantiator, enemyObject, position, rotation, parent));
        }