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) spriteEntry2 = Label(spriteDialogFrame2, textvariable=self.spriteNameVar2)
self.sprite = None 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: if sprite_param is None or not sprite_param.valid:
self.sprite = None self.sprite = None
self.spriteNameVar2.set('(unchanged)') self.spriteNameVar2.set('(unchanged)')

View File

@@ -1,6 +1,8 @@
import os import os
from tkinter import ttk, filedialog, IntVar, StringVar, Button, Checkbutton, Entry, Frame, Label, LabelFrame, OptionMenu, N, E, W, LEFT, RIGHT, X 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 gui.widgets as widgets
import json
import os
def enemizer_page(parent,settings): def enemizer_page(parent,settings):
# Enemizer # Enemizer
@@ -9,19 +11,12 @@ def enemizer_page(parent,settings):
# Enemizer options # Enemizer options
self.widgets = {} self.widgets = {}
myDict = { with open(os.path.join("resources","app","gui","randomize","enemizer","checkboxes.json")) as checkboxes:
## Pot Shuffle myDict = json.load(checkboxes)
"potshuffle": { dictWidgets = widgets.make_widgets_from_dict(self, myDict, self)
"type": "checkbox", for key in dictWidgets:
"label": { self.widgets[key] = dictWidgets[key]
"text": "Pot Shuffle" self.widgets[key].pack(anchor=W)
}
}
}
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 ## Enemizer CLI Path
enemizerPathFrame = Frame(self) enemizerPathFrame = Frame(self)
@@ -47,85 +42,18 @@ def enemizer_page(parent,settings):
leftEnemizerFrame.pack(side=LEFT, anchor=N) leftEnemizerFrame.pack(side=LEFT, anchor=N)
rightEnemizerFrame.pack(side=RIGHT, anchor=N) rightEnemizerFrame.pack(side=RIGHT, anchor=N)
myDict = { with open(os.path.join("resources","app","gui","randomize","enemizer","leftEnemizerFrame.json")) as leftEnemizerFrameItems:
## Randomize Enemies myDict = json.load(leftEnemizerFrameItems)
"enemyshuffle": { dictWidgets = widgets.make_widgets_from_dict(self, myDict, leftEnemizerFrame)
"type": "selectbox", for key in dictWidgets:
"label": { self.widgets[key] = dictWidgets[key]
"text": "Enemy Shuffle" self.widgets[key].pack(anchor=E)
},
"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)
myDict = { with open(os.path.join("resources","app","gui","randomize","enemizer","rightEnemizerFrame.json")) as rightEnemizerFrameItems:
## Enemy Damage myDict = json.load(rightEnemizerFrameItems)
"enemydamage": { dictWidgets = widgets.make_widgets_from_dict(self, myDict, rightEnemizerFrame)
"type": "selectbox", for key in dictWidgets:
"label": { self.widgets[key] = dictWidgets[key]
"text": "Enemy Damage" self.widgets[key].pack(anchor=E)
},
"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)
return self,settings return self,settings

View File

@@ -176,7 +176,7 @@ def gameoptions_page(top, parent):
return self 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 sprite_param is None or not sprite_param.valid:
if spriteSetter: if spriteSetter:
spriteSetter(None) spriteSetter(None)

View File

@@ -0,0 +1,8 @@
{
"potshuffle": {
"type": "checkbox",
"label": {
"text": "Pot Shuffle"
}
}
}

View File

@@ -0,0 +1,41 @@
{
"enemyshuffle": {
"type": "selectbox",
"label": {
"text": "Enemy Shuffle"
},
"packAttrs": {
"label": {
"side": "left"
},
"selectbox": {
"side": "right"
}
},
"options": {
"Vanilla": "none",
"Shuffled": "shuffled",
"Chaos": "chaos"
}
},
"bossshuffle": {
"type": "selectbox",
"label": {
"text": "Boss Shuffle"
},
"packAttrs": {
"label": {
"side": "left"
},
"selectbox": {
"side": "right"
}
},
"options": {
"Vanilla": "none",
"Basic": "basic",
"Shuffled": "shuffled",
"Chaos": "chaos"
}
}
}

View File

@@ -0,0 +1,42 @@
{
"enemydamage": {
"type": "selectbox",
"label": {
"text": "Enemy Damage"
},
"packAttrs": {
"label": {
"side": "left"
},
"selectbox": {
"side": "right"
}
},
"options": {
"Vanilla": "default",
"Shuffled": "shuffled",
"Chaos": "chaos"
}
},
"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"
}
}
}