cardinal_kernel/rules/
mod.rs1pub mod schema;
2pub mod query;
3
4use crate::rules::schema::Ruleset;
5use crate::state::gamestate::GameState;
6
7pub trait RulesModule {
9 fn on_event(&self, _ctx: &RulesContext, _ev: &crate::model::event::Event) -> Vec<crate::model::command::Command> {
10 Vec::new()
11 }
12
13 fn legal_overrides(&self, _ctx: &RulesContext, _player: crate::ids::PlayerId) -> Vec<crate::model::action::Action> {
14 Vec::new()
15 }
16}
17
18pub struct RulesContext<'a> {
19 pub rules: &'a Ruleset,
20 pub state: &'a GameState,
21}