custom-chatbot / data /Input.User.cs
fastx's picture
Upload 84 files
ac55997
raw
history blame
776 Bytes
using System;
using Photon.Deterministic;
namespace Quantum
{
unsafe partial struct Input
{
// input bandwidth trick by Erick Passos
// using a single Byte to encode a 2D direction with 2 degrees of accuracy
public FPVector2 Direction
{
get {
if (EncodedDirection == default) return default;
Int32 angle = ((Int32)EncodedDirection - 1) * 2;
return FPVector2.Rotate(FPVector2.Up, angle * FP.Deg2Rad);
}
set {
if (value == default)
{
EncodedDirection = default;
return;
}
var angle = FPVector2.RadiansSigned(FPVector2.Up, value) * FP.Rad2Deg;
angle = (((angle + 360) % 360) / 2) + 1;
EncodedDirection = (Byte)(angle.AsInt);
}
}
}
}