Initial Upload

This commit is contained in:
=
2024-08-14 14:38:39 -06:00
parent 13f8759800
commit c6ef3548e0
6 changed files with 489 additions and 0 deletions

0
.gitignore vendored Normal file → Executable file
View File

0
LICENSE Normal file → Executable file
View File

0
README.md Normal file → Executable file
View File

113
components/mainWindow.py Executable file
View 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
View 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,
},
},
}

9
main.py Executable file
View File

@@ -0,0 +1,9 @@
import sys
from PyQt6.QtWidgets import QApplication, QWidget
from components.mainWindow import MainWindow
app = QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec())