(version 2)
(include "sci.sh")
(exports
    0 GloryControls
)
(use "GameControls")
(script 56)



(class public GloryControls of GameControls
    (properties
        elements 0
        size 0
        height 200
        underBits 0
        oldMouseX 0
        oldMouseY 0
        curIcon 0
        highlightedIcon 0
        prevIcon 0
        curInvIcon 0
        useIconItem 0
        helpIconItem 0
        walkIconItem 0
        port 0
        window 0
        state $0000
        activateHeight 0
        y 0
        okButton 0
        icon1 0
        icon2 0
        icon3 0
        icon4 0
        icon5 0
        icon6 0
        icon7 0
    )

    (method (dispatchEvent param1)
        (var temp0, temp1)
        = temp1 (send param1:type)
        (if (& temp1 $0040)
            = temp1 (& temp1 $ffbf)
            (switch ((send param1:message))
                (case 8
                    (send icon1:select())
                )
                (case 2
                    (send icon2:select())
                )
                (case 6
                    (send icon3:select())
                )
                (case 4
                    (send icon4:select())
                )
                (case 7
                    (send icon5:select())
                )
                (case 3
                    (send icon6:select())
                )
                (case 1
                    return 1
                )
                (case 5
                    return 1
                )
                (case 0
                    (if (== temp1 4)
                        (send icon7:select())
                    )(else
                        return 1
                    )
                )
            )
        )
        = temp0 (send param1:message)
        (if (== temp1 4)
            (if (== temp0 27)
                (send param1:message(0))
                (send icon7:select())
            )(else
                (if (== temp0 55)
                    (send icon1:select())
                )(else
                    (if (== temp0 57)
                        (send icon2:select())
                    )(else
                        (if (== temp0 49)
                            (send icon3:select())
                        )(else
                            (if (== temp0 51)
                                (send icon4:select())
                            )(else
                                (if (== temp0 52)
                                    (send icon5:select())
                                )(else
                                    (if (== temp0 54)
                                        (send icon6:select())
                                    )(else
                                        (if (((== temp0 53) or (== temp0 20992)) or (== temp0 48))
                                            (send icon7:select())
                                        )
                                    )
                                )
                            )
                        )
                    )
                )
            )
        )
        (if (== temp1 8)
            (self:eachElementDo(218 0))
        )
        return (super:dispatchEvent(param1))
    )


    (method (disable param1)
        (var temp0, temp1)
        (if (paramTotal)
            = temp0 0
            (while (< temp0 paramTotal)
                = temp1 
                    (if (IsObject(param1[temp0]))
                        param1[temp0]
                    )(else
                        (self:at(param1[temp0]))
                    )
                (send temp1:signal((| (send temp1:signal) $0004)))
                ++temp0
            )
        )(else
            = state (| state $0004)
        )
    )

)
