public override FArchive Serialize(FArchive reader, PropertyTag tag) { ObjectReference?declaredIn = default; EFunctionFlags flags = default; return(reader.Read(ref declaredIn) .ReadUnsafe(ref flags) .Read(ref _value)); }
public override FArchive Serialize(FArchive reader, PropertyTag tag) { ObjectReference?declaredIn = default; reader.Read(ref declaredIn); if (declaredIn.Resource != null) { EFunctionFlags flags = default; reader.ReadUnsafe(ref flags); reader.Read(ref _value); } return(reader); }
/// <summary> /// Determines if two functions have an identical signature (note: currently doesn't allow /// matches with class parameters that differ only in how derived they are; there is no /// directionality to the call) /// </summary> /// <param name="otherFunction">Function to compare this function against.</param> /// <param name="ignoreFlags">Custom flags to ignore when comparing parameters between the functions.</param> /// <returns>true if function signatures are compatible.</returns> public bool IsSignatureCompatibleWith(UFunction otherFunction, EFunctionFlags ignoreFlags) { return(Native_UFunction.IsSignatureCompatibleWithFlags(Address, otherFunction == null ? IntPtr.Zero : otherFunction.Address, ignoreFlags)); }
/// <summary> /// Used to safely check whether all of the passed in flags are set. /// </summary> /// <param name="flagsToCheck">Function flags to check for</param> /// <returns>true if all of the passed in flags are set (including no flags passed in), false otherwise</returns> public bool HasAllFunctionFlags(EFunctionFlags flagsToCheck) { return(Native_UFunction.HasAllFunctionFlags(Address, flagsToCheck)); }
internal unsafe void SetFlags(EFunctionFlags flags) { var func = Marshal.GetDelegateForFunctionPointer <SetFlagsDelegate>(Native->SetFlagsFunction); func(ObjPointer, (int)flags); }