Skip to content

CharacterStateSnapshot

角色状态快照,位于 FunGame.Core.Model.Framework。记录角色在某个时间点的完整状态(生命值、属性、装备、技能、物品、特效),是检查点与回放的数据基础。

同目录还定义了 4 个状态明细类:SkillStateSnapshotItemStateSnapshotEffectStateSnapshotEquipmentStateSnapshot

CharacterStateSnapshot 属性

属性类型说明
CharacterCharacter角色引用
HP / MaxHPdouble当前/最大生命值
MP / MaxMPdouble当前/最大魔法值
EPdouble爆发能量
HR / MRdouble生命回复 / 魔法回复
AttributesDictionary<string, string>角色全部属性(属性名 → 展示值,与 Character.GetInfo() 中出现的属性一致;由队列生成检查点时写入 GetAttributeValues() 的结果)
EquipmentsDictionary<EquipSlotType, long>装备槽位 → 物品 Id
EquipmentsDetailList<EquipmentStateSnapshot>装备明细(含物品名与描述,序列化后可直接展示)
SkillsList<SkillStateSnapshot>技能状态明细(含技能描述)
ItemsList<ItemStateSnapshot>物品状态明细(含物品描述)
EffectsList<EffectStateSnapshot>特效状态明细(含特效描述与施加者 Guid)

明细类

SkillStateSnapshot

属性类型说明
SkillId / SkillNamelong / string技能标识与名称
Levelint技能等级
CurrentCDdouble当前冷却
Descriptionstring技能描述

ItemStateSnapshot

属性类型说明
ItemId / ItemNamelong / string物品标识与名称
Descriptionstring物品描述

EffectStateSnapshot

属性类型说明
EffectId / EffectNamelong / string特效标识与名称
EffectTypeEffectType特效类型
RemainDurationdouble剩余持续时间
RemainDurationTurnint剩余持续回合
SourceGuidGuid特效施加者(Source 角色)的 Guid(无施加者时为 Guid.Empty
Descriptionstring特效描述

EquipmentStateSnapshot

独立文件定义(FunGame.Core.Model.Framework),用于回放/展示时显示装备名与描述:

属性类型说明
SlotEquipSlotType装备槽位
ItemId / ItemNamelong / string物品标识与名称
Descriptionstring物品描述

生成方式

csharp
// GamingQueue 每 CheckpointInterval 回合自动生成一次(默认 50)
queue.CheckpointInterval = 10;
// 快照会写入 RoundRecord.Checkpoint,并随事件 "2" 外发

关联

基于 LGPL-3.0 许可证发布