private void CheckState(UnturnedKey Key, bool[] Inputs) { bool State = Inputs[(int)Key]; if (CheckChanged((int)Key, State)) { OnKeyStateChanged(Key, State); } }
private void OnKeyStateChanged(UnturnedKey Key, bool State) { if (Key == UnturnedKey.Jump) { if (State) { Gravity = VerticalSpeed * -1; Player.movement.sendPluginGravityMultiplier(Gravity); } else { Gravity = 0; Player.movement.sendPluginGravityMultiplier(Gravity); } } else if (Key == UnturnedKey.Sprint) { if (State) { if (Player.look.pitch > 160) { Gravity = VerticalSpeed; IsDescending = true; Player.movement.sendPluginGravityMultiplier(Gravity); } } else { if (IsDescending) { IsDescending = false; Gravity = 0; Player.movement.sendPluginGravityMultiplier(Gravity); } } } else if (Key == UnturnedKey.CodeHotkey1) { if (State) { if (Helpers.PlayerCanFlyAtSpeed(UPlayer, Speed - 1)) { Speed -= 1; Player.movement.sendPluginSpeedMultiplier(Speed); } else { UnturnedChat.Say(UPlayer, "Flight_Speed_Denied_Hotkey".Translate()); } } } else if (Key == UnturnedKey.CodeHotkey2) { if (State) { if (Helpers.PlayerCanFlyAtSpeed(UPlayer, Speed + 1)) { Speed += 1; Player.movement.sendPluginSpeedMultiplier(Speed); } else { UnturnedChat.Say(UPlayer, "Flight_Speed_Denied_Hotkey".Translate()); } } } else if (Key == UnturnedKey.CodeHotkey3) { if (State) { Player.movement.sendPluginSpeedMultiplier(Speed); Player.movement.sendPluginGravityMultiplier(Gravity); } } }