Okay just took a look at the code. It looks great for tracking generic collisions but floor collision only is what I'm currently interested in. Unfortunately, unless the devs used a different name IsOnFloor() doesn't seem to exist in C#. I use the following method atm:
RayCast FloorRay;
public override void _Ready()
{
FloorRay = (RayCast)GetNode("FloorRayCast");
}
bool IsOnFloor()
{
// Make sure floor raytracing is enabled.
return FloorRay.IsEnabled () && FloorRay.IsColliding ();
}
It can get buggy on certain floors though no matter how well the raycast node is set and I 'd really love a more secure solution.
EDIT:
Actually, seems like most KinematicBody member functions are missing in C#.