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.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() { //Loading the blood bar scene //加载血条场景 var healthBarUi = GetNode("CanvasLayer/Control/VBoxContainer/HealthBarUi"); GameSceneNodeHolder.HealthBarUi = healthBarUi; //Load HotBar //加载HotBar var hotBar = GetNode("CanvasLayer/Control/VBoxContainer/HotBar"); GameSceneNodeHolder.HotBar = hotBar; //Backpack Ui container //背包Ui容器 var backpackUiContainer = GetNode("CanvasLayer/BackpackUIContainer"); GameSceneNodeHolder.BackpackUiContainer = backpackUiContainer; //Load operation prompt //加载操作提示 var operationTip = GetNode("CanvasLayer/Control/VBoxContainer/OperationTip"); GameSceneNodeHolder.OperationTipLabel = operationTip; //Loaded weapon container //加载武器容器 var weaponContainer = GetNode("WeaponContainer"); GameSceneNodeHolder.WeaponContainer = weaponContainer; //Load projectile container //加载抛射体容器 var projectileContainer = GetNode("ProjectileContainer"); GameSceneNodeHolder.ProjectileContainer = projectileContainer; //Load Packsack container //加载背包容器 var packsackContainer = GetNode("PacksackContainer"); GameSceneNodeHolder.PacksackContainer = packsackContainer; //Load AICharacter container //加载AICharacter容器 var aiCharacterContainer = GetNode("AICharacterContainer"); GameSceneNodeHolder.AiCharacterContainer = aiCharacterContainer; //Load player container //加载玩家容器 var playerContainer = GetNode("PlayerContainer"); GameSceneNodeHolder.PlayerContainer = playerContainer; return Task.CompletedTask; } public override async Task LoadScene() { var debugMode = Config.IsDebug(); var recreateMapButton = GetNodeOrNull