Container Tag Expression

From HLKitWiki
Jump to: navigation, search

Context: HL KitKit Reference … Tag Expression Types 

The role of the Container tag expression is to determine whether a structural element should be considered "live". When a structural element is "live", it is fully operational within over data hierarchy. When non-live, a structural element is treated as if it does not exist, so it is never shown to the user and no tasks associated with the element are processed in any way. All attempts to access or manipulate a non-live structure element via scripts will either be ignored or result in a run-time error.

The Container tag expression is always applied against the container of the structural element. In the case of a thing that has not yet been added to the portfolio, the tag expression is applied against the prospective container to which the thing will be added. The tag expression is compared against all of the tags possessed by the container, which includes the effects of all dynamically assigned and deleted tags. If the tag expression is satisfied, the structural element is considered live and behaves normally. Otherwise, the structural element is deemed non-live and its effects are ignored.

If the test occurs during the evaluation cycle, the test is applied against the current set of tags for the container. Consequently, it is critical that you pay attention to timing considerations and ensure that all the necessary tags are manipulated on the container prior to evaluating the tag expression.

The Container tag expression is applied whenever it is triggered. If that happens to be during the evaluation cycle, then it is applied during every evaluation cycle. This means it is possible to have structural elements dynamically change their live state in response to user actions. This in turn can cause structural elements to appear and disappear within the character, depending on how you setup your data files.