Skip to content

KO Runtime Helpers 5

Codex edited this page Oct 12, 2026 · 1 revision

uk · ru · en · de · fr · it · es · zh-tw · ja · ko

보조 함수 5

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

ClassicUO.CSharp.CSharpCallbacks.ReadMobiles

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.CSharp/CSharpCallbacks.cs:323.

private HashSet<int> ReadMobiles()

결과: HashSet<int>.

호출: Convert.ToInt32, native, ((System.Collections.IEnumerable?)native("GetMobiles", []) ?? Array.Empty<object>()) .Cast<object?>().Select(Convert.ToInt32).Where(serial => serial != 0 && serial != self).ToHashSet, ((System.Collections.IEnumerable?)native("GetMobiles", []) ?? Array.Empty<object>()) .Cast<object?>().Select(Convert.ToInt32).Where, ((System.Collections.IEnumerable?)native("GetMobiles", []) ?? Array.Empty<object>()) .Cast<object?>().Select, ((System.Collections.IEnumerable?)native("GetMobiles", []) ?? Array.Empty<object>()) .Cast<object?>, Array.Empty<object>.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private HashSet<int> ReadMobiles()
    {
        int self = Convert.ToInt32(native("Self", []));
        return ((System.Collections.IEnumerable?)native("GetMobiles", []) ?? Array.Empty<object>())
            .Cast<object?>().Select(Convert.ToInt32).Where(serial => serial != 0 && serial != self).ToHashSet();
    }

ClassicUO.Game.GameActions.AcceptTrade

표시된 호출 및 상태 변경을 수행합니다.

매개변수: serial, accepted

소스: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:871.

public static void AcceptTrade(uint serial, bool accepted)

결과: void.

호출: Socket.Send_TradeResponse.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public static void AcceptTrade(uint serial, bool accepted)
        {
            Socket.Send_TradeResponse(serial, 2, accepted);
        }

ClassicUO.Game.GameActions.DoubleClick

표시된 호출 및 상태 변경을 수행합니다.

매개변수: world, serial

소스: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:302.

public static void DoubleClick(World world, uint serial)

결과: void.

호출: world.Items.Get, .TrackDoorForAutoClose, SerialHelper.IsMobile, RequestMobileStatus, Attack, Socket.Send_DoubleClick, SerialHelper.IsItem, world.Mobiles.Get.

조건: clickedItem != null && clickedItem.ItemData.IsDoor; serial != world.Player && SerialHelper.IsMobile(serial) && world.Player.InWarMode; SerialHelper.IsItem(serial) || (SerialHelper.IsMobile(serial) && (world.Mobiles.Get(serial)?.IsHuman ?? false)); SerialHelper.IsMobile(serial).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public static void DoubleClick(World world, uint serial)
        {
            Item clickedItem = world.Items.Get(serial);

            if (clickedItem != null && clickedItem.ItemData.IsDoor)
                world.Player?.TrackDoorForAutoClose(clickedItem);

            if (serial != world.Player && SerialHelper.IsMobile(serial) && world.Player.InWarMode)
            {
                RequestMobileStatus(world,serial);
                Attack(world, serial);
            }
            else
            {   
                Socket.Send_DoubleClick(serial);
            }

            if (SerialHelper.IsItem(serial) || (SerialHelper.IsMobile(serial) && (world.Mobiles.Get(serial)?.IsHuman ?? false)))
            {
                if (SerialHelper.IsMobile(serial))
                {
                    world.TargetManager.NewTargetSystemSerial = serial;
                }
                world.LastObject = serial;
            }
            else
            {
                world.LastObject = 0;
            }
        }

ClassicUO.Game.GameActions.EmoteAction

표시된 호출 및 상태 변경을 수행합니다.

매개변수: action

소스: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:905.

public static void EmoteAction(string action)

결과: void.

호출: Socket.Send_EmoteAction.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public static void EmoteAction(string action)
        {
            Socket.Send_EmoteAction(action);
        }

ClassicUO.Game.GameActions.ReplyGump

표시된 호출 및 상태 변경을 수행합니다.

매개변수: local, server, button, switches, entries

소스: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:705.

public static void ReplyGump(uint local, uint server, int button, uint[] switches = null, Tuple<ushort, string>[] entries = null)

결과: void.

호출: Socket.Send_GumpResponse.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public static void ReplyGump(uint local, uint server, int button, uint[] switches = null, Tuple<ushort, string>[] entries = null)
        {
            Socket.Send_GumpResponse(local,
                                     server,
                                     button,
                                     switches,
                                     entries);
        }

ClassicUO.Game.GameActions.SayParty

표시된 호출 및 상태 변경을 수행합니다.

매개변수: message, serial

소스: Project_Full/src/ClassicUO.Client/Game/GameActions.cs:537.

public static void SayParty(string message, uint serial = 0)

결과: void.

