From b21907552c666525b29437887930cabe95d8991b Mon Sep 17 00:00:00 2001 From: 45 <980269297@qq.com> Date: Mon, 16 Dec 2024 14:49:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E5=89=8D=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Assets/Scripts/MapManager.cs | 43 +++++++++++++++++++ .../Assets/Scripts/MapUnity.cs | 5 ++- 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs index c633323c..bc5e606f 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/MapManager.cs @@ -191,12 +191,55 @@ public class MapManager : Singleton yield return StartCoroutine(MapGenerateDefault()); // yield return StartCoroutine(MapGenerateDefault()); yield return StartCoroutine(SetUpMapUnity()); + yield return StartCoroutine(TransformMapUnity()); yield return StartCoroutine(UPMoveMapUnity()); yield return new WaitForSeconds(2); yield return StartCoroutine(EnemyGenerate()); yield return StartCoroutine(CompleteGenerate()); } + //场地坐标系转换(新转放行) + IEnumerator TransformMapUnity() + { + int x=0, y=0; + int count=1; + int currentOffset = 0; + int middeline = GameManager.Instance.X.Count / 2; + List lineOffsetList = new List(); + int lineOffsetListMark = 1; + for (int i = 0; i < GameManager.Instance.X.Count; i++) + { + if(count >=2) + { + count = 0; + if(i<= middeline) + { + currentOffset += 1; + + } + } + if(imiddeline ) + { + currentOffset = lineOffsetList[lineOffsetList.Count - lineOffsetListMark]; + lineOffsetListMark += 1; + } + + + for (int j = 0; j < GameManager.Instance.X[i].Y.Count; j++) + { + GameManager.Instance.X[i].Y[j].ResetLocation(j - currentOffset, y); + + } + x = 0; + y = i+1; + count += 1; + } + yield return null; + } //完成场地创建 IEnumerator CompleteGenerate() { diff --git a/ColorlessWorld-2024-4-2/Assets/Scripts/MapUnity.cs b/ColorlessWorld-2024-4-2/Assets/Scripts/MapUnity.cs index adf4314c..41cf3056 100644 --- a/ColorlessWorld-2024-4-2/Assets/Scripts/MapUnity.cs +++ b/ColorlessWorld-2024-4-2/Assets/Scripts/MapUnity.cs @@ -122,7 +122,10 @@ public class MapUnity : MonoBehaviour // int index_6 = (xStart) * 22 + 1 + yStart; mapImages[5].sprite = (UnityEngine.Sprite)MapManager.Instance.mapImages_dol[xStart + 1][yStart];*/ } - + public void ResetLocation(int X,int Y) + { + locationX = X; locationY = Y; + } void Update() {