JasonLautzenheiser / trizbort

Trizbort, the Interactive Fiction Mapper
http://www.trizbort.com
Other
130 stars 35 forks source link

Major Feature Request: Ability to set list of properties for each object #475

Open greysondn opened 5 years ago

greysondn commented 5 years ago

For example, I'd like to declare that each room has a height, width, and depth. Or that each transition (doorway) has a size limitation. Then the editor would show those as fields I could edit on each room, doorway, and so on.

I'm aware this is not a simple or small feature. I'm not optimistic about it being implemented, or about it being implemented any time soon.

github-actions[bot] commented 4 years ago

Stale issue message

MidiHax commented 3 years ago

I've got a candidate solution for this feature. Will fork and submit a PR.

My implementation is very basic: You can define, at the Map Settings level, a set of "Custom Attributes". These attributes are basically just named strings (ex. "Wall Material", "Water Depth", "Tunnel Collapse Risk", etc). You can specify different sets of Custom Attribute Definitions for Rooms and Connections. The list of Custom Attributes Definitions can also be imported/exported (as plain text files) to make it easier to move your attribute definitions about. The properties dialogs for Rooms and Connections have new tabs that allow you to edit the instance values for the Custom Attributes you've defined. There currently is no validation but that could be added on. Also, all the values are stored as strings but I did include a bit of future proofing if we want to expand to numeric types, etc which could aid validation. I did not update any of the Exporters to include the Custom Attributes but that can also be easily updated for platforms that can utilize them.

ghost commented 3 years ago

I really like this feature. A "geometer" character would be interesting to create in some world-settings. I'm thinking in particular of a character from the classic The Manuscript Found in Saragossa and, in general, of works like Hypnerotomachia Poliphili in which there's a strange fixation on measurements.

JasonLautzenheiser commented 3 years ago

I'm beginning to review this feature and the PR that @MidiHax created #521