public void Tick() { Vec3F forward = Vec3F.CircleUnitDeg(DoomUnityAngleConverter(yawDegrees)); Vec3F right = new Vec3F(forward.Z, 0, -forward.X); // TODO: This is obviously bad if we're not the console player... // TODO: Should use the config! Vec3F velocity = Vec3F.Zero; if (Input.GetKey(KeyCode.W) || Input.GetMouseButton(1)) { velocity += forward * ForwardMovementSpeed; } if (Input.GetKey(KeyCode.A)) { velocity += -right * SideMovementSpeed; } if (Input.GetKey(KeyCode.S)) { velocity += -forward * ForwardMovementSpeed; } if (Input.GetKey(KeyCode.D)) { velocity += right * SideMovementSpeed; } Entity.Velocity += velocity; }