//! 运行时物品领域事件。 //! //! 用于表达宝箱已结算、奖励物品已生成和资源奖励待入账等事实。 use crate::domain::RuntimeItemRewardItemSnapshot; 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 RuntimeItemDomainEvent { TreasureResolved(RuntimeItemTreasureResolvedEvent), TreasureRewardItemsGenerated(RuntimeItemTreasureRewardItemsGeneratedEvent), } #[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))] #[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] pub struct RuntimeItemTreasureResolvedEvent { pub treasure_record_id: String, pub runtime_session_id: String, pub story_session_id: String, pub occurred_at_micros: i64, } #[cfg_attr(feature = "spacetime-types", derive(SpacetimeType))] #[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] pub struct RuntimeItemTreasureRewardItemsGeneratedEvent { pub treasure_record_id: String, pub reward_items: Vec, pub occurred_at_micros: i64, }