Merge branch 'TreeEnd'

This commit is contained in:
go38coz
2026-06-07 03:58:09 +02:00
7 changed files with 11488 additions and 5617 deletions
-7
View File
@@ -3,8 +3,6 @@ using UnityEngine;
public class PatternSelecter : MonoBehaviour
{
[SerializeField]
private int lastTreeNumber = 8;
void Start()
{
@@ -17,11 +15,6 @@ public class PatternSelecter : MonoBehaviour
{
transform.GetChild(0).gameObject.SetActive(true);
}
else if (TreeSpawner.treeCount == lastTreeNumber)
{
transform.GetChild(transform.childCount - 1).gameObject.SetActive(true);
}
else
{
int randomIndex = Random.Range(1, transform.childCount - 1);
+30 -6
View File
@@ -1,35 +1,59 @@
using System;
using UnityEngine;
public class TreeSpawner : MonoBehaviour
{
public GameObject treePrefab;
[SerializeField]
private GameObject treePrefab;
[SerializeField]
private GameObject treeEndPrefab;
public Transform player;
[SerializeField]
private static int maxTreeCount = 1;
private bool hasSpawned = false;
public static int treeCount;
private SpriteRenderer spriteRenderer;
private void Start()
{
spriteRenderer = GetComponent<SpriteRenderer>();
}
void Update()
{
if (hasSpawned == false)
if (hasSpawned == false && treeCount < maxTreeCount)
{
if (player.position.y < transform.position.y - 3f)
{
hasSpawned = true;
float treeHeight = GetComponent<SpriteRenderer>().bounds.size.y;
float treeHeight = spriteRenderer.bounds.size.y;
Vector3 spawnPos = transform.position + Vector3.down * treeHeight + new Vector3(0, 0.2f, 0);
treeCount++;
GameObject newTree = Instantiate(treePrefab, spawnPos, Quaternion.identity);
Debug.Log($"Spawned Treee{treeCount}");
if(treeCount == maxTreeCount)
{
spawnPos += new Vector3(0.27f,0.54f,0);
Instantiate(treeEndPrefab, spawnPos, Quaternion.identity);
}
else Instantiate(treePrefab, spawnPos, Quaternion.identity);
}
}
// Delete trees that are far above the player
if (player.position.y < transform.position.y - 40f)
{
Destroy(gameObject);
gameObject.SetActive(false);
}
else
{
gameObject.SetActive(true);
}
}
}