From 18e2f5b45ab0be301f0973b8cf6df714c2d05f7c Mon Sep 17 00:00:00 2001 From: miepzerino <o.skotnik@gmail.com> Date: Fri, 04 Apr 2025 18:43:10 +0000 Subject: [PATCH] #37 set background to character position on load --- Assets/Scripts/Managers/GameManager.cs | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/Assets/Scripts/Managers/GameManager.cs b/Assets/Scripts/Managers/GameManager.cs index 9f4d5ed..6bbffac 100644 --- a/Assets/Scripts/Managers/GameManager.cs +++ b/Assets/Scripts/Managers/GameManager.cs @@ -27,6 +27,7 @@ public GameObject pickups; public Tilemap fogTilemap; public FogOfWar fogOfWar; + public GameObject backGroundPrefab; private void Awake() { @@ -47,6 +48,25 @@ } Debug.Log("waiting for async map loading"); StartCoroutine(generateTileMap.GenerateTiles(LoadTileMapsFinished, destroyedTiles)); + } + + private void InitializeBackgroundTiles() + { + GameObject tilesParent = new GameObject("BackgroundTiles"); + GameObject player = GameObject.FindGameObjectWithTag("Player"); + Vector3 backgroundPos = player.transform.position; + // Adjust the new position based on whether y is positive or negative + float colliderHeight = backGroundPrefab.GetComponent<BoxCollider2D>().size.y; + if (backgroundPos.y >= 0) + { + backgroundPos.y -= Mathf.Abs(backgroundPos.y) % colliderHeight; + } + else + { + backgroundPos.y += Mathf.Abs(backgroundPos.y) % colliderHeight; + } + + Instantiate(backGroundPrefab, (backgroundPos), Quaternion.identity, tilesParent.transform); } private void LoadMapState() @@ -71,6 +91,8 @@ { Debug.Log("done async map loading"); levelChanger.GetComponent<Animator>().SetBool("SceneLoading", false); + //Initialize background tiles after the tilemap is loaded + InitializeBackgroundTiles(); GameLoaded(); } public void GameLoaded() -- Gitblit v1.9.3