public void Update(rlbot.flat.BallInfo ball) { if (ball.Physics.HasValue) { if (ball.Physics.Value.Location.HasValue) { Position = ball.Physics.Value.Location.Value.ToVector3(); } if (ball.Physics.Value.Velocity.HasValue) { Velocity = ball.Physics.Value.Velocity.Value.ToVector3(); } if (ball.Physics.Value.Rotation.HasValue) { Rotation = ball.Physics.Value.Rotation.Value.ToQuaternion(); } if (ball.Physics.Value.AngularVelocity.HasValue) { AngularVelocity = ball.Physics.Value.AngularVelocity.Value.ToVector3(); } } }
public static Ball ParseFromGamePacket(rlbot.flat.GameTickPacket packet) { rlbot.flat.BallInfo info = packet.Ball.GetValueOrDefault(); rlbot.flat.Physics physics = info.Physics.Value; return(new Ball() { Location = Conversion.ToVector3(physics.Location.GetValueOrDefault()), Rotation = Conversion.ToRotation(physics.Rotation.GetValueOrDefault()), Velocity = Conversion.ToVector3(physics.Velocity.GetValueOrDefault()), AngularVelocity = Conversion.ToVector3(physics.AngularVelocity.GetValueOrDefault()), }); }
public Ball(rlbot.flat.BallInfo ballInfo) { Physics = new Physics(ballInfo.Physics.Value); }