Repository navigation
KO Runtime Helpers 6
uk · ru · en · de · fr · it · es · zh-tw · ja · ko
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
표시된 호출 및 상태 변경을 수행합니다.
매개변수: listener
소스: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:239.
private void Remove(Listener listener)
결과: void.
호출: listeners.Remove, listener.Source.Dispose.
조건: listener.Closed.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private void Remove(Listener listener)
{
lock (sync) { if (listener.Closed) return; listener.Closed = true; listeners.Remove(listener); }
listener.Source.Dispose();
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: name
소스: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:386.
private void RemoveState(string name)
결과: void.
호출: stateEvents.Remove, .Dispose.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private void RemoveState(string name)
{
StateEvent? state;
lock (sync) { stateEvents.Remove(name, out state); }
state?.Subscription?.Dispose();
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.CSharp/CSharpScriptEngine.cs:576.
internal static void VerifyActive()
결과: void.
호출: .Verify.
조건: CurrentFinalization.Value?.IsActive == true.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal static void VerifyActive()
{
Current.Value?.Verify();
if (CurrentFinalization.Value?.IsActive == true)
throw new InvalidOperationException("Game API calls are unavailable from a CLR finalizer.");
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: value
소스: Project_Full/src/ClassicUO.Client/Configuration/ProfileManager.cs:311.
private static string EncodePathSegment(string value)
결과: string.
결과: "UnknownServer"; result.
호출: string.IsNullOrWhiteSpace, IsWindowsTrimmedSuffix, builder.Append('~').Append, builder.Append, ((int)character).ToString, builder.ToString, result.Split, baseName.Equals.
조건: string.IsNullOrWhiteSpace(value); windowsInvalid || windowsTrimmedAtEnd; `baseName.Equals("CON", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("PRN", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("AUX", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("NUL", StringComparison.OrdinalIgnoreCase)
|| baseName.Length == 4
&& (baseName.StartsWith("COM", StringComparison.OrdinalIgnoreCase)
|| baseName.StartsWith("LPT", StringComparison.OrdinalIgnoreCase))
&& baseName[3] is >= '1' and <= '9'`.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static string EncodePathSegment(string value)
{
if (string.IsNullOrWhiteSpace(value))
return "UnknownServer";
var builder = new StringBuilder(value.Length);
for (int index = 0; index < value.Length; index++)
{
char character = value[index];
bool windowsInvalid = character < 32
|| character is '<' or '>' or ':' or '"' or '/' or '\\' or '|' or '?' or '*' or '~';
bool windowsTrimmedAtEnd = (character == '.' || character == ' ')
&& IsWindowsTrimmedSuffix(value, index);
if (windowsInvalid || windowsTrimmedAtEnd)
builder.Append('~').Append(((int)character).ToString("X4"));
else
builder.Append(character);
}
string result = builder.Length == 0 ? "UnknownServer" : builder.ToString();
string baseName = result.Split('.')[0];
if (baseName.Equals("CON", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("PRN", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("AUX", StringComparison.OrdinalIgnoreCase)
|| baseName.Equals("NUL", StringComparison.OrdinalIgnoreCase)
|| baseName.Length == 4
&& (baseName.StartsWith("COM", StringComparison.OrdinalIgnoreCase)
|| baseName.StartsWith("LPT", StringComparison.OrdinalIgnoreCase))
&& baseName[3] is >= '1' and <= '9')
{
result = "~005F" + result;
}
return result;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1388.
public void ActivateHandle()
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => SDL3.SDL.SDL_RaiseWindow(RequireGameView("ActivateHandle").Window.Handle)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => SDL3.SDL.SDL_RaiseWindow(RequireGameView("ActivateHandle").Window.Handle)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequireGameView:RequireGameView("ActivateHandle").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void ActivateHandle() => Invoke(() => SDL3.SDL.SDL_RaiseWindow(RequireGameView("ActivateHandle").Window.Handle));표시된 호출 및 상태 변경을 수행합니다.
매개변수: name
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1960.
public void AddChatUserIgnore(string name)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => JournalManager.AddYokoIgnoredUser(name)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => JournalManager.AddYokoIgnoredUser(name)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.JournalManager.AddYokoIgnoredUser:JournalManager.AddYokoIgnoredUser(name).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void AddChatUserIgnore(string name) => Invoke(() => JournalManager.AddYokoIgnoredUser(name));표시된 호출 및 상태 변경을 수행합니다.
매개변수: caption, item, persistent
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:693.
public void AddMenuHook(string caption, string item, bool persistent)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _manager.AddMenuHook(caption, item, persistent)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _manager.AddMenuHook(caption, item, persistent)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.YokoInjectionManager.AddMenuHook:_manager.AddMenuHook(caption, item, persistent).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void AddMenuHook(string caption, string item, bool persistent) => Invoke(() => _manager.AddMenuHook(caption, item, persistent));표시된 호출 및 상태 변경을 수행합니다.
매개변수: uiWindowType, id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2860.
public void CloseClientWindow(int uiWindowType, int id)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (uiWindowType == 2) _world.CharacterPanels.Profile(unchecked((uint)id))?.Close(true); if (uiWindowType == 0) _world.NativePopups.Close(SessionPopupKind.Paperdoll, unchecked((uint)id)); if (uiWindowType == 3) _world.Containers.Close(unchecked((uint)id)); bool MatchesType(Gump gump) => uiWindowType switch { 0 => gump is PaperDollGump, 1 => gump is StatusGumpBase, 2 => gump is ProfileGump, 3 => gump is ContainerGump, _ => false }; foreach (Gump gump in UIManager.Gumps.Where(gump => !gump.IsDisposed && gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray()) gump.Dispose(); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (uiWindowType == 2) _world.CharacterPanels.Profile(unchecked((uint)id))?.Close(true); if (uiWindowType == 0) _world.NativePopups.Close(SessionPopupKind.Paperdoll, unchecked((uint)id)); if (uiWindowType == 3) _world.Containers.Close(unchecked((uint)id)); bool MatchesType(Gump gump) => uiWindowType switch { 0 => gump is PaperDollGump, 1 => gump is StatusGumpBase, 2 => gump is ProfileGump, 3 => gump is ContainerGump, _ => false }; foreach (Gump gump in UIManager.Gumps.Where(gump => !gump.IsDisposed && gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray()) gump.Dispose(); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseClientWindow::MatchesType:MatchesType(gump).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void CloseClientWindow(int uiWindowType, int id) => Invoke(() =>
{
if (uiWindowType == 2) _world.CharacterPanels.Profile(unchecked((uint)id))?.Close(true);
if (uiWindowType == 0) _world.NativePopups.Close(SessionPopupKind.Paperdoll, unchecked((uint)id));
if (uiWindowType == 3) _world.Containers.Close(unchecked((uint)id));
bool MatchesType(Gump gump) => uiWindowType switch
{
0 => gump is PaperDollGump,
1 => gump is StatusGumpBase,
2 => gump is ProfileGump,
3 => gump is ContainerGump,
_ => false
};
foreach (Gump gump in UIManager.Gumps.Where(gump => !gump.IsDisposed
&& gump.LocalSerial == unchecked((uint)id) && MatchesType(gump)).ToArray())
gump.Dispose();
});아래 식의 값을 반환합니다.
매개변수: tradeNumber
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:280.
public int ConfirmTrade(int tradeNumber)
결과: int.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionTrade gump = FindNumberedTrade(tradeNumber); if (gump == null) return 0; if (!gump.ImAccepting) { gump.ImAccepting = true; GameActions.AcceptTrade(gump.ID1, true); } return 1; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { ISessionTrade gump = FindNumberedTrade(tradeNumber); if (gump == null) return 0; if (!gump.ImAccepting) { gump.ImAccepting = true; GameActions.AcceptTrade(gump.ID1, true); } return 1; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindNumberedTrade:FindNumberedTrade(tradeNumber). -
ClassicUO.Game.GameActions.AcceptTrade:GameActions.AcceptTrade(gump.ID1, true).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int ConfirmTrade(int tradeNumber) => Invoke(() =>
{
ISessionTrade gump = FindNumberedTrade(tradeNumber);
if (gump == null) return 0;
if (!gump.ImAccepting)
{
gump.ImAccepting = true;
GameActions.AcceptTrade(gump.ID1, true);
}
return 1;
});아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2730.
public int ContainerOf(int id)
결과: int.
결과: Invoke(() => _world.Items.Get((uint)id) is Item item ? (int)item.Container : 0).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Items.Get((uint)id) is Item item ? (int)item.Container : 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Items.Get((uint)id) is Item item ? (int)item.Container : 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int ContainerOf(int id) => Invoke(() => _world.Items.Get((uint)id) is Item item ? (int)item.Container : 0);아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: control
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3953.
private static string DescribeControl(Control control)
결과: string.
결과: logical.Describe(); string.IsNullOrWhiteSpace(text) ? common : common + $" text={text}".
호출: logical.Describe, control.GetType, GetControlText, string.IsNullOrWhiteSpace.
조건: control is SessionGumpControl logical; control is Button button; control is Checkbox checkbox.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetControlText:GetControlText(control).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static string DescribeControl(Control control)
{
if (control is SessionGumpControl logical) return logical.Describe();
string common = $"{control.GetType().Name} page={control.Page} id=0x{control.LocalSerial:X8} "
+ $"x={control.X} y={control.Y} width={control.Width} height={control.Height}";
if (control is Button button)
{
return common + $" ButtonID={button.ButtonID} action={button.ButtonAction} toPage={button.ToPage} "
+ $"normal=0x{button.ButtonGraphicNormal:X4} pressed=0x{button.ButtonGraphicPressed:X4} over=0x{button.ButtonGraphicOver:X4}";
}
if (control is Checkbox checkbox)
{
string kind = checkbox is RadioButton ? "RadioButton" : "Checkbox";
return $"{kind} page={control.Page} ID={control.LocalSerial} x={control.X} y={control.Y} "
+ $"checked={checkbox.IsChecked} inactive=0x{checkbox.InactiveGraphic:X4} active=0x{checkbox.ActiveGraphic:X4}";
}
string text = GetControlText(control);
return string.IsNullOrWhiteSpace(text) ? common : common + $" text={text}";
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: subrutineName
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2715.
public void Exec(string subrutineName)
결과: void.
호출: _manager.RunNamedProcedureFromScript.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Exec(string subrutineName)
{
_manager.RunNamedProcedureFromScript(subrutineName, _csharpGlobals?.Cancellation ?? _cancellationToken);
}아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:203.
public int GetDropDelay()
결과: int.
결과: State.GrabDelay.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetDropDelay() => State.GrabDelay;아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:619.
public int GetFlags(int id)
결과: int.
결과: Invoke(() => _world.Get((uint)id) is Entity entity ? (int)entity.Flags : 0).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Get((uint)id) is Entity entity ? (int)entity.Flags : 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => _world.Get((uint)id) is Entity entity ? (int)entity.Flags : 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.World.Get:_world.Get((uint)id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetFlags(int id) => Invoke(() => _world.Get((uint)id) is Entity entity ? (int)entity.Flags : 0);아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2804.
public int GetGumpCount()
결과: int.
결과: Invoke(() => ServerGumpsUnsafe().Count).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => ServerGumpsUnsafe().Count). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => ServerGumpsUnsafe().Count). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerGumpsUnsafe:ServerGumpsUnsafe().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetGumpCount() => Invoke(() => ServerGumpsUnsafe().Count);아래 식의 값을 반환합니다.
매개변수: index
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2814.
public int GetGumpSerial(int index)
결과: int.
결과: Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.LocalSerial ?? 0)).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.LocalSerial ?? 0)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.LocalSerial ?? 0)). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerGumpsUnsafe:ServerGumpsUnsafe().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetGumpSerial(int index) => Invoke(() => (int)(ServerGumpsUnsafe().ElementAtOrDefault(index)?.LocalSerial ?? 0));아래 식의 값을 반환합니다.
매개변수: index
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:315.
public string GetScriptPath(int index)
결과: string.
결과: _manager.GetScriptPath(index).
호출: _manager.GetScriptPath.
호출:
-
ClassicUO.Game.Managers.YokoInjectionManager.GetScriptPath:_manager.GetScriptPath(index).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GetScriptPath(int index) => _manager.GetScriptPath(index);표시된 호출 및 상태 변경을 수행합니다.
매개변수: buffer, offset, value
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3346.
static void Write16(byte[] buffer, int offset, int value)
결과: void.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
static void Write16(byte[] buffer, int offset, int value)
{
buffer[offset] = (byte)value;
buffer[offset + 1] = (byte)(value >> 8);
}아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1126.
public int[] GetWaitTargetQueue()
결과: int[].
결과: _manager.GetPendingTargetSerials().
호출: _manager.GetPendingTargetSerials.
호출:
-
ClassicUO.Game.Managers.YokoInjectionManager.GetPendingTargetSerials:_manager.GetPendingTargetSerials().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int[] GetWaitTargetQueue() => _manager.GetPendingTargetSerials();아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1962.
public int JournalEntryCount()
결과: int.
결과: Invoke(() => JournalManager.Entries.Count).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => JournalManager.Entries.Count). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => JournalManager.Entries.Count). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int JournalEntryCount() => Invoke(() => JournalManager.Entries.Count);아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1963.
public int JournalMatchCount()
결과: int.
결과: _journalMatchCount.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int JournalMatchCount() => _journalMatchCount;아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:146.
public int LastTarget
결과: int.
결과: Invoke(() => (int)_world.TargetManager.LastTargetInfo.Serial).
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (int)_world.TargetManager.LastTargetInfo.Serial). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => (int)_world.TargetManager.LastTargetInfo.Serial). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int LastTarget => Invoke(() => (int)_world.TargetManager.LastTargetInfo.Serial);아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1127.
public int[] LastTile()
결과: int[].
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { LastTargetInfo info = _world.TargetManager.LastTargetInfo; return new[] { (int)info.Graphic, (int)info.X, (int)info.Y, (int)info.Z }; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { LastTargetInfo info = _world.TargetManager.LastTargetInfo; return new[] { (int)info.Graphic, (int)info.X, (int)info.Y, (int)info.Z }; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int[] LastTile() => Invoke(() =>
{
LastTargetInfo info = _world.TargetManager.LastTargetInfo;
return new[] { (int)info.Graphic, (int)info.X, (int)info.Y, (int)info.Z };
});아래 식의 값을 반환합니다.
매개변수: x, y, z, accuracy, running, staminaThreshold, openDoor, throughCorner, throughNpcs, heuristicMultiplier, turnCost, exitOnDisconnect, accuracyZ, optimized, betweenTwoCorners
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1463.
`public int MoveTo(int x, int y, int z, int accuracy, bool running, int staminaThreshold,
bool openDoor, bool throughCorner, bool throughNpcs, int heuristicMultiplier,
int turnCost, bool exitOnDisconnect, int accuracyZ = 255, bool optimized = true,
bool betweenTwoCorners = false)`
결과: int.
호출: Invoke.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int MoveTo(int x, int y, int z, int accuracy, bool running, int staminaThreshold,
bool openDoor, bool throughCorner, bool throughNpcs, int heuristicMultiplier,
int turnCost, bool exitOnDisconnect, int accuracyZ = 255, bool optimized = true,
bool betweenTwoCorners = false) => Invoke(() =>
{
if (_world.Player == null) return 0;
_manager.StopFollowing();
Pathfinder pathfinder = _world.Player.Pathfinder;
bool started = pathfinder.WalkTo(
x,
y,
z,
Math.Clamp(accuracy, 0, 20),
running,
Math.Max(0, staminaThreshold),
openDoor,
throughCorner,
throughNpcs,
Math.Max(1, heuristicMultiplier),
Math.Max(0, turnCost),
exitOnDisconnect,
Math.Clamp(accuracyZ, 0, 255),
optimized,
betweenTwoCorners,
ScriptPathObstacles.Create(_csharpState, this), incremental: true);
if (started)
{
_lastMovementPathfinder = pathfinder;
_lastMovementPlayer = _world.Player;
_lastMovementMap = _world.Map;
_lastMovementMapIndex = _world.MapIndex;
Interlocked.Exchange(ref _lastMovementRequestId, pathfinder.AutoWalkRequestGeneration);
_pathCancellation.Unregister();
long generation = pathfinder.AutoWalkGeneration;
if (pathfinder.AutoWalking)
_pathCancellation = _cancellationToken.Register(() => _manager.ReleaseScriptMovement(pathfinder, generation));
}
return started ? 1 : 0;
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: id, delay
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1317.
public void ReceiveObjectName(int id, int delay)
결과: void.
호출: Click, Stopwatch.StartNew, Math.Max, string.IsNullOrEmpty, GetName, Wait, Math.Min.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Click:Click(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetName:GetName(id). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Wait:Wait((int)Math.Min(25, Math.Max(1L, delay - elapsed.ElapsedMilliseconds))).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void ReceiveObjectName(int id, int delay)
{
Click(id);
var elapsed = Stopwatch.StartNew();
while (elapsed.ElapsedMilliseconds < Math.Max(0, delay) && string.IsNullOrEmpty(GetName(id)))
Wait((int)Math.Min(25, Math.Max(1L, delay - elapsed.ElapsedMilliseconds)));
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:292.
public void RequestVirtuesGump()
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Player != null) GameActions.ReplyGump(_world.Player, 0x000001CD, 0x00000001, new[] { _world.Player.Serial }, Array.Empty<Tuple<ushort, string>>()); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Player != null) GameActions.ReplyGump(_world.Player, 0x000001CD, 0x00000001, new[] { _world.Player.Serial }, Array.Empty<Tuple<ushort, string>>()); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.GameActions.ReplyGump:GameActions.ReplyGump(_world.Player, 0x000001CD, 0x00000001, new[] { _world.Player.Serial }, Array.Empty<Tuple<ushort, string>>()).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void RequestVirtuesGump() => Invoke(() =>
{
if (_world.Player != null)
GameActions.ReplyGump(_world.Player, 0x000001CD, 0x00000001, new[] { _world.Player.Serial }, Array.Empty<Tuple<ushort, string>>());
});코드에 표시된 규칙에 따라 인수를 분석하거나 값을 찾습니다.
매개변수: gumpId
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3915.
private Gump ResolveGumpUnsafe(int gumpId)
결과: Gump.
결과: _selectedServerGump != null && !_selectedServerGump.IsDisposed ? _selectedServerGump : gumps.LastOrDefault().
호출: ServerGumpsUnsafe, gumps.LastOrDefault, gumps.FirstOrDefault.
조건: gumpId == -1.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerGumpsUnsafe:ServerGumpsUnsafe().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private Gump ResolveGumpUnsafe(int gumpId)
{
List<Gump> gumps = ServerGumpsUnsafe();
if (gumpId == -1)
{
return _selectedServerGump != null && !_selectedServerGump.IsDisposed ? _selectedServerGump : gumps.LastOrDefault();
}
return gumps.FirstOrDefault(g => g.LocalSerial == (uint)gumpId || g.ServerSerial == (uint)gumpId)
?? (gumpId >= 0 && gumpId < gumps.Count ? gumps[gumpId] : null);
}아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:738.
public int SelectContainer()
결과: int.
결과: SelectObject() is Item item ? (int)item.Serial : 0.
호출: SelectObject.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SelectObject:SelectObject().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int SelectContainer() => SelectObject() is Item item ? (int)item.Serial : 0;표시된 호출 및 상태 변경을 수행합니다.
매개변수: command, message
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1404.
private void SendServerSpeech(string command, string message)
결과: void.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { GameActions.Say(message ?? string.Empty, allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND); ReportStatus($"{command} delivered through ClassicUO server speech"); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { GameActions.Say(message ?? string.Empty, allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND); ReportStatus($"{command} delivered through ClassicUO server speech"); }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ReportStatus:ReportStatus($"{command} delivered through ClassicUO server speech").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private void SendServerSpeech(string command, string message) => Invoke(() =>
{
GameActions.Say(message ?? string.Empty, allowYokoCommand: SCRIPT_SAY_ALLOW_YOKO_COMMAND);
ReportStatus($"{command} delivered through ClassicUO server speech");
});아래 식의 값을 반환합니다.
매개변수: path
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:318.
public int StartScript(string path)
결과: int.
결과: _manager.StartScript(path).
호출: _manager.StartScript.
호출:
-
ClassicUO.Game.Managers.YokoInjectionManager.StartScript:_manager.StartScript(path).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int StartScript(string path) => _manager.StartScript(path);아래 식의 값을 반환합니다.
매개변수: spellId
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2193.
internal static int ToClassicUOCastIndex(int spellId)
결과: int.
결과: spellId.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal static int ToClassicUOCastIndex(int spellId) => spellId;아래 식의 값을 반환합니다.
매개변수: id, amount, destination, x, y, z
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1171.
private bool TryMoveItemRequest(int id, int amount, int destination, int x, int y, int z)
결과: bool.
결과: TryMoveItemRequest(_world, id, amount, destination, x, y, z).
호출: TryMoveItemRequest.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private bool TryMoveItemRequest(int id, int amount, int destination, int x, int y, int z)
=> TryMoveItemRequest(_world, id, amount, destination, x, y, z);아래 식의 값을 반환합니다.
매개변수: abilityId
소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2226.
public int UseAbility(int abilityId)
결과: int.
호출: Invoke.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.Length) return 0; int primary = (byte)_world.Player.Abilities[0] & 0x7F; int secondary = (byte)_world.Player.Abilities[1] & 0x7F; if (abilityId == primary) { GameActions.UsePrimaryAbility(_world); return 1; } if (abilityId == secondary) { GameActions.UseSecondaryAbility(_world); return 1; } return 0; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke:Invoke(() => { if (_world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.Length) return 0; int primary = (byte)_world.Player.Abilities[0] & 0x7F; int secondary = (byte)_world.Player.Abilities[1] & 0x7F; if (abilityId == primary) { GameActions.UsePrimaryAbility(_world); return 1; } if (abilityId == secondary) { GameActions.UseSecondaryAbility(_world); return 1; } return 0; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다. -
ClassicUO.Game.GameActions.UsePrimaryAbility:GameActions.UsePrimaryAbility(_world). -
ClassicUO.Game.GameActions.UseSecondaryAbility:GameActions.UseSecondaryAbility(_world).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int UseAbility(int abilityId) => Invoke(() =>
{
if (_world.Player == null || abilityId < 1 || abilityId > AbilityData.Abilities.Length)
return 0;
int primary = (byte)_world.Player.Abilities[0] & 0x7F;
int secondary = (byte)_world.Player.Abilities[1] & 0x7F;
if (abilityId == primary)
{
GameActions.UsePrimaryAbility(_world);
return 1;
}
if (abilityId == secondary)
{
GameActions.UseSecondaryAbility(_world);
return 1;
}
return 0;
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: scriptKey, text
소스: Project_Full/src/ClassicUO.Client/Game/Managers/YokoIdeToolBuffers.cs:124.
internal void AppendOutput(string scriptKey, string text)
결과: void.
호출: _output.Add, _clock, NormalizeKey, NormalizeText, TrimOldest.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal void AppendOutput(string scriptKey, string text)
{
lock (_sync)
{
_output.Add(new YokoOutputEntry
{
Sequence = ++_sequence,
Timestamp = _clock(),
ScriptKey = NormalizeKey(scriptKey),
Text = NormalizeText(text)
});
TrimOldest(_output);
_revision++;
}
}작업을 게임 스레드로 전달하고 취소를 처리합니다.
매개변수: callback, cancellationToken
소스: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3488.
internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)
결과: void.
호출: InvokeOnGameThread.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal void InvokeOnGameThread(Action callback, CancellationToken cancellationToken)
{
InvokeOnGameThread(() =>
{
callback();
return true;
}, cancellationToken);
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: index
소스: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2841.
internal void PauseResumeScript(int index)
결과: void.
호출: ElementAt, RunningScripts, script.ToggleManualPause, MarkRuntimeStateChanged.
조건: script == null.
호출:
-
ClassicUO.Game.Managers.YokoInjectionManager.ElementAt:ElementAt(RunningScripts(), index). -
ClassicUO.Game.Managers.YokoInjectionManager.RunningScripts:RunningScripts(). -
ClassicUO.Game.Managers.YokoInjectionManager.MarkRuntimeStateChanged:MarkRuntimeStateChanged().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal void PauseResumeScript(int index)
{
YokoRunningScript script = ElementAt(RunningScripts(), index);
if (script == null)
return;
script.ToggleManualPause();
MarkRuntimeStateChanged();
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: text, scriptKey
소스: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:3749.
internal void SetStatus(string text, string scriptKey = null)
결과: void.
호출: IsScriptPublicationCurrent, Volatile.Write, PublishStatus.
조건: !IsScriptPublicationCurrent(scriptKey).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal void SetStatus(string text, string scriptKey = null)
{
if (!IsScriptPublicationCurrent(scriptKey))
return;
Volatile.Write(ref _statusPriority, 1);
PublishStatus(text, scriptKey);
}아래 식의 값을 반환합니다.
매개변수: serial
소스: Project_Full/src/ClassicUO.Client/Game/SerialHelper.cs:16.
public static bool IsMobile(uint serial)
결과: bool.
결과: serial > 0 && serial < 0x40000000.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static bool IsMobile(uint serial)
{
return serial > 0 && serial < 0x40000000;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: season, music
소스: Project_Full/src/ClassicUO.Client/Game/World.cs:321.
public void ChangeSeason(Season season, int music)
결과: void.
호출: Map.GetUsedChunks, .GetHeadObject, obj.UpdateGraphicBySeason, .GetCurrentMusic, audio.PlayMusic.
조건: audio != null && (currentMusic == null || currentMusic.Index == audio.LoginMusicIndex).
호출:
-
ClassicUO.Game.Map.Map.GetUsedChunks:Map.GetUsedChunks().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void ChangeSeason(Season season, int music)
{
Season = season;
foreach (Chunk chunk in Map.GetUsedChunks())
{
for (int x = 0; x < 8; x++)
{
for (int y = 0; y < 8; y++)
{
for (GameObject obj = chunk?.GetHeadObject(x, y); obj != null; obj = obj.TNext)
{
obj.UpdateGraphicBySeason();
}
}
}
}
//TODO(deccer): refactor this out into _audioPlayer.PlayMusic(...)
var audio = Client.Game?.Audio;
UOMusic currentMusic = audio?.GetCurrentMusic();
if (audio != null && (currentMusic == null || currentMusic.Index == audio.LoginMusicIndex))
{
audio.PlayMusic(music, false);
}
}아래 식의 값을 반환합니다.
매개변수: value, wordIndex
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:41.
private static string GetWord(string value,int wordIndex)
결과: string.
결과: GetWord(value,wordIndex," ").
호출: GetWord.
호출:
-
InjectionScript.Runtime.InjectionApi.GetWord:GetWord(value,wordIndex," ").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static string GetWord(string value,int wordIndex) => GetWord(value,wordIndex," ");아래 식의 값을 반환합니다.
매개변수: value, delimiter
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs:36.
private static string[] SplitWords(string value,string delimiter)
결과: string[].
결과: string.IsNullOrEmpty(delimiter)||delimiter==" "?value.Split((char[])null,StringSplitOptions.RemoveEmptyEntries):value.Split(new[]{delimiter},StringSplitOptions.RemoveEmptyEntries).
호출: string.IsNullOrEmpty, value.Split.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static string[] SplitWords(string value,string delimiter)
{
value=value??string.Empty;
return string.IsNullOrEmpty(delimiter)||delimiter==" "?value.Split((char[])null,StringSplitOptions.RemoveEmptyEntries):value.Split(new[]{delimiter},StringSplitOptions.RemoveEmptyEntries);
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: fromX, fromY, toX, toY
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2803.
private static int CalculateDirection(int fromX, int fromY, int toX, int toY)
결과: int.
결과: 100; dy < 0 ? 0 : 4; dx > 0 ? 2 : 6; dy < 0 ? 1 : 3; dy > 0 ? 5 : 7.
호출: Math.Sign.
조건: dx == 0 && dy == 0; dx == 0; dy == 0; dx > 0.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static int CalculateDirection(int fromX, int fromY, int toX, int toY)
{
int dx = Math.Sign(toX - fromX);
int dy = Math.Sign(toY - fromY);
if (dx == 0 && dy == 0) return 100;
if (dx == 0) return dy < 0 ? 0 : 4;
if (dy == 0) return dx > 0 ? 2 : 6;
if (dx > 0) return dy < 0 ? 1 : 3;
return dy > 0 ? 5 : 7;
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: values
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4950.
private int CompactAttackNearest(InjectionValue[] values)
결과: int.
결과: 0; serial.
호출: ResolveCompactDistance, bridge.GetFindDistance, ResolveCompactMaxZ, bridge.GetFindVertical, ToBoolean, NumberConversions.ToInt, TryResolveClassRules, FilterMobiles.
조건: !TryResolveClassRules(classMask, out EquipmentClassRule[] rules); serial != 0.
호출:
-
InjectionScript.Runtime.InjectionApiUO.ResolveCompactDistance:ResolveCompactDistance(values[1]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindDistance:bridge.GetFindDistance(). -
InjectionScript.Runtime.InjectionApiUO.ResolveCompactMaxZ:ResolveCompactMaxZ(values[3]). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindVertical:bridge.GetFindVertical(). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[4]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[5]). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[7]). -
InjectionScript.Runtime.InjectionApiUO.ToBoolean:ToBoolean(values[8]). -
InjectionScript.Runtime.InjectionApiUO.TryResolveClassRules:TryResolveClassRules(classMask, out EquipmentClassRule[] rules). -
InjectionScript.Runtime.InjectionApiUO.FilterMobiles:FilterMobiles(distance, notoriety, body, maxZ, color, false, false, aliveOnly, visibleOnly). -
InjectionScript.Runtime.InjectionApiUO.SelectClassCandidate:SelectClassCandidate(mobiles, rules, nearest). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Attack:bridge.Attack(serial).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int CompactAttackNearest(InjectionValue[] values)
{
InjectionValue notoriety = values[0];
int distance = values.Length > 1 ? ResolveCompactDistance(values[1]) : bridge.GetFindDistance();
InjectionValue body = values.Length > 2 ? values[2] : InjectionValue.MinusOne;
int maxZ = values.Length > 3 ? ResolveCompactMaxZ(values[3]) : bridge.GetFindVertical();
bool nearest = values.Length <= 4 || ToBoolean(values[4]);
int color = values.Length > 5 ? NumberConversions.ToInt(values[5]) : -1;
InjectionValue classMask = values.Length > 6 ? values[6] : default(InjectionValue);
bool aliveOnly = values.Length > 7 && ToBoolean(values[7]);
bool visibleOnly = values.Length > 8 && ToBoolean(values[8]);
// Resolve once, before any attack. A misspelled/undefined class must
// never degrade into an unrestricted search or a name substring match.
if (!TryResolveClassRules(classMask, out EquipmentClassRule[] rules))
return 0;
IEnumerable<int> mobiles = FilterMobiles(distance, notoriety, body, maxZ, color, false,
false, aliveOnly, visibleOnly);
int serial = SelectClassCandidate(mobiles, rules, nearest);
if (serial != 0)
bridge.Attack(serial);
return serial;
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: values
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3143.
private int CompactWaitGump(InjectionValue[] values)
결과: int.
결과: 1; 0.
호출: CollectGumpButtons, automation.QueueGumpButtons, buttons.ToArray, CompactWaitGump, (value.String ?? string.Empty).Contains, `(value.String ?? string.Empty)
.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(part => new InjectionValue(part.Trim())).ToArray`, `(value.String ?? string.Empty)
.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select`, `(value.String ?? string.Empty)
.Split`.
조건: values == null || values.Length == 0; bridge is IApiGumpAutomation automation; value.Kind == InjectionValueKind.Array; CompactWaitGump(value.Array) == 0.
호출:
-
InjectionScript.Runtime.InjectionApiUO.CollectGumpButtons:CollectGumpButtons(values, buttons). -
InjectionScript.Runtime.InjectionApiUO.CompactWaitGump:CompactWaitGump(value.Array). -
InjectionScript.Runtime.InjectionApiUO.CompactWaitGump:CompactWaitGump(nested). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(value). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitGumpSelect:bridge.WaitGumpSelect(triggerId, 30_000).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int CompactWaitGump(InjectionValue[] values)
{
if (values == null || values.Length == 0)
throw new NativeSubrutineException("UO.WaitGump requires at least one trigger/button id.");
if (bridge is IApiGumpAutomation automation)
{
var buttons = new List<int>();
CollectGumpButtons(values, buttons);
automation.QueueGumpButtons(buttons.ToArray());
return 1;
}
foreach (InjectionValue value in values)
{
if (value.Kind == InjectionValueKind.Array)
{
if (CompactWaitGump(value.Array) == 0)
return 0;
continue;
}
if (value.Kind == InjectionValueKind.String
&& ((value.String ?? string.Empty).Contains('|') || (value.String ?? string.Empty).Contains(',')))
{
InjectionValue[] nested = (value.String ?? string.Empty)
.Split(new[] { '|', ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(part => new InjectionValue(part.Trim())).ToArray();
if (CompactWaitGump(nested) == 0)
return 0;
continue;
}
int triggerId = NumberConversions.ToInt(value);
if (bridge.WaitGumpSelect(triggerId, 30_000) == 0)
return 0;
}
return 1;
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: layer
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6405.
private int ConvertLayer(string layer)
결과: int.
결과: value.
호출: layerNameToNumber.TryGetValue, (layer ?? string.Empty).Trim.
조건: layerNameToNumber.TryGetValue((layer ?? string.Empty).Trim(), out int value).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int ConvertLayer(string layer)
{
if (layerNameToNumber.TryGetValue((layer ?? string.Empty).Trim(), out int value))
return value;
throw new NativeSubrutineException($"Unknown equipment layer '{layer}'. Use a documented layer such as Rhand, Lhand, Helmet, Necklace, Backpack, Robe, Legs, or Mount.");
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: containerId
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6361.
private int ConvertMoveDestination(InjectionValue containerId)
결과: int.
결과: ResolveTransferDestination(backpack ? new InjectionValue("backpack") : containerId, allowGround: true).
호출: NumberConversions.TryStr2Int, .Trim, ResolveTransferDestination.
조건: containerId.Kind != InjectionValueKind.String && containerId.Kind != InjectionValueKind.Integer.
호출:
-
InjectionScript.Runtime.NumberConversions.TryStr2Int:NumberConversions.TryStr2Int(containerId.String?.Trim() ?? string.Empty, out int literal). -
InjectionScript.Runtime.InjectionApiUO.ResolveTransferDestination:ResolveTransferDestination(backpack ? new InjectionValue("backpack") : containerId, allowGround: true).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int ConvertMoveDestination(InjectionValue containerId)
{
if (containerId.Kind != InjectionValueKind.String && containerId.Kind != InjectionValueKind.Integer)
throw new NativeSubrutineException("A move destination must be an object name or serial ID.");
// Preserve the legacy -1 backpack selector. Resolve names before
// lifting: a misspelled or unset container must never become ground.
bool backpack = containerId.Kind == InjectionValueKind.Integer
? containerId.Integer == -1
: NumberConversions.TryStr2Int(containerId.String?.Trim() ?? string.Empty, out int literal) && literal == -1;
return ResolveTransferDestination(backpack ? new InjectionValue("backpack") : containerId, allowGround: true);
}아래 식의 값을 반환합니다.
매개변수: type
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5208.
public int Count(InjectionValue type)
결과: int.
결과: Count(ResolveType(type), -1, -1).
호출: Count, ResolveType.
호출:
-
InjectionScript.Runtime.InjectionApiUO.Count:Count(ResolveType(type), -1, -1). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(type).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Count(InjectionValue type)
=> Count(ResolveType(type), -1, -1);표시된 호출 및 상태 변경을 수행합니다.
매개변수: text
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5401.
public void DeleteJournal(string text)
결과: void.
호출: bridge.DeleteJournal, SelectJournalEntry.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.DeleteJournal:bridge.DeleteJournal(text). -
InjectionScript.Runtime.InjectionApiUO.SelectJournalEntry:SelectJournalEntry(null).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void DeleteJournal(string text)
{
bridge.DeleteJournal(text);
SelectJournalEntry(null);
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: name
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3809.
public void DeleteObject(string name)
결과: void.
호출: objects.TryGet, objects.Remove, SystemMessage.
조건: objects.TryGet(name, out int value).
호출:
-
InjectionScript.Runtime.State.RuntimeDictionary.TryGet:objects.TryGet(name, out int value). -
InjectionScript.Runtime.State.RuntimeDictionary.Remove:objects.Remove(name). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage($"Object {name} has been deleted"). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage($"Object {name} not found").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void DeleteObject(string name)
{
if (objects.TryGet(name, out int value))
{
objects.Remove(name);
SystemMessage($"Object {name} has been deleted");
}
else
SystemMessage($"Object {name} not found");
}아래 식의 값을 반환합니다.
매개변수: index
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1144.
string Text(int index)
결과: string.
결과: index < arguments.Length ? arguments[index].ToString() : string.Empty.
호출: arguments[index].ToString.
호출:
-
InjectionScript.Runtime.InjectionValue.ToString:arguments[index].ToString().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
string Text(int index) => index < arguments.Length ? arguments[index].ToString() : string.Empty;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1231.
결과: InjectionValue.Unit.
호출:
-
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "addtojournal":
case "addtosystemjournal":
case "clientprint":
SystemMessage(Text(0)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1286.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetAutoBuyRule:bridge.SetAutoBuyRule(Arg(0), Arg(1), Arg(2), Arg(3), Text(4)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(4).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "autobuyex":
bridge.SetAutoBuyRule(Arg(0), Arg(1), Arg(2), Arg(3), Text(4)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1550.
결과: new InjectionValue(bridge.CancelTrade(Arg(0))).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CancelTrade:bridge.CancelTrade(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "canceltrade": return new InjectionValue(bridge.CancelTrade(Arg(0)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1306.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ConnectClient:bridge.ConnectClient().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "connect": bridge.ConnectClient(); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1565.
호출:
-
InjectionScript.Runtime.InjectionApiUO.GetDistance:GetDistance(Arg(0), Arg(1), Arg(2), Arg(3)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetDistance:bridge.GetDistance(Arg(0)).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "dist": return new InjectionValue(arguments.Length >= 4
? GetDistance(Arg(0), Arg(1), Arg(2), Arg(3))
: bridge.GetDistance(Arg(0)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1627.
결과: new InjectionValue(ChangeEquipmentItems(ArrayArg(0), true)).
호출:
-
InjectionScript.Runtime.InjectionApiUO.ChangeEquipmentItems:ChangeEquipmentItems(ArrayArg(0), true). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::ArrayArg:ArrayArg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "equipitems":
return new InjectionValue(ChangeEquipmentItems(ArrayArg(0), true));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2005.
new []
결과: [].
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClientPath:bridge.ClientPath. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CurrentProfilePath:bridge.CurrentProfilePath. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GameServerAddress:bridge.GameServerAddress. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GameServerPort:bridge.GameServerPort.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "extendedinfo":
return new InjectionValue(new[] { new InjectionValue(bridge.ClientPath), new InjectionValue(bridge.CurrentProfilePath), new InjectionValue(bridge.GameServerAddress), new InjectionValue(bridge.GameServerPort) });이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1476.
결과: new InjectionValue(bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0)).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindType:bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[0]). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(1). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::StealthContainer:StealthContainer(2). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(3).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "findtypeex": return new InjectionValue(bridge.FindType(ResolveType(arguments[0]), Arg(1), StealthContainer(2), -1, Arg(3) != 0));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1587.
결과: new InjectionValue(bridge.GetActiveAbility()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetActiveAbility:bridge.GetActiveAbility().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getactiveability": return new InjectionValue(bridge.GetActiveAbility());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1590.
결과: StringArray(bridge.GetMenuItems(Text(0), false)).
호출:
-
InjectionScript.Runtime.InjectionApiUO.StringArray:StringArray(bridge.GetMenuItems(Text(0), false)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetMenuItems:bridge.GetMenuItems(Text(0), false). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "getmenuitems": return StringArray(bridge.GetMenuItems(Text(0), false));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1919.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GlobalChatSend:bridge.GlobalChatSend(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "globalchatsendmsg": bridge.GlobalChatSend(Text(0)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1273.
결과: new InjectionValue(InJournal(Text(0))).
호출:
-
InjectionScript.Runtime.InjectionApiUO.InJournal:InJournal(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "injournal": return new InjectionValue(InJournal(Text(0)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2043.
결과: new InjectionValue(selectedJournalEntry?.Color ?? 0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "linetextcolor":
return new InjectionValue(selectedJournalEntry?.Color ?? 0);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1534.
결과: new InjectionValue(ReadPredictedCoordinate(1)).
호출:
-
InjectionScript.Runtime.InjectionApiUO.ReadPredictedCoordinate:ReadPredictedCoordinate(1).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "predictedy": return new InjectionValue(ReadPredictedCoordinate(1));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1594.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequestContextMenu:bridge.RequestContextMenu(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "requestcontextmenu": bridge.RequestContextMenu(Arg(0)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1357.
결과: InjectionValue.Unit.
호출:
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "setsilentmode": state.SilentMode = Arg(0) != 0 ? 1 : 0; return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1655.
결과: InjectionValue.Unit.
호출:
-
InjectionScript.Runtime.InjectionApiUO.WarMode:WarMode(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "setwarmode": WarMode(Arg(0)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1295.
결과: new InjectionValue(bridge.GetTargetCursorId()).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTargetCursorId:bridge.GetTargetCursorId().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "targetid": return new InjectionValue(bridge.GetTargetCursorId());이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1250.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseObject:bridge.UseObject(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "useobject": bridge.UseObject(Arg(0)); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1681.
결과: InjectionValue.Unit.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UseSecondaryAbility:bridge.UseSecondaryAbility().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "usesecondaryability": bridge.UseSecondaryAbility(); return InjectionValue.Unit;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1642.
결과: new InjectionValue(bridge.WaitUntilTargeting(Arg(0))).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitUntilTargeting:bridge.WaitUntilTargeting(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Arg:Arg(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "waitfortarget": return new InjectionValue(bridge.WaitUntilTargeting(Arg(0)));이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1369.
결과: new InjectionValue(bridge.Weight).
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Weight:bridge.Weight.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "weight": return new InjectionValue(bridge.Weight);이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2844.
호출:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList(name). -
InjectionScript.Runtime.InjectionValue.ToString:value.ToString().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "adddir":
case "addfindlist":
case "addgate":
case "addrecall":
case "addstep":
LegacyList(name).Add(string.Join("|", arguments.Select(value => value.ToString())));
break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2876.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClearMenuHooks:bridge.ClearMenuHooks().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "cancelmenu": bridge.ClearMenuHooks(); break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2858.
조건: arguments.Length == 0.
호출:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::LegacyList:LegacyList("AddFindList"). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Text:Text(0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "clearfindlist":
if (arguments.Length == 0) LegacyList("AddFindList").Clear();
else LegacyList("AddFindList").RemoveAll(value => value.Split('|')[0]
.Equals(Text(0), StringComparison.OrdinalIgnoreCase));
break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2888.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseHandle:bridge.CloseHandle().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "closeuo": bridge.CloseHandle(); break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2991.
조건: arguments.Length == 0.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassMove:bridge.MassMove(-1, 0, 0, -1, -1, -1, 0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassMove:bridge.MassMove(NumberConversions.ToInt(arguments[0]), arguments.Length > 1 ? NumberConversions.ToInt(arguments[1]) : 0, arguments.Length > 2 ? ResolveType(arguments[2]) : 0, arguments.Length > 3 ? ResolveTransferDestination(arguments[3], true) : -1, arguments.Length > 4 ? NumberConversions.ToInt(arguments[4]) : -1, arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1, arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : 0). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[1]). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[2]). -
InjectionScript.Runtime.InjectionApiUO.ResolveTransferDestination:ResolveTransferDestination(arguments[3], true). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[4]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[5]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[6]).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "massmove":
if (arguments.Length == 0) bridge.MassMove(-1, 0, 0, -1, -1, -1, 0);
else bridge.MassMove(NumberConversions.ToInt(arguments[0]),
arguments.Length > 1 ? NumberConversions.ToInt(arguments[1]) : 0,
arguments.Length > 2 ? ResolveType(arguments[2]) : 0,
arguments.Length > 3 ? ResolveTransferDestination(arguments[3], true) : -1,
arguments.Length > 4 ? NumberConversions.ToInt(arguments[4]) : -1,
arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1,
arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : 0);
break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3001.
조건: arguments.Length == 0.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassPriceMove:bridge.MassPriceMove(-1, 0, 0, 0, -1, -1, -1, 0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MassPriceMove:bridge.MassPriceMove(NumberConversions.ToInt(arguments[0]), NumberConversions.ToInt(arguments[1]), ResolveType(arguments[2]), NumberConversions.ToInt(arguments[3]), arguments.Length > 4 ? ResolveTransferDestination(arguments[4], true) : -1, arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1, arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : -1, arguments.Length > 7 ? NumberConversions.ToInt(arguments[7]) : 0). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[0]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[1]). -
InjectionScript.Runtime.InjectionApiUO.ResolveType:ResolveType(arguments[2]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[3]). -
InjectionScript.Runtime.InjectionApiUO.ResolveTransferDestination:ResolveTransferDestination(arguments[4], true). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[5]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[6]). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(arguments[7]).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "masspricemove":
if (arguments.Length == 0) bridge.MassPriceMove(-1, 0, 0, 0, -1, -1, -1, 0);
else bridge.MassPriceMove(NumberConversions.ToInt(arguments[0]),
NumberConversions.ToInt(arguments[1]), ResolveType(arguments[2]),
NumberConversions.ToInt(arguments[3]),
arguments.Length > 4 ? ResolveTransferDestination(arguments[4], true) : -1,
arguments.Length > 5 ? NumberConversions.ToInt(arguments[5]) : -1,
arguments.Length > 6 ? NumberConversions.ToInt(arguments[6]) : -1,
arguments.Length > 7 ? NumberConversions.ToInt(arguments[7]) : 0);
break;이 분기는 지정된 명령 이름만 처리합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3020.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Resync:bridge.Resync().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "resend": bridge.Resync(); break;아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3740.
public int Exists(int id)
결과: int.
결과: bridge.Exists(id).
호출: bridge.Exists.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Exists:bridge.Exists(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Exists(int id) => bridge.Exists(id);아래 식의 값을 반환합니다.
매개변수: x, y
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6188.
public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)
결과: InjectionValue.
결과: GetLandTileAt(x, y, new InjectionValue(bridge.WorldNumber)).
호출: GetLandTileAt.
호출:
-
InjectionScript.Runtime.InjectionApiUO.GetLandTileAt:GetLandTileAt(x, y, new InjectionValue(bridge.WorldNumber)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WorldNumber:bridge.WorldNumber.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public InjectionValue GetLandTileAt(InjectionValue x, InjectionValue y)
=> GetLandTileAt(x, y, new InjectionValue(bridge.WorldNumber));아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: name
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3888.
public int GetObject(string name)
결과: int.
결과: 0; id.
호출: TryGetObject.
조건: !TryGetObject(name, out int id).
호출:
-
InjectionScript.Runtime.InjectionApiUO.TryGetObject:TryGetObject(name, out int id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetObject(string name)
{
if (!TryGetObject(name, out int id))
return 0;
return id;
}아래 식의 값을 반환합니다.
매개변수: group, tileId
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6257.
public string GetTileName(InjectionValue group, InjectionValue tileId)
결과: string.
결과: bridge.GetTileDataName(NumberConversions.ToInt(group), NumberConversions.ToInt(tileId)).
호출: bridge.GetTileDataName, NumberConversions.ToInt.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetTileDataName:bridge.GetTileDataName(NumberConversions.ToInt(group), NumberConversions.ToInt(tileId)). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(group). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(tileId).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GetTileName(InjectionValue group, InjectionValue tileId)
=> bridge.GetTileDataName(NumberConversions.ToInt(group), NumberConversions.ToInt(tileId));아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6274.
public string GetUserStatic(InjectionValue id)
결과: string.
결과: state.UserStatics.TryGetValue(NumberConversions.ToInt(id), out string value) ? value : string.Empty.
호출: state.UserStatics.TryGetValue, NumberConversions.ToInt.
호출:
-
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GetUserStatic(InjectionValue id)
=> state.UserStatics.TryGetValue(NumberConversions.ToInt(id), out string value) ? value : string.Empty;아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3564.
public int GetY(string id)
결과: int.
결과: GetY(GetObject(id)).
호출: GetY, GetObject.
호출:
-
InjectionScript.Runtime.InjectionApiUO.GetY:GetY(GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int GetY(string id) => GetY(GetObject(id));아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3766.
public int Hidden()
결과: int.
결과: Hidden("self").
호출: Hidden.
호출:
-
InjectionScript.Runtime.InjectionApiUO.Hidden:Hidden("self").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int Hidden() => Hidden("self");표시된 호출 및 상태 변경을 수행합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5222.
public void Ignore(int id)
결과: void.
호출: bridge.Ignore.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Ignore:bridge.Ignore(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Ignore(int id) => bridge.Ignore(id);아래 식의 값을 반환합니다.
매개변수: pattern, maxLinesOrIgnoreCase
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5345.
public int InJournal(string pattern, int maxLinesOrIgnoreCase)
결과: int.
호출: InJournalCore, Math.Max.
호출:
-
InjectionScript.Runtime.InjectionApiUO.InJournalCore:InJournalCore(pattern, maxLinesOrIgnoreCase == -1 ? -1 : Math.Max(0, maxLinesOrIgnoreCase), ignoreCase: maxLinesOrIgnoreCase == -1).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int InJournal(string pattern, int maxLinesOrIgnoreCase)
=> InJournalCore(pattern,
maxLinesOrIgnoreCase == -1 ? -1 : Math.Max(0, maxLinesOrIgnoreCase),
ignoreCase: maxLinesOrIgnoreCase == -1);아래 식의 값을 반환합니다.
매개변수: graphic
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3731.
private static bool IsHumanBody(int graphic)
결과: bool.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static bool IsHumanBody(int graphic) => graphic == 0x0190 || graphic == 0x0191
|| graphic == 0x0192 || graphic == 0x0193 || graphic == 0x025D || graphic == 0x025E
|| graphic == 0x025F || graphic == 0x0260 || graphic == 0x029A || graphic == 0x029B
|| graphic == 0x02B6 || graphic == 0x02B7;아래 식의 값을 반환합니다.
매개변수: x, y
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3306.
public int IsTreeTile(InjectionValue x, InjectionValue y)
결과: int.
결과: bridge.IsTreeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y)).
호출: bridge.IsTreeTile, NumberConversions.ToInt.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsTreeTile:bridge.IsTreeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y)). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(x). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(y).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int IsTreeTile(InjectionValue x, InjectionValue y) => bridge.IsTreeTile(NumberConversions.ToInt(x), NumberConversions.ToInt(y));아래 식의 값을 반환합니다.
매개변수: index
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5512.
private int JournalEntryTime(int index)
결과: int.
결과: JournalEntryTime(bridge.JournalTimestamp(index)).
호출: JournalEntryTime, bridge.JournalTimestamp.
호출:
-
InjectionScript.Runtime.InjectionApiUO.JournalEntryTime:JournalEntryTime(bridge.JournalTimestamp(index)). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalTimestamp:bridge.JournalTimestamp(index).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int JournalEntryTime(int index)
=> JournalEntryTime(bridge.JournalTimestamp(index));표시된 호출 및 상태 변경을 수행합니다.
매개변수: type
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5899.
public void Morph(int type)
결과: void.
호출: bridge.Morph, Timer.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Morph:bridge.Morph(type). -
InjectionScript.Runtime.InjectionApiUO.Timer:Timer().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Morph(int type)
{
bridge.Morph(type);
ticksAnim = Timer();
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: id, amount, targetContainer, x, y, z
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4566.
private bool MoveItemChecked(int id, int amount, int targetContainer, int x, int y, int z)
결과: bool.
결과: false; bridge.MoveItem(id, amount, targetContainer, x, y, z) != 0.
호출: bridge.GetX, bridge.GetY, Math.Max, Math.Abs, SystemMessage, bridge.MoveItem.
조건: id == 0; targetContainer == 0 && state.DropCheckCoord != 0; Math.Max(Math.Abs(x - playerX), Math.Abs(y - playerY)) > 2.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetX:bridge.GetX(bridge.Self). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetY:bridge.GetY(bridge.Self). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage("Drop cancelled: destination is more than 2 tiles away (DropCheckCoord is enabled)."). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MoveItem:bridge.MoveItem(id, amount, targetContainer, x, y, z). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Self:bridge.Self.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private bool MoveItemChecked(int id, int amount, int targetContainer, int x, int y, int z)
{
if (id == 0)
return false;
if (targetContainer == 0 && state.DropCheckCoord != 0)
{
int playerX = bridge.GetX(bridge.Self);
int playerY = bridge.GetY(bridge.Self);
if (Math.Max(Math.Abs(x - playerX), Math.Abs(y - playerY)) > 2)
{
SystemMessage("Drop cancelled: destination is more than 2 tiles away (DropCheckCoord is enabled).");
return false;
}
}
return bridge.MoveItem(id, amount, targetContainer, x, y, z) != 0;
}아래 식의 값을 반환합니다.
매개변수: name
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5203.
private static string NormalizeApiName(string name)
결과: string.
결과: (name ?? string.Empty).Trim().
호출: (name ?? string.Empty).Trim.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static string NormalizeApiName(string name)
{
return (name ?? string.Empty).Trim();
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: x, y
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5242.
public void RDblClick(int x, int y)
결과: void.
호출: bridge.RDblClick.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RDblClick:bridge.RDblClick(x, y).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void RDblClick(int x, int y) => bridge.RDblClick(x, y);이 함수들은 API를 등록합니다. 명령을 호출할 때마다 다시 실행되지 않습니다.
매개변수: getter, names
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:993.
void AddText(Func<string> getter, params string[] names)
결과: void.
호출: metadata.NativeSubrutineExists, metadata.Add, metadata.IntrinsicVariableExists, metadata.AddIntrinsicVariable.
조건: !metadata.NativeSubrutineExists(name, 0); !metadata.IntrinsicVariableExists(name).
호출:
-
InjectionScript.Runtime.Metadata.NativeSubrutineExists:metadata.NativeSubrutineExists(name, 0). -
InjectionScript.Runtime.Metadata.Add:metadata.Add(new NativeSubrutineDefinition(name, getter)). -
InjectionScript.Runtime.Metadata.IntrinsicVariableExists:metadata.IntrinsicVariableExists(name). -
InjectionScript.Runtime.Metadata.AddIntrinsicVariable:metadata.AddIntrinsicVariable(new NativeSubrutineDefinition(name, getter)).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
void AddText(Func<string> getter, params string[] names)
{
foreach (string shortName in names)
{
string name = "UO." + shortName;
if (!metadata.NativeSubrutineExists(name, 0))
metadata.Add(new NativeSubrutineDefinition(name, getter));
if (!metadata.IntrinsicVariableExists(name))
metadata.AddIntrinsicVariable(new NativeSubrutineDefinition(name, getter));
}
}코드에 표시된 규칙에 따라 인수를 분석하거나 값을 찾습니다.
매개변수: value
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5093.
private int ResolveCompactDistance(InjectionValue value)
결과: int.
결과: parsed < 0 ? bridge.GetFindDistance() : Math.Max(0, parsed).
호출: NumberConversions.ToInt, bridge.GetFindDistance, Math.Max.
호출:
-
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(value). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFindDistance:bridge.GetFindDistance().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int ResolveCompactDistance(InjectionValue value)
{
int parsed = NumberConversions.ToInt(value);
return parsed < 0 ? bridge.GetFindDistance() : Math.Max(0, parsed);
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: name
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5587.
public void SetArm(string name)
결과: void.
호출: SetEquip.
호출:
-
InjectionScript.Runtime.InjectionApiUO.SetEquip:SetEquip(name, armSets, weaponLayers, "Arm set.").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void SetArm(string name)
=> SetEquip(name, armSets, weaponLayers, "Arm set.");표시된 호출 및 상태 변경을 수행합니다.
매개변수: name, stateValue, repeatOrHandler
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6004.
public void SetEvent(InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler)
결과: void.
호출: repeatOrHandler.ToString, string.IsNullOrWhiteSpace, NumberConversions.TryStr2Int, SetEvent.
조건: !string.IsNullOrWhiteSpace(raw) && !NumberConversions.TryStr2Int(raw, out _).
호출:
-
InjectionScript.Runtime.InjectionValue.ToString:repeatOrHandler.ToString(). -
InjectionScript.Runtime.NumberConversions.TryStr2Int:NumberConversions.TryStr2Int(raw, out _). -
InjectionScript.Runtime.InjectionApiUO.SetEvent:SetEvent(name, stateValue, InjectionValue.True, repeatOrHandler). -
InjectionScript.Runtime.InjectionApiUO.SetEvent:SetEvent(name, stateValue, repeatOrHandler, new InjectionValue(string.Empty)).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void SetEvent(InjectionValue name, InjectionValue stateValue, InjectionValue repeatOrHandler)
{
string raw = repeatOrHandler.ToString() ?? string.Empty;
if (!string.IsNullOrWhiteSpace(raw) && !NumberConversions.TryStr2Int(raw, out _))
SetEvent(name, stateValue, InjectionValue.True, repeatOrHandler);
else
SetEvent(name, stateValue, repeatOrHandler, new InjectionValue(string.Empty));
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: index
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5414.
public void SetJournalLine(int index)
결과: void.
호출: bridge.SetJournalLine.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetJournalLine:bridge.SetJournalLine(index).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void SetJournalLine(int index) => bridge.SetJournalLine(index);표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5912.
public void Terminate()
결과: void.
호출: bridge.Terminate.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Terminate:bridge.Terminate(string.Empty).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Terminate() => bridge.Terminate(string.Empty);표시된 호출 및 상태 변경을 수행합니다.
매개변수: subrutineName
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5911.
public void Terminate(string subrutineName)
결과: void.
호출: bridge.Terminate.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Terminate:bridge.Terminate(subrutineName).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Terminate(string subrutineName) => bridge.Terminate(subrutineName);표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5315.
public void TextOpen()
결과: void.
호출: bridge.TextOpen.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TextOpen:bridge.TextOpen().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void TextOpen() => bridge.TextOpen();표시된 호출 및 상태 변경을 수행합니다.
매개변수: flag
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5989.
public void Track(InjectionValue flag)
결과: void.
호출: Track, NumberConversions.ToInt, GetX, GetY.
호출:
-
InjectionScript.Runtime.InjectionApiUO.Track:Track(NumberConversions.ToInt(flag), GetX(), GetY()). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(flag). -
InjectionScript.Runtime.InjectionApiUO.GetX:GetX(). -
InjectionScript.Runtime.InjectionApiUO.GetY:GetY().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Track(InjectionValue flag) => Track(NumberConversions.ToInt(flag), GetX(), GetY());아래 식의 값을 반환합니다.
매개변수: windowIndex, checkbox, stateValue
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3294.
public int TradeCheck(InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue)
결과: int.
결과: bridge.TradeCheck(NumberConversions.ToInt(windowIndex), NumberConversions.ToInt(checkbox), NumberConversions.ToInt(stateValue), true).
호출: bridge.TradeCheck, NumberConversions.ToInt.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TradeCheck:bridge.TradeCheck(NumberConversions.ToInt(windowIndex), NumberConversions.ToInt(checkbox), NumberConversions.ToInt(stateValue), true). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(windowIndex). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(checkbox). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(stateValue).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int TradeCheck(InjectionValue windowIndex, InjectionValue checkbox, InjectionValue stateValue)
=> bridge.TradeCheck(NumberConversions.ToInt(windowIndex), NumberConversions.ToInt(checkbox), NumberConversions.ToInt(stateValue), true);아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: supportedLayers, successMessage
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5699.
private int Unequip(int[] supportedLayers, string successMessage)
결과: int.
결과: success ? 1 : 0.
호출: bridge.ObjAtLayer, bridge.Unequip, injectionApi.Wait, SystemMessage.
조건: bridge.ObjAtLayer(layer) != 0; state.DressSpeed > 0.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ObjAtLayer:bridge.ObjAtLayer(layer). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Unequip:bridge.Unequip(layer). -
InjectionScript.Runtime.InjectionApi.Wait:injectionApi.Wait(state.DressSpeed). -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage(success ? successMessage : "Some equipment could not be removed.").
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private int Unequip(int[] supportedLayers, string successMessage)
{
bool success = true;
foreach (var layer in supportedLayers)
{
if (bridge.ObjAtLayer(layer) != 0)
{
success &= bridge.Unequip(layer) != 0;
if (state.DressSpeed > 0)
injectionApi.Wait(state.DressSpeed);
}
}
SystemMessage(success ? successMessage : "Some equipment could not be removed.");
return success ? 1 : 0;
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4368.
public void UnsetReceivingContainer()
결과: void.
호출: bridge.UnsetReceivingContainer.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.UnsetReceivingContainer:bridge.UnsetReceivingContainer().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void UnsetReceivingContainer() => bridge.UnsetReceivingContainer();표시된 호출 및 상태 변경을 수행합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3918.
public void UseObject(string id)
결과: void.
호출: UseObject, GetObject.
호출:
-
InjectionScript.Runtime.InjectionApiUO.UseObject:UseObject(GetObject(id)). -
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(id).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void UseObject(string id) => UseObject(GetObject(id));아래 식의 값을 반환합니다.
매개변수: type, color
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3975.
public int UseType(int type, int color)
결과: int.
호출: CompactUseType.
호출:
-
InjectionScript.Runtime.InjectionApiUO.CompactUseType:CompactUseType(new[] { new InjectionValue(type), new InjectionValue(color) }).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int UseType(int type, int color) => CompactUseType(new[]
{
new InjectionValue(type),
new InjectionValue(color)
});표시된 호출 및 상태 변경을 수행합니다.
매개변수: startTime, maxDelay, text
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5417.
public void WaitingForJournalText(int startTime, int maxDelay, string text)
결과: void.
호출: WaitingForJournalText.
호출:
-
InjectionScript.Runtime.InjectionApiUO.WaitingForJournalText:WaitingForJournalText(startTime, maxDelay, text, 0, 0, InjectionValue.Zero).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void WaitingForJournalText(int startTime, int maxDelay, string text)
=> WaitingForJournalText(startTime, maxDelay, text, 0, 0, InjectionValue.Zero);아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: delayValue, menuCountValue, blockMenuValue, menuNameValue, skillOrSerial
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3313.
public int WaitingForMenu(InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial)
결과: int.
결과: 1; 0.
호출: Math.Max, NumberConversions.ToInt, menuNameValue.ToString, timeSource.Now.AddMilliseconds, TriggerWaitAction, bridge.GetLastMenuIdentity, identity.Equals, bridge.GetLastMenuCaption.
조건: identity.Length == 0; !identity.Equals(previousIdentity, StringComparison.Ordinal); observedMenuCount >= requiredMenuCount && nameMatches; blockMenu.
호출:
-
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(delayValue). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(menuCountValue). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(blockMenuValue). -
InjectionScript.Runtime.InjectionValue.ToString:menuNameValue.ToString(). -
InjectionScript.Runtime.InjectionApiUO.TriggerWaitAction:TriggerWaitAction(skillOrSerial). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLastMenuIdentity:bridge.GetLastMenuIdentity(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetLastMenuCaption:bridge.GetLastMenuCaption(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseMenu:bridge.CloseMenu(). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Wait:bridge.Wait(Math.Min(25, Math.Max(1, delay))).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int WaitingForMenu(InjectionValue delayValue, InjectionValue menuCountValue, InjectionValue blockMenuValue, InjectionValue menuNameValue, InjectionValue skillOrSerial)
{
int delay = Math.Max(0, NumberConversions.ToInt(delayValue));
int requiredMenuCount = Math.Max(1, NumberConversions.ToInt(menuCountValue));
bool blockMenu = NumberConversions.ToInt(blockMenuValue) != 0;
string expectedName = menuNameValue.ToString() ?? string.Empty;
DateTime deadline = timeSource.Now.AddMilliseconds(delay);
string previousIdentity = string.Empty;
int observedMenuCount = 0;
TriggerWaitAction(skillOrSerial);
do
{
string identity = bridge.GetLastMenuIdentity() ?? string.Empty;
if (identity.Length == 0)
{
// Reset between server menus so an identical menu opened again
// still counts as a new appearance.
previousIdentity = string.Empty;
}
else if (!identity.Equals(previousIdentity, StringComparison.Ordinal))
{
previousIdentity = identity;
observedMenuCount++;
string caption = bridge.GetLastMenuCaption() ?? string.Empty;
bool nameMatches = expectedName.Length == 0
|| caption.Equals(expectedName, StringComparison.Ordinal);
if (observedMenuCount >= requiredMenuCount && nameMatches)
{
if (blockMenu)
bridge.CloseMenu();
return 1;
}
}
if (timeSource.Now >= deadline)
break;
bridge.Wait(Math.Min(25, Math.Max(1, delay)));
}
while (true);
return 0;
}아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3308.
public int WaitingMenu()
결과: int.
결과: bridge.WaitingMenu().
호출: bridge.WaitingMenu.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.WaitingMenu:bridge.WaitingMenu().
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public int WaitingMenu() => bridge.WaitingMenu();호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4667.
values
결과: values.
결과: new InjectionValue(CompactFindMan(values)).
호출: CompactFindMan.
호출:
-
InjectionScript.Runtime.InjectionApiUO.CompactFindMan:CompactFindMan(values).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
values => new InjectionValue(CompactFindMan(values))호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1049.
결과: bridge.FollowersMax.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FollowersMax:bridge.FollowersMax.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.FollowersMax호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1031.
결과: bridge.Intelligence.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Intelligence:bridge.Intelligence.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.Intelligence호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1028.
결과: bridge.Stamina.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.Stamina호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:693.
values
결과: values.
결과: new InjectionValue(SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1]))).
호출: SkillVal, values[0].ToString, NumberConversions.ToInt.
호출:
-
InjectionScript.Runtime.InjectionApiUO.SkillVal:SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1])). -
InjectionScript.Runtime.InjectionValue.ToString:values[0].ToString(). -
InjectionScript.Runtime.NumberConversions.ToInt:NumberConversions.ToInt(values[1]).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
values => new InjectionValue(SkillVal(values[0].ToString(), NumberConversions.ToInt(values[1])))호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1028.
결과: bridge.Stamina.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Stamina:bridge.Stamina.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.Stamina호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1030.
결과: bridge.Strength.
호출:
-
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Strength:bridge.Strength.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
() => bridge.Strength아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.
value
결과: value.
결과: getter(GetObject(value)).
호출: getter, GetObject.
호출:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
value => getter(GetObject(value))아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.
value
결과: value.
결과: getter(GetObject(value)).
호출: getter, GetObject.
호출:
-
InjectionScript.Runtime.InjectionApiUO.GetObject:GetObject(value).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
value => getter(GetObject(value))표시된 호출 및 상태 변경을 수행합니다.
매개변수: name, args
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:280.
private void CallNativeSubrutine(string name, params InjectionValue[] args)
결과: void.
호출: Checkpoint, Metadata.TryGetNativeSubrutine, nativeSubrutine.Call.
조건: !Metadata.TryGetNativeSubrutine("UO." + name, args, out var nativeSubrutine).
호출:
-
InjectionScript.Runtime.InjectionRuntime.Checkpoint:Checkpoint(). -
InjectionScript.Runtime.Metadata.TryGetNativeSubrutine:Metadata.TryGetNativeSubrutine("UO." + name, args, out var nativeSubrutine). -
InjectionScript.Runtime.NativeSubrutineDefinition.Call:nativeSubrutine.Call(args).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private void CallNativeSubrutine(string name, params InjectionValue[] args)
{
Checkpoint();
if (!Metadata.TryGetNativeSubrutine("UO." + name, args, out var nativeSubrutine))
throw new NativeSubrutineException($"Native UO command '{name}' with {args.Length} argument(s) was not found.");
nativeSubrutine.Call(args);
Checkpoint();
}표시된 호출 및 상태 변경을 수행합니다.
매개변수: parameters
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:10.
public void Exec(string parameters)
결과: void.
호출: Tokenize(parameters).ToArray, Tokenize, command.Equals, string.IsNullOrWhiteSpace, bridge.Exec, parts.Skip(1).ToArray, parts.Skip, arguments.Select(token => token.Text).ToArray.
조건: parts.Length == 0; command.Equals("exec", StringComparison.OrdinalIgnoreCase); parts.Length != 2 || string.IsNullOrWhiteSpace(parts[1].Text); TryHandleLegacyConsoleCommand(command, rawArguments).
호출:
-
InjectionScript.Runtime.InjectionRuntime.Tokenize:Tokenize(parameters). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Exec:bridge.Exec(parts[1].Text). -
InjectionScript.Runtime.InjectionRuntime.TryHandleLegacyConsoleCommand:TryHandleLegacyConsoleCommand(command, rawArguments). -
InjectionScript.Runtime.InjectionRuntime.NormalizeConsoleAlias:NormalizeConsoleAlias(command). -
InjectionScript.Runtime.InjectionRuntime.IsRemainderTextCommand:IsRemainderTextCommand(command). -
InjectionScript.Runtime.InjectionRuntime.ToConsoleValue:ToConsoleValue(token.Text). -
InjectionScript.Runtime.InjectionRuntime.CallNativeSubrutine:CallNativeSubrutine(command, args).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public void Exec(string parameters)
{
ConsoleToken[] parts = Tokenize(parameters).ToArray();
if (parts.Length == 0)
return;
string command = parts[0].Text;
if (command.Equals("exec", StringComparison.OrdinalIgnoreCase))
{
if (parts.Length != 2 || string.IsNullOrWhiteSpace(parts[1].Text))
throw new NativeSubrutineException("Usage: exec script_function");
bridge.Exec(parts[1].Text);
return;
}
ConsoleToken[] arguments = parts.Skip(1).ToArray();
string[] rawArguments = arguments.Select(token => token.Text).ToArray();
if (TryHandleLegacyConsoleCommand(command, rawArguments))
return;
command = NormalizeConsoleAlias(command);
if (IsRemainderTextCommand(command) && rawArguments.Length > 0)
arguments = new[] { new ConsoleToken(string.Join(" ", rawArguments), true) };
else if (command.Equals("ColorPrint", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 1)
arguments = new[] { arguments[0], new ConsoleToken(string.Join(" ", rawArguments.Skip(1)), true) };
else if (command.Equals("CharPrint", StringComparison.OrdinalIgnoreCase) && rawArguments.Length > 2)
arguments = new[] { arguments[0], arguments[1], new ConsoleToken(string.Join(" ", rawArguments.Skip(2)), true) };
InjectionValue[] args = arguments.Select(token => token.Quoted
? new InjectionValue(token.Text) : ToConsoleValue(token.Text)).ToArray();
CallNativeSubrutine(command, args);
}아래 식의 값을 반환합니다.
매개변수: 매개변수가 없습니다.
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionValue.cs:405.
public override string ToString()
결과: string.
결과: "<unit>"; Integer.ToString(System.Globalization.CultureInfo.InvariantCulture); String; Decimal.ToString(System.Globalization.CultureInfo.InvariantCulture); FormatArray(Array, new HashSet<InjectionValue[]>(), 0); Object?.Name ?? string.Empty.
호출: Integer.ToString, Decimal.ToString, FormatArray.
호출:
-
InjectionScript.Runtime.InjectionValue.FormatArray:FormatArray(Array, new HashSet<InjectionValue[]>(), 0).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public override string ToString()
{
switch (Kind)
{
case InjectionValueKind.Unit:
return "<unit>";
case InjectionValueKind.Integer:
return Integer.ToString(System.Globalization.CultureInfo.InvariantCulture);
case InjectionValueKind.String:
return String;
case InjectionValueKind.Decimal:
return Decimal.ToString(System.Globalization.CultureInfo.InvariantCulture);
case InjectionValueKind.Array:
return FormatArray(Array, new HashSet<InjectionValue[]>(), 0);
case InjectionValueKind.Object:
return Object?.Name ?? string.Empty;
default:
throw new InvalidOperationException($"Unknown InjectionValue kind {Kind}.");
}
}아래 식의 값을 반환합니다.
매개변수: id
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NumberConversions.cs:80.
public static string ToHex(short id)
결과: string.
결과: $"0x{id:X4}".
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public static string ToHex(short id) => $"0x{id:X4}";표시된 호출 및 상태 변경을 수행합니다.
매개변수: bytes
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/ObjectTypes/MemoryStreamObject.cs:26.
internal void ReplaceBytes(byte[] bytes)
결과: void.
호출: stream.SetLength, Array.Empty<byte>, stream.Write.
조건: bytes == null.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
internal void ReplaceBytes(byte[] bytes)
{
stream.SetLength(0);
stream.Position = 0;
if (bytes == null)
bytes = Array.Empty<byte>();
stream.Write(bytes, 0, bytes.Length);
stream.Position = 0;
}아래 식의 값을 반환합니다.
매개변수: name
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/Globals.cs:22.
public string GetGlobal(string name)
결과: string.
결과: globals.TryGetValue(name, out var value) ? value : "N/A".
호출: globals.TryGetValue.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
public string GetGlobal(string name)
{
lock (globalsLock)
return globals.TryGetValue(name, out var value) ? value : "N/A";
}아래 조건을 확인하고 표시된 결과를 반환합니다.
매개변수: name
소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedIgnoreLists.cs:115.
private static string RequireName(string name)
결과: string.
결과: name.Trim().
호출: string.IsNullOrWhiteSpace, nameof, name.Trim.
조건: string.IsNullOrWhiteSpace(name).
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
private static string RequireName(string name)
{
if (string.IsNullOrWhiteSpace(name)) throw new ArgumentException("Ignore list name must not be empty.", nameof(name));
return name.Trim();
}ClassicUO — Bad Newbie & C# Scripts IDE