Files
doom-dm/DoomDeathmatch/src/Component/Util/RotateComponent.cs
2025-01-04 22:44:43 +03:00

22 lines
1000 B
C#

using Engine.Input;
using OpenTK.Mathematics;
namespace DoomDeathmatch.Component.Util;
public class RotateComponent : Engine.Scene.Component.Component
{
private readonly IInputHandler _inputHandler = Engine.Engine.Instance.InputHandler!;
public override void Update(double parDeltaTime)
{
if (_inputHandler.IsKeyPressed(KeyboardButtonCode.Q))
GameObject.Transform.Rotation *= Quaternion.FromAxisAngle(Vector3.UnitY, (float)parDeltaTime * 0.5f);
else if (_inputHandler.IsKeyPressed(KeyboardButtonCode.E))
GameObject.Transform.Rotation *= Quaternion.FromAxisAngle(Vector3.UnitY, -(float)parDeltaTime * 0.5f);
if (_inputHandler.IsMouseButtonPressed(MouseButtonCode.Left))
GameObject.Transform.Rotation *= Quaternion.FromAxisAngle(Vector3.UnitZ, (float)parDeltaTime * 0.5f);
else if (_inputHandler.IsMouseButtonPressed(MouseButtonCode.Right))
GameObject.Transform.Rotation *= Quaternion.FromAxisAngle(Vector3.UnitZ, -(float)parDeltaTime * 0.5f);
}
}