FR API UO GetGlobal - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
UO.GetGlobal
Signatures C#
string UO.GetGlobal(object? name);
dynamic UO.GetGlobal(object? globalRegion, object? varName);
Comportement et résultat
SetGlobal et GetGlobal partagent les valeurs entre tous les scripts, profils et processus Full Client/Client. Les valeurs sont des chaînes ; une clé absente donne "N/A". La casse compte ; les formes region utilisent region/name. Manager/Game Manager/CSharp/globals.json persiste et se relit sous verrou interprocessus. Les formes Shared utilisent le même stockage.
Paramètres
globalRegion— Espace de noms associé au nom de clé.name— Nom de clé partagée sensible à la casse.varName— Nom de clé partagée sensible à la casse.
Chaque bloc est un .csx complet. Remplacez les serials, types et coordonnées de démonstration. L’ordre et les arguments C# nommés suivent la signature.
Commandes de discussion
#getglobal team.target
#get global team.message
Exemples C# complets
Chaque bloc est un .csx complet. Remplacez les serials, types et coordonnées de démonstration. L’ordre et les arguments C# nommés suivent la signature.
1
string value = UO.GetGlobal("team.target");
UO.Print(value);
2
string value = UO.GetGlobal("team.delay");
if (int.TryParse(value, out int milliseconds))
UO.Print(milliseconds.ToString());
3
UO.Print(Convert.ToString(UO.GetGlobal("team", "delay")));
4
new CommandSample().Execute(UO);
sealed class CommandSample
{
public void Execute(global::ClassicUO.CSharp.CSharpGameApi api)
{
string value = api.GetGlobal("team.target");
api.Print(value);
}
}
Appels internes
CSharpGameApi.GetGlobal
-> CSharpScriptGlobals
-> InjectionScript.Runtime.InjectionApiUO.RegisterClientApiCompatibility
-> InjectionScript.Runtime.State.Globals.GetGlobal
Globals -> SharedGlobalStore -> named mutex -> atomic JSON replacement