mirror of
https://github.com/Refactorio/RedMew.git
synced 2024-12-14 10:13:13 +02:00
ca381aa289
- 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.
96 lines
2.3 KiB
Lua
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
|