33 lines
1.2 KiB
Rust
33 lines
1.2 KiB
Rust
//! 运行时物品领域事件。
|
|
//!
|
|
//! 用于表达宝箱已结算、奖励物品已生成和资源奖励待入账等事实。
|
|
|
|
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<RuntimeItemRewardItemSnapshot>,
|
|
pub occurred_at_micros: i64,
|
|
}
|