Optimize AdvancedEvent by using C/C++ union?
Closed this issue · 1 comments
DiscreteTom commented
DiscreteTom commented
Explicit struct layout is not supported with generic types. Ref: https://stackoverflow.com/questions/26746189/why-cant-generic-types-have-explicit-layout
This will throw runtime error:
[StructLayout(LayoutKind.Explicit)] // #35
public struct ActionItem<T0> : IActionItem<T0> {
[field: FieldOffset(0)]
public AdvancedEventParamCount paramCount { get; set; }
[field: FieldOffset(4)] // AdvancedEventParamCount's byte size is 4
public UnityAction action0 { get; set; }
[field: FieldOffset(4)] // AdvancedEventParamCount's byte size is 4
public UnityAction<T0> action1 { get; set; }
}