Close DDD cleanup and tests-support closure

This commit is contained in:
2026-04-30 16:15:05 +08:00
parent 7ab0933f6d
commit fd08262bf0
81 changed files with 8415 additions and 6662 deletions

View File

@@ -1,3 +1,51 @@
//! NPC 领域事件过渡落位
//! NPC 领域事件。
//!
//! 用于表达好感变化、关系变化、NPC 被招募和战斗请求产生等事实。
use crate::domain::{NpcInteractionBattleMode, NpcRelationStance, NpcSocialActionKind};
use serde::{Deserialize, Serialize};
#[cfg(feature = "spacetime-types")]
use spacetimedb::SpacetimeType;
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum NpcDomainEvent {
RelationChanged(NpcRelationChangedEvent),
SocialActionResolved(NpcSocialActionResolvedEvent),
RecruitResolved(NpcRecruitResolvedEvent),
BattleRequested(NpcBattleRequestedEvent),
}
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct NpcRelationChangedEvent {
pub npc_state_id: String,
pub previous_affinity: i32,
pub next_affinity: i32,
pub next_stance: NpcRelationStance,
pub occurred_at_micros: i64,
}
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct NpcSocialActionResolvedEvent {
pub npc_state_id: String,
pub action_kind: NpcSocialActionKind,
pub occurred_at_micros: i64,
}
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct NpcRecruitResolvedEvent {
pub npc_state_id: String,
pub recruited: bool,
pub occurred_at_micros: i64,
}
#[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))]
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct NpcBattleRequestedEvent {
pub npc_state_id: String,
pub battle_mode: NpcInteractionBattleMode,
pub occurred_at_micros: i64,
}