waited far too long for an initial commit but here we are
This commit is contained in:
63
Scripts/Resources/player_keymap.gd
Normal file
63
Scripts/Resources/player_keymap.gd
Normal file
@@ -0,0 +1,63 @@
|
||||
extends Resource
|
||||
class_name PlayerKeymap
|
||||
|
||||
const SAVE_PATH := "user://keymap.tres"
|
||||
|
||||
@export var title : String
|
||||
|
||||
@export var move_forward : InputEventKey
|
||||
@export var move_backward : InputEventKey
|
||||
@export var move_left : InputEventKey
|
||||
@export var move_right : InputEventKey
|
||||
@export var jump : InputEventKey
|
||||
@export var sprint : InputEventKey
|
||||
@export var interact : InputEventKey
|
||||
@export var open_text_chat : InputEventKey
|
||||
@export var ready : InputEventKey
|
||||
@export var pause : InputEventKey
|
||||
@export var equip_card_in_gauntlet : InputEventKey
|
||||
@export var view_map : InputEventKey
|
||||
|
||||
|
||||
func apply():
|
||||
replace_action_event("Move Forward", move_forward)
|
||||
replace_action_event("Move Backward", move_backward)
|
||||
replace_action_event("Move Left", move_left)
|
||||
replace_action_event("Move Right", move_right)
|
||||
replace_action_event("Jump", jump)
|
||||
replace_action_event("Sprint", sprint)
|
||||
replace_action_event("Interact", interact)
|
||||
replace_action_event("Open Text Chat", open_text_chat)
|
||||
replace_action_event("Ready", ready)
|
||||
replace_action_event("Pause", pause)
|
||||
replace_action_event("Equip In Gauntlet", equip_card_in_gauntlet)
|
||||
replace_action_event("View Map", view_map)
|
||||
|
||||
|
||||
func replace_action_event(action_string, event):
|
||||
InputMap.action_erase_events(action_string)
|
||||
InputMap.action_add_event(action_string, event)
|
||||
|
||||
|
||||
func get_current_input_map():
|
||||
move_forward = InputMap.action_get_events("Move Forward")[0]
|
||||
move_backward = InputMap.action_get_events("Move Backward")[0]
|
||||
move_left = InputMap.action_get_events("Move Left")[0]
|
||||
move_right = InputMap.action_get_events("Move Right")[0]
|
||||
jump = InputMap.action_get_events("Jump")[0]
|
||||
sprint = InputMap.action_get_events("Sprint")[0]
|
||||
interact = InputMap.action_get_events("Interact")[0]
|
||||
open_text_chat = InputMap.action_get_events("Open Text Chat")[0]
|
||||
ready = InputMap.action_get_events("Ready")[0]
|
||||
pause = InputMap.action_get_events("Pause")[0]
|
||||
equip_card_in_gauntlet = InputMap.action_get_events("Equip In Gauntlet")[0]
|
||||
view_map = InputMap.action_get_events("View Map")[0]
|
||||
|
||||
|
||||
func save_profile_to_disk():
|
||||
get_current_input_map()
|
||||
ResourceSaver.save(self, SAVE_PATH)
|
||||
static func load_profile_from_disk() -> PlayerKeymap:
|
||||
if ResourceLoader.exists(SAVE_PATH):
|
||||
return ResourceLoader.load(SAVE_PATH)
|
||||
return Data.keymaps[0]
|
||||
Reference in New Issue
Block a user