完善任务系统

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 int EstimatedMinutes { get; set; } = 0;
public int Status { get; set; } = 0;
public QuestState Status { get; set; } = 0;
public int CharacterIndex { get; set; } = 0;
public Dictionary<string, int> Awards { get; set; } = [];
public DateTime? StartTime { get; set; } = null;
@ -19,7 +19,7 @@ namespace Milimoe.FunGame.Core.Entity
$"{Description}\r\n" +
$"需要时间:{EstimatedMinutes} 分钟\r\n" +
(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"
: "") +
@ -37,9 +37,9 @@ namespace Milimoe.FunGame.Core.Entity
{
return Status switch
{
1 => "进行中",
2 => "已完成",
3 => "已结算",
QuestState.InProgress => "进行中",
QuestState.Completed => "已完成",
QuestState.Settled => "已结算",
_ => "未开始"
};
}

View File

@ -20,6 +20,47 @@ namespace Milimoe.FunGame.Core.Library.Constant
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
{
None,
@ -45,4 +86,12 @@ namespace Milimoe.FunGame.Core.Library.Constant
Online,
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,
GameStatistics,
Character,
CharacterStatistics
CharacterStatistics,
Club,
Quest
}
public enum UserType
@ -562,47 +564,6 @@ namespace Milimoe.FunGame.Core.Library.Constant
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
{
None,