31 lines
		
	
	
		
			813 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			813 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
local messageModeCallbacks = {}
 | 
						|
 | 
						|
function g_game.onTextMessage(messageMode, message)
 | 
						|
  local callbacks = messageModeCallbacks[messageMode]
 | 
						|
  if not callbacks or #callbacks == 0 then
 | 
						|
    perror(string.format('Unhandled onTextMessage message mode %i: %s', messageMode, message))
 | 
						|
    return
 | 
						|
  end
 | 
						|
 | 
						|
  for _, callback in pairs(callbacks) do
 | 
						|
    callback(messageMode, message)
 | 
						|
  end
 | 
						|
end
 | 
						|
 | 
						|
function registerMessageMode(messageMode, callback)
 | 
						|
  if not messageModeCallbacks[messageMode] then
 | 
						|
    messageModeCallbacks[messageMode] = {}
 | 
						|
  end
 | 
						|
 | 
						|
  table.insert(messageModeCallbacks[messageMode], callback)
 | 
						|
  return true
 | 
						|
end
 | 
						|
 | 
						|
function unregisterMessageMode(messageMode, callback)
 | 
						|
  if not messageModeCallbacks[messageMode] then
 | 
						|
    return false
 | 
						|
  end
 | 
						|
 | 
						|
  return table.removevalue(messageModeCallbacks[messageMode], callback)
 | 
						|
end
 |