From c6b097a879b6db76300a5e771e5506c5729724f7 Mon Sep 17 00:00:00 2001 From: Pechnega Date: Sat, 15 Nov 2025 17:25:09 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=BC=D0=B5=D0=B6=D1=83?= =?UTF-8?q?=D1=82=D0=BE=D1=87=D0=BD=D1=8B=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Assets/Code/Generator/RoomGenerator.cs | 30 ++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/Game/CourierOld/Assets/Code/Generator/RoomGenerator.cs b/Game/CourierOld/Assets/Code/Generator/RoomGenerator.cs index 6bd273d..f508536 100644 --- a/Game/CourierOld/Assets/Code/Generator/RoomGenerator.cs +++ b/Game/CourierOld/Assets/Code/Generator/RoomGenerator.cs @@ -34,7 +34,6 @@ namespace Code.Generator _roomIndexesStack.Clear(); var remainingTime = _timer; var ladderTimer = 0f; - bool isNextLadder = false; int totalRooms = generatorConfig.roomAssetReferences.Length; List availableIndexes = new List(); for (int i = 0; i < totalRooms; i++) @@ -51,16 +50,28 @@ namespace Code.Generator Room room = prefab.GetComponent(); if (room == null) continue; - - availableIndexes.RemoveAt(randomIndex); - float currentRoomTime = room.RoomTimer; - if (remainingTime >= currentRoomTime) + if (room.RoomType == RoomType.Basic) + { + float currentRoomTime = room.RoomTimer; + if (remainingTime >= currentRoomTime && ladderTimer < 30f) + { + _roomIndexesStack.Add(chosenOne); + remainingTime -= currentRoomTime; + ladderTimer += currentRoomTime; + Debug.Log($"комната {room.name} время {currentRoomTime} осталось: {remainingTime}"); + } + } + else if (room.RoomType == RoomType.Ladder && ladderTimer >= 30f) { _roomIndexesStack.Add(chosenOne); - remainingTime -= currentRoomTime; - Debug.Log($"комната {room.name} время {currentRoomTime} осталось: {remainingTime}"); + ladderTimer = 0f; } + else + { + continue; + } + availableIndexes.RemoveAt(randomIndex); } Debug.Log($"стек комнат: {_roomIndexesStack.Count}"); @@ -88,6 +99,11 @@ namespace Code.Generator } } + private void AddSaveZone(List roomIndexes) + { + + } + private void PlaceRoom(Room current, Room previous) { if (current.EnterMarker == null || previous.ExitMarker == null)