LangVisibility (CMS)
From The Official Visionaire Studio: Adventure Game Engine Wiki
Name | Type | By |
---|---|---|
langVisibility(duration, easing) | Definition | AFRLme |
This small function allows you to quickly adjust the visibility of all scene objects containing language names in them.
Quick note: this function is slow & should only be called at begin of scene if the scene is faded in & not shown immediately; other than that feel free to use it however you like. |
Instructions
1. Add the main script to the Visionaire Studio Script Editor & set the script as a definition script.
2a. Usage example #1: immediately update visibility of all objects containing active language name to 100%; set objects with other language names to 0%.
langVisibility()
2b. Usage example #2: update visibility over 1000ms for all objects containing active language name to 100%; set objects with other language names to 0%.
langVisibility(1000)
Main Script
local obj = {} -- init obj table
function langVisibility(duration, easing)
duration = duration or 0 -- fallback in case duration equals nil
easing = easing or easeLinearInOut -- fallback in case duration equals nil
obj = game.CurrentScene.Objects -- store current scene objects
-- + --
for i = 1, #obj do -- iterate through the current scene objects table
for a = 1, #game.Languages do -- iterate through language tables
if string.find( string.lower( obj[i]:getName() ), string.lower( game.Languages[a]:getName() ) ) then -- language found
if game.StandardLanguage == game.Languages[a] then -- language is current language
obj[i]:to(duration, {Visibility = 100}, easing) -- set visibility of currently listed scene object to 100%
else -- language is not current language
obj[i]:to(duration, {Visibility = 0}, easing) -- set visibility of currently listed scene object to 0%
end
end
end
end
end
Syntax Breakdown
Name | Type | Description |
---|---|---|
duration | integer | This should contain a number value in milliseconds of how long you want the visibility to take to change from the current value to the target value. |
easing | integer | This should contain a number value, or the variable name of the easing type that you want to use. Here is a list of available easing options. |