ludic/examples/modules/kinds/hunting/index.ludic

17 lines
494 B
Text

# hunting/index.ludic - a Catch and a Landed of its own, with other fields
module hunting
property Catch {
name: string = ""
weight: float = 0.0
}
event Landed { name: string }
export state HuntingState {
heard: string = ""
}
@On(Landed) handler Hear(hunting_st: mut HuntingState) { hunting_st.heard = hunting_st.heard + name }
export function hunting_day(hunting_st: HuntingState) -> string {
let c = new Catch
c.name = "hare"
emit Landed(name: c.name)
return hunting_st.heard
}