>edit
found> [Room room.mike.seven) … Default Value]
__________________________________________________________________________
_ROOM_EDITOR: [ROOM ROOM.MIKE.SEVEN) … DEFAULT VALUE]________________
[vtag]: room.mike.seven
[zone]: [Zone first.area … Default Area Name]
[name]: Default Value
[sector]: sect_city
[flags]: [ ]hidden
==========================================================================
[description]:
There is little unique to be seen here.
—-
[exit east]: [Room room.mike.ait) … Default Value]
[exit west]: [Room room.india.siks) … Default Value]
==========================================================================
[DELETE]: Deletes Entire Room
==========================================================================
[done]
[12:45PM]>
class Room
define_editor :room_editor
define_editor_field({:name=>"vtag", :filter=>:filt_to_tag, :type=>:vtag})
define_editor_field({:name=>"zone", :filter=>:filt_to_area, :type=>:namespace})
define_editor_field({:name=>"name", :filter=>:filt_none})
define_editor_field({:name=>"sector", :filter=>:filt_to_sect})
define_editor_field({:name=>"flags", :filter=>:filt_to_flag, :filter_key=>$room_flags, :type=>:flags})
# <snip>
end
Adding to additional classes shouldn't be too difficult. Obviously I have to add to filter definitions for various things.
This entire thing assumes the editor syntax of "command value1 value2 value3" etc. It doesn't support multiple line interface and decision trees.
Oh, and in most cases the flags are not needed to be set nor the command name field. The command name if it isn't set is the same as the variable name.