mirror of
https://github.com/Yonokid/PyTaiko.git
synced 2026-02-04 03:30:13 +01:00
dancers can be removed
This commit is contained in:
@@ -130,10 +130,17 @@ class Background:
|
|||||||
current_milestone = min(self.max_dancers - 1, int(gauge_1p.gauge_length / (clear_threshold / self.max_dancers)))
|
current_milestone = min(self.max_dancers - 1, int(gauge_1p.gauge_length / (clear_threshold / self.max_dancers)))
|
||||||
else:
|
else:
|
||||||
current_milestone = self.max_dancers
|
current_milestone = self.max_dancers
|
||||||
|
|
||||||
if current_milestone > self.last_milestone and current_milestone <= self.max_dancers:
|
if current_milestone > self.last_milestone and current_milestone <= self.max_dancers:
|
||||||
self.dancer.add_dancer()
|
self.dancer.add_dancer()
|
||||||
self.last_milestone = current_milestone
|
self.last_milestone = current_milestone
|
||||||
logger.info(f"Dancer milestone reached: {current_milestone}/{self.max_dancers}")
|
logger.info(f"Dancer milestone reached: {current_milestone}/{self.max_dancers}")
|
||||||
|
elif current_milestone < self.last_milestone:
|
||||||
|
dancers_to_remove = self.last_milestone - current_milestone
|
||||||
|
for _ in range(dancers_to_remove):
|
||||||
|
self.dancer.remove_dancer()
|
||||||
|
self.last_milestone = current_milestone
|
||||||
|
logger.info(f"Dancer milestones lost: {current_milestone}/{self.max_dancers} (removed {dancers_to_remove})")
|
||||||
if self.bg_fever is not None and gauge_1p is not None:
|
if self.bg_fever is not None and gauge_1p is not None:
|
||||||
if not self.is_clear and gauge_1p.is_clear:
|
if not self.is_clear and gauge_1p.is_clear:
|
||||||
self.bg_fever.start()
|
self.bg_fever.start()
|
||||||
|
|||||||
@@ -162,6 +162,12 @@ class BaseDancerGroup():
|
|||||||
dancer.start()
|
dancer.start()
|
||||||
self.active_count += 1
|
self.active_count += 1
|
||||||
|
|
||||||
|
def remove_dancer(self):
|
||||||
|
if self.active_count > 1:
|
||||||
|
self.active_count -= 1
|
||||||
|
position = self.spawn_positions[self.active_count]
|
||||||
|
self.active_dancers[position] = None
|
||||||
|
|
||||||
def update(self, current_time_ms: float, bpm: float):
|
def update(self, current_time_ms: float, bpm: float):
|
||||||
for dancer in self.dancers:
|
for dancer in self.dancers:
|
||||||
dancer.update(current_time_ms, bpm)
|
dancer.update(current_time_ms, bpm)
|
||||||
|
|||||||
Reference in New Issue
Block a user