public PlayerControllerComponent(PlayerInfo player) { base.GamePadIndex = player.GamepadIndex; if (player.IsKeyboardPlayer) { Mappings.Add(new InputMapping(null, MovementFromKeyboard)); Mappings.Add(new InputMapping(f => InputFunctions.KeyboardDash(f), f => StartDash())); Mappings.Add(new InputMapping(f => InputFunctions.KeyboardStartShout(f), f => SwitchState(PlayerState.Shouting))); Mappings.Add(new InputMapping(f => InputFunctions.KeyboardEndShout(f), f => SwitchState(PlayerState.Walking))); Mappings.Add(new InputMapping(f => InputFunctions.KeyboardStartLure(f), f => SwitchState(PlayerState.Luring))); Mappings.Add(new InputMapping(f => InputFunctions.KeyboardEndLure(f), f => SwitchState(PlayerState.Walking))); } else { Mappings.Add(new InputMapping(null, MovementFromGamepad)); Mappings.Add(new InputMapping(f => InputFunctions.Dash(f), f => StartDash())); Mappings.Add(new InputMapping(f => InputFunctions.StartShout(f), f => SwitchState(PlayerState.Shouting))); Mappings.Add(new InputMapping(f => InputFunctions.EndShout(f), f => SwitchState(PlayerState.Walking))); Mappings.Add(new InputMapping(f => InputFunctions.StartLure(f), f => SwitchState(PlayerState.Luring))); Mappings.Add(new InputMapping(f => InputFunctions.EndLure(f), f => SwitchState(PlayerState.Walking))); } }