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