コード例 #1
0
        public static void unreallisttypereference_is_initiated_as_expected_when_passed_a_list_type_reference_with_a_built_in_type_as_contained_type()
        {
            var listTypeRaw = new FieldDefinitionRaw.ListTypeRaw()
            {
                valueType = new TypeReferenceRaw()
                {
                    sourceReference = new SourceReferenceRaw {
                        line = "1", column = "1"
                    },
                    builtInType = "float",
                    userType    = null
                }
            };

            var containedTypeReference = new UnrealBuiltInTypeReference(listTypeRaw.valueType);

            var unrealListTypeReference = new UnrealListTypeReference(containedTypeReference);

            Assert.That(unrealListTypeReference.UnderlyingCapitalisedName == "Float");
            Assert.That(unrealListTypeReference.RequiredIncludes.Count == 1);
            Assert.That(unrealListTypeReference.RequiredIncludes.Contains("\"FloatList.h\""));
            Assert.That(unrealListTypeReference.UnderlyingQualifiedName == "float");
            Assert.That(unrealListTypeReference.UnrealType == "UFloatList*");

            Assert.That(unrealListTypeReference.AssignUnderlyingValueToUnrealMemberVariable("TestField", "val") == "if (TestField == nullptr) { TestField = NewObject<UFloatList>(this); } TestField->Init(val)");
            Assert.That(unrealListTypeReference.ConvertUnderlyingValueToUnrealLocalVariable("val") == "NewObject<UFloatList>()->Init(val)");
            Assert.That(unrealListTypeReference.ConvertUnderlyingValueToUnrealMemberVariable("val") == "NewObject<UFloatList>(this)->Init(val)");
            Assert.That(unrealListTypeReference.ConvertUnrealValueToSnapshotValue("val") == "val->GetUnderlying()");
            Assert.That(unrealListTypeReference.ConvertUnrealValueToUnderlyingValue("val") == "val->GetUnderlying()");
            Assert.That(unrealListTypeReference.DefaultInitialisationString == "worker::List<float>()");
            Assert.That(unrealListTypeReference.SnapshotType == "worker::List<float>");
        }
コード例 #2
0
        private static FieldDefinitionRaw GenerateFieldDefinition(string name, string number, TypeReferenceRaw singularType = null, FieldDefinitionRaw.OptionTypeRaw optionType = null, FieldDefinitionRaw.ListTypeRaw listType = null, FieldDefinitionRaw.MapTypeRaw mapType = null)
        {
            var fieldDefinitionRaw = new FieldDefinitionRaw();

            fieldDefinitionRaw.sourceReference = new SourceReferenceRaw()
            {
                line = "1", column = "1"
            };
            fieldDefinitionRaw.name         = name;
            fieldDefinitionRaw.number       = number;
            fieldDefinitionRaw.singularType = singularType;
            fieldDefinitionRaw.optionType   = optionType;
            fieldDefinitionRaw.listType     = listType;
            fieldDefinitionRaw.mapType      = mapType;

            return(fieldDefinitionRaw);
        }
コード例 #3
0
 public ListFieldType(FieldDefinitionRaw.ListTypeRaw listTypeRaw, HashSet <string> enumSet)
 {
     containedType = new ContainedType(listTypeRaw.valueType, enumSet);
 }