feat(place): final end time + destruction wave
This commit is contained in:
@@ -13,6 +13,10 @@ from .models import PALETTE, PLACE_COOLDOWN_SECONDS, PixelPlacement, PlaceSettin
|
||||
from .wire import encode, to_epoch_ms
|
||||
|
||||
|
||||
def _epoch_ms_or_none(dt):
|
||||
return None if dt is None else to_epoch_ms(dt)
|
||||
|
||||
|
||||
class PlaceConsumer(AsyncWebsocketConsumer):
|
||||
async def connect(self):
|
||||
self.event_path = self.scope["url_route"]["kwargs"]["event_path"]
|
||||
@@ -45,7 +49,7 @@ class PlaceConsumer(AsyncWebsocketConsumer):
|
||||
await self.send(text_data=encode("r", "a"))
|
||||
return
|
||||
|
||||
if not place_settings.placement_enabled:
|
||||
if place_settings.placement_ended:
|
||||
await self.send(text_data=encode("r", "d"))
|
||||
return
|
||||
|
||||
@@ -146,7 +150,7 @@ class PlaceConsumer(AsyncWebsocketConsumer):
|
||||
next_placement_at,
|
||||
place_settings.width,
|
||||
place_settings.height,
|
||||
int(place_settings.placement_enabled),
|
||||
_epoch_ms_or_none(place_settings.placement_ends_at),
|
||||
)
|
||||
|
||||
@database_sync_to_async
|
||||
@@ -162,6 +166,9 @@ class PlaceConsumer(AsyncWebsocketConsumer):
|
||||
"e",
|
||||
event["width"],
|
||||
event["height"],
|
||||
int(event["placement_enabled"]),
|
||||
event["ends_at"],
|
||||
)
|
||||
)
|
||||
|
||||
async def wipe(self, event):
|
||||
await self.send(text_data=encode("w"))
|
||||
|
||||
Reference in New Issue
Block a user