Skip to main content

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".

Implementors§