Remove unused source files. Fixed an issue where the health tank was empty after resurrection.

移除未使用的源文件。修复复活后生命槽为空的问题。
This commit is contained in:
Cold-Mint 2024-06-05 22:15:23 +08:00
parent 39ca716e3d
commit 4c61f3b50e
Signed by: Cold-Mint
GPG Key ID: C5A9BF8A98E0CE99
10 changed files with 42 additions and 165 deletions

View File

@ -130,7 +130,7 @@ public partial class CharacterTemplate : CharacterBody2D
///<para>Sets the amount of Hp a character has after resurrection</para> ///<para>Sets the amount of Hp a character has after resurrection</para>
///<para>设置角色复活后拥有的Hp</para> ///<para>设置角色复活后拥有的Hp</para>
/// </remarks> /// </remarks>
public void Revive(int newHp) public virtual void Revive(int newHp)
{ {
//If the new Hp is less than or equal to 0, there is no need to resurrect //If the new Hp is less than or equal to 0, there is no need to resurrect
//如果新的Hp小于等于0那么不需要复活 //如果新的Hp小于等于0那么不需要复活

View File

@ -378,6 +378,18 @@ public partial class Player : CharacterTemplate
} }
} }
public override void Revive(int newHp)
{
base.Revive(newHp);
var healthBarUi = GameSceneNodeHolder.HealthBarUi;
if (healthBarUi!=null)
{
//The purpose of setting Hp to the current Hp is to cause the life bar to refresh.
//将Hp设置为当前Hp的目的是使生命条刷新。
healthBarUi.CurrentHp = CurrentHp;
}
}
protected override async Task OnDie(DamageTemplate damageTemplate) protected override async Task OnDie(DamageTemplate damageTemplate)
{ {
Visible = false; Visible = false;

View File

@ -9,6 +9,10 @@ using Godot;
namespace ColdMint.scripts.loader.sceneLoader; namespace ColdMint.scripts.loader.sceneLoader;
/// <summary>
/// <para>Game scene loader</para>
/// <para>游戏场景加载器</para>
/// </summary>
public partial class GameSceneLoader : SceneLoaderTemplate public partial class GameSceneLoader : SceneLoaderTemplate
{ {
private Label? _seedLabel; private Label? _seedLabel;
@ -55,7 +59,7 @@ public partial class GameSceneLoader : SceneLoaderTemplate
_seedLabel = GetNodeOrNull<Label>("CanvasLayer/Control/SeedLabel"); _seedLabel = GetNodeOrNull<Label>("CanvasLayer/Control/SeedLabel");
if (_seedLabel != null) if (_seedLabel != null)
{ {
_seedLabel.Visible = Config.IsDebug(); _seedLabel.Visible = debugMode;
} }
MapGenerator.MapRoot = GetNode<Node>("MapRoot"); MapGenerator.MapRoot = GetNode<Node>("MapRoot");
@ -77,16 +81,8 @@ public partial class GameSceneLoader : SceneLoaderTemplate
//If you have a seedLabel, then set the seed to it. //If you have a seedLabel, then set the seed to it.
//如果有seedLabel那么将种子设置上去。 //如果有seedLabel那么将种子设置上去。
var seedInfo = TranslationServerUtils.TranslateWithFormat("seed_info", MapGenerator.Seed); var seedInfo = TranslationServerUtils.TranslateWithFormat("seed_info", MapGenerator.Seed);
if (seedInfo == null) _seedLabel.Text = seedInfo ?? $"Seed: {MapGenerator.Seed}";
{
_seedLabel.Text = $"Seed: {MapGenerator.Seed}";
} }
else
{
_seedLabel.Text = seedInfo;
}
}
await MapGenerator.GenerateMap(); await MapGenerator.GenerateMap();
} }
} }

View File

