Changeset 255:d4928d4a661a for tools/area_editor.py
- Timestamp:
- 09/04/13 22:05:03 (9 years ago)
- Branch:
- default
- Phase:
- public
- Rebase:
- 36353137343065343635636631303134323062613435353535323934613430313065356232343536
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tools/area_editor.py
r251 r255 33 33 from nagslang.constants import SCREEN 34 34 from nagslang.level import Level, POLY_COLORS, LINE_COLOR 35 from nagslang.yamlish import load_s 35 36 import nagslang.enemies as ne 36 37 import nagslang.game_object as ngo … … 246 247 def __init__(self, classname, cls, data): 247 248 super(EditClassDialog, self).__init__() 249 self.classname = classname 248 250 self.rect = pygame.rect.Rect(0, 0, 800, 550) 249 251 title = Label("Editing %s" % classname) … … 264 266 if requirement in data: 265 267 field.set_text('%s' % data[requirement]) 266 elif 'args' in data :268 elif 'args' in data and requirement != 'name': 267 269 # NB: The ordering assumptions in requires should make 268 270 # this safe, but it's really, really, really fragile 269 field.set_text('%s' % data['args'][index]) 270 index += 1 271 try: 272 field.set_text('%s' % data['args'][index]) 273 index += 1 274 except IndexError: 275 # Assumed to be arguments with the default value 276 pass 271 277 self.fields[requirement] = field 272 278 hintlabel = Label(hint) … … 283 289 284 290 def get_data(self): 285 return '' 291 result = {} 292 result['classname'] = self.classname 293 args = [] 294 # We arrange to bounce this through yaml'ish to convert 295 # stuff to the expected type 296 for val in self.fields: 297 text = self.fields[val].get_text() 298 if not text: 299 # skip empty fields 300 continue 301 if val == 'name': 302 result['name'] = text 303 else: 304 args.append(' - ' + text) 305 data = "args:\n" + '\n'.join(args) 306 result['args'] = load_s(data)['args'] 307 return result 286 308 287 309
Note:
See TracChangeset
for help on using the changeset viewer.