mirror of
https://github.com/solero/houdini.git
synced 2024-11-25 15:07:24 +00:00
Fix recursion depth limit exception in DanceFloor
This commit is contained in:
parent
48f303dbdd
commit
c02b6e164d
@ -56,6 +56,11 @@ class DanceFloor:
|
|||||||
self._dancers.pop(p.id)
|
self._dancers.pop(p.id)
|
||||||
await self.send_xt('zm', self.get_string())
|
await self.send_xt('zm', self.get_string())
|
||||||
|
|
||||||
|
async def start(self):
|
||||||
|
while True:
|
||||||
|
await self.next_round()
|
||||||
|
await asyncio.sleep(self._current_track.song_length_millis // 1000)
|
||||||
|
|
||||||
async def next_round(self):
|
async def next_round(self):
|
||||||
self._current_track = self._queued_track
|
self._current_track = self._queued_track
|
||||||
|
|
||||||
@ -84,9 +89,6 @@ class DanceFloor:
|
|||||||
self._queued_track = next(self._tracks)
|
self._queued_track = next(self._tracks)
|
||||||
self._next_song_timestamp = int(round(time.time() * 1000)) + self._current_track.song_length_millis
|
self._next_song_timestamp = int(round(time.time() * 1000)) + self._current_track.song_length_millis
|
||||||
|
|
||||||
await asyncio.sleep(self._current_track.song_length_millis // 1000)
|
|
||||||
await self.next_round()
|
|
||||||
|
|
||||||
async def send_xt(self, *data):
|
async def send_xt(self, *data):
|
||||||
for dancer in self._dancers.values():
|
for dancer in self._dancers.values():
|
||||||
await dancer.penguin.send_xt(*data)
|
await dancer.penguin.send_xt(*data)
|
||||||
@ -147,7 +149,7 @@ async def songs_load(server):
|
|||||||
server.logger.info(f'Loaded {len(server.dance_songs)} dance tracks')
|
server.logger.info(f'Loaded {len(server.dance_songs)} dance tracks')
|
||||||
|
|
||||||
server.dance_floor = DanceFloor(server)
|
server.dance_floor = DanceFloor(server)
|
||||||
asyncio.create_task(server.dance_floor.next_round())
|
asyncio.create_task(server.dance_floor.start())
|
||||||
|
|
||||||
|
|
||||||
@handlers.handler(XTPacket('gz', ext='z'))
|
@handlers.handler(XTPacket('gz', ext='z'))
|
||||||
|
Loading…
Reference in New Issue
Block a user