完善任务系统

This commit is contained in:
milimoe 2025-01-01 03:34:09 +08:00
parent 309844997e
commit 1b68cc6290
Signed by: milimoe
GPG Key ID: 05D280912DA6C69E
3 changed files with 57 additions and 47 deletions

View File

@ -7,7 +7,7 @@ namespace Milimoe.FunGame.Core.Entity
{ {
public string Description { get; set; } = ""; public string Description { get; set; } = "";
public int EstimatedMinutes { get; set; } = 0; public int EstimatedMinutes { get; set; } = 0;
public int Status { get; set; } = 0; public QuestState Status { get; set; } = 0;
public int CharacterIndex { get; set; } = 0; public int CharacterIndex { get; set; } = 0;
public Dictionary<string, int> Awards { get; set; } = []; public Dictionary<string, int> Awards { get; set; } = [];
public DateTime? StartTime { get; set; } = null; public DateTime? StartTime { get; set; } = null;
@ -19,7 +19,7 @@ namespace Milimoe.FunGame.Core.Entity
$"{Description}\r\n" + $"{Description}\r\n" +
$"需要时间:{EstimatedMinutes} 分钟\r\n" + $"需要时间:{EstimatedMinutes} 分钟\r\n" +
(StartTime.HasValue ? $"开始时间:{StartTime.Value.ToString(General.GeneralDateTimeFormatChinese)}" + (StartTime.HasValue ? $"开始时间:{StartTime.Value.ToString(General.GeneralDateTimeFormatChinese)}" +
(Status == 1 ? (Status == QuestState.InProgress ?
$"\r\n预计在 {Math.Max(Math.Round((StartTime.Value.AddMinutes(EstimatedMinutes) - DateTime.Now).TotalMinutes, MidpointRounding.ToPositiveInfinity), 1)} 分钟后完成" : "") $"\r\n预计在 {Math.Max(Math.Round((StartTime.Value.AddMinutes(EstimatedMinutes) - DateTime.Now).TotalMinutes, MidpointRounding.ToPositiveInfinity), 1)} 分钟后完成" : "")
+ "\r\n" + "\r\n"
: "") + : "") +
@ -37,9 +37,9 @@ namespace Milimoe.FunGame.Core.Entity
{ {
return Status switch return Status switch
{ {
1 => "进行中", QuestState.InProgress => "进行中",
2 => "已完成", QuestState.Completed => "已完成",
3 => "已结算", QuestState.Settled => "已结算",
_ => "未开始" _ => "未开始"
}; };
} }

View File

@ -20,6 +20,47 @@ namespace Milimoe.FunGame.Core.Library.Constant
Complete Complete
} }
/// <summary>
/// 角色目前所处的状态
/// </summary>
public enum CharacterState
{
/// <summary>
/// 可以行动 [ 战斗相关 ]
/// </summary>
Actionable,
/// <summary>
/// 完全行动不能 [ 战斗相关 ]
/// </summary>
NotActionable,
/// <summary>
/// 行动受限 [ 战斗相关 ]
/// </summary>
ActionRestricted,
/// <summary>
/// 战斗不能 [ 战斗相关 ]
/// </summary>
BattleRestricted,
/// <summary>
/// 技能受限 [ 战斗相关 ]
/// </summary>
SkillRestricted,
/// <summary>
/// 处于吟唱中 [ 战斗相关 ] [ 技能相关 ]
/// </summary>
Casting,
/// <summary>
/// 预释放爆发技(插队) [ 战斗相关 ] [ 技能相关 ]
/// </summary>
PreCastSuperSkill
}
public enum SelectState public enum SelectState
{ {
None, None,
@ -45,4 +86,12 @@ namespace Milimoe.FunGame.Core.Library.Constant
Online, Online,
InRoom InRoom
} }
public enum QuestState
{
NotStarted = 0,
InProgress = 1,
Completed = 2,
Settled = 3
}
} }

View File

@ -507,7 +507,9 @@ namespace Milimoe.FunGame.Core.Library.Constant
PassiveSkill, PassiveSkill,
GameStatistics, GameStatistics,
Character, Character,
CharacterStatistics CharacterStatistics,
Club,
Quest
} }
public enum UserType public enum UserType
@ -562,47 +564,6 @@ namespace Milimoe.FunGame.Core.Library.Constant
Particle Particle
} }
/// <summary>
/// 角色目前所处的状态
/// </summary>
public enum CharacterState
{
/// <summary>
/// 可以行动 [ 战斗相关 ]
/// </summary>
Actionable,
/// <summary>
/// 完全行动不能 [ 战斗相关 ]
/// </summary>
NotActionable,
/// <summary>
/// 行动受限 [ 战斗相关 ]
/// </summary>
ActionRestricted,
/// <summary>
/// 战斗不能 [ 战斗相关 ]
/// </summary>
BattleRestricted,
/// <summary>
/// 技能受限 [ 战斗相关 ]
/// </summary>
SkillRestricted,
/// <summary>
/// 处于吟唱中 [ 战斗相关 ] [ 技能相关 ]
/// </summary>
Casting,
/// <summary>
/// 预释放爆发技(插队) [ 战斗相关 ] [ 技能相关 ]
/// </summary>
PreCastSuperSkill
}
public enum PrimaryAttribute public enum PrimaryAttribute
{ {
None, None,