From 99b0071794a605071c501bc9cfbccf40144a38ee Mon Sep 17 00:00:00 2001 From: cemt1363 Date: Sat, 6 Jun 2026 13:37:33 +0200 Subject: [PATCH] infinite trees!!! --- Game/Assets/Prefabs/Tree.prefab | 128 +---------------------------- Game/Assets/Scenes/MainScene.unity | 24 +++++- Game/Assets/Scripts/TreeSpawner.cs | 18 +++- 3 files changed, 38 insertions(+), 132 deletions(-) diff --git a/Game/Assets/Prefabs/Tree.prefab b/Game/Assets/Prefabs/Tree.prefab index 674fdc5..92e60e1 100644 --- a/Game/Assets/Prefabs/Tree.prefab +++ b/Game/Assets/Prefabs/Tree.prefab @@ -1,98 +1,5 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &5029488714018677603 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2257095878498355338} - - component: {fileID: 731006480404616409} - - component: {fileID: 5789492116232145470} - m_Layer: 0 - m_Name: SpawnTrigger - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2257095878498355338 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5029488714018677603} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 0.03, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3683337692723927349} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!61 &731006480404616409 -BoxCollider2D: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5029488714018677603} - m_Enabled: 1 - serializedVersion: 3 - m_Density: 1 - m_Material: {fileID: 0} - m_IncludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_ExcludeLayers: - serializedVersion: 2 - m_Bits: 0 - m_LayerOverridePriority: 0 - m_ForceSendLayers: - serializedVersion: 2 - m_Bits: 4294967295 - m_ForceReceiveLayers: - serializedVersion: 2 - m_Bits: 4294967295 - m_ContactCaptureLayers: - serializedVersion: 2 - m_Bits: 4294967295 - m_CallbackLayers: - serializedVersion: 2 - m_Bits: 4294967295 - m_IsTrigger: 1 - m_UsedByEffector: 0 - m_CompositeOperation: 0 - m_CompositeOrder: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0, y: 0} - oldSize: {x: 0, y: 0} - newSize: {x: 0, y: 0} - adaptiveTilingThreshold: 0 - drawMode: 0 - adaptiveTiling: 0 - m_AutoTiling: 0 - m_Size: {x: 2, y: 1} - m_EdgeRadius: 0 ---- !u!114 &5789492116232145470 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5029488714018677603} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 021d37d1b6e71b143adc6f4842f7d76c, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::TreeSpawner - treePrefab: {fileID: 8851845362353968682} - spawnPoint: {fileID: 416544106080536276} --- !u!1 &8851845362353968682 GameObject: m_ObjectHideFlags: 0 @@ -123,9 +30,7 @@ Transform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 12.6986265, y: 34.7, z: 1} m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2257095878498355338} - - {fileID: 416544106080536276} + m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!212 &8100904432411870408 @@ -209,34 +114,3 @@ Animator: m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorStateOnDisable: 0 m_WriteDefaultValuesOnDisable: 0 ---- !u!1 &8863759867266962758 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 416544106080536276} - m_Layer: 0 - m_Name: SpawnPoint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &416544106080536276 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8863759867266962758} - serializedVersion: 2 - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3683337692723927349} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Game/Assets/Scenes/MainScene.unity b/Game/Assets/Scenes/MainScene.unity index 75a32df..3a0b1d5 100644 --- a/Game/Assets/Scenes/MainScene.unity +++ b/Game/Assets/Scenes/MainScene.unity @@ -346,6 +346,25 @@ MonoBehaviour: m_PostInfinity: 2 m_RotationOrder: 4 CustomBlends: {fileID: 0} +--- !u!1 &526821479 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 8851845362353968682, guid: 63a81e9c39aed7249bdeb557c0054e6c, type: 3} + m_PrefabInstance: {fileID: 1681788161} + m_PrefabAsset: {fileID: 0} +--- !u!114 &526821483 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 526821479} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 021d37d1b6e71b143adc6f4842f7d76c, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::TreeSpawner + treePrefab: {fileID: 526821479} + player: {fileID: 662084242} --- !u!4 &662084242 stripped Transform: m_CorrespondingSourceObject: {fileID: 6566899495513628888, guid: d56297e435f8410a584581d73d99d2e4, type: 3} @@ -674,7 +693,10 @@ PrefabInstance: m_RemovedComponents: [] m_RemovedGameObjects: [] m_AddedGameObjects: [] - m_AddedComponents: [] + m_AddedComponents: + - targetCorrespondingSourceObject: {fileID: 8851845362353968682, guid: 63a81e9c39aed7249bdeb557c0054e6c, type: 3} + insertIndex: -1 + addedObject: {fileID: 526821483} m_SourcePrefab: {fileID: 100100000, guid: 63a81e9c39aed7249bdeb557c0054e6c, type: 3} --- !u!4 &1710653547 stripped Transform: diff --git a/Game/Assets/Scripts/TreeSpawner.cs b/Game/Assets/Scripts/TreeSpawner.cs index baf5176..b214537 100644 --- a/Game/Assets/Scripts/TreeSpawner.cs +++ b/Game/Assets/Scripts/TreeSpawner.cs @@ -3,12 +3,22 @@ using UnityEngine; public class TreeSpawner : MonoBehaviour { public GameObject treePrefab; - public Transform spawnPoint; + public Transform player; - private void OnTriggerEnter2D(Collider2D other) + private bool hasSpawned = false; + + void Update() { - if (!other.CompareTag("Player")) return; + if (hasSpawned) return; - Instantiate(treePrefab, spawnPoint.position, Quaternion.identity); + if (player.position.y < transform.position.y - 3f) + { + hasSpawned = true; + + float treeHeight = GetComponent().bounds.size.y; + Vector3 spawnPos = transform.position + Vector3.down * treeHeight; + + Instantiate(treePrefab, spawnPos, Quaternion.identity); + } } } \ No newline at end of file