Close DDD cleanup and tests-support closure
This commit is contained in:
@@ -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,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user