Es gibt bei EGuiControl 3 Varianten die man in der Schiffs-Page anwenden kann (können sollte):
- ShipPage_HelmControlForm
- ShipPage_HelmControlTable
- ShipPage_LRSTable
Zumindest deutet der Name drauf hin :>
Unten ist ein kleines BeispielScript, basierend auf Arakis 1x1 LRS-Script. Das macht nichts anderes als eine UserContext-Zeile auszugeben wenn der Event getriggert ist. Scheinbar ist es aber so, das genau diese 3 Events nicht implementiert sind(?) oder komplett anders genutzt werden müssen.
Hat jemand damit schon (positive) Erfahrung gesammelt? Vorschläge? Ideen?
Ziel ist es die LRS-Map ein wenig Augenfreundlicher zu gestalten... -.-
__________________________________________
#UseInterface Web, Gui;
Function Init()
{
ScriptContext.EnableExtension();
Var ShipListFilter As CGuiEventFilter = CGuiEventFilter.Create().AddControl(EGuiControl.Sh ipList_ShipTable);
Var HelmTableFilter As CGuiEventFilter = CGuiEventFilter.Create().AddControl(EGuiControl.Sh ipPage_HelmControlTable);
Var HelmFormFilter As CGuiEventFilter = CGuiEventFilter.Create().AddControl(EGuiControl.Sh ipPage_HelmControlForm);
Var LRSFilter As CGuiEventFilter = CGuiEventFilter.Create().AddControl(EGuiControl.Sh ipPage_LRSTable);
Var ShipPageFilter As CGuiEventFilter = CGuiEventFilter.Create().AddPage(EGuiPage.Ship);
ScriptContext.RegisterEvent(EGuiEventType.TableBef oreCreate, AddressOf CallBack_TableBeforeCreate, HelmTableFilter); ScriptContext.RegisterEvent(EGuiEventType.TableAft erCreate, AddressOf CallBack_TableAfterCreate, HelmTableFilter);
ScriptContext.RegisterEvent(EGuiEventType.TableBef oreCreate, AddressOf CallBack_TableBeforeCreate, LRSFilter);
ScriptContext.RegisterEvent(EGuiEventType.TableAft erCreate, AddressOf CallBack_TableAfterCreate, LRSFilter);
ScriptContext.RegisterEvent(EGuiEventType.TableBef oreCreate, AddressOf CallBack_TableBeforeCreate, HelmFormFilter);
ScriptContext.RegisterEvent(EGuiEventType.TableAft erCreate, AddressOf CallBack_TableAfterCreate, HelmFormFilter);
ScriptContext.RegisterEvent(EGuiEventType.TableBef oreCreate, AddressOf CallBack_TableBeforeCreate, ShipListFilter);
ScriptContext.RegisterEvent(EGuiEventType.TableAft erCreate, AddressOf CallBack_TableAfterCreate, ShipListFilter);
ScriptContext.RegisterEvent(EGuiEventType.InfoBarA fterCreate, AddressOf CallBack_InfoBarAfterCreate, ShipPageFilter);
ScriptContext.ActivateEvents();
ScriptContext.WriteAppLog("Script gestartet...");
}
Function CallBack_TableBeforeCreate(e As CGuiEventOnTableBeforeCreate)
{
ScriptContext.WriteAppLog("TableBeforCreate erreicht...");
}
Function CallBack_TableAfterCreate(e As CGuiEventOnTableAfterCreate)
{
ScriptContext.WriteAppLog("TableAfterCreate erreicht...");
}
Function CallBack_InfoBarAfterCreate(e As CGuiEventOnInfoBarAfterCreate)
{
ScriptContext.WriteAppLog("InfoBarAfterCreate erreicht...");
}
Init();