using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LevelGenetaroe : MonoBehaviour
{
private const float PLAYER_DISTANCE_SPAWN_LEVEL_PART = 200f;
[SerializeField] private Transform map;
[SerializeField] private Transform levelPart_1;
[SerializeField] private Player Player;
private Vector3 LastEndPosition;
private void Awake()
{
LastEndPosition = map.Find("EndPosition").position;
int startingSpawnLevelPart = 5;
for (int i = 0; i < startingSpawnLevelPart; i++)
{
SpawnLevelPart();
}
}
private void Update()
{
if (Vector3.Distance(Player.GetPos(), LastEndPosition) < PLAYER_DISTANCE_SPAWN_LEVEL_PART){
// spawn another level part
SpawnLevelPart();
}
}
private void SpawnLevelPart()
{
Transform mapTrans = SpawnLevelPart(LastEndPosition);
LastEndPosition = mapTrans.Find("EndPosition").position;
}
private Transform SpawnLevelPart(Vector3 SpawnPosition)
{
Transform mapTrans = Instantiate(levelPart_1, SpawnPosition, Quaternion.identity);
return mapTrans;
}
}