Initial Upload
This commit is contained in:
0
.gitignore
vendored
Normal file → Executable file
0
.gitignore
vendored
Normal file → Executable file
113
components/mainWindow.py
Executable file
113
components/mainWindow.py
Executable file
@@ -0,0 +1,113 @@
|
||||
from PyQt6.QtWidgets import (
|
||||
QWidget,
|
||||
QPushButton,
|
||||
QVBoxLayout,
|
||||
QHBoxLayout,
|
||||
)
|
||||
|
||||
from data.collectibles import collectibles
|
||||
|
||||
class MainWindow(QWidget):
|
||||
collectibles = {}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
# Set the window title
|
||||
self.setWindowTitle('Y-Tracker')
|
||||
self.collectibles = collectibles
|
||||
|
||||
# Create & Edit Layout
|
||||
layout = QVBoxLayout()
|
||||
self.setLayout(layout)
|
||||
|
||||
vLayout = QVBoxLayout()
|
||||
hLayout = QHBoxLayout()
|
||||
|
||||
layout.addLayout(hLayout)
|
||||
layout.addLayout(vLayout)
|
||||
|
||||
self.layout_dict = {}
|
||||
self.label_dict = {}
|
||||
self.button_dict = {}
|
||||
|
||||
# Build the Inputs
|
||||
for type in self.collectibles:
|
||||
|
||||
if self.collectibles[type]['meta']['orient'] == 'horizontal':
|
||||
self.layout_dict[type] = QHBoxLayout()
|
||||
vLayout.addLayout(self.layout_dict[type])
|
||||
|
||||
else:
|
||||
self.layout_dict[type] = QVBoxLayout()
|
||||
hLayout.addLayout(self.layout_dict[type])
|
||||
|
||||
self.button_dict[type] = {}
|
||||
|
||||
for item in self.collectibles[type]:
|
||||
|
||||
if item != 'meta':
|
||||
self.button_dict[type][item] = QPushButton()
|
||||
self.button_dict[type][item].setObjectName(f'{type}-{item}')
|
||||
|
||||
if self.collectibles[type]['meta']['type'] == 'bool':
|
||||
self.button_dict[type][item].setText(self.collectibles[type][item]['name'])
|
||||
|
||||
if self.collectibles[type][item]['value'] == False:
|
||||
self.button_dict[type][item].setStyleSheet("""
|
||||
QPushButton#""" + self.button_dict[type][item].objectName() + """ {
|
||||
color: #88FFFFFF
|
||||
}
|
||||
""")
|
||||
|
||||
else:
|
||||
self.button_dict[type][item].setStyleSheet("""
|
||||
QPushButton#""" + self.button_dict[type][item].objectName() + """ {
|
||||
color: #FFFFFFFF
|
||||
}
|
||||
""")
|
||||
|
||||
self.button_dict[type][item].clicked.connect(lambda state, x=[type, item]: boolButtonSelect(self, x[0], x[1]))
|
||||
|
||||
elif self.collectibles[type]['meta']['type'] == 'int':
|
||||
self.button_dict[type][item].setText(f'{self.collectibles[type][item]["name"]}: {self.collectibles[type][item]["value"]}')
|
||||
self.button_dict[type][item].clicked.connect(lambda state, x=[type, item]: intButtonSelect(self, x[0], x[1]))
|
||||
|
||||
elif self.collectibles[type]['meta']['type'] == 'list':
|
||||
self.button_dict[type][item].setText(self.collectibles[type]['meta']['list'][self.collectibles[type][item]['value']])
|
||||
self.button_dict[type][item].clicked.connect(lambda state, x=[type, item]: listButtonSelect(self, x[0], x[1]))
|
||||
|
||||
self.layout_dict[type].addWidget(self.button_dict[type][item])
|
||||
|
||||
# Add Events
|
||||
def boolButtonSelect(self, type, item):
|
||||
if self.collectibles[type][item]['value']:
|
||||
self.collectibles[type][item]['value'] = False
|
||||
self.button_dict[type][item].setStyleSheet("""
|
||||
QPushButton#""" + self.button_dict[type][item].objectName() + """ {
|
||||
color: #88FFFFFF
|
||||
}
|
||||
""")
|
||||
else:
|
||||
self.collectibles[type][item]['value'] = True
|
||||
self.button_dict[type][item].setStyleSheet("""
|
||||
QPushButton#""" + self.button_dict[type][item].objectName() + """ {
|
||||
color: #FFFFFFFF
|
||||
}
|
||||
""")
|
||||
|
||||
def intButtonSelect(self, type, item):
|
||||
self.collectibles[type][item]['value'] = self.collectibles[type][item]['value'] + 1
|
||||
self.button_dict[type][item].setText(f'{self.collectibles[type][item]["name"]}: {self.collectibles[type][item]["value"]}')
|
||||
|
||||
def listButtonSelect(self, type, item):
|
||||
self.collectibles[type][item]['value'] = self.collectibles[type][item]['value'] + 1
|
||||
try:
|
||||
self.button_dict[type][item].setText(self.collectibles[type]['meta']['list'][self.collectibles[type][item]['value']])
|
||||
except:
|
||||
self.collectibles[type][item]['value'] = 0
|
||||
self.button_dict[type][item].setText(self.collectibles[type]['meta']['list'][self.collectibles[type][item]['value']])
|
||||
|
||||
# show the window
|
||||
self.show()
|
||||
|
367
data/collectibles.py
Executable file
367
data/collectibles.py
Executable file
@@ -0,0 +1,367 @@
|
||||
|
||||
collectibles = {
|
||||
'kongs': {
|
||||
'meta': {
|
||||
'orient': 'vertical',
|
||||
'type': 'bool',
|
||||
},
|
||||
'donkey': {
|
||||
'name': 'Donkey',
|
||||
'value': False,
|
||||
},
|
||||
'diddy': {
|
||||
'name': 'Diddy',
|
||||
'value': False,
|
||||
},
|
||||
'lanky': {
|
||||
'name': 'Lanky',
|
||||
'value': False,
|
||||
},
|
||||
'tiny': {
|
||||
'name': 'Tiny',
|
||||
'value': False,
|
||||
},
|
||||
'chunky': {
|
||||
'name': 'Chunky',
|
||||
'value': False,
|
||||
},
|
||||
},
|
||||
'guns': {
|
||||
'meta': {
|
||||
'orient': 'vertical',
|
||||
'type': 'bool',
|
||||
},
|
||||
'coconut-gun': {
|
||||
'name': 'Coconut Gun',
|
||||
'value': False,
|
||||
},
|
||||
'peanut-popgun': {
|
||||
'name': 'Peanut Popguns',
|
||||
'value': False,
|
||||
},
|
||||
'grape-shooter': {
|
||||
'name': 'Grape Shooter',
|
||||
'value': False,
|
||||
},
|
||||
'feather-bow': {
|
||||
'name': 'Feather Bow',
|
||||
'value': False,
|
||||
},
|
||||
'pineapple-launcher': {
|
||||
'name': 'Pineapple Launcher',
|
||||
'value': False,
|
||||
},
|
||||
},
|
||||
'instruments': {
|
||||
'meta': {
|
||||
'orient': 'vertical',
|
||||
'type': 'bool',
|
||||
},
|
||||
'bongos': {
|
||||
'name': 'Bongos',
|
||||
'value': False,
|
||||
},
|
||||
'guitar': {
|
||||
'name': 'Guitar',
|
||||
'value': False,
|
||||
},
|
||||
'trombone': {
|
||||
'name': 'Trombone',
|
||||
'value': False,
|
||||
},
|
||||
'saxaphone': {
|
||||
'name': 'Saxaphone',
|
||||
'value': False,
|
||||
},
|
||||
'triangle': {
|
||||
'name': 'Triangle',
|
||||
'value': False,
|
||||
},
|
||||
},
|
||||
'moves': {
|
||||
'meta': {
|
||||
'orient': 'vertical',
|
||||
'type': 'bool',
|
||||
},
|
||||
'gorilla-grab': {
|
||||
'name': 'Gorilla Grab',
|
||||
'value': False,
|
||||
},
|
||||
'chimpy-charge': {
|
||||
'name': 'Chimpy Charge',
|
||||
'value': False,
|
||||
},
|
||||
'orangstand': {
|
||||
'name': 'Orangstand',
|
||||
'value': False,
|
||||
},
|
||||
'ponytail-twirl': {
|
||||
'name': 'Ponytail Twirl',
|
||||
'value': False,
|
||||
},
|
||||
'primate-punch': {
|
||||
'name': 'Primate Punch',
|
||||
'value': False,
|
||||
},
|
||||
},
|
||||
'barrels': {
|
||||
'meta': {
|
||||
'orient': 'vertical',
|
||||
'type': 'bool',
|
||||
},
|
||||
'strong-kong': {
|
||||
'name': 'Strong Kong',
|
||||
'value': False,
|
||||
},
|
||||
'rocketbarrel-boost': {
|
||||
'name': 'Rocketbarrel Boost',
|
||||
'value': False,
|
||||
},
|
||||
'orangstand-sprint': {
|
||||
'name': 'Orangstand Sprint',
|
||||
'value': False,
|
||||
},
|
||||
'mini-monkey': {
|
||||
'name': 'Mini Monkey',
|
||||
'value': False,
|
||||
},
|
||||
'hunky-chunky': {
|
||||
'name': 'Hunky Chunky',
|
||||
'value': False,
|
||||
},
|
||||
},
|
||||
'pads': {
|
||||
'meta': {
|
||||
'orient': 'vertical',
|
||||
'type': 'bool',
|
||||
},
|
||||
'baboon-blast': {
|
||||
'name': 'Baboon Blast',
|
||||
'value': False,
|
||||
},
|
||||
'simian-spring': {
|
||||
'name': 'Simian Spring',
|
||||
'value': False,
|
||||
},
|
||||
'baboon-balloon': {
|
||||
'name': 'Baboon Balloon',
|
||||
'value': False,
|
||||
},
|
||||
'monkeyport': {
|
||||
'name': 'Monkeyport',
|
||||
'value': False,
|
||||
},
|
||||
'gorilla-gone': {
|
||||
'name': 'Gorilla Gone',
|
||||
'value': False,
|
||||
},
|
||||
},
|
||||
'shared_int': {
|
||||
'meta': {
|
||||
'orient': 'vertical',
|
||||
'type': 'int',
|
||||
},
|
||||
'slam': {
|
||||
'name': 'Slam',
|
||||
'value': 1,
|
||||
},
|
||||
'ammo-belt': {
|
||||
'name': 'Ammo Belt',
|
||||
'value': 1,
|
||||
},
|
||||
'instrument-upgrade': {
|
||||
'name': 'Instrument Upgrade',
|
||||
'value': 0,
|
||||
},
|
||||
'pearl': {
|
||||
'name': 'Pearl',
|
||||
'value': 0,
|
||||
},
|
||||
},
|
||||
'shared_bool': {
|
||||
'meta': {
|
||||
'orient': 'vertical',
|
||||
'type': 'bool',
|
||||
},
|
||||
'camera': {
|
||||
'name': 'Camera',
|
||||
'value': False,
|
||||
},
|
||||
'shockwave': {
|
||||
'name': 'Shockwave',
|
||||
'value': False,
|
||||
},
|
||||
'sniper-scope': {
|
||||
'name': 'Sniper Scope',
|
||||
'value': False,
|
||||
},
|
||||
'homing-ammo': {
|
||||
'name': 'Homing Ammo',
|
||||
'value': False,
|
||||
},
|
||||
'bean': {
|
||||
'name': 'Bean',
|
||||
'value': False,
|
||||
},
|
||||
},
|
||||
'level_costs': {
|
||||
'meta': {
|
||||
'orient': 'horizontal',
|
||||
'type': 'int',
|
||||
},
|
||||
'jungle-japes': {
|
||||
'name': 'Jungle Japes',
|
||||
'value': 0,
|
||||
},
|
||||
'angry-aztec': {
|
||||
'name': 'Angry Aztec',
|
||||
'value': 0,
|
||||
},
|
||||
'frantic-factory': {
|
||||
'name': 'Frantic Factory',
|
||||
'value': 0,
|
||||
},
|
||||
'gloomy-galleon': {
|
||||
'name': 'Gloomy Galleon',
|
||||
'value': 0,
|
||||
},
|
||||
'fungi-forest': {
|
||||
'name': 'Fungi Forest',
|
||||
'value': 0,
|
||||
},
|
||||
'crystal-caves': {
|
||||
'name': 'Crystal Caves',
|
||||
'value': 0,
|
||||
},
|
||||
'creepy-castle': {
|
||||
'name': 'Creepy Castle',
|
||||
'value': 0,
|
||||
},
|
||||
'hideout-helm': {
|
||||
'name': 'Hideout Helm',
|
||||
'value': 60,
|
||||
},
|
||||
},
|
||||
'level_order': {
|
||||
'meta': {
|
||||
'orient': 'horizontal',
|
||||
'type': 'list',
|
||||
'list': [
|
||||
'Jungle Japes',
|
||||
'Angry Aztec',
|
||||
'Frantic Factory',
|
||||
'Gloomy Galleon',
|
||||
'Fungi Forest',
|
||||
'Crystal Caves',
|
||||
'Creepy Castle',
|
||||
'Hideout Helm',
|
||||
],
|
||||
},
|
||||
'jungle-japes': {
|
||||
'value': 0,
|
||||
},
|
||||
'angry-aztec': {
|
||||
'value': 0,
|
||||
},
|
||||
'frantic-factory': {
|
||||
'value': 0,
|
||||
},
|
||||
'gloomy-galleon': {
|
||||
'value': 0,
|
||||
},
|
||||
'fungi-forest': {
|
||||
'value': 0,
|
||||
},
|
||||
'crystal-caves': {
|
||||
'value': 0,
|
||||
},
|
||||
'creepy-castle': {
|
||||
'value': 0,
|
||||
},
|
||||
'hideout-helm': {
|
||||
'value': 0,
|
||||
},
|
||||
},
|
||||
'keys': {
|
||||
'meta': {
|
||||
'orient': 'horizontal',
|
||||
'type': 'bool',
|
||||
},
|
||||
'key-1': {
|
||||
'name': 'Key 1',
|
||||
'value': False,
|
||||
},
|
||||
'key-2': {
|
||||
'name': 'Key 2',
|
||||
'value': False,
|
||||
},
|
||||
'key-3': {
|
||||
'name': 'Key 3',
|
||||
'value': False,
|
||||
},
|
||||
'key-4': {
|
||||
'name': 'Key 4',
|
||||
'value': False,
|
||||
},
|
||||
'key-5': {
|
||||
'name': 'Key 5',
|
||||
'value': False,
|
||||
},
|
||||
'key-6': {
|
||||
'name': 'Key 6',
|
||||
'value': False,
|
||||
},
|
||||
'key-7': {
|
||||
'name': 'Key 7',
|
||||
'value': False,
|
||||
},
|
||||
'key-8': {
|
||||
'name': 'Key 8',
|
||||
'value': False,
|
||||
},
|
||||
},
|
||||
'collectibles': {
|
||||
'meta': {
|
||||
'orient': 'vertical',
|
||||
'type': 'int',
|
||||
},
|
||||
'golden-banana': {
|
||||
'name': 'Golden Banana',
|
||||
'value': 0,
|
||||
},
|
||||
'banana-fairy': {
|
||||
'name': 'Banana Fairy',
|
||||
'value': 0,
|
||||
},
|
||||
'banana-medal': {
|
||||
'name': 'Banana Medal',
|
||||
'value': 0,
|
||||
},
|
||||
'battle-crown': {
|
||||
'name': 'Battle Crown',
|
||||
'value': 0,
|
||||
},
|
||||
},
|
||||
'shopkeepers': {
|
||||
'meta': {
|
||||
'orient': 'vertical',
|
||||
'type': 'bool',
|
||||
},
|
||||
'cranky': {
|
||||
'name': 'Cranky',
|
||||
'value': False,
|
||||
},
|
||||
'funky': {
|
||||
'name': 'Funky',
|
||||
'value': False,
|
||||
},
|
||||
'candy': {
|
||||
'name': 'Candy',
|
||||
'value': False,
|
||||
},
|
||||
'snide': {
|
||||
'name': 'Snide',
|
||||
'value': False,
|
||||
},
|
||||
},
|
||||
}
|
Reference in New Issue
Block a user