using System.Threading.Tasks; using ColdMint.scripts.inventory; using ColdMint.scripts.map; using ColdMint.scripts.map.LayoutParsingStrategy; using ColdMint.scripts.map.layoutStrategy; using ColdMint.scripts.map.miniMap; using ColdMint.scripts.map.RoomPlacer; using ColdMint.scripts.utils; using Godot; namespace ColdMint.scripts.loader.sceneLoader; /// /// Game scene loader /// 游戏场景加载器 /// public partial class GameSceneLoader : SceneLoaderTemplate { private Label? _seedLabel; public override Task InitializeData() { RenderingServer.SetDefaultClearColor(Color.FromHsv(0, 0, 0)); //Loading the blood bar scene //加载血条场景 var healthBarUi = GetNode("CanvasLayer/Control/VBoxContainer/HealthBarUi"); GameSceneDepend.HealthBarUi = healthBarUi; //Load HotBar //加载HotBar var hotBar = GetNode("CanvasLayer/Control/VBoxContainer/HotBar"); GameSceneDepend.HotBar = hotBar; //Backpack Ui container //背包Ui容器 var backpackUiContainer = GetNode("CanvasLayer/DynamicUiGroup"); GameSceneDepend.DynamicUiGroup = backpackUiContainer; //Loaded weapon container //加载武器容器 var weaponContainer = GetNode("WeaponContainer"); GameSceneDepend.WeaponContainer = weaponContainer; //Load projectile container //加载抛射体容器 var projectileContainer = GetNode("ProjectileContainer"); GameSceneDepend.ProjectileContainer = projectileContainer; //Load magic container //加载魔术容器 var magicContainer = GetNode("SpellContainer"); GameSceneDepend.SpellContainer = magicContainer; //Load Packsack container //加载背包容器 var packsackContainer = GetNode("PacksackContainer"); GameSceneDepend.PacksackContainer = packsackContainer; //Load AICharacter container //加载AICharacter容器 var aiCharacterContainer = GetNode("AICharacterContainer"); GameSceneDepend.AiCharacterContainer = aiCharacterContainer; //Load player container //加载玩家容器 var playerContainer = GetNode("PlayerContainer"); GameSceneDepend.PlayerContainer = playerContainer; //Load the pickable container //加载可拾捡物容器 var pickAbleContainer = GetNode("PickAbleContainer"); GameSceneDepend.PickAbleContainer = pickAbleContainer; //Setting up the mini map //设置迷你地图 var miniMap = GetNode("CanvasLayer/Control/MapContainer/Control/MiniMap"); GameSceneDepend.MiniMap = miniMap; //Set the mini map animation //设置迷你地图动画 var miniMapAnimationPlayer = GetNode("CanvasLayer/Control/MapContainer/MiniMapAnimationPlayer"); GameSceneDepend.MiniMapAnimationPlayer = miniMapAnimationPlayer; return Task.CompletedTask; } public override async Task LoadScene() { var debugMode = Config.IsDebug(); var recreateMapButton = GetNodeOrNull