Display Sets

Display Sets werden benutzt um die Umgebungsdarstellung zu verändern. Hierbei gibt es zwei verschiedene Typen:

  • Einzelaufrufsequenten
  • Jobsequenzen

Auf beide werde ich nun genauer eingehen.

Einzelaufrufsequenz

Hierunter ist ein Display Set zu verstehen, dass nur einmal aufgerufen werden muss. Dazu zählen z.B. die Jahreszeiten. Es folgt eine Liste dieser Display Sets. Dabei habe ich keinen Anspruch auf vollständigkeit…

as_spring.xml
as_summer.xml
as_fall.xml
as_winter.xml
as_springrain.xml
as_summerrain.xml
as_fallrain.xml
as_winterrain.xml
as_spring_cs.xml
as_summer_cs.xml
as_fall_cs.xml
as_winter_cs.xml
as_springrain_cs.xml
as_summerrain_cs.xml
as_fallrain_cs.xml
as_winterrain_cs.xml

me_spring.xml
me_summer.xml
me_fall.xml
me_winter.xml
me_springrain.xml
me_summerrain.xml
me_fallrain.xml
me_winterrain.xml
me_spring_cs.xml
me_summer_cs.xml
me_fall_cs.xml
me_winter_cs.xml
me_springrain_cs.xml
me_summerrain_cs.xml
me_fallrain_cs.xml
me_winterrain_cs.xml

ne_spring.xml
ne_summer.xml
ne_fall.xml
ne_winter.xml
ne_springrain.xml
ne_summerrain.xml
ne_fallrain.xml
ne_winterrain.xml
ne_spring_cs.xml
ne_summer_cs.xml
ne_fall_cs.xml
ne_winter_cs.xml
ne_springrain_cs.xml
ne_summerrain_cs.xml
ne_fallrain_cs.xml
ne_winterrain_cs.xml

se_spring.xml
se_summer.xml
se_fall.xml
se_winter.xml
se_springrain.xml
se_summerrain.xml
se_fallrain.xml
se_winterrain.xml
se_spring_cs.xml
se_summer_cs.xml
se_fall_cs.xml
se_winter_cs.xml
se_springrain_cs.xml
se_summerrain_cs.xml
se_fallrain_cs.xml
se_winterrain_cs.xml

na_spring.xml
na_summer.xml
na_fall.xml
na_winter.xml
na_springrain.xml
na_summerrain.xml
na_fallrain.xml
na_winterrain.xml
na_spring_cs.xml
na_summer_cs.xml
na_fall_cs.xml
na_winter_cs.xml
na_springrain_cs.xml
na_summerrain_cs.xml
na_fallrain_cs.xml
na_winterrain_cs.xml

default_neutral.xml
emptysequence.xml 
ThroneRoom.xml
throneroom_as.xml

Jobsequenz

Diese Sequenzen müssen immer wieder neu aufgerufen werden ("abgespielt" werden). Das bewerktstelligt man am Besten in einen Job. Es folgt eine Liste aller abspielbaren Sequenzen, wieder ohne Anspruch auf Vollständigkeit:

cloudy2stormy.xml
me_special_black.xml
me_special_sundawn.xml
as_permanentmonsoon.xml
as_permanentspring.xml
as_storm.xml
as_storm_lightning.xml
me_storm.xml
me_storm_lightning.xml
ne_storm.xml
ne_storm_lightning.xml
se_storm.xml
se_storm_lightning.xml
na_storm.xml
na_storm_lightning.xml
lightning.xml
lightning_cs.xml
lightning_faraway.xml

Ergänzungen

Es ist zu beachten, dass die Sequenzen nicht immer das machen, was ihr Name vermuten lässt. So erzeugt lightning_cs.xml zum Beispiel keinen Blitz sondern eine Nacht.

Aufgerufen werden "Einzelaufrufsequenzen" mit Display.SetExplicitEnvironmentSettings und "Jobsequenzen" mit Display.PlayEnvironmentSettingsSequence.

Anwendungsbeispiel Jobsequenz

Dieser Code kommt in die lokale Umgebung:

function StartNight(_duration)--- in lokal.lua      
    NightSequence = Display.AddEnvironmentSettingsSequence("lightning_cs.xml")  --  xx  lightning_cs.xml (grelles Mondlicht) x:lightning_faraway.xml(sanfte Dunkelheit)
    Display.PlayEnvironmentSettingsSequence(NightSequence, _duration) --alt
    Sound.SetFXAtmoVolume(0)  --Atmosphäre aus
    IsSaveGameDisabled = true
    local MenueID = XGUIEng.GetWidgetID("/InGame/Root/Normal/AlignTopRight/MainMenuButton")
    XGUIEng.ShowWidget(MenueID, 0)    
    local SaveGameID = XGUIEng.GetWidgetID("/InGame/InGame/MainMenu/Container/SaveGame")
    XGUIEng.ShowWidget(SaveGameID, 0)
    local QuickSaveID = XGUIEng.GetWidgetID("/InGame/InGame/MainMenu/Container/QuickSave")
    XGUIEng.ShowWidget(QuickSaveID, 0)
end

function StopNight()--- in lokal.lua      
    Display.StopAllEnvironmentSettingsSequences()
    Sound.SetFXAtmoVolume(1)  --Atmosphäre ein 
    IsSaveGameDisabled = false
    local MenueID = XGUIEng.GetWidgetID("/InGame/Root/Normal/AlignTopRight/MainMenuButton")
    XGUIEng.ShowWidget(MenueID, 1)    
    local QuickSaveID = XGUIEng.GetWidgetID("/InGame/InGame/MainMenu/Container/QuickSave")
    XGUIEng.ShowWidget(QuickSaveID, 1)
    local SaveGameID = XGUIEng.GetWidgetID("/InGame/InGame/MainMenu/Container/SaveGame")
    XGUIEng.ShowWidget(SaveGameID, 1)
end

Aufruf bzw. abschalten global:

function NachtStart() ---in global.lua
    Logic.ExecuteInLuaLocalState("StartNight(2000)"); --- Dämmerungsdauer, je niedriger um so schneller
end
function NachtStop()  ---in global.lua
    Logic.ExecuteInLuaLocalState("StopNight()");
end

Leider bewirkt die Abschaltung kein sanftes Dimmen sondern erfolgt abrupt.

Zurück zu Grundlagen und Werkzeuge | Drucken | Tags
Sofern nicht anders angegeben, steht der Inhalt dieser Seite unter Lizenz Creative Commons Attribution-ShareAlike 3.0 License