pub trait Order:
'static
+ Debug
+ AsAny
+ Send
+ Sync
+ Serialize
+ Deserialize {
// Required methods
fn deps(
&self,
map: &Map,
state: &MapState,
orders: &Orders,
this_prov: &str,
) -> HashSet<String>;
fn adjudicate(
&self,
map: &Map,
state: &MapState,
orders: &Orders,
this_prov: &str,
order_status: &HashMap<String, bool>,
) -> Option<bool>;
fn as_owned(&self) -> Box<dyn Order>;
}Expand description
Represents an order object.
Downcasting is supported via Any::downcast_ref and Any::is.
Required Methods§
Sourcefn deps(
&self,
map: &Map,
state: &MapState,
orders: &Orders,
this_prov: &str,
) -> HashSet<String>
fn deps( &self, map: &Map, state: &MapState, orders: &Orders, this_prov: &str, ) -> HashSet<String>
Return orders (identified by source province) that this order depends on for resolution.
Sourcefn adjudicate(
&self,
map: &Map,
state: &MapState,
orders: &Orders,
this_prov: &str,
order_status: &HashMap<String, bool>,
) -> Option<bool>
fn adjudicate( &self, map: &Map, state: &MapState, orders: &Orders, this_prov: &str, order_status: &HashMap<String, bool>, ) -> Option<bool>
Based on the given order_status information, determine whether
this order succeeds or fails.