Formulator / gr /scripts /talents.py
ango
5.14 commit
c145eab
raw
history blame
780 Bytes
from gr.components.talents import TalentsComponent
from assets.constant import MAX_TALENTS
class Talents:
def __init__(self):
self.talents = ["" for _ in range(MAX_TALENTS)]
def __getitem__(self, item):
return self.talents[item]
def __setitem__(self, key, value):
self.talents[key] = value
@property
def gains(self):
return [talent for talent in self.talents if talent]
def talents_script(talents_component: TalentsComponent):
talents = Talents()
def talent_changed(i):
def inner(talent):
talents[i] = talent
return inner
for n, talent_component in enumerate(talents_component.values()):
talent_component.change(talent_changed(n), talent_component)
return talents