Вы можете фильтровать сообщения внутри перехода диаграммы состояния агента, чтобы выполнить переход только тогда, когда определенное выражение истинно (в вашем случае: агент находится в правильном регионе).
Конечно, вы можете выполнить эту фильтрацию и во многих других местах, например, при отправке сообщения или при его получении. Однако вы всегда можете использовать этот код, чтобы проверить, находится ли Агент внутри GISRegion:
main.gisRegion1.contains(this.getLatitude(), this.getLongitude())
Это предполагает, что вы выполнили это внутри Агента (следовательно, main.
и this.
) и регион, который вы ищете, называется gisRegion1 .