@ -20,29 +20,36 @@ public class SequenceLayoutParsingStrategy : ILayoutParsingStrategy
{ {
private LevelGraphEditorSaveData? _levelGraphEditorSaveData; private LevelGraphEditorSaveData? _levelGraphEditorSaveData;
//Check whether data Settings are valid /// <summary>
//设置数据时,是否检查合法了 /// <para>Check whether data Settings are valid</para>
/// <para>设置数据时,是否检查合法了</para>
/// </summary>
private bool _checkLegality; private bool _checkLegality;
//The connection index of the query /// <summary>
//查询的连接索引 /// <para>The connection index of the query</para>
/// <para>查询的连接索引</para>
/// </summary>
private int _index; private int _index;
private int _maxIndex; private int _maxIndex;
private Dictionary<string, RoomNodeData> _roomNodeDataDictionary = new Dictionary<string, RoomNodeData>(); /// <summary>
/// <para>Room ID Indicates the dictionary of room node data</para>
/// <para>房间ID对应房间节点数据的字典</para>
/// </summary>
private readonly Dictionary<string, RoomNodeData> _roomNodeDataDictionary = new();
public void SetLevelGraph(LevelGraphEditorSaveData levelGraphEditorSaveData) public void SetLevelGraph(LevelGraphEditorSaveData levelGraphEditorSaveData)
{ {
_checkLegality = false; if (levelGraphEditorSaveData.RoomNodeDataList == null || levelGraphEditorSaveData.RoomNodeDataList.Count == 0)
_index = -1;
_levelGraphEditorSaveData = levelGraphEditorSaveData;
if (_levelGraphEditorSaveData.RoomNodeDataList == null || _levelGraphEditorSaveData.RoomNodeDataList.Count == 0)
{ {
//No room data, unable to parse. //No room data, unable to parse.
//没有房间数据,无法解析。 //没有房间数据,无法解析。
return; return;
} }
_checkLegality = false;
_index = -1;
_levelGraphEditorSaveData = levelGraphEditorSaveData;
if (_levelGraphEditorSaveData.ConnectionDataList == null || if (_levelGraphEditorSaveData.ConnectionDataList == null ||
_levelGraphEditorSaveData.ConnectionDataList.Count == 0) _levelGraphEditorSaveData.ConnectionDataList.Count == 0)
{ {

View File

@ -1,28 +0,0 @@
using ColdMint.scripts.map.room;
namespace ColdMint.scripts.map.interfaces;
/// <summary>
/// <para>Room holder</para>
/// <para>房间持有者</para>
/// </summary>
/// <remarks>
///<para>This class holds all generated and placed rooms.</para>
///<para>该类保存所有已生成且已放置的房间。</para>
/// </remarks>
public interface IRoomHolder
{
bool AddRoom(Room room);
/// <summary>
/// <para>LastRoom</para>
/// <para>最后添加的房间</para>
/// </summary>
Room? LastRoom { get; }
/// <summary>
/// <para>Number of rooms that have been placed</para>
/// <para>已放置的房间数量</para>
/// </summary>
int PlacedRoomNumber { get; }
}

View File

@ -1,35 +0,0 @@
namespace ColdMint.scripts.map.interfaces;
public interface IRoomTemplate
{
/// <summary>
/// <para>The asset path of the room must be available</para>
/// <para>必须可获得房间的资产路径</para>
/// </summary>
string RoomResPath { get; }
/// <summary>
/// <para>Whether this room template can still be used</para>
/// <para>这个房间模板是否还能使用</para>
/// </summary>
bool CanUse { get; }
/// <summary>
/// <para>The maximum number of times a room template is used</para>
/// <para>房间模板的最大使用次数</para>
/// </summary>
int MaxNumber { get; set; }
/// <summary>
/// <para>AddUsedNumber</para>
/// <para>添加使用次数</para>
/// </summary>
void AddUsedNumber();
/// <summary>
/// <para>Times used</para>
/// <para>已使用次数</para>
/// </summary>
int UsedNumber { get; }
}

View File

@ -11,17 +11,17 @@ namespace ColdMint.scripts.map.layoutStrategy;
/// </summary> /// </summary>
public class TestLayoutStrategy : ILayoutStrategy public class TestLayoutStrategy : ILayoutStrategy
{ {
private string _path = "res://data/levelGraphs/test.json"; private const string Path = "res://data/levelGraphs/test.json";
public Task<LevelGraphEditorSaveData?> GetLayout() public Task<LevelGraphEditorSaveData?> GetLayout()
{ {
var exists = FileAccess.FileExists(_path); var exists = FileAccess.FileExists(Path);
if (!exists) if (!exists)
{ {
return Task.FromResult<LevelGraphEditorSaveData?>(null); return Task.FromResult<LevelGraphEditorSaveData?>(null);
} }
var json = FileAccess.GetFileAsString(_path); var json = FileAccess.GetFileAsString(Path);
if (json == null) if (json == null)
{ {
return Task.FromResult<LevelGraphEditorSaveData?>(null); return Task.FromResult<LevelGraphEditorSaveData?>(null);

View File

@ -1,46 +0,0 @@
using ColdMint.scripts.map.interfaces;
namespace ColdMint.scripts.map.room;
public class RoomTemplate : IRoomTemplate
{
/// <summary>
/// <para>Unlimited use</para>
/// <para>无限次使用</para>
/// </summary>
public const int Infinite = -1;
private int _usedNumber;
public RoomTemplate(string roomResPath)
{
RoomResPath = roomResPath;
MaxNumber = Infinite;
_usedNumber = 0;
}
public string RoomResPath { get; }
public bool CanUse
{
get
{
if (MaxNumber == Infinite)
{
return true;
}
return _usedNumber < MaxNumber;
}
}
public int MaxNumber { get; set; }
public void AddUsedNumber()
{
_usedNumber++;
}
public int UsedNumber => _usedNumber;
}

View File

@ -1,31 +0,0 @@
using System.Collections.Generic;
using ColdMint.scripts.map.interfaces;
using ColdMint.scripts.map.room;
namespace ColdMint.scripts.map.roomHolder;
public class RoomHolder : IRoomHolder
{
private readonly List<Room> _rooms = new List<Room>();
public bool AddRoom(Room room)
{
_rooms.Add(room);
return true;
}
public Room? LastRoom
{
get
{
if (_rooms.Count > 0)
{
return _rooms[_rooms.Count - 1];
}
return null;
}
}
public int PlacedRoomNumber => _rooms.Count;
}

View File

@ -263,6 +263,7 @@ public class PatchworkRoomPlacementStrategy : IRoomPlacementStrategy
{ {
if (mainRoomSlot == null || mainRoomSlot.Matched) if (mainRoomSlot == null || mainRoomSlot.Matched)
{ {
//If it's already a match, it's no longer a match
//如果已经匹配过了,就不再匹配 //如果已经匹配过了,就不再匹配
continue; continue;
} }
@ -276,6 +277,7 @@ public class PatchworkRoomPlacementStrategy : IRoomPlacementStrategy
if (newRoomSlot.Matched) if (newRoomSlot.Matched)
{ {
//If it's already a match, it's no longer a match
//如果已经匹配过了,就不再匹配 //如果已经匹配过了,就不再匹配
continue; continue;
} }