JSONify Enemizer options

Fix set_sprite when cancelling custom sprite file selector
This commit is contained in:
Mike A. Trethewey
2020-02-17 00:45:37 -08:00
parent 663ed3442a
commit 20bc14ba12
6 changed files with 113 additions and 94 deletions

View File

@@ -94,7 +94,7 @@ def adjust_page(top, parent, settings):
spriteEntry2 = Label(spriteDialogFrame2, textvariable=self.spriteNameVar2)
self.sprite = None
def set_sprite(sprite_param, random_sprite):
def set_sprite(sprite_param, random_sprite=False):
if sprite_param is None or not sprite_param.valid:
self.sprite = None
self.spriteNameVar2.set('(unchanged)')

View File

@@ -1,6 +1,8 @@
import os
from tkinter import ttk, filedialog, IntVar, StringVar, Button, Checkbutton, Entry, Frame, Label, LabelFrame, OptionMenu, N, E, W, LEFT, RIGHT, X
import gui.widgets as widgets
import json
import os
def enemizer_page(parent,settings):
# Enemizer
@@ -9,19 +11,12 @@ def enemizer_page(parent,settings):
# Enemizer options
self.widgets = {}
myDict = {
## Pot Shuffle
"potshuffle": {
"type": "checkbox",
"label": {
"text": "Pot Shuffle"
}
}
}
dictWidgets = widgets.make_widgets_from_dict(self, myDict, self)
for key in dictWidgets:
self.widgets[key] = dictWidgets[key]
self.widgets[key].pack(anchor=W)
with open(os.path.join("resources","app","gui","randomize","enemizer","checkboxes.json")) as checkboxes:
myDict = json.load(checkboxes)
dictWidgets = widgets.make_widgets_from_dict(self, myDict, self)
for key in dictWidgets:
self.widgets[key] = dictWidgets[key]
self.widgets[key].pack(anchor=W)
## Enemizer CLI Path
enemizerPathFrame = Frame(self)
@@ -47,85 +42,18 @@ def enemizer_page(parent,settings):
leftEnemizerFrame.pack(side=LEFT, anchor=N)
rightEnemizerFrame.pack(side=RIGHT, anchor=N)
myDict = {
## Randomize Enemies
"enemyshuffle": {
"type": "selectbox",
"label": {
"text": "Enemy Shuffle"
},
"packAttrs": {
"label": { "side": LEFT },
"selectbox": { "side": RIGHT }
},
"options": {
"Vanilla": "none",
"Shuffled": "shuffled",
"Chaos": "chaos"
}
},
## Randomize Bosses
"bossshuffle": {
"type": "selectbox",
"label": {
"text": "Boss Shuffle"
},
"packAttrs": {
"label": { "side": LEFT },
"selectbox": { "side": RIGHT }
},
"options": {
"Vanilla": "none",
"Basic": "basic",
"Shuffled": "shuffled",
"Chaos": "chaos"
}
}
}
dictWidgets = widgets.make_widgets_from_dict(self, myDict, leftEnemizerFrame)
for key in dictWidgets:
self.widgets[key] = dictWidgets[key]
self.widgets[key].pack(anchor=E)
with open(os.path.join("resources","app","gui","randomize","enemizer","leftEnemizerFrame.json")) as leftEnemizerFrameItems:
myDict = json.load(leftEnemizerFrameItems)
dictWidgets = widgets.make_widgets_from_dict(self, myDict, leftEnemizerFrame)
for key in dictWidgets:
self.widgets[key] = dictWidgets[key]
self.widgets[key].pack(anchor=E)
myDict = {
## Enemy Damage
"enemydamage": {
"type": "selectbox",
"label": {
"text": "Enemy Damage"
},
"packAttrs": {
"label": { "side": LEFT },
"selectbox": { "side": RIGHT }
},
"options": {
"Vanilla": "default",
"Shuffled": "shuffled",
"Chaos": "chaos"
}
},
## Enemy Health
"enemyhealth": {
"type": "selectbox",
"label": {
"text": "Enemy Health"
},
"packAttrs": {
"label": { "side": LEFT },
"selectbox": { "side": RIGHT }
},
"options": {
"Vanilla": "default",
"Easy": "easy",
"Normal": "normal",
"Hard": "hard",
"Expert": "expert"
}
}
}
dictWidgets = widgets.make_widgets_from_dict(self, myDict, rightEnemizerFrame)
for key in dictWidgets:
self.widgets[key] = dictWidgets[key]
self.widgets[key].pack(anchor=E)
with open(os.path.join("resources","app","gui","randomize","enemizer","rightEnemizerFrame.json")) as rightEnemizerFrameItems:
myDict = json.load(rightEnemizerFrameItems)
dictWidgets = widgets.make_widgets_from_dict(self, myDict, rightEnemizerFrame)
for key in dictWidgets:
self.widgets[key] = dictWidgets[key]
self.widgets[key].pack(anchor=E)
return self,settings

View File

@@ -176,7 +176,7 @@ def gameoptions_page(top, parent):
return self
def set_sprite(sprite_param, random_sprite, spriteSetter=None, spriteNameVar=None, randomSpriteVar=None):
def set_sprite(sprite_param, random_sprite=False, spriteSetter=None, spriteNameVar=None, randomSpriteVar=None):
if sprite_param is None or not sprite_param.valid:
if spriteSetter:
spriteSetter(None)