Removes a single handler from the handler queue, called during cleanup of all handlers scheduled for removal
(messageType string, handlerID MessageHandlerId)
| 104 | |
| 105 | // Removes a single handler from the handler queue, called during cleanup of all handlers scheduled for removal |
| 106 | func (mm *MessageManager) removeHandler(messageType string, handlerID MessageHandlerId) { |
| 107 | indexOfHandler := -1 |
| 108 | for i, activeHandler := range mm.listeners[messageType] { |
| 109 | if activeHandler.MessageHandlerId == handlerID { |
| 110 | indexOfHandler = i |
| 111 | break |
| 112 | } |
| 113 | } |
| 114 | // A handler might have already been removed during a previous Dispatch(), no action necessary |
| 115 | if indexOfHandler == -1 { |
| 116 | return |
| 117 | } |
| 118 | mm.listeners[messageType] = append(mm.listeners[messageType][:indexOfHandler], mm.listeners[messageType][indexOfHandler+1:]...) |
| 119 | } |
| 120 | |
| 121 | // WindowResizeMessage is a message that's being dispatched whenever the game window is being resized by the gamer |
| 122 | type WindowResizeMessage struct { |
no outgoing calls
no test coverage detected