Example #1
0
            public async Task <List <string> > GetNames()
            {
                if (ObjEnum.Empty())
                {
                    ObjEnum = await Object.Cast <UEnum>();
                }

                // Get Names
                IntPtr dataAddress = ObjEnum.Names.Data;

                if (ObjEnum.Names.Count > 300)
                {
                    throw new IndexOutOfRangeException("Enum have more than 300 value !!, Maybe EngineStructs Problem.!");
                }

                var cls    = Utils.MemObj.ReadClassArray <FUEnumItem>(dataAddress, ObjEnum.Names.Count);
                var buffer = cls
                             .Where(e => e.Key.Index < NamesStore.GNames.Names.Count || e.Key.Index != 0)
                             .Select(e => NamesStore.GetByIndex(e.Key.Index))
                             .ToList();

                return(buffer);
            }