The idea is to reduce the amount you need to type.
No. The idea is a clear, logic and readable code I think. At the moment the mix of functions, long strings and attached methods to set a simple value for example is very hard to read and not in the sense of an object-oriented language:
getObject("Characters[jacob].CharacterValues[money]"):setValue(VValueInt, 20)
The "shorthand" method is clean, logic and easy to read, like any other object-oriented language. This follows a simple and logic tree structure:
Characters["jacob"].CharacterValues["money"].Int = 20
This is optimal! But the developers should use a consistent name convention! See the .Int in the last example. A "Character" has the following parameters:
Character: (see
here)
*
CharacterActions
*
CharacterConditions
*
CharacterDialogs
*
CharacterFont
*
CharacterValues
*
CharacterOutfits
* ... and so on
The data type of "CharacterValues" is a link to a "Value". And a "Value" has the following parameters:
Value: (see
here)
*
ValueInt
*
ValueRandom
*
ValueRandomMax
*
ValueRandomMin
*
ValueString
Therefore, the correct syntax should be:
Characters["jacob"].CharacterValues["money"].ValueInt = 20
Characters["jacob"].CharacterValues["money"].ValueString = "Euro"
If you shorten your name convention, then you should
short it consistently by removing the redundant prefixes, like that:
Characters["jacob"].
CharacterValues["money"].
ValueInt = 20
Characters["jacob"].
CharacterValues["money"].
ValueString = "Euro"
Characters["jacob"].Values["money"].Int = 20
Characters["jacob"].Values["money"].String = "Euro"
The last one is the optimal thing but I can live with the long version above. But a consistent and documented naming convention (without arbitrariness and without compromises) is extremely important in my eyes!