Exemplo n.º 1
0
        /// <summary>
        ///     暂存当前标点
        /// </summary>
        public void SaveWaymark()
        {
            tempMarks = new WayMarks();

            Waymark ReadWaymark(IntPtr addr, WaymarkID id) => new Waymark
            {
                X      = Memory.Read <float>(addr),
                Y      = Memory.Read <float>(addr + 0x4),
                Z      = Memory.Read <float>(addr + 0x8),
                Active = Memory.Read <byte>(addr + 0x1C) == 1,
                ID     = id
            };

            try
            {
                tempMarks.A     = ReadWaymark(Offsets.Waymarks + 0x00, WaymarkID.A);
                tempMarks.B     = ReadWaymark(Offsets.Waymarks + 0x20, WaymarkID.B);
                tempMarks.C     = ReadWaymark(Offsets.Waymarks + 0x40, WaymarkID.C);
                tempMarks.D     = ReadWaymark(Offsets.Waymarks + 0x60, WaymarkID.D);
                tempMarks.One   = ReadWaymark(Offsets.Waymarks + 0x80, WaymarkID.One);
                tempMarks.Two   = ReadWaymark(Offsets.Waymarks + 0xA0, WaymarkID.Two);
                tempMarks.Three = ReadWaymark(Offsets.Waymarks + 0xC0, WaymarkID.Three);
                tempMarks.Four  = ReadWaymark(Offsets.Waymarks + 0xE0, WaymarkID.Four);
                PluginUI.Log("暂存当前标点");
            }
            catch (Exception ex)
            {
                PluginUI.Log("保存标记错误:" + ex.Message);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 ///     在游戏进程中进行场地标点
 /// </summary>
 /// <param name="waymarks">标点合集对象</param>
 private void DoWaymarks(WayMarks waymarks)
 {
     WriteWaymark(waymarks.A, 0);
     WriteWaymark(waymarks.B, 1);
     WriteWaymark(waymarks.C, 2);
     WriteWaymark(waymarks.D, 3);
     WriteWaymark(waymarks.One, 4);
     WriteWaymark(waymarks.Two, 5);
     WriteWaymark(waymarks.Three, 6);
     WriteWaymark(waymarks.Four, 7);
 }