Ejemplo n.º 1
0
        public static T GetControl <T>(ulong hash) where T : UXControl, new()
        {
            //return MemoryWrapper.Create<T>(UIMap[hash].BaseAddress);
            var el = UIElement.FromHash(hash);

            return(el.IsValid ? MemoryWrapper.Create <T>(el.BaseAddress) : default(T));
        }
Ejemplo n.º 2
0
        public static List <T> GetControlsByName <T>(string name) where T : UXControl, new()
        {
            var needle = name.ToLower();
            var items  = UIMap.Where(i => i.Value.Self.Name.ToLower().Contains(needle));

            if (items.Any())
            {
                return(items.Select(i => MemoryWrapper.Create <T>(i.Value.BaseAddress)).ToList());
            }
            return(null);
        }
Ejemplo n.º 3
0
        public SnoGroup <T> CreateGroup <T>(SnoType groupId) where T : SnoTableEntry, new()
        {
            var groupNum = (int)groupId;

            if (groupNum < 0 || groupNum > 70)
            {
                throw new ArgumentOutOfRangeException(nameof(groupId));
            }
            var ptr     = Zeta.Game.ZetaDia.SNO[(Zeta.Game.Internals.SNOGroup)groupNum].BaseAddress;
            var manager = MemoryWrapper.Create <SnoGroup <T> >(ptr);

            if (!LookupTable.ContainsKey(groupId))
            {
                CreateIndex(groupId, manager, groupNum);
            }
            return(manager);
        }
Ejemplo n.º 4
0
        public static UXControl GetControl(IntPtr ptr)
        {
            var type = ZetaDia.Memory.Read <ControlType>(ptr + 0x430);

            switch (type)
            {
            case ControlType.Text:
                return(MemoryWrapper.Create <UXLabel>(ptr));

            case ControlType.Blinker:
                return(MemoryWrapper.Create <UXBlinker>(ptr));

            case ControlType.Button:
                return(MemoryWrapper.Create <UXButton>(ptr));

            case ControlType.HotbarButton:
                return(MemoryWrapper.Create <UXHotbarButton>(ptr));

            case ControlType.StackPanel:
                return(MemoryWrapper.Create <UXStackPanel>(ptr));
            }
            return(MemoryWrapper.Create <UXControl>(ptr));
        }
Ejemplo n.º 5
0
 public static T GetControl <T>(UXReference reference) where T : UXControl, new()
 {
     return(MemoryWrapper.Create <T>(UIMap[reference.Hash].BaseAddress));
 }