GameHandler

Trait GameHandler 

Source
pub trait GameHandler:
    Sized
    + BorshSerialize
    + BorshDeserialize {
    type Checkpoint: BorshSerialize + BorshDeserialize;

    // Required methods
    fn init_state(
        effect: &mut Effect,
        init_account: InitAccount,
    ) -> HandleResult<Self>;
    fn handle_event(
        &mut self,
        effect: &mut Effect,
        event: Event,
    ) -> HandleResult<()>;
    fn into_checkpoint(self) -> HandleResult<Self::Checkpoint>;
}

Required Associated Types§

Required Methods§

Source

fn init_state( effect: &mut Effect, init_account: InitAccount, ) -> HandleResult<Self>

Initialize handler state with on-chain game account data.

Source

fn handle_event( &mut self, effect: &mut Effect, event: Event, ) -> HandleResult<()>

Handle event.

Source

fn into_checkpoint(self) -> HandleResult<Self::Checkpoint>

Create checkpoint from current state.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§