Attribute Macro pbni_codegen::event[][src]

#[event]
Expand description

标记对象事件,如果方法体没有代码,则自动生成对应的调用代码

Parameters

  • name: 映射的PB事件名 (默认为Rust函数名)

Required

自动生成事件代码,需要对象实现context_mut方法:

Examples

struct RustObject {
    session: Session,
    ctx: ContextObject
}

impl RustObject {
    fn context_mut(&mut self) -> &mut ContextObject { &mut self.ctx }
}

#[nonvisualobject(name = "n_pbni")]
impl RustObject {
    #[constructor]
    fn new(session: Session, ctx: ContextObject) -> RustObject {
        RustObject {
            session,
            ctx
        }
    }
    #[event(name="onFire")]
    fn on_fire(&mut self) {}
}