호출: Socket.Send_PartyMessage.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public static void SayParty(string message, uint serial = 0)
        {
            Socket.Send_PartyMessage(message, serial);
        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AllPrice

표시된 호출 및 상태 변경을 수행합니다.

매개변수: price, type

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1275.

public void AllPrice(int price, int type)

결과: void.

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void AllPrice(int price, int type)

            => Invoke(() => _manager.VendorPricer.Configure(price, type));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Attack

표시된 호출 및 상태 변경을 수행합니다.

매개변수: id

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:781.

public void Attack(int id)

결과: void.

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void Attack(int id) => Invoke(() => GameActions.Attack(_world, (uint)id));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CircleTrans

표시된 호출 및 상태 변경을 수행합니다.

매개변수: enabled

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:624.

public void CircleTrans(int enabled)

결과: void.

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void CircleTrans(int enabled) => Invoke(() =>

        {

            if (ProfileManager.CurrentProfile == null)

            {

                Error("UO.CircleTrans: no active profile");

                return;

            }

            ProfileManager.CurrentProfile.UseCircleOfTransparency = enabled != 0;

            ProfileManager.SaveCurrentProfile();

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ClearJournalIgnore

표시된 호출 및 상태 변경을 수행합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1959.

public void ClearJournalIgnore()

결과: void.

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void ClearJournalIgnore() => Invoke(JournalManager.ClearYokoIgnoredText);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.CloseSimpleGump

표시된 호출 및 상태 변경을 수행합니다.

매개변수: index

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2878.

public void CloseSimpleGump(int index)

결과: void.

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void CloseSimpleGump(int index) => Invoke(() =>

        {

            Gump gump = ResolveGumpUnsafe(index);

            CloseGumpUnsafe(gump);

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Descendants

표시된 호출 및 상태 변경을 수행합니다.

매개변수: parent

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3926.

private static IEnumerable<Control> Descendants(Control parent)

결과: IEnumerable<Control>.

호출: Descendants.

조건: child.IsDisposed.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private static IEnumerable<Control> Descendants(Control parent)

        {

            foreach (Control child in parent.Children)

            {

                if (child.IsDisposed) continue;

                yield return child;

                foreach (Control descendant in Descendants(child))

                {

                    yield return descendant;

                }

            }

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.EmoteAction

표시된 호출 및 상태 변경을 수행합니다.

매개변수: action

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1676.

public void EmoteAction(string action)

결과: void.

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void EmoteAction(string action) => Invoke(() => GameActions.EmoteAction(action ?? string.Empty));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Exists

아래 식의 값을 반환합니다.

매개변수: id

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:329.

public int Exists(int id)

결과: int.

결과: Invoke(() => _world.Get((uint)id) != null ? 1 : 0).

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int Exists(int id) => Invoke(() => _world.Get((uint)id) != null ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindList::MatchesPair

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: entity, priority

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2580.

bool MatchesPair(Entity entity, out int priority)

결과: bool.

결과: false; true.

호출: IsIgnored.

조건: entity == null || entity.IsDestroyed || IsIgnored(entity); typeOk && colorOk.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

bool MatchesPair(Entity entity, out int priority)

                {

                    priority = int.MaxValue;

                    if (entity == null || entity.IsDestroyed || IsIgnored(entity))

                        return false;

                    for (int index = 0; index < pairCount; index++)

                    {

                        int wantedType = index < requestedTypes.Length ? requestedTypes[index] : -1;

                        int wantedColor = index < requestedColors.Length ? requestedColors[index] : -1;

                        bool typeOk = wantedType < 0 || wantedType == 0xFFFF || entity.Graphic == (ushort)wantedType;

                        bool colorOk = wantedColor < 0 || wantedColor == 0xFFFF || entity.Hue == (ushort)wantedColor;

                        if (typeOk && colorOk)

                        {

                            priority = index;

                            return true;

                        }

                    }

                    return false;

                }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FindNumberedTrade

아래 식의 값을 반환합니다.

매개변수: number

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:247.

private ISessionTrade FindNumberedTrade(int number)

결과: ISessionTrade.

결과: number > 0 ? FindTrade(number - 1) : null.

호출: FindTrade.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private ISessionTrade FindNumberedTrade(int number) => number > 0 ? FindTrade(number - 1) : null;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FireResistance

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:161.

public int FireResistance

결과: int.

결과: Invoke(() => CurrentPlayer?.FireResistance ?? 0).

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int FireResistance => Invoke(() => CurrentPlayer?.FireResistance ?? 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.FunRunning

아래 식의 값을 반환합니다.

매개변수: subrutineName

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2719.

public bool FunRunning(string subrutineName)

결과: bool.

결과: procedure != null && _manager.IsRunning(procedure.Key).

호출: _manager.FindProcedureByName, _manager.IsRunning.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public bool FunRunning(string subrutineName)

        {

            YokoProcedureInfo procedure = _manager.FindProcedureByName(subrutineName);

            return procedure != null && _manager.IsRunning(procedure.Key);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetActiveAbility

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2126.

public string GetActiveAbility()

결과: string.

호출: Invoke.

호출:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Player == null) return "0"; Ability ability = ((byte)_world.Player.PrimaryAbility & 0x80) != 0 ? _world.Player.PrimaryAbility : ((byte)_world.Player.SecondaryAbility & 0x80) != 0 ? _world.Player.SecondaryAbility : Ability.Invalid; int index = ((byte)ability & 0x7F) - 1; return index >= 0 && index < AbilityData.Abilities.Length ? AbilityData.Abilities[index].Name : "0"; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.Player == null) return "0"; Ability ability = ((byte)_world.Player.PrimaryAbility & 0x80) != 0 ? _world.Player.PrimaryAbility : ((byte)_world.Player.SecondaryAbility & 0x80) != 0 ? _world.Player.SecondaryAbility : Ability.Invalid; int index = ((byte)ability & 0x7F) - 1; return index >= 0 && index < AbilityData.Abilities.Length ? AbilityData.Abilities[index].Name : "0"; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public string GetActiveAbility() => Invoke(() =>

        {

            if (_world.Player == null) return "0";

            Ability ability = ((byte)_world.Player.PrimaryAbility & 0x80) != 0

                ? _world.Player.PrimaryAbility

                : ((byte)_world.Player.SecondaryAbility & 0x80) != 0 ? _world.Player.SecondaryAbility : Ability.Invalid;

            int index = ((byte)ability & 0x7F) - 1;

            return index >= 0 && index < AbilityData.Abilities.Length ? AbilityData.Abilities[index].Name : "0";

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetContextMenu

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:701.

public string[] GetContextMenu()

결과: string[].

결과: Invoke(() => _world.ServerMenus.Context?.GetYokoItems() ?? Array.Empty<string>()).

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public string[] GetContextMenu() => Invoke(() => _world.ServerMenus.Context?.GetYokoItems() ?? Array.Empty<string>());

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetFoundItems

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2268.

public int[] GetFoundItems()

결과: int[].

결과: _foundItems.ToArray().

호출: _foundItems.ToArray.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int[] GetFoundItems() => _foundItems.ToArray();

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetObjectInfoText

아래 식의 값을 반환합니다.

매개변수: id

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:999.

public string GetObjectInfoText(int id)

결과: string.

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public string GetObjectInfoText(int id) => Invoke(() =>

        {

            uint serial = unchecked((uint)id);

            if (_world.Get(serial) is not Entity entity || entity.IsDestroyed)

                return $"UO.Info: object is unavailable: 0x{serial:X8}";



            string result = FormatObjectInfo(entity);

            OpenInteractiveInfoGump("C# Object Information", result);

            return result;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.GetProfile

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: serial

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:704.

public string GetProfile(int serial)

결과: string.

결과: text; string.Empty.

호출: Invoke, DateTime.UtcNow.AddSeconds, Wait, Error.

조건: text != null.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public string GetProfile(int serial)

        {

            Invoke(() => GameActions.RequestProfile((uint)serial));

            DateTime deadline = DateTime.UtcNow.AddSeconds(3);

            while (DateTime.UtcNow < deadline)

            {

                string text = Invoke(() => _world.CharacterPanels.Profile((uint)serial)?.CurrentText);

                if (text != null)

                    return text;

                Wait(25);

            }

            Error($"UO.GetProfile: no profile response for 0x{serial:X8}");

            return string.Empty;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Ignore

표시된 호출 및 상태 변경을 수행합니다.

매개변수: id

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2704.

public void Ignore(int id)

결과: void.

호출: State.IgnoredSerials.Add.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void Ignore(int id) => State.IgnoredSerials.Add(id);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsGroundFindContainer

아래 식의 값을 반환합니다.

매개변수: containerId

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3762.

private static bool IsGroundFindContainer(int containerId)

결과: bool.

결과: containerId == 1.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private static bool IsGroundFindContainer(int containerId) => containerId == 1;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.IsMineTile

아래 식의 값을 반환합니다.

매개변수: x, y

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:663.

public int IsMineTile(int x, int y)

결과: int.

호출: Invoke.

호출:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => AnyTileAt(x, y, tile => tile is Static or Multi && (StaticFilters.IsRock(tile.Graphic) || TileName(tile).IndexOf("cave", StringComparison.OrdinalIgnoreCase) >= 0 || TileName(tile).IndexOf("mountain", StringComparison.OrdinalIgnoreCase) >= 0 || TileName(tile).IndexOf("rock", StringComparison.OrdinalIgnoreCase) >= 0)) ? 1 : 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => AnyTileAt(x, y, tile => tile is Static or Multi && (StaticFilters.IsRock(tile.Graphic) || TileName(tile).IndexOf("cave", StringComparison.OrdinalIgnoreCase) >= 0 || TileName(tile).IndexOf("mountain", StringComparison.OrdinalIgnoreCase) >= 0 || TileName(tile).IndexOf("rock", StringComparison.OrdinalIgnoreCase) >= 0)) ? 1 : 0). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.AnyTileAt: AnyTileAt(x, y, tile => tile is Static or Multi && (StaticFilters.IsRock(tile.Graphic) || TileName(tile).IndexOf("cave", StringComparison.OrdinalIgnoreCase) >= 0 || TileName(tile).IndexOf("mountain", StringComparison.OrdinalIgnoreCase) >= 0 || TileName(tile).IndexOf("rock", StringComparison.OrdinalIgnoreCase) >= 0)).
  • ClassicUO.Game.Data.StaticFilters.IsRock: StaticFilters.IsRock(tile.Graphic).
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TileName: TileName(tile).

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int IsMineTile(int x, int y) => Invoke(() => AnyTileAt(x, y, tile =>

            tile is Static or Multi && (StaticFilters.IsRock(tile.Graphic)

                || TileName(tile).IndexOf("cave", StringComparison.OrdinalIgnoreCase) >= 0

                || TileName(tile).IndexOf("mountain", StringComparison.OrdinalIgnoreCase) >= 0

                || TileName(tile).IndexOf("rock", StringComparison.OrdinalIgnoreCase) >= 0)) ? 1 : 0);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalTextType

아래 식의 값을 반환합니다.

매개변수: index

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1975.

public int JournalTextType(int index)

결과: int.

결과: GetJournalEntry(index) is JournalEntry entry ? (int)entry.TextType : 0.

호출: GetJournalEntry.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int JournalTextType(int index) => GetJournalEntry(index) is JournalEntry entry ? (int)entry.TextType : 0;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.JournalTimestamp

아래 식의 값을 반환합니다.

매개변수: index

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1971.

public double JournalTimestamp(int index)

결과: double.

결과: GetJournalEntry(index) is JournalEntry entry ? entry.Time.ToOADate() : 0d.

호출: GetJournalEntry, entry.Time.ToOADate.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public double JournalTimestamp(int index) => GetJournalEntry(index) is JournalEntry entry ? entry.Time.ToOADate() : 0d;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LDblClick

표시된 호출 및 상태 변경을 수행합니다.

매개변수: x, y

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1369.

public void LDblClick(int x, int y)

결과: void.

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void LDblClick(int x, int y) => Invoke(() =>

        {

            WarpMouse(x, y);

            MouseButton(0x0002, 0x0004);

            MouseButton(0x0002, 0x0004);

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LastAttack

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:147.

public int LastAttack

결과: int.

결과: Invoke(() => (int)_world.TargetManager.LastAttack).

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int LastAttack => Invoke(() => (int)_world.TargetManager.LastAttack);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.MenuHookPresent

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:685.

public int MenuHookPresent()

결과: int.

결과: _manager.HasMenuHooks ? 1 : 0.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int MenuHookPresent() => _manager.HasMenuHooks ? 1 : 0;

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Move

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3281.

public int Move()

결과: int.

결과: IsMoving().

호출: IsMoving.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int Move() => IsMoving();

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartyRemove

표시된 호출 및 상태 변경을 수행합니다.

매개변수: serial

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1540.

public void PartyRemove(int serial)

결과: void.

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void PartyRemove(int serial) => Invoke(() => GameActions.RequestPartyRemoveMember((uint)serial));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PartySay

표시된 호출 및 상태 변경을 수행합니다.

매개변수: message, serial

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1534.

public void PartySay(string message, int serial)

결과: void.

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void PartySay(string message, int serial) => Invoke(() => GameActions.SayParty(message ?? string.Empty, (uint)serial));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RequireGameInput

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3994.

private static GameController RequireGameInput()

결과: GameController.

결과: game.

호출: RequireGameView, SDL3.SDL.SDL_GetWindowFlags.

조건: (SDL3.SDL.SDL_GetWindowFlags(game.Window.Handle) & SDL3.SDL.SDL_WindowFlags.SDL_WINDOW_INPUT_FOCUS) == 0.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private static GameController RequireGameInput()

        {

            var game = RequireGameView("Keyboard/mouse input");

            if ((SDL3.SDL.SDL_GetWindowFlags(game.Window.Handle) & SDL3.SDL.SDL_WindowFlags.SDL_WINDOW_INPUT_FOCUS) == 0)

                throw new InvalidOperationException("Keyboard/mouse input requires the graphical ClassicUO window to have focus.");

            return game;

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SaveConfig

표시된 호출 및 상태 변경을 수행합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3670.

public void SaveConfig()

결과: void.

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void SaveConfig() => Invoke(ProfileManager.SaveCurrentProfile);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetEasyUO

표시된 호출 및 상태 변경을 수행합니다.

매개변수: number, value

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3116.

public void SetEasyUO(int number, string value)

결과: void.

호출: OperatingSystem.IsWindows, Error, Registry.CurrentUser.CreateSubKey, key.SetValue, number.ToString.

조건: !OperatingSystem.IsWindows().

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void SetEasyUO(int number, string value)

        {

            if (!OperatingSystem.IsWindows())

            {

                Error("UO.SetEasyUO is available only on Windows");

                return;

            }

            using RegistryKey key = Registry.CurrentUser.CreateSubKey(@"Software\EasyUO", true);

            key.SetValue(number.ToString(CultureInfo.InvariantCulture), value ?? string.Empty, RegistryValueKind.String);

        }

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetJournalLine

표시된 호출 및 상태 변경을 수행합니다.

매개변수: index

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:1976.

public void SetJournalLine(int index)

결과: void.

호출: Math.Max.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void SetJournalLine(int index) => _journalLine = Math.Max(0, index);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetMovementTimers

표시된 호출 및 상태 변경을 수행합니다.

매개변수: runMount, runUnmount, walkMount, walkUnmount

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:205.

public void SetMovementTimers(int runMount, int runUnmount, int walkMount, int walkUnmount)

결과: void.

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void SetMovementTimers(int runMount, int runUnmount, int walkMount, int walkUnmount) => Invoke(() =>

            MovementSpeed.ConfigureYokoMovementTimers(runMount, runUnmount, walkMount, walkUnmount));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetReconnectSelection

표시된 호출 및 상태 변경을 수행합니다.

매개변수: shardName, characterName, useAtEveryConnect

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:467.

public void SetReconnectSelection(string shardName, string characterName, int useAtEveryConnect)

결과: void.

호출: Invoke.

호출:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.SessionControl is { } session) { session.SetReconnectSelection(shardName, characterName, useAtEveryConnect != 0); return; } if (!string.IsNullOrWhiteSpace(shardName)) { Settings.GlobalSettings.LastServerName = shardName.Trim(); Settings.GlobalSettings.Save(); } if (!string.IsNullOrWhiteSpace(characterName)) { LastCharacterManager.OverrideLastCharacter( characterName.Trim(), useAtEveryConnect == 0 ); } }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { if (_world.SessionControl is { } session) { session.SetReconnectSelection(shardName, characterName, useAtEveryConnect != 0); return; } if (!string.IsNullOrWhiteSpace(shardName)) { Settings.GlobalSettings.LastServerName = shardName.Trim(); Settings.GlobalSettings.Save(); } if (!string.IsNullOrWhiteSpace(characterName)) { LastCharacterManager.OverrideLastCharacter( characterName.Trim(), useAtEveryConnect == 0 ); } }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
  • ClassicUO.Game.Managers.LastCharacterManager.OverrideLastCharacter: LastCharacterManager.OverrideLastCharacter( characterName.Trim(), useAtEveryConnect == 0 ).

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void SetReconnectSelection(string shardName, string characterName, int useAtEveryConnect) => Invoke(() =>

        {

            if (_world.SessionControl is { } session)

            {

                session.SetReconnectSelection(shardName, characterName, useAtEveryConnect != 0);

                return;

            }

            if (!string.IsNullOrWhiteSpace(shardName))

            {

                Settings.GlobalSettings.LastServerName = shardName.Trim();

                Settings.GlobalSettings.Save();

            }



            if (!string.IsNullOrWhiteSpace(characterName))

            {

                LastCharacterManager.OverrideLastCharacter(

                    characterName.Trim(),

                    useAtEveryConnect == 0

                );

            }

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetWeatherFilter

표시된 호출 및 상태 변경을 수행합니다.

매개변수: enabled

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3653.

public void SetWeatherFilter(int enabled)

결과: void.

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void SetWeatherFilter(int enabled) => Invoke(() => _manager.SetWeatherFilter(enabled != 0));

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ShardName

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:173.

public string ShardName

결과: string.

결과: Invoke(() => _world.ServerName ?? string.Empty).

호출: Invoke.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public string ShardName => Invoke(() => _world.ServerName ?? string.Empty);

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ShowGumpListInspector

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:3084.

public int ShowGumpListInspector()

결과: int.

호출: Invoke.

호출:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { List<Gump> gumps = ServerGumpsUnsafe(); var document = new StringBuilder(); document.AppendLine("_____ Active Server Gumps _____"); document.AppendLine($"Count={gumps.Count}"); document.AppendLine(); for (int index = 0; index < gumps.Count; index++) { Gump gump = gumps[index]; document.AppendLine($"[{index}] GumpID=0x{gump.ServerSerial:X8} Serial=0x{gump.LocalSerial:X8} " + $"X={gump.X} Y={gump.Y} Size={gump.Width}x{gump.Height} Page={gump.ActivePage} " + $"Controls={Descendants(gump).Count()}"); } // InfoGumps is likewise an explicit UI command and must open from // scripts/AutoLoad as well as chat/macro interactive runtimes. _infoGumpOpener(_world, "C# Active Gumps", document.ToString()); return gumps.Count; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { List<Gump> gumps = ServerGumpsUnsafe(); var document = new StringBuilder(); document.AppendLine("_____ Active Server Gumps _____"); document.AppendLine($"Count={gumps.Count}"); document.AppendLine(); for (int index = 0; index < gumps.Count; index++) { Gump gump = gumps[index]; document.AppendLine($"[{index}] GumpID=0x{gump.ServerSerial:X8} Serial=0x{gump.LocalSerial:X8} " + $"X={gump.X} Y={gump.Y} Size={gump.Width}x{gump.Height} Page={gump.ActivePage} " + $"Controls={Descendants(gump).Count()}"); } // InfoGumps is likewise an explicit UI command and must open from // scripts/AutoLoad as well as chat/macro interactive runtimes. _infoGumpOpener(_world, "C# Active Gumps", document.ToString()); return gumps.Count; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.ServerGumpsUnsafe: ServerGumpsUnsafe().
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Descendants: Descendants(gump).

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int ShowGumpListInspector() => Invoke(() =>

        {

            List<Gump> gumps = ServerGumpsUnsafe();

            var document = new StringBuilder();

            document.AppendLine("_____ Active Server Gumps _____");

            document.AppendLine($"Count={gumps.Count}");

            document.AppendLine();



            for (int index = 0; index < gumps.Count; index++)

            {

                Gump gump = gumps[index];

                document.AppendLine($"[{index}] GumpID=0x{gump.ServerSerial:X8} Serial=0x{gump.LocalSerial:X8} "

                    + $"X={gump.X} Y={gump.Y} Size={gump.Width}x{gump.Height} Page={gump.ActivePage} "

                    + $"Controls={Descendants(gump).Count()}");

            }



            // InfoGumps is likewise an explicit UI command and must open from

            // scripts/AutoLoad as well as chat/macro interactive runtimes.

            _infoGumpOpener(_world, "C# Active Gumps", document.ToString());

            return gumps.Count;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SkillLockVal

아래 식의 값을 반환합니다.

매개변수: skillId

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2086.

public int SkillLockVal(int skillId)

결과: int.

호출: Invoke.

호출:

  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { int index = skillId - 1; return _world.Player?.Skills != null && index >= 0 && index < _world.Player.Skills.Length ? (int)_world.Player.Skills[index].Lock : -1; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.
  • ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Invoke: Invoke(() => { int index = skillId - 1; return _world.Player?.Skills != null && index >= 0 && index < _world.Player.Skills.Length ? (int)_world.Player.Skills[index].Lock : -1; }). 오버로드 후보입니다. 소스는 선택되는 후보를 확정하지 않습니다.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int SkillLockVal(int skillId) => Invoke(() =>

        {

            int index = skillId - 1;

            return _world.Player?.Skills != null && index >= 0 && index < _world.Player.Skills.Length

                ? (int)_world.Player.Skills[index].Lock

                : -1;

        });

ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.TryEquipItem

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: layer, id

소스: Project_Full/src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs:2008.

private int TryEquipItem(int layer, int id)

결과: int.

결과: _world.ItemHold.Dropped ? 1 : 0; 0.

호출: _world.Items.Get, ReferenceEquals, GameActions.PickUp, GameActions.Equip.

조건: `_world.InGame && NetClient.Socket.IsConnected && ReferenceEquals(Client.UO?.World, _world)

            && item != null && !item.IsDestroyed && layer > 0 && layer <= (int)Layer.Bank

            && item.ItemData.IsWearable && item.ItemData.Layer == layer

            && GameActions.PickUp(_world, item.Serial, 0, 0, item.Amount)`.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private int TryEquipItem(int layer, int id)

        {

            Item item = _world.Items.Get((uint)id);

            if (_world.InGame && NetClient.Socket.IsConnected && ReferenceEquals(Client.UO?.World, _world)

                && item != null && !item.IsDestroyed && layer > 0 && layer <= (int)Layer.Bank

                && item.ItemData.IsWearable && item.ItemData.Layer == layer

                && GameActions.PickUp(_world, item.Serial, 0, 0, item.Amount))

            {

                GameActions.Equip(_world);

                return _world.ItemHold.Dropped ? 1 : 0;

            }

            return 0;

        }

ClassicUO.Game.Managers.YokoInjectionManager.GetScriptsList

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2819.

internal int[] GetScriptsList()

결과: int[].

결과: Enumerable.Range(0, GetScriptsCount()).ToArray().

호출: Enumerable.Range(0, GetScriptsCount()).ToArray, Enumerable.Range, GetScriptsCount.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

internal int[] GetScriptsList() => Enumerable.Range(0, GetScriptsCount()).ToArray();

ClassicUO.Game.Managers.YokoInjectionManager.RunningScripts

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/src/ClassicUO.Client/Game/Managers/YokoInjectionManager.cs:2805.

private YokoRunningScript[] RunningScripts()

결과: YokoRunningScript[].

호출: _running.Values .Where(script => !script.Cancellation.IsCancellationRequested) .OrderBy(script => script.Sequence) .ToArray, _running.Values .Where(script => !script.Cancellation.IsCancellationRequested) .OrderBy, _running.Values .Where.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private YokoRunningScript[] RunningScripts() => _running.Values
            .Where(script => !script.Cancellation.IsCancellationRequested)
            .OrderBy(script => script.Sequence)
            .ToArray();

InjectionScript.Runtime.InjectionApiUO.ApiParameterExists

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: name

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5191.

public int ApiParameterExists(string name)

결과: int.

결과: 0; 1; metadata.IntrinsicVariableExists(value) ? 1 : 0.

호출: (name ?? string.Empty).Trim, Metadata.ShortcutVariables.Any, metadata.IntrinsicVariableExists.

조건: value.Length == 0; Metadata.ShortcutVariables.Any(item => item.Equals(value, StringComparison.OrdinalIgnoreCase)).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int ApiParameterExists(string name)

        {

            string value = (name ?? string.Empty).Trim();

            if (value.Length == 0)

                return 0;



            if (Metadata.ShortcutVariables.Any(item => item.Equals(value, StringComparison.OrdinalIgnoreCase)))

                return 1;



            return metadata.IntrinsicVariableExists(value) ? 1 : 0;

        }

InjectionScript.Runtime.InjectionApiUO.ChangeEquipmentItems

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: items, equip

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5611.

private int ChangeEquipmentItems(int[] items, bool equip)

결과: int.

결과: success ? 1 : 0.

호출: actions.EquipItem, actions.UnequipItem, bridge.GetLayer, bridge.Equip, bridge.ObjAtLayer, bridge.Unequip, injectionApi.Wait.

조건: bridge is IApiEquipmentActions actions; accepted != 0 && i + 1 < items.Length && state.DressSpeed > 0.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private int ChangeEquipmentItems(int[] items, bool equip)

        {

            bool success = true;

            for (int i = 0; i < items.Length; i++)

            {

                int item = items[i];

                int accepted;

                if (bridge is IApiEquipmentActions actions)

                    accepted = equip ? actions.EquipItem(item) : actions.UnequipItem(item);

                else

                {

                    int layer = bridge.GetLayer(item);

                    accepted = layer <= 0 ? 0 : equip ? bridge.Equip(layer, item)

                        : bridge.ObjAtLayer(layer) == item ? bridge.Unequip(layer) : 0;

                }

                success &= accepted != 0;

                if (accepted != 0 && i + 1 < items.Length && state.DressSpeed > 0)

                    injectionApi.Wait(state.DressSpeed);

            }

            return success ? 1 : 0;

        }

InjectionScript.Runtime.InjectionApiUO.CheckLag

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3746.

public int CheckLag()

결과: int.

결과: bridge.CheckLag(10_000).

호출: bridge.CheckLag.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int CheckLag() => bridge.CheckLag(10_000);

InjectionScript.Runtime.InjectionApiUO.ColorPrint

표시된 호출 및 상태 변경을 수행합니다.

매개변수: color, msg

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5335.

public void ColorPrint(InjectionValue color, InjectionValue msg)

결과: void.

호출: bridge.Print, NumberConversions.ToInt, msg.ToString.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void ColorPrint(InjectionValue color, InjectionValue msg) => bridge.Print(NumberConversions.ToInt(color), msg.ToString());

InjectionScript.Runtime.InjectionApiUO.CombineMask

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: values, startIndex

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5020.

private static InjectionValue CombineMask(InjectionValue[] values, int startIndex)

결과: InjectionValue.

결과: InjectionValue.MinusOne; values[startIndex]; new InjectionValue(combined.ToArray()).

호출: combined.AddRange, combined.Add, combined.ToArray.

조건: values == null || startIndex >= values.Length; values.Length == startIndex + 1; values[index].Kind == InjectionValueKind.Array.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private static InjectionValue CombineMask(InjectionValue[] values, int startIndex)

        {

            if (values == null || startIndex >= values.Length)

                return InjectionValue.MinusOne;

            if (values.Length == startIndex + 1)

                return values[startIndex];

            // Each variadic argument can itself be a flat mask array. Keep its

            // entries; wrapping arrays inside another array converted them to 0.

            var combined = new List<InjectionValue>();

            for (int index = startIndex; index < values.Length; index++)

            {

                if (values[index].Kind == InjectionValueKind.Array)

                    combined.AddRange(values[index].Array);

                else

                    combined.Add(values[index]);

            }

            return new InjectionValue(combined.ToArray());

        }

InjectionScript.Runtime.InjectionApiUO.CompactFindList

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: values

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3403.

private string CompactFindList(InjectionValue[] values)

결과: string.

결과: string.Empty; serial != 0 ? NumberConversions.ToHex(serial) : string.Empty.

호출: list.ToString, state.LegacyLists.TryGetValue, stored.Split, parts[0].Equals, AddEntry, `(list.ToString() ?? string.Empty).Split(new[] { '|', ',', ';', ' ' }, StringSplitOptions.RemoveEmptyEntries)

                    .Select`, `(list.ToString() ?? string.Empty).Split`, `ConvertContainer`.

조건: values == null || values.Length < 1 || values.Length > 7; list.Kind == InjectionValueKind.String; state.LegacyLists.TryGetValue("AddFindList", out List<string> storedEntries); parts.Length < 2 || !parts[0].Equals(listName, StringComparison.OrdinalIgnoreCase).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private string CompactFindList(InjectionValue[] values)
        {
            if (values == null || values.Length < 1 || values.Length > 7)
                throw new NativeSubrutineException("UO.FindList expects list[,container[,distance[,notoriety[,nearest[,maxZ[,includeIgnored]]]]]].");

            InjectionValue list = values[0];
            var types = new List<int>();
            var colors = new List<int>();
            void AddEntry(InjectionValue typeValue, InjectionValue colorValue)
            {
// …
            if (list.Kind == InjectionValueKind.String)
// …
                if (state.LegacyLists.TryGetValue("AddFindList", out List<string> storedEntries))
// …
                        if (parts.Length < 2 || !parts[0].Equals(listName, StringComparison.OrdinalIgnoreCase))
// …
            if (!namedListResolved)
// …
            if (types.Count == 0)
                return string.Empty;
// …
            return serial != 0 ? NumberConversions.ToHex(serial) : string.Empty;
// …

전체 코드는 소스 파일에 있으며 아래는 정확한 발췌입니다.

InjectionScript.Runtime.InjectionApiUO.CompactFindMan

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: values

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4934.

private int CompactFindMan(InjectionValue[] values)

결과: int.

결과: mobiles.FirstOrDefault().

호출: ResolveCompactDistance, bridge.GetFindDistance, ToBoolean, ResolveCompactMaxZ, bridge.GetFindVertical, NumberConversions.ToInt, FilterMobiles, mobiles.OrderBy(id => bridge.GetDistance(id)).ThenBy.

조건: nearest.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private int CompactFindMan(InjectionValue[] values)

        {

            InjectionValue notoriety = values[0];

            int distance = values.Length > 1 ? ResolveCompactDistance(values[1]) : bridge.GetFindDistance();

            bool nearest = values.Length <= 2 || ToBoolean(values[2]);

            int maxZ = values.Length > 3 ? ResolveCompactMaxZ(values[3]) : bridge.GetFindVertical();

            InjectionValue body = values.Length > 4 ? values[4] : InjectionValue.MinusOne;

            int color = values.Length > 5 ? NumberConversions.ToInt(values[5]) : -1;

            bool includeSelf = values.Length > 6 && ToBoolean(values[6]);



            IEnumerable<int> mobiles = FilterMobiles(distance, notoriety, body, maxZ, color, includeSelf);

            if (nearest)

                mobiles = mobiles.OrderBy(id => bridge.GetDistance(id)).ThenBy(id => id);

            return mobiles.FirstOrDefault();

        }

InjectionScript.Runtime.InjectionApiUO.CompactLaunch

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: values

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5295.

private int CompactLaunch(InjectionValue[] values)

결과: int.

결과: 0; bridge.Launch(fileName, parameters, workingDirectory, hidden).

호출: values[0].ToString, .Trim, SystemMessage, values[1].ToString, values[2].ToString, ToBoolean, bridge.Launch.

조건: values == null || values.Length == 0 || values.Length > 4; fileName.Length == 0; workingDirectory.Length == 0.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private int CompactLaunch(InjectionValue[] values)

        {

            if (values == null || values.Length == 0 || values.Length > 4)

                throw new NativeSubrutineException("UO.Launch expects file[, parameters[, workingDirectory[, hidden]]].");



            string fileName = values[0].ToString()?.Trim() ?? string.Empty;

            if (fileName.Length == 0)

            {

                SystemMessage("UO.Launch: file is empty.");

                return 0;

            }



            string parameters = values.Length > 1 ? values[1].ToString() ?? string.Empty : string.Empty;

            string workingDirectory = values.Length > 2 ? values[2].ToString()?.Trim() ?? string.Empty : string.Empty;

            if (workingDirectory.Length == 0)

                workingDirectory = paths.ScriptPath;

            bool hidden = values.Length > 3 && ToBoolean(values[3]);

            return bridge.Launch(fileName, parameters, workingDirectory, hidden);

        }

InjectionScript.Runtime.InjectionApiUO.CompactMoveItem

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: values

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4481.

private int CompactMoveItem(InjectionValue[] values)

결과: int.

결과: 0; requestResult; 1.

호출: GetObject, NumberConversions.ToInt, ConvertMoveDestination, bridge.GetX, bridge.GetY, bridge.GetZ, Math.Max, ToBoolean.

조건: values == null || values.Length == 0 || values.Length > 8; id == 0; useCoordinateRoute; !MoveItemChecked(id, amount, targetContainer, x, y, z).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private int CompactMoveItem(InjectionValue[] values)
        {
            if (values == null || values.Length == 0 || values.Length > 8)
                throw new NativeSubrutineException("UO.MoveItem expects 1..8 arguments: item, amount, container, x, y, z, timeout, waitConfirmation.");

            int id = GetObject(values[0]);
            if (id == 0)
                return 0;

            int amount = values.Length > 1 ? NumberConversions.ToInt(values[1]) : 0;
// …
            if (useCoordinateRoute)
// …
                if (!MoveItemChecked(id, amount, targetContainer, x, y, z))
                    return 0;
// …
                if (requestResult == 0)
                    return 0;
// …
            if (!waitConfirmation)
                return requestResult;
// …
            if (WaitForMoveConfirmation(id, originalQuantity, expectedMoved, targetContainer,
// …
                return 1;
// …
            return 0;
// …

전체 코드는 소스 파일에 있으며 아래는 정확한 발췌입니다.

InjectionScript.Runtime.InjectionApiUO.Drag

아래 식의 값을 반환합니다.

매개변수: id, amount

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5244.

public int Drag(InjectionValue id, InjectionValue amount)

결과: int.

결과: Drag(id, amount, InjectionValue.Zero).

호출: Drag.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int Drag(InjectionValue id, InjectionValue amount) => Drag(id, amount, InjectionValue.Zero);

InjectionScript.Runtime.InjectionApiUO.EncodeRecordingText

아래 식의 값을 반환합니다.

매개변수: value

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2797.

private static string EncodeRecordingText(string value)

결과: string.

결과: Convert.ToBase64String(Encoding.UTF8.GetBytes(value ?? string.Empty)).

호출: Convert.ToBase64String, Encoding.UTF8.GetBytes.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private static string EncodeRecordingText(string value)

            => Convert.ToBase64String(Encoding.UTF8.GetBytes(value ?? string.Empty));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1793.

결과: InjectionValue.Unit.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "booksetheader":

                    state.BookTitle = Text(0);

                    state.BookAuthor = Text(1);

                    bridge.BookSetHeader(state.BookTitle, state.BookAuthor);

                    return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1639.

결과: InjectionValue.Unit.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "cancelallmenuhooks": bridge.ClearMenuHooks(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2032.

결과: InjectionValue.Unit.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "clearchatuserignore": bridge.ClearChatUserIgnore(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1775.

결과: InjectionValue.Unit.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "clearuserstatics": state.UserStatics.Clear(); bridge.ClearUserStatics(); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1498.

결과: new InjectionValue(bridge.ColdResistance).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "coldresist": return new InjectionValue(bridge.ColdResistance);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1987.

결과: new InjectionValue(Equip("__stealth_saved_set__", dressSets, dressLayers, "Clothing set requests processed.", "No clothing set with setdress.")).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "dresssavedset":

                case "equipdressset": return new InjectionValue(Equip("__stealth_saved_set__", dressSets, dressLayers, "Clothing set requests processed.", "No clothing set with setdress."));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1477.

new []

결과: [].

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "findtypesarrayex":

                    InjectionValue[] searchContainers = arguments[2].Kind == InjectionValueKind.Array

                        ? arguments[2].Array : new[] { arguments[2] };

                    return new InjectionValue(bridge.FindTypes(arguments[0].Kind == InjectionValueKind.Array

                        ? arguments[0].Array.Select(ResolveType).ToArray() : new[] { ResolveType(arguments[0]) }, ArrayArg(1),

                        searchContainers.Select(ConvertClientSearchContainer).ToArray(), Arg(3) != 0));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2014.

결과: StringArray(bridge.GetCharactersForCurrentShard()).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "getcharslistforshard": return StringArray(bridge.GetCharactersForCurrentShard());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1595.

결과: StringArray(bridge.GetContextMenu()).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "getcontextmenu": return StringArray(bridge.GetContextMenu());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1246.

결과: new InjectionValue(bridge.GetDistance(Arg(0))).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "getdistance": return new InjectionValue(bridge.GetDistance(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1848.

결과: BuildTileData(0, Arg(0)).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "getlandtiledata":

                    return BuildTileData(0, Arg(0));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1454.

결과: new InjectionValue(bridge.GetStaticTiles(Arg(0), Arg(1), Arg(2)).Length / 3).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "getlayercount":

                    // Stealth's deprecated GetLayerCount(X,Y,WorldNum) is the

                    // number of static records at a map cell.  The portable

                    // bridge returns each record as Graphic/Z/Hue triples.

                    return new InjectionValue(bridge.GetStaticTiles(Arg(0), Arg(1), Arg(2)).Length / 3);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1572.

결과: new InjectionValue(bridge.GetQuantity(Arg(0))).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "getquantity": return new InjectionValue(bridge.GetQuantity(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1452.

결과: new InjectionValue(bridge.GetQuestArrow().Select(value => new InjectionValue(value)).ToArray()).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "getquestarrow":

                    return new InjectionValue(bridge.GetQuestArrow().Select(value => new InjectionValue(value)).ToArray());

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1577.

결과: new InjectionValue(bridge.GetSkillValue(Text(0), false, false)).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "getskillvalue": return new InjectionValue(bridge.GetSkillValue(Text(0), false, false));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1574.

결과: new InjectionValue(bridge.GetGraphics(Arg(0))).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "gettype": return new InjectionValue(bridge.GetGraphics(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1705.

결과: InjectionValue.Unit.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "invitetoparty": bridge.PartyInvite(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1366.

결과: new InjectionValue(bridge.GetRun(Arg(0, bridge.Self))).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "isrunning": return new InjectionValue(bridge.GetRun(Arg(0, bridge.Self)));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2040.

결과: new InjectionValue(selectedJournalEntry?.Name ?? string.Empty).

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "linename": return new InjectionValue(selectedJournalEntry?.Name ?? string.Empty);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1908.

결과: SetIndexedGumpValue(Arg(0), "textentry", Arg(1), Text(2)).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "numgumptextentry": return SetIndexedGumpValue(Arg(0), "textentry", Arg(1), Text(2));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1532.

결과: new InjectionValue(bridge.GetLocked(bridge.Self)).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "paralyzed": return new InjectionValue(bridge.GetLocked(bridge.Self));

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1309.

결과: new InjectionValue((bridge as IProxyMetadataBridge)?.ProxyAddress ?? string.Empty).

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "proxyip": return new InjectionValue((bridge as IProxyMetadataBridge)?.ProxyAddress ?? string.Empty);

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1706.

결과: InjectionValue.Unit.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "removefromparty": bridge.PartyRemove(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1519.

결과: InjectionValue.Unit.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "setpausescriptondisconnectstatus": bridge.SetPauseScriptOnDisconnectStatus(Arg(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1657.

결과: InjectionValue.Unit.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "uosay": Say(Text(0)); return InjectionValue.Unit;

InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1263.

결과: new InjectionValue(arguments[0].Kind == InjectionValueKind.String ? Unequip(Text(0)) : bridge.Unequip(Arg(0))).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "unequip":

                    return new InjectionValue(arguments[0].Kind == InjectionValueKind.String ? Unequip(Text(0)) : bridge.Unequip(Arg(0)));

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2854.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "addignorelist":

                    state.IgnoreTypeLists.Add(Text(0), ResolveType(arguments[1]),

                        arguments.Length > 2 ? NumberConversions.ToInt(arguments[2]) : -1);

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2909.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "dump":

                {

                    int id = Arg(0, bridge.LastTarget);

                    SystemMessage($"0x{id:X8} {bridge.GetName(id)} type=0x{bridge.GetGraphics(id):X4} hue=0x{bridge.GetColor(id):X4} xyz={bridge.GetX(id)},{bridge.GetY(id)},{bridge.GetZ(id)}");

                    break;

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:2915.

조건: arguments.Length == 0 && bridge.RequestInteractiveObjectInfoTarget() != 0.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "info":

                {

                    if (arguments.Length == 0 && bridge.RequestInteractiveObjectInfoTarget() != 0)

                        break;

                    int id = Arg(0, bridge.LastTarget);

                    SystemMessage(bridge.GetObjectInfoText(id));

                    break;

                }

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3015.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "mfgi":

                    SystemMessage(string.Join(" | ", bridge.GetFoundItems().Select(id => $"0x{id:X8}")));

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3067.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "setcatchbag":

                    SetReceivingContainer(arguments.Length > 0 ? arguments[0].ToString() : "lastobject");

                    break;

InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias

이 분기는 지정된 명령 이름만 처리합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3052.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

case "setseason": bridge.SetSeason(Arg(0)); break;

InjectionScript.Runtime.InjectionApiUO.FindMobile

아래 식의 값을 반환합니다.

매개변수: stateFilter, rangeFilter, verticalFilter, directionFilter, kindFilter

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3666.

`public int FindMobile(InjectionValue stateFilter, InjectionValue rangeFilter, InjectionValue verticalFilter,

        InjectionValue directionFilter, InjectionValue kindFilter)`

결과: int.

호출: stateFilter.ToString, rangeFilter.ToString, verticalFilter.ToString, directionFilter.ToString, kindFilter.ToString, bridge.GetX, bridge.GetY, bridge.GetZ.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int FindMobile(InjectionValue stateFilter, InjectionValue rangeFilter, InjectionValue verticalFilter,

            InjectionValue directionFilter, InjectionValue kindFilter)

        {

            string[] filters = { stateFilter.ToString(), rangeFilter.ToString(), verticalFilter.ToString(),

                directionFilter.ToString(), kindFilter.ToString() };

            int selfX = bridge.GetX(bridge.Self);

            int selfY = bridge.GetY(bridge.Self);

            int selfZ = bridge.GetZ(bridge.Self);

            int maximum = Math.Max(1, bridge.GetFindDistance());

            return bridge.GetMobiles()

                .Where(id => id != bridge.Self && bridge.GetDistance(id) <= maximum)

                .Where(id => MatchesMobileFilters(id, filters, selfX, selfY, selfZ))

                .OrderBy(id => bridge.GetDistance(id))

                .ThenBy(id => id)

                .FirstOrDefault();

        }

InjectionScript.Runtime.InjectionApiUO.FindType

아래 식의 값을 반환합니다.

매개변수: type, color, container, range, recursive

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4614.

public string FindType(InjectionValue type, InjectionValue color, InjectionValue container, InjectionValue range, InjectionValue recursive)

결과: string.

호출: FindType, ResolveType, NumberConversions.ToInt, ConvertContainer.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public string FindType(InjectionValue type, InjectionValue color, InjectionValue container, InjectionValue range, InjectionValue recursive)

            => FindType(

                ResolveType(type),

                NumberConversions.ToInt(color),

                ConvertContainer(container),

                NumberConversions.ToInt(range),

                NumberConversions.ToInt(recursive) != 0);

InjectionScript.Runtime.InjectionApiUO.GetDir

아래 식의 값을 반환합니다.

매개변수: id

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3639.

public int GetDir(int id)

결과: int.

결과: bridge.GetDir(id).

호출: bridge.GetDir.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int GetDir(int id) => bridge.GetDir(id);

InjectionScript.Runtime.InjectionApiUO.GetFoundedText

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5486.

public string GetFoundedText()

결과: string.

결과: selectedJournalEntry?.Text ?? string.Empty.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public string GetFoundedText() => selectedJournalEntry?.Text ?? string.Empty;

InjectionScript.Runtime.InjectionApiUO.GetHP

아래 식의 값을 반환합니다.

매개변수: id

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3592.

public int GetHP(string id)

결과: int.

결과: GetHP(GetObject(id)).

호출: GetHP, GetObject.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int GetHP(string id) => GetHP(GetObject(id));

InjectionScript.Runtime.InjectionApiUO.GetLayer

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3620.

public string GetLayer()

결과: string.

결과: GetLayer(new InjectionValue(bridge.Self)).

호출: GetLayer.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public string GetLayer() => GetLayer(new InjectionValue(bridge.Self));

InjectionScript.Runtime.InjectionApiUO.GetResistance

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: resistance

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1080.

private int GetResistance(InjectionValue resistance)

결과: int.

결과: bridge.Armor; bridge.FireResistance; bridge.ColdResistance; bridge.PoisonResistance; bridge.EnergyResistance; 0.

호출: NumberConversions.ToInt, (resistance.String ?? string.Empty).Trim().ToLowerInvariant, (resistance.String ?? string.Empty).Trim.

조건: resistance.Kind != InjectionValueKind.String.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private int GetResistance(InjectionValue resistance)

        {

            if (resistance.Kind != InjectionValueKind.String)

            {

                switch (NumberConversions.ToInt(resistance))

                {

                    case 0: return bridge.Armor;

                    case 1: return bridge.FireResistance;

                    case 2: return bridge.ColdResistance;

                    case 3: return bridge.PoisonResistance;

                    case 4: return bridge.EnergyResistance;

                    default: return 0;

                }

            }



            switch ((resistance.String ?? string.Empty).Trim().ToLowerInvariant())

            {

                case "physical":

                case "phys":

                case "armor": return bridge.Armor;

                case "fire": return bridge.FireResistance;

                case "cold": return bridge.ColdResistance;

                case "poison": return bridge.PoisonResistance;

                case "energy": return bridge.EnergyResistance;

                default: return 0;

            }

        }

InjectionScript.Runtime.InjectionApiUO.GetTileFlags

아래 식의 값을 반환합니다.

매개변수: group, tileId

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6177.

public InjectionValue GetTileFlags(InjectionValue group, InjectionValue tileId)

결과: InjectionValue.

결과: new InjectionValue(unchecked((int)bridge.GetTileFlags(NumberConversions.ToInt(group), NumberConversions.ToInt(tileId)))).

호출: bridge.GetTileFlags, NumberConversions.ToInt.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public InjectionValue GetTileFlags(InjectionValue group, InjectionValue tileId)

            => new InjectionValue(unchecked((int)bridge.GetTileFlags(NumberConversions.ToInt(group), NumberConversions.ToInt(tileId))));

InjectionScript.Runtime.InjectionApiUO.GetUserCodepage

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3789.

public int GetUserCodepage()

결과: int.

결과: Encoding.Default.CodePage.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int GetUserCodepage() => Encoding.Default.CodePage;

InjectionScript.Runtime.InjectionApiUO.GetWorldTilesArray

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: minX, minY, maxX, maxY, map

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6219.

public InjectionValue GetWorldTilesArray(InjectionValue minX, InjectionValue minY, InjectionValue maxX, InjectionValue maxY, InjectionValue map)

결과: InjectionValue.

결과: new InjectionValue(Array.Empty<InjectionValue>()); new InjectionValue(result.ToArray()).

호출: Math.Min, NumberConversions.ToInt, Math.Max, Array.Empty<InjectionValue>, BuildWorldCell, result.AddRange, bridge.GetWorldItems, Array.Empty<int>.

조건: `firstX < 0 || firstY < 0 || lastX > ushort.MaxValue || lastY > ushort.MaxValue

            || world < 0 || world > byte.MaxValue`; `((long)lastX - firstX + 1) * ((long)lastY - firstY + 1) > 1_000_000L`; `world != bridge.WorldNumber`; `cell.Kind == InjectionValueKind.Array`.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public InjectionValue GetWorldTilesArray(InjectionValue minX, InjectionValue minY, InjectionValue maxX, InjectionValue maxY, InjectionValue map)

        {

            int firstX = Math.Min(NumberConversions.ToInt(minX), NumberConversions.ToInt(maxX));

            int lastX = Math.Max(NumberConversions.ToInt(minX), NumberConversions.ToInt(maxX));

            int firstY = Math.Min(NumberConversions.ToInt(minY), NumberConversions.ToInt(maxY));

            int lastY = Math.Max(NumberConversions.ToInt(minY), NumberConversions.ToInt(maxY));

            int world = NumberConversions.ToInt(map);

            if (firstX < 0 || firstY < 0 || lastX > ushort.MaxValue || lastY > ushort.MaxValue

                || world < 0 || world > byte.MaxValue)

                throw new NativeSubrutineException("World tile coordinates must be 0..65535 and the map must be 0..255.");

            if (((long)lastX - firstX + 1) * ((long)lastY - firstY + 1) > 1_000_000L)

                throw new NativeSubrutineException("World tile array is limited to 1,000,000 cells per call.");

            // Live world items have no per-result map field. Never combine the

            // current world's items with a request for a different map, or scan

            // every cell only to report the same unloaded-map failure repeatedly.

            if (world != bridge.WorldNumber)

                return new InjectionValue(Array.Empty<InjectionValue>());



            var result = new List<InjectionValue>();

            for (int cellX = firstX; cellX <= lastX; cellX++)

            for (int cellY = firstY; cellY <= lastY; cellY++)

            {

                InjectionValue cell = BuildWorldCell(cellX, cellY, world, false);

                if (cell.Kind == InjectionValueKind.Array)

                    result.AddRange(cell.Array);

            }



            foreach (int serial in bridge.GetWorldItems() ?? Array.Empty<int>())

            {

                int objectX = bridge.GetX(serial);

                int objectY = bridge.GetY(serial);

                if (objectX >= firstX && objectX <= lastX && objectY >= firstY && objectY <= lastY)

                    result.Add(BuildWorldTileRecord("object", serial, bridge.GetGraphics(serial), objectX, objectY,

                        bridge.GetZ(serial), bridge.GetColor(serial), 1));

            }

            return new InjectionValue(result.ToArray());

        }

InjectionScript.Runtime.InjectionApiUO.Grab

아래 식의 값을 반환합니다.

매개변수: amount, id, container, timeout

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:4376.

public int Grab(InjectionValue amount, InjectionValue id, InjectionValue container, InjectionValue timeout)

결과: int.

결과: CompactGrab(new[] { amount, id, container, timeout }).

호출: CompactGrab.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int Grab(InjectionValue amount, InjectionValue id, InjectionValue container, InjectionValue timeout)

            => CompactGrab(new[] { amount, id, container, timeout });

InjectionScript.Runtime.InjectionApiUO.IgnoreReset

표시된 호출 및 상태 변경을 수행합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5237.

public void IgnoreReset()

결과: void.

호출: bridge.IgnoreReset.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void IgnoreReset() => bridge.IgnoreReset();

InjectionScript.Runtime.InjectionApiUO.LastStatusX

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3793.

public int LastStatusX()

결과: int.

결과: bridge is IStatusSnapshotBridge snapshot ? snapshot.LastStatusX : bridge.GetX(bridge.LastStatus).

호출: bridge.GetX.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public int LastStatusX() => bridge is IStatusSnapshotBridge snapshot ? snapshot.LastStatusX : bridge.GetX(bridge.LastStatus);

InjectionScript.Runtime.InjectionApiUO.LegacyListEntryMatches

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: entry, expected, valueStartsWithListName

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3089.

`private static bool LegacyListEntryMatches(string entry, IReadOnlyList expected,

        bool valueStartsWithListName = true)`

결과: bool.

결과: true; false.

호출: (entry ?? string.Empty).Split, fields[index + offset].Equals, expected[index].ToString.

조건: expected == null || expected.Count == 0; fields.Length < expected.Count + offset; `!fields[index + offset].Equals(expected[index].ToString(),

                    StringComparison.OrdinalIgnoreCase)`.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private static bool LegacyListEntryMatches(string entry, IReadOnlyList<InjectionValue> expected,

            bool valueStartsWithListName = true)

        {

            string[] fields = (entry ?? string.Empty).Split('|');

            if (expected == null || expected.Count == 0)

                return true;

            int offset = valueStartsWithListName ? 0 : 1;

            if (fields.Length < expected.Count + offset)

                return false;

            for (int index = 0; index < expected.Count; index++)

                if (!fields[index + offset].Equals(expected[index].ToString(),

                        StringComparison.OrdinalIgnoreCase))

                    return false;

            return true;

        }

InjectionScript.Runtime.InjectionApiUO.MatchesIgnoredType

아래 식의 값을 반환합니다.

매개변수: id, filter

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5039.

private bool MatchesIgnoredType(int id, IgnoreTypeFilter filter)

결과: bool.

호출: filter.Matches, bridge.GetGraphics, bridge.GetColor.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private bool MatchesIgnoredType(int id, IgnoreTypeFilter filter) => filter.HasRules

            && filter.Matches(bridge.GetGraphics(id), bridge.GetColor(id));

InjectionScript.Runtime.InjectionApiUO.Morph

표시된 호출 및 상태 변경을 수행합니다.

매개변수: type

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5898.

public void Morph(string type)

결과: void.

호출: Morph, ResolveType.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void Morph(string type) => Morph(ResolveType(type));

InjectionScript.Runtime.InjectionApiUO.OpenIDE

표시된 호출 및 상태 변경을 수행합니다.

매개변수: filePath

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5317.

public void OpenIDE(InjectionValue filePath)

결과: void.

호출: bridge.OpenIDE, filePath.ToString.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void OpenIDE(InjectionValue filePath) => bridge.OpenIDE(filePath.ToString());

InjectionScript.Runtime.InjectionApiUO.Print

표시된 호출 및 상태 변경을 수행합니다.

매개변수: msg, color

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5330.

public void Print(InjectionValue msg, InjectionValue color)

결과: void.

호출: bridge.Print, NumberConversions.ToInt, msg.ToString.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void Print(InjectionValue msg, InjectionValue color)

        {

            bridge.Print(NumberConversions.ToInt(color), msg.ToString());

        }

InjectionScript.Runtime.InjectionApiUO.PrivateGetTile

아래 식의 값을 반환합니다.

매개변수: x, y, unknown, minTile, maxTile

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5918.

public string PrivateGetTile(int x, int y, int unknown, int minTile, int maxTile)

결과: string.

결과: bridge.PrivateGetTile(x, y, unknown, minTile, maxTile).

호출: bridge.PrivateGetTile.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public string PrivateGetTile(int x, int y, int unknown, int minTile, int maxTile)

            => bridge.PrivateGetTile(x, y, unknown, minTile, maxTile);

InjectionScript.Runtime.InjectionApiUO.Track

표시된 호출 및 상태 변경을 수행합니다.

매개변수: flag, x, y

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5993.

public void Track(int flag, int x, int y)

결과: void.

호출: bridge.Track, bridge.TrackOff.

조건: flag != 0.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void Track(int flag, int x, int y)

        {

            if (flag != 0)

                bridge.Track(x, y);

            else

                bridge.TrackOff();

        }

InjectionScript.Runtime.InjectionApiUO.UserObject

표시된 호출 및 상태 변경을 수행합니다.

매개변수: serialOrName

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:6295.

public void UserObject(InjectionValue serialOrName)

결과: void.

호출: UseObject, GetObject.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void UserObject(InjectionValue serialOrName)

            => UseObject(GetObject(serialOrName));

InjectionScript.Runtime.InjectionApiUO.WaitMenu

표시된 호출 및 상태 변경을 수행합니다.

매개변수: prompt1, choice1, prompt2, choice2, prompt3, choice3

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:3263.

public void WaitMenu(string prompt1, string choice1, string prompt2, string choice2, string prompt3, string choice3)

결과: void.

호출: bridge.WaitMenu.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void WaitMenu(string prompt1, string choice1, string prompt2, string choice2, string prompt3, string choice3)

            => bridge.WaitMenu(prompt1, choice1, prompt2, choice2, prompt3, choice3);

InjectionScript.Runtime.InjectionApiUO.WarMode

표시된 호출 및 상태 변경을 수행합니다.

매개변수: mode

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:5750.

public void WarMode(int mode)

결과: void.

호출: bridge.WarMode.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void WarMode(int mode) => bridge.WarMode(mode);

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetMaxStam]

호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1029.

결과: bridge.MaxStamina.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

() => bridge.MaxStamina

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetParalisa]

호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1063.

serial

결과: serial.

결과: bridge.GetLocked(serial).

호출: bridge.GetLocked.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

serial => bridge.GetLocked(serial)

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [GetResistCold]

호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1044.

결과: bridge.ColdResistance.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

() => bridge.ColdResistance

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [Intelligence]

호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1031.

결과: bridge.Intelligence.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

() => bridge.Intelligence

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases [IsFrozen]

호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1063.

serial

결과: serial.

결과: bridge.GetLocked(serial).

호출: bridge.GetLocked.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

serial => bridge.GetLocked(serial)

InjectionScript.Runtime.InjectionApiUO.Register [StepQ]

호출 시 저장된 처리기 delegate를 실행합니다. 등록 메서드는 API를 구성할 때 이 delegate를 만듭니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:922.

values

결과: values.

결과: new InjectionValue(CompactStepQ(values)).

호출: CompactStepQ.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

values => new InjectionValue(CompactStepQ(values))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.

value

결과: value.

결과: getter(GetObject(value)).

호출: getter, GetObject.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1013.

value

결과: value.

결과: getter(GetObject(value)).

호출: getter, GetObject.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

value => getter(GetObject(value))

InjectionScript.Runtime.InjectionApiUO.RegisterCharacterGetterAliases

아래 식의 값을 반환합니다.

매개변수: 매개변수가 없습니다.

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs:1007.

결과: getter(bridge.Self).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

() => getter(bridge.Self)

InjectionScript.Runtime.InjectionRuntime.Tokenize

표시된 호출 및 상태 변경을 수행합니다.

매개변수: commandLine

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/NativeConsoleDispatch.cs:192.

private static IEnumerable<ConsoleToken> Tokenize(string commandLine)

결과: IEnumerable<ConsoleToken>.

호출: token.Append, char.IsWhiteSpace, token.ToString, token.Clear.

조건: c == '\\' && quote != '\0'; index + 1 < commandLine.Length && commandLine[index + 1] == quote; (count & 1) != 0; quote != '\0'.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private static IEnumerable<ConsoleToken> Tokenize(string commandLine)
        {
            var token = new StringBuilder();
            char quote = '\0';
            bool started = false, quoted = false;
            commandLine = commandLine ?? string.Empty;
            for (int index = 0; index < commandLine.Length; index++)
            {
                char c = commandLine[index];
                if (c == '\\' && quote != '\0')
// …
                    if (index + 1 < commandLine.Length && commandLine[index + 1] == quote)
// …
                        if ((count & 1) != 0) { token.Append(quote); index++; }
// …
                if (quote != '\0')
// …
                    if (c == quote)
// …
                        if (index + 1 < commandLine.Length && commandLine[index + 1] == quote)
// …
                if (c == '\'' || c == '"')
// …
                if (char.IsWhiteSpace(c))
// …
                    if (started)
// …
                        yield return new ConsoleToken(token.ToString(), quoted);
// …
            if (quote != '\0')
                throw new NativeSubrutineException("Unterminated quote in UO.Exec command.");
            if (started)
                yield return new ConsoleToken(token.ToString(), quoted);
// …

전체 코드는 소스 파일에 있으며 아래는 정확한 발췌입니다.

InjectionScript.Runtime.InjectionValue.FormatArray

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: array, ancestors, depth

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/InjectionValue.cs:426.

private static string FormatArray(InjectionValue[] array, HashSet<InjectionValue[]> ancestors, int depth)

결과: string.

결과: string.Empty.

호출: ancestors.Add, string.Join, array.Select, ancestors.Remove.

조건: array == null; depth >= 256; !ancestors.Add(array).

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private static string FormatArray(InjectionValue[] array, HashSet<InjectionValue[]> ancestors, int depth)

        {

            if (array == null) return string.Empty;

            if (depth >= 256)

                throw new NativeSubrutineException("Array text exceeds the maximum nesting depth of 256.");

            if (!ancestors.Add(array))

                throw new NativeSubrutineException("Cannot convert a cyclic array to text.");

            try

            {

                return string.Join("|", array.Select(value => value.Kind == InjectionValueKind.Array

                    ? FormatArray(value.Array, ancestors, depth + 1) : value.ToString()));

            }

            finally { ancestors.Remove(array); }

        }

InjectionScript.Runtime.State.NamedIgnoreLists.Add

표시된 호출 및 상태 변경을 수행합니다.

매개변수: name, type, hue

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedIgnoreLists.cs:32.

public void Add(string name, int type, int hue)

결과: void.

호출: RequireName, Normalize, FilterFor.

호출:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

public void Add(string name, int type, int hue)
        {
            name = RequireName(name);
            type = Normalize(type);
            hue = Normalize(hue);
            lock (sync)
            {
                var rules = new HashSet<(int Type, int Hue)>(FilterFor(name).Rules) { (type, hue) };
                lists[name] = new IgnoreTypeFilter(rules);
            }
        }

InjectionScript.Runtime.State.NamedIgnoreLists.Normalize

아래 조건을 확인하고 표시된 결과를 반환합니다.

매개변수: value

소스: Project_Full/external/InjectionScript/src/InjectionScript/Runtime/State/NamedIgnoreLists.cs:109.

private static int Normalize(int value)

결과: int.

결과: value < 0 || value == ushort.MaxValue ? -1 : value.

호출: nameof.

조건: value > ushort.MaxValue.

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

private static int Normalize(int value)
        {
            if (value > ushort.MaxValue) throw new ArgumentOutOfRangeException(nameof(value), "Ignore type and color must be -1 or 0..65535.");
            return value < 0 || value == ushort.MaxValue ? -1 : value;
        }

Clone this wiki locally