z_mirror/RateCalculator
git clone https://git.raiguard.me/z_mirror/RateCalculator
1c882db
trunk
1local gui =require ( "scripts.gui" ) 2 3--- @param e EventData.CustomInputEvent|EventData.on_lua_shortcut 4local function on_shortcut ( e ) 5local name =e . input_name or e . prototype_name 6if name ~= "rcalc-get-selection-tool" then 7return 8end 9local player =game . get_player ( e . player_index ) 10if not player then 11return 12end 13local cursor_stack =player . cursor_stack 14if cursor_stack and cursor_stack . valid_for_read and cursor_stack . name == "rcalc-selection-tool" then 15local self =storage . gui [ e . player_index ] 16if self and self . elems . rcalc_window . valid then 17gui . show ( self ) 18end 19return 20end 21if not cursor_stack or not player . clear_cursor () then 22return 23end 24cursor_stack . set_stack ( { name ="rcalc-selection-tool" , count =1 } ) 25end 26 27local shortcut ={} 28 29shortcut . events ={ 30[ defines . events . on_lua_shortcut ] =on_shortcut , 31[ "rcalc-get-selection-tool" ] =on_shortcut , 32} 33 34return shortcut