Make entire section contents sensitive to the context of the current player character.
You'd want to be able to mark a section as 'character context sensitive', whereby the objects in that section that you see also point to a particular parent object, and when that object is the active Character WorldObject, then you see the objects that character has encountered.
Quest lists would be a great example of this.
This should be possible by using the WorldObject.parent_object field (which would point to a character object), in conjunction with, perhaps, a boolean field on all WorldObjectProperties that allow you to indicate that a given WorldObject is a player character.
The downside to being able to mark arbitrary objects as player characters is, of course, that it's an extra field on every single object. Perhaps it would be useful, in just this one case, to use STI to create a Character class that will have, and display is its edit form, this very field.
Make entire section contents sensitive to the context of the current player character.
You'd want to be able to mark a section as 'character context sensitive', whereby the objects in that section that you see also point to a particular parent object, and when that object is the active Character WorldObject, then you see the objects that character has encountered.
Quest lists would be a great example of this.
This should be possible by using the
WorldObject.parent_object
field (which would point to a character object), in conjunction with, perhaps, a boolean field on allWorldObjectProperties
that allow you to indicate that a given WorldObject is a player character.The downside to being able to mark arbitrary objects as player characters is, of course, that it's an extra field on every single object. Perhaps it would be useful, in just this one case, to use STI to create a
Character
class that will have, and display is its edit form, this very field.