(version 2)
(include "sci.sh")
(use "Main")
(use "Sound")
(use "View")
(use "Obj")
(script 808)

(class Sentence of EventHandler
    (properties
        elements 0
        size 0
        view 0
        loop 0
        cel 0
        x 0
        y 0
        aSound 0
        anAudio 0
        aView 0
        signal $0001
    )

    (method (init)
        = aView (send ((View:new())):
                view(view)
                loop(loop)
                cel(cel)
                x(x)
                y(y)
                init()
                stopUpd()
                yourself()
            )
        (send gKH:addToEnd(self))
        (send gMH:addToEnd(self))
        (self:eachElementDo(#init))
    )


    (method (dispose)
        (send gKH:delete(self))
        (send gMH:delete(self))
        (if (anAudio)
            (send anAudio:dispose())
            = anAudio 0
        )
        (send aView:dispose())
        = aView 0
        (super:dispose())
    )


    (method (handleEvent pEvent)
        (if ((send aView:onMe(pEvent)))
            (if (anAudio)
                (send anAudio:play())
            )(else
                = anAudio (send ((Sound:new())):
                        number(aSound)
                        play()
                        yourself()
                    )
            )
            (self:eachElementDo(#aniDoit))
        )(else
            (send pEvent:claimed(0))
        )
    )

)
