forked from increpare/PuzzleScript
-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
expansionany expansion mechanismany expansion mechanismfeatureNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededmappingsAnything that concerns mappingsAnything that concerns mappingsquestionFurther information is requestedFurther information is requestedsprite manipulationscopying and transforming spritescopying and transforming spritessyntax/languageConcerns the language or its syntaxConcerns the language or its syntax
Description
In the two syntaxes currently existing that introduce expansion contexts (see #56), add something to:
- Distinguish the parameters of the expansion context that have the same name but should be expanded independently (for the identifier-based syntax only).
- Allow things that will be expanded (object names, sprite transforms) to specify which one of the similarly-named parameters they refer to (including when using mappings).
- Allow things that will be expanded to specify that they use a tag class or property that should not be expanded despite having the same name than one of the expansion parameters.
- Only trigger the error about duplicated parameters when they are not disambiguated with the syntax from point 2.
The goal is:
- To extend the possible usages of the expansion mechanism.
- To avoid declaring synonyms of tag classes and properties, or duplicating mappings, just for the purpose of avoid conflicts with expansion parameters.
- To make the game's code more readable, less ambiguous.
- To allow identifier-based expansion to define that two different tags should have the same value when expanded or that one should be a mapping of the other.
- To allow distinguishing between mappings applying to the rule's direction and those applying to the
directions
rule parameter.
Metadata
Metadata
Assignees
Labels
expansionany expansion mechanismany expansion mechanismfeatureNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededmappingsAnything that concerns mappingsAnything that concerns mappingsquestionFurther information is requestedFurther information is requestedsprite manipulationscopying and transforming spritescopying and transforming spritessyntax/languageConcerns the language or its syntaxConcerns the language or its syntax