public static void SendTrainMessage(this Player player, TrainMessage val)
 {
     SendTrainMessage(MessageDestination.OneReliable, IntPtr.Zero, player.Pointer, val);
 }
 public static void SendTrainMessage(MessageDestination destination, TrainMessage val)
 {
     SendTrainMessage(destination, IntPtr.Zero, IntPtr.Zero , val.Speed);
 }
 public static void SendTrainMessage(this Player player, IntPtr floatValue, TrainMessage val)
 {
     SendTrainMessage(MessageDestination.OneReliable, floatValue, player.Pointer, val);
 }
 public static void SendTrainMessage(MessageDestination destination, IntPtr playerEntity, TrainMessage val)
 {
     SendTrainMessage(destination, IntPtr.Zero, playerEntity , val.Speed);
 }