module EdgeWeightGPS

private func EdgeWeightGPSLog(message: String) -> Void {
  Log("[EdgeWeightGPS] " + message);
}

@wrapMethod(WorldMapMenuGameController)
private final func TryTrackQuestOrSetWaypoint() -> Void {
  EdgeWeightGPSLog("WorldMapMenuGameController.TryTrackQuestOrSetWaypoint enter");
  wrappedMethod();
  EdgeWeightGPSLog("WorldMapMenuGameController.TryTrackQuestOrSetWaypoint exit");
}

@wrapMethod(WorldMapMenuGameController)
private final func UpdateTrackedQuest() -> Void {
  EdgeWeightGPSLog("WorldMapMenuGameController.UpdateTrackedQuest enter");
  wrappedMethod();
  EdgeWeightGPSLog("WorldMapMenuGameController.UpdateTrackedQuest exit");
}

@wrapMethod(WorldMapMenuGameController)
private final func UpdateTravelDestination() -> Void {
  EdgeWeightGPSLog("WorldMapMenuGameController.UpdateTravelDestination enter");
  wrappedMethod();
  EdgeWeightGPSLog("WorldMapMenuGameController.UpdateTravelDestination exit");
}

@wrapMethod(WorldMapMenuGameController)
private final func TrackQuestMappin(mappinController: ref<BaseMappinBaseController>) -> Void {
  EdgeWeightGPSLog("WorldMapMenuGameController.TrackQuestMappin enter defined=" + ToString(IsDefined(mappinController)));
  wrappedMethod(mappinController);
  EdgeWeightGPSLog("WorldMapMenuGameController.TrackQuestMappin exit");
}
