Skip to content

Extend cslib_object's get_by_field and get (by index) methods to take a custom main instance prefix #44

@CareyJWilliams

Description

@CareyJWilliams

Currently both of these functions expect you to have a single "main" instance, consisting of a

For example, for this definition:

*create dragon_id ""
*create dragon_field_1 "name"
*create dragon_field_2 "hit_points"
*create dragon_field_max 2

You're expected to define:

*create dragon_name ""
*create dragon_hit_points ""

And this is where both get routines will put the relevant values, when called as normal:

*gosub_scene cslib_object get "dragon" 2
or
*gosub_scene cslib_object get_by_field "dragon" "name" "Locke" 

It should be possible to add an extra parameter to both of the get functions which allows the user to specify a custom main instance with a different name, e.g.:

*gosub_scene cslib_object get "dragon" 2 "baby_dragon"
or
*gosub_scene cslib_object get_by_field "dragon" "name" "Locke" "baby_dragon"

These two examples would attempt to populate the following variables (instead of the object-named main instance):

*create baby_dragon_name ""
*create baby_dragon_hit_points ""

Of course, this name could be any valid string: giving a lot of flexibility back to the user.
For backwards compatibility (and convenience), if this last parameter isn't provide, we should still default to the main instance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions