public SpawnPointWheel SpawnWheelSpawnerObject(Vector2 _spawnPosition)
    {
        SpawnPointWheel spawnedSpawnPointWheel = InstantiateModule.InstantiateObjectWithScript <SpawnPointWheel>(PrefabCollection.SpawnPointWheel);

        spawnedSpawnPointWheel.transform.position = _spawnPosition;
        return(spawnedSpawnPointWheel);
    }
    public PoolableObject SpawnPollableObject(Transform _prefab, SpawnPointWheel _spawnPointWheel)
    {
        Vector2        spawnPosition     = _spawnPointWheel.GetRandomSpawnPosition();
        PoolableObject newPoolableObject = PoolModule.Reuse(_prefab);

        newPoolableObject.transform.position = spawnPosition;
        return(newPoolableObject);
    }
 public GameplayPlayerMovementManager()
 {
     FollowPointWheel = ObjectSpawner.SpawnWheelSpawnerObject(SimulationInstance.Player.transform.position);
     FollowPointWheel.transform.SetParent(SimulationInstance.Player.transform);
     FollowPointWheel.CreateSpawnPositions();
     SimulationInstance.Player.PlayerMovementManager.ChangeFollowPoint(FollowPointWheel.GetRandomSpawnPointTransform());
     movementParametersFlow = true;
     TriggerRotationChangeCycle();
     TriggerRotationChangeCycle();
 }
 public GameplaySpawnManager()
 {
     SpawnPointWheel = ObjectSpawner.SpawnWheelSpawnerObject(SimulationInstance.Player.transform.position);
     SpawnPointWheel.CreateSpawnPointWheel();
     SpawnPointWheel.transform.SetParent(SimulationInstance.Player.transform);
 }
    public Bomber SpawnBomberRandomlyOnSpawnWheel(SpawnPointWheel _spawnPointWheel)
    {
        Bomber newSpawnedBomber = SpawnPollableObject(PrefabCollection.Bomber, _spawnPointWheel) as Bomber;

        return(newSpawnedBomber);
    }
    public Meteor SpawnMeteorRandomlyOnSpawnWheel(SpawnPointWheel _spawnPointWheel)
    {
        Meteor newSpawnedMeteor = SpawnPollableObject(PrefabCollection.Meteor, _spawnPointWheel) as Meteor;

        return(newSpawnedMeteor);
    }