protected override void OnGameHook() { mono.Run(() => { MonoNestedPointerFactory ptrFactory = new MonoNestedPointerFactory(this, mono); var game = ptrFactory.Make <IntPtr>("Game", "ins_", out IntPtr gameClass); globalVar = ptrFactory.Make <IntPtr>(game, mono.GetFieldOffset(gameClass, "<GlobalVar>k__BackingField")); status = ptrFactory.Make <int>(game, mono.GetFieldOffset(gameClass, "<status>k__BackingField")); playMgr = ptrFactory.Make <IntPtr>("PlayMgr", "ins", out IntPtr playMgrClass); uiLock = ptrFactory.Make <int>(playMgr, mono.GetFieldOffset(playMgrClass, "<ui>k__BackingField"), 0x174); playerTile = ptrFactory.MakeString(playMgr, mono.GetFieldOffset(playMgrClass, "<player>k__BackingField"), 0x38, 0x20, 0x10, 0x100, 0x14); playerTile.StringType = EStringType.UTF16Sized; Logger.Log(ptrFactory.ToString()); }); }