forked from sruon/ffxivlib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Action.cs
55 lines (39 loc) · 1.5 KB
/
Action.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
using System;
using System.Runtime.InteropServices;
namespace ffxivlib
{
public class Action : BaseObject<Action.ACTIONINFO>
{
#region Constructor
public Action(ACTIONINFO structure, IntPtr address)
: base(structure, address)
{
Initialize();
}
#endregion
#region Properties
public int Unk_1 { get; set; }
public int Unk_2 { get; set; }
public int Id { get; set; }
public int Unk_3 { get; set; }
public int PercentUntilReady { get; set; }
public bool IsReady { get; set; }
public int Cost { get; set; }
public int Unk_4 { get; set; }
#endregion
#region Unmanaged structure
[StructLayout(LayoutKind.Explicit, Pack = 1)]
public struct ACTIONINFO
{
[MarshalAs(UnmanagedType.I4)] [FieldOffset(0x4)] public int Unk_1;
[MarshalAs(UnmanagedType.I4)] [FieldOffset(0x8)] public int Unk_2;
[MarshalAs(UnmanagedType.I4)] [FieldOffset(0xC)] public int Id;
[MarshalAs(UnmanagedType.I4)] [FieldOffset(0x10)] public int Unk_3;
[MarshalAs(UnmanagedType.I4)] [FieldOffset(0x14)] public int PercentUntilReady;
[MarshalAs(UnmanagedType.I1)] [FieldOffset(0x18)] public bool IsReady;
[MarshalAs(UnmanagedType.I4)] [FieldOffset(0x1C)] public int Cost;
[MarshalAs(UnmanagedType.I4)] [FieldOffset(0x20)] public int Unk_4;
};
#endregion
}
}