main op var "m_inside" "@int" op var "m_actu" "@actor" op var "m_speaker" "@actor" op func "initActor" "@void" blk stat.exp exp.op func "@assign" exp.op var "m_inside" exp.litint 0 stat.exp exp.op func "@assign" exp.op var "m_actu" exp.op func "findActor" exp.op func "getParamStr" exp.litstr "actu" stat.exp exp.op func "@assign" exp.op var "m_speaker" exp.op func "findActor" exp.op func "getParamStr" exp.litstr "speaker" op func "finishActor" "@void" blk op func "open" "@void" blk stat.exp exp.dyn "play_to_end" "" Pass in exp.op var "m_actu" stat.exp exp.dyn "start" "" Pass in exp.op var "m_speaker" stat.defop op var "duration" "@float" exp.dyn "get_duration" "@float" Pass in exp.op var "m_actu" stat.exp exp.op func "evtAppoint" exp.litstr "soundOff" exp.op var "duration" op func "close" "@void" blk stat.exp exp.dyn "play_to_start" "" Pass in exp.op var "m_actu" stat.exp exp.dyn "start" "" Pass in exp.op var "m_speaker" stat.defop op var "duration" "@float" exp.dyn "get_duration" "@float" Pass in exp.op var "m_actu" stat.exp exp.op func "evtAppoint" exp.litstr "soundOff" exp.op var "duration" op func "enter" "@void" param in "sender" "@actor" blk stat.if exp.op func "@cmpeq" exp.op var "m_inside" exp.litint 0 blk stat.exp exp.op func "open" stat.exp exp.op func "@assign" exp.op var "m_inside" exp.op func "@add" exp.op var "m_inside" exp.litint 1 op func "leave" "@void" param in "sender" "@actor" blk stat.exp exp.op func "@assign" exp.op var "m_inside" exp.op func "@sub" exp.op var "m_inside" exp.litint 1 stat.if exp.op func "@cmpeq" exp.op var "m_inside" exp.litint 0 blk stat.exp exp.op func "close" op func "soundOff" "@void" blk stat.exp exp.dyn "stop" "" Pass in exp.op var "m_speaker"