1
0
mirror of https://github.com/Refactorio/RedMew.git synced 2024-12-14 10:13:13 +02:00
RedMew/utils/test/event_factory.lua
James Gillham ca381aa289 Add config-restart command.
- change Restart command to use server.start_game (offers setting the mod pack).
- Change danger ores and crashsite maps to use the new restart command.
2021-05-15 11:21:46 +01:00

96 lines
2.3 KiB
Lua

local EventCore = require 'utils.event_core'
local Public = {}
Public.raise = EventCore.on_event
function Public.position(position)
local x = position.x or position[1]
local y = position.y or position[2]
position.x = x
position[1] = x
position.y = y
position[2] = y
return position
end
function Public.area(area)
local left_top = area.left_top or area[1]
local right_bottom = area.right_bottom or area[2]
Public.position(left_top)
Public.position(right_bottom)
area.left_top = left_top
area[1] = left_top
area.right_bottom = right_bottom
area[2] = right_bottom
return area
end
function Public.on_gui_click(element)
return {
name = defines.events.on_gui_click,
tick = game.tick,
element = element,
player_index = element.player_index,
button = defines.mouse_button_type.left,
alt = false,
control = false,
shift = false
}
end
function Public.on_gui_text_changed(element, text)
return {
name = defines.events.on_gui_text_changed,
tick = game.tick,
element = element,
player_index = element.player_index,
text = text
}
end
function Public.on_gui_checked_state_changed(element)
return {
name = defines.events.on_gui_checked_state_changed,
tick = game.tick,
element = element,
player_index = element.player_index
}
end
function Public.on_player_deconstructed_area(player_index, surface, area, item)
return {
name = defines.events.on_player_deconstructed_area,
tick = game.tick,
player_index = player_index,
surface = surface,
area = Public.area(area),
item = item,
alt = false
}
end
function Public.do_player_deconstruct_area(cursor, player, area, optional_skip_fog_of_war)
cursor.deconstruct_area({
surface = player.surface,
force = player.force,
area = area,
by_player = player,
skip_fog_of_war = optional_skip_fog_of_war
})
local event = Public.on_player_deconstructed_area(player.index, player.surface, area, cursor.name)
Public.raise(event)
end
function Public.on_player_died(player_index)
return {name = defines.events.on_player_died, tick = game.tick, player_index = player_index, cause = nil}
end
return Public