2024-05-07 09:38:50 +00:00
|
|
|
using System.Threading.Tasks;
|
2024-04-28 13:55:19 +00:00
|
|
|
using ColdMint.scripts.inventory;
|
|
|
|
using ColdMint.scripts.map;
|
2024-05-19 14:32:34 +00:00
|
|
|
using ColdMint.scripts.map.LayoutParsingStrategy;
|
|
|
|
using ColdMint.scripts.map.layoutStrategy;
|
2024-04-28 13:55:19 +00:00
|
|
|
using ColdMint.scripts.map.RoomPlacer;
|
2024-05-21 14:50:33 +00:00
|
|
|
using ColdMint.scripts.utils;
|
2024-04-28 13:55:19 +00:00
|
|
|
using Godot;
|
|
|
|
|
|
|
|
namespace ColdMint.scripts.loader.sceneLoader;
|
|
|
|
|
|
|
|
public partial class GameSceneLoader : SceneLoaderTemplate
|
|
|
|
{
|
2024-05-07 11:36:06 +00:00
|
|
|
public override Task InitializeData()
|
2024-05-07 09:38:50 +00:00
|
|
|
{
|
|
|
|
//加载血条场景
|
2024-05-07 11:36:06 +00:00
|
|
|
var healthBarUi = GetNode<HealthBarUi>("CanvasLayer/Control/VBoxContainer/HealthBarUi");
|
|
|
|
GameSceneNodeHolder.HealthBarUi = healthBarUi;
|
2024-05-07 09:38:50 +00:00
|
|
|
//加载HotBar
|
|
|
|
var hotBar = GetNode<HotBar>("CanvasLayer/Control/VBoxContainer/HotBar");
|
|
|
|
GameSceneNodeHolder.HotBar = hotBar;
|
|
|
|
//加载操作提示
|
2024-05-09 13:07:14 +00:00
|
|
|
var operationTip = GetNode<RichTextLabel>("CanvasLayer/Control/VBoxContainer/OperationTip");
|
2024-05-07 09:38:50 +00:00
|
|
|
GameSceneNodeHolder.OperationTipLabel = operationTip;
|
|
|
|
//加载武器容器
|
|
|
|
var weaponContainer = GetNode<Node2D>("WeaponContainer");
|
|
|
|
GameSceneNodeHolder.WeaponContainer = weaponContainer;
|
2024-05-07 11:36:06 +00:00
|
|
|
return Task.CompletedTask;
|
2024-05-07 09:38:50 +00:00
|
|
|
}
|
2024-04-28 13:55:19 +00:00
|
|
|
|
2024-05-07 09:38:50 +00:00
|
|
|
public override async Task LoadScene()
|
|
|
|
{
|
2024-05-20 14:38:41 +00:00
|
|
|
MapGenerator.MapRoot = GetNode<Node>("MapRoot");
|
2024-05-19 14:32:34 +00:00
|
|
|
MapGenerator.LayoutStrategy = new TestLayoutStrategy();
|
|
|
|
MapGenerator.LayoutParsingStrategy = new SequenceLayoutParsingStrategy();
|
2024-05-20 14:38:41 +00:00
|
|
|
MapGenerator.RoomPlacementStrategy = new PatchworkRoomPlacementStrategy();
|
2024-05-21 14:50:33 +00:00
|
|
|
MapGenerator.Seed = GuidUtils.GetGuid();
|
2024-05-20 14:38:41 +00:00
|
|
|
await MapGenerator.GenerateMap();
|
2024-05-07 09:38:50 +00:00
|
|
|
}
|
|
|
|
}
|