ChoicescriptIDE / ChoicescriptIDE/cslib

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

Open
#44 0 comments 0 reactions 0 assignees View on GitHub
enhancement good first issue
Dominant language
JavaScript
Stars
6
Forks
3
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.