34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
import pygame
|
|
|
|
from src.settings import START_ECTS_VALUE, ECTS_UPDATE_INTERVAL
|
|
|
|
|
|
class ECTS:
|
|
def __init__(self):
|
|
# total amount of ECTS the player has at the beginning
|
|
self.ects_balance = 0
|
|
# start amount of ECTS player gains ber interval at the beginning
|
|
self.ects_per_second = START_ECTS_VALUE
|
|
# timer when last ECTS was given to player
|
|
self.last_update_time = pygame.time.get_ticks()
|
|
|
|
# check if ECTS should be added
|
|
def update(self, is_at_desk):
|
|
current_time = pygame.time.get_ticks()
|
|
|
|
# if player is at desk and interval passed
|
|
if is_at_desk and ((current_time - self.last_update_time) >= ECTS_UPDATE_INTERVAL):
|
|
self.ects_balance += self.ects_per_second
|
|
# reset timer
|
|
self.last_update_time = current_time
|
|
|
|
# beer increases amount of how much ECTS are earned per second
|
|
def upgrade_rate(self, extra_ects):
|
|
self.ects_per_second += extra_ects
|
|
|
|
def is_over_balance(self, amount):
|
|
return self.ects_balance >= amount
|
|
|
|
def decrease_balance(self, amount):
|
|
self.ects_balance -= amount
|