using UnityEngine; /// /// Platform generator logic /// Original Guide on YouTube link: https://www.youtube.com/watch?v=NtY_R0g8L8E. /// public class PlatformGenerator : MonoBehaviour { [SerializeField] private Transform platformStart; [SerializeField] private System.Collections.Generic.List platformList; [SerializeField] Vector2 nextSpawnPos; private Vector2 lastEndPosition; private void Awake() { Vector2 positionPlat = platformStart.Find("Endposition").position; lastEndPosition = positionPlat; int startingSpawnLevelPlat = 5; for (int i = 0; i < startingSpawnLevelPlat; i++) { SpawnLevelPlat(); } } private void SpawnLevelPlat() { // Platform is choosed different Transform currentPlat = platformList[Random.Range(0, platformList.Count)]; // Platform spawns Transform lastLevelPlatTransform = SpawnLevelPlat(currentPlat, lastEndPosition); lastEndPosition = lastLevelPlatTransform.Find("EndPosition").position; } private Transform SpawnLevelPlat(Transform levelPlat, Vector2 spawnPosition) { Transform platformLevelTransform = Instantiate(levelPlat, spawnPosition, Quaternion.identity); return platformLevelTransform; } }