local a=script:FindFirstAncestor("\067\111\109\098\097\116\083\121\115\116\101\109")local y=require(a.Modules.Keybind)local z={PrimaryAction={keyCodes={Keyboard=y.KeyboardPrimaryAction,Gamepad=y.GamepadPrimaryAction};displayOrder=1,cooldown=2},SecondaryAction={keyCodes={Keyboard=y.KeyboardSecondaryAction,Gamepad=y.GamepadSecondaryAction},displayOrder=2;cooldown=4},SpecialAbility={keyCodes={Keyboard=y.KeyboardSpecialAction;Gamepad=y.GamepadSpecialAction},displayOrder=3,cooldown=6};ThirdAbility={keyCodes={Keyboard=y.KeyboardDefensiveAction,Gamepad=y.GamepadDefensiveAction};displayOrder=4,cooldown=2}}return z
--!strict

--[[
	KeyCodeBindingInfo module defines an enum type representing combat actions 
	along with their associated key bindings for keyboard and gamepad inputs, 
	and their display order.
--]]


local CombatSystemFolder = script:FindFirstAncestor("CombatSystem")

local Keybind = require(CombatSystemFolder.Modules.Keybind)
	
local KeyCodeBindingInfo = {
	PrimaryAction = {
		keyCodes = {
			Keyboard = Keybind.KeyboardPrimaryAction,
			Gamepad = Keybind.GamepadPrimaryAction
		},
		displayOrder = 1,
		cooldown = 2 -- TODO: Move this to an enum
	},
	SecondaryAction = {
		keyCodes = {
			Keyboard = Keybind.KeyboardSecondaryAction,
			Gamepad = Keybind.GamepadSecondaryAction
		},
		displayOrder = 2,
		cooldown = 4
	},
	SpecialAbility = {
		keyCodes = {
			Keyboard = Keybind.KeyboardSpecialAction,
			Gamepad = Keybind.GamepadSpecialAction
		},
		displayOrder = 3,
		cooldown = 6
	},
	ThirdAbility = {
		keyCodes = {
			Keyboard = Keybind.KeyboardDefensiveAction,
			Gamepad = Keybind.GamepadDefensiveAction
		},
		displayOrder = 4,
		cooldown = 2
	}
}

return KeyCodeBindingInfo
