コード例 #1
0
        public static string StringifyFlags(UEFunctionFlags flags)
        {
            var buffer = new List <string>();

            if (flags.HasFlag(UEFunctionFlags.Final))
            {
                buffer.Add("Final");
            }
            if (flags.HasFlag(UEFunctionFlags.RequiredApi))
            {
                buffer.Add("RequiredAPI");
            }
            if (flags.HasFlag(UEFunctionFlags.BlueprintAuthorityOnly))
            {
                buffer.Add("BlueprintAuthorityOnly");
            }
            if (flags.HasFlag(UEFunctionFlags.BlueprintCosmetic))
            {
                buffer.Add("BlueprintCosmetic");
            }
            if (flags.HasFlag(UEFunctionFlags.Net))
            {
                buffer.Add("Net");
            }
            if (flags.HasFlag(UEFunctionFlags.NetReliable))
            {
                buffer.Add("NetReliable");
            }
            if (flags.HasFlag(UEFunctionFlags.NetRequest))
            {
                buffer.Add("NetRequest");
            }
            if (flags.HasFlag(UEFunctionFlags.Exec))
            {
                buffer.Add("Exec");
            }
            if (flags.HasFlag(UEFunctionFlags.Native))
            {
                buffer.Add("Native");
            }
            if (flags.HasFlag(UEFunctionFlags.Event))
            {
                buffer.Add("Event");
            }
            if (flags.HasFlag(UEFunctionFlags.NetResponse))
            {
                buffer.Add("NetResponse");
            }
            if (flags.HasFlag(UEFunctionFlags.Static))
            {
                buffer.Add("Static");
            }
            if (flags.HasFlag(UEFunctionFlags.NetMulticast))
            {
                buffer.Add("NetMulticast");
            }
            if (flags.HasFlag(UEFunctionFlags.MulticastDelegate))
            {
                buffer.Add("MulticastDelegate");
            }
            if (flags.HasFlag(UEFunctionFlags.Public))
            {
                buffer.Add("Public");
            }
            if (flags.HasFlag(UEFunctionFlags.Private))
            {
                buffer.Add("Private");
            }
            if (flags.HasFlag(UEFunctionFlags.Protected))
            {
                buffer.Add("Protected");
            }
            if (flags.HasFlag(UEFunctionFlags.Delegate))
            {
                buffer.Add("Delegate");
            }
            if (flags.HasFlag(UEFunctionFlags.NetServer))
            {
                buffer.Add("NetServer");
            }
            if (flags.HasFlag(UEFunctionFlags.HasOutParms))
            {
                buffer.Add("HasOutParms");
            }
            if (flags.HasFlag(UEFunctionFlags.HasDefaults))
            {
                buffer.Add("HasDefaults");
            }
            if (flags.HasFlag(UEFunctionFlags.NetClient))
            {
                buffer.Add("NetClient");
            }
            if (flags.HasFlag(UEFunctionFlags.DllImport))
            {
                buffer.Add("DLLImport");
            }
            if (flags.HasFlag(UEFunctionFlags.BlueprintCallable))
            {
                buffer.Add("BlueprintCallable");
            }
            if (flags.HasFlag(UEFunctionFlags.BlueprintEvent))
            {
                buffer.Add("BlueprintEvent");
            }
            if (flags.HasFlag(UEFunctionFlags.BlueprintPure))
            {
                buffer.Add("BlueprintPure");
            }
            if (flags.HasFlag(UEFunctionFlags.Const))
            {
                buffer.Add("Const");
            }
            if (flags.HasFlag(UEFunctionFlags.NetValidate))
            {
                buffer.Add("NetValidate");
            }

            switch (buffer.Count)
            {
            case 0:
                return(string.Empty);

            case 1:
                return(buffer[0]);

            default:
                return(string.Join(", ", buffer));    // TODO: Check if it's good
            }
        }
コード例 #2
0
 public static bool And(UEFunctionFlags lhs, UEFunctionFlags rhs) => ((int)lhs & (int)rhs) == (int)rhs;