public override object GetValue()
        {
            FName fName = Value as FName;

            if (fName != null)
            {
                return(fName.GetValue(UAsset.Options.PrintInstances));
            }
            return(Value);
        }
Beispiel #2
0
        public static object Unwrap(object x)
        {
            object[] array = x as object[];
            if (array != null)
            {
                return(array.Select(Unwrap).ToArray());
            }
            UObject uObject = x as UObject;

            if (uObject != null)
            {
                return(uObject.ToDictionary(inStruct: true));
            }
            IStructObject structObject = x as IStructObject;

            if (structObject != null)
            {
                return(structObject.Serialize());
            }
            FName fName = x as FName;

            if (fName != null)
            {
                return(fName.GetValue());
            }
            FPropertyTag fPropertyTag = x as FPropertyTag;

            if (fPropertyTag != null)
            {
                return(fPropertyTag.GetValue());
            }
            Tuple <FPropertyTag, FPropertyTag> tuple = x as Tuple <FPropertyTag, FPropertyTag>;

            if (tuple != null)
            {
                return(new object[2]
                {
                    tuple.Item1.GetValue(),
                    tuple.Item2.GetValue()
                });
            }
            return(x);
        }