Add UDP events: onChangePosition, onSentPing

This commit is contained in:
Maxim Khomutov 2023-07-20 01:59:30 +03:00
parent e086fea2e9
commit 06bd50f0fa
2 changed files with 6 additions and 3 deletions

View File

@ -33,13 +33,13 @@ class UDPServer(asyncio.DatagramTransport):
if client: if client:
match code: match code:
case "p": # Ping packet case "p": # Ping packet
# TODO: Call event onSentPing ev.call_event("onSentPing")
self.transport.sendto(b"p", addr) self.transport.sendto(b"p", addr)
case "Z": # Position packet case "Z": # Position packet
if client._udp_sock != (self.transport, addr): if client._udp_sock != (self.transport, addr):
client._udp_sock = (self.transport, addr) client._udp_sock = (self.transport, addr)
self.log.debug(f"Set UDP Sock for CID: {cid}") self.log.debug(f"Set UDP Sock for CID: {cid}")
# TODO: Call event onChangePosition ev.call_event("onChangePosition")
if client: if client:
await client._send(data[2:], to_all=True, to_self=False, to_udp=True) await client._send(data[2:], to_all=True, to_self=False, to_udp=True)
case _: case _:

View File

@ -31,6 +31,8 @@ class EventsSystem:
"onCarDelete": [], "onCarDelete": [],
"onCarEdited": [], "onCarEdited": [],
"onCarReset": [], "onCarReset": [],
"onSentPing": [], # Only sync
"onChangePosition": [], # Only sync
"onServerStopped": [], "onServerStopped": [],
} }
self.__async_events = { self.__async_events = {
@ -86,7 +88,8 @@ class EventsSystem:
return funcs_data return funcs_data
def call_event(self, event_name, *args, **kwargs): def call_event(self, event_name, *args, **kwargs):
self.log.debug(f"Calling sync event: '{event_name}'") if event_name not in ["onChangePosition", "onSentPing"]: # UDP events
self.log.debug(f"Calling sync event: '{event_name}'")
funcs_data = [] funcs_data = []
if event_name in self.__events.keys(): if event_name in self.__events.keys():