mirror of https://github.com/tidwall/tile38.git
Allow for all command types for roaming event
Prior to this commit roaming geofences only registered changes to the SET command. Now it will work for SET/DEL/FSET, just like non-roaming geofences. To opt out of these events, explicitly choose which event you would like to register when you create the geofences. For example: NEARBY fleet FENCE COMMANDS set,del ROAM fleet * 5000 Will only fire off events from SET and DEL command. Closes #597
This commit is contained in:
parent
5a1275bac2
commit
d37ce505f5
|
@ -99,9 +99,9 @@ func fenceMatch(
|
|||
roamNearbys, roamFaraways =
|
||||
fenceMatchRoam(sw.s, fence, details.id,
|
||||
details.oldObj, details.obj)
|
||||
}
|
||||
if len(roamNearbys) == 0 && len(roamFaraways) == 0 {
|
||||
return nil
|
||||
if len(roamNearbys) == 0 && len(roamFaraways) == 0 {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
detect = "roam"
|
||||
} else {
|
||||
|
@ -235,6 +235,12 @@ func fenceMatch(
|
|||
case "roam":
|
||||
if len(msgs) > 0 {
|
||||
var nmsgs []string
|
||||
for _, msg := range msgs {
|
||||
cmd := gjson.Get(msg, "command")
|
||||
if cmd.Exists() && cmd.String() != "set" {
|
||||
nmsgs = append(nmsgs, msg)
|
||||
}
|
||||
}
|
||||
for i := range roamNearbys {
|
||||
nmsg := extendRoamMessage(sw, fence,
|
||||
"nearby", msgs[0], roamNearbys[i])
|
||||
|
|
Loading…
Reference in New Issue