Пример #1
0
        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));
        }
Пример #2
0
        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);
        }
Пример #3
0
 /// <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));
 }
Пример #4
0
 /// <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));
 }
Пример #5
0
        internal unsafe void SetFlags(EFunctionFlags flags)
        {
            var func = Marshal.GetDelegateForFunctionPointer <SetFlagsDelegate>(Native->SetFlagsFunction);

            func(ObjPointer, (int)flags);
        }