internal UnityCommandDefinition(ComponentDefinitionRaw.CommandDefinitionRaw rawCommandDefinition) { Name = rawCommandDefinition.name; RawRequestType = rawCommandDefinition.requestType; RawResponseType = rawCommandDefinition.responseType; CommandIndex = rawCommandDefinition.commandIndex; }
private static string GetDeserializationFunctionFromType(TypeReferenceRaw typeReference, string packagePrefix) { return(SchemaFunctionMappings.BuiltInTypeToGetSchemaFunction.ContainsKey(typeReference.TypeName) ? SchemaFunctionMappings.BuiltInTypeToGetSchemaFunction[typeReference.TypeName] : string.Format("{0}.Serialization.Deserialize", GetTypeFromTypeReference(typeReference, packagePrefix))); }
private static TypeReferenceRaw GenerateBuiltInTypeReference(string typename) { var rawTypeReference = new TypeReferenceRaw(); rawTypeReference.builtInType = typename; return(rawTypeReference); }
private static TypeReferenceRaw GenerateTypeReferenceRaw() { var typeReferenceRaw = new TypeReferenceRaw(); typeReferenceRaw.builtInType = "int32"; return(typeReferenceRaw); }
private static string GetTypeFromTypeReference(TypeReferenceRaw typeReference, string packagePrefix) { return(typeReference.IsBuiltInType ? UnityTypeMappings.BuiltInSchemaTypeToUnityNativeType[typeReference.TypeName] : string.Format("global::{0}{1}", packagePrefix, Formatting.CapitaliseQualifiedNameParts(typeReference.TypeName))); }
private static TypeReferenceRaw GenerateStandardLibraryReference() { var rawTypeReference = new TypeReferenceRaw(); rawTypeReference.userType = "improbable.Coordinates"; var test = rawTypeReference.IsBuiltInType; return(rawTypeReference); }
internal UnityEventDefinition(ComponentDefinitionRaw.EventDefinitionRaw rawEventDefinition) { Name = rawEventDefinition.name; RawType = rawEventDefinition.type; if (RawType.IsBuiltInType) { Type = new UnityTypeReference(RawType.TypeName, null, null); } }
public ContainedType(TypeReferenceRaw typeReferenceRaw, HashSet <string> enumSet) { category = enumSet.Contains(typeReferenceRaw.TypeName) ? ContainedTypeCategory.Enum : SchemaFunctionMappings.BuiltInTypeWithSchemaFunctions.Contains(typeReferenceRaw.TypeName) ? ContainedTypeCategory.Primitive : ContainedTypeCategory.UserDefined; Type = CommonDetailsUtils.GetFqnTypeFromTypeReference(typeReferenceRaw); rawType = typeReferenceRaw.TypeName; }
public UnrealBuiltInTypeReference(TypeReferenceRaw typeReference) { if (UnrealTypeMappings.UnsupportedSchemaTypes.Contains(typeReference.TypeName)) { throw new ArgumentException(string.Format("Schema type '{0}' is currently not supported in Unreal.", typeReference.TypeName)); } ReferenceType = ReferenceType.BuiltIn; if (UnrealTypeMappings.builtInTypeToRequiredInclude.ContainsKey(typeReference.TypeName)) { RequiredIncludes = UnrealTypeMappings.builtInTypeToRequiredInclude[typeReference.TypeName]; } else { RequiredIncludes = new List <string>(); } UnderlyingQualifiedName = UnrealTypeMappings.builtInSchemaTypeToCppType[typeReference.TypeName]; UnderlyingCapitalisedName = Formatting.CppQualifiedNameToCapitalisedCamelCase(UnderlyingQualifiedName); UnrealType = UnrealTypeMappings.cppTypeToUnrealType[UnderlyingQualifiedName]; ConvertUnderlyingValueToUnrealMemberVariable = GenerateCppValueToUnrealValueString; AssignUnderlyingValueToUnrealMemberVariable = (capitalizedName, cppValue) => { return(string.Format("{0} = {1}", capitalizedName, GenerateCppValueToUnrealValueString(cppValue))); }; CheckInequality = (capitalizedName, compName) => { switch (typeReference.TypeName) { case BuiltInTypeConstants.builtInFloat: return(string.Format("!FMath::IsNearlyEqual({0},{1},(float)KINDA_SMALL_NUMBER)", capitalizedName, compName)); case BuiltInTypeConstants.builtInCoordinates: case BuiltInTypeConstants.builtInVector3d: case BuiltInTypeConstants.builtInVector3f: return(string.Format("!{0}.Equals({1})", capitalizedName, compName)); default: return(string.Format("{0} != {1}", capitalizedName, compName)); } }; ConvertUnrealValueToSnapshotValue = (VarName) => { return(string.Format("{0}", VarName)); }; ConvertUnderlyingValueToUnrealLocalVariable = ConvertUnderlyingValueToUnrealMemberVariable; ConvertUnrealValueToUnderlyingValue = GenerateUnrealValueToCppValueString; DefaultInitialisationString = UnrealTypeMappings.BuiltInSchemaTypeToCppDefaultValue[typeReference.TypeName]; ArgumentName = UnrealTypeMappings.CppTypesToPassByReference.Contains(UnderlyingQualifiedName) ? string.Format("const {0}&", UnrealType) : UnrealType; SnapshotType = UnrealType; UClassName = ""; DefaultValue = UnrealTypeMappings.CppTypeToDefaultUnrealValue[UnderlyingQualifiedName]; }
internal UnityCommandDefinition(ComponentDefinitionRaw.CommandDefinitionRaw rawCommandDefinition) { Name = rawCommandDefinition.name; RawRequestType = rawCommandDefinition.requestType; RawResponseType = rawCommandDefinition.responseType; if (RawRequestType != null && RawRequestType.IsBuiltInType) { RequestType = new UnityTypeReference(RawRequestType.TypeName, null, null); } if (RawResponseType != null && RawResponseType.IsBuiltInType) { ResponseType = new UnityTypeReference(RawResponseType.TypeName, null, null); } }
internal UnityComponentDefinition(ComponentDefinitionRaw rawComponentDefinition) { Name = rawComponentDefinition.name; QualifiedName = rawComponentDefinition.qualifiedName; Id = rawComponentDefinition.Id; RawDataDefinition = rawComponentDefinition.dataDefinition; if (RawDataDefinition != null && RawDataDefinition.IsBuiltInType) { DataDefinition = new UnityTypeReference(RawDataDefinition.TypeName, null, null); } EventDefinitions = rawComponentDefinition.eventDefinitions != null ? rawComponentDefinition.eventDefinitions .Select(rawEventDefinition => new UnityEventDefinition(rawEventDefinition)).ToList() : new List <UnityEventDefinition>(); CommandDefinitions = rawComponentDefinition.commandDefinitions != null ? rawComponentDefinition.commandDefinitions .Select(rawCommandDefinition => new UnityCommandDefinition(rawCommandDefinition)).ToList() : new List <UnityCommandDefinition>(); }
private IUnrealTypeReference GenerateUnrealTypeReference(TypeReferenceRaw typeReference) { IUnrealTypeReference unrealTypeReference; if (typeReference.IsBuiltInType) { unrealTypeReference = new UnrealBuiltInTypeReference(typeReference); } else if (qualifiedNameToEnumDefinition.ContainsKey(typeReference.TypeName)) { var enumDefinition = qualifiedNameToEnumDefinition[typeReference.TypeName]; var unrealEnumDetails = enumDefinitionToUnrealEnum[enumDefinition]; unrealTypeReference = new UnrealEnumTypeReference(unrealEnumDetails); } else { var typeDefinition = qualifiedNameToTypeDefinition[typeReference.TypeName]; var unrealTypeDetails = typeDefinitionToUnrealType[typeDefinition]; unrealTypeReference = new UnrealUserTypeReference(unrealTypeDetails); } return(unrealTypeReference); }
internal UnityFieldDefinition(FieldDefinitionRaw rawFieldDefinition) { this.RawFieldDefinition = rawFieldDefinition; Name = rawFieldDefinition.name; Number = rawFieldDefinition.Number; if (rawFieldDefinition.IsOption()) { RawValueType = rawFieldDefinition.optionType.valueType; IsOption = true; } else if (rawFieldDefinition.IsList()) { RawValueType = rawFieldDefinition.listType.valueType; IsList = true; } else if (rawFieldDefinition.IsMap()) { RawKeyType = rawFieldDefinition.mapType.keyType; RawValueType = rawFieldDefinition.mapType.valueType; IsMap = true; } else { RawValueType = rawFieldDefinition.singularType; } if (RawKeyType != null && RawKeyType.IsBuiltInType) { KeyType = new UnityTypeReference(RawKeyType.TypeName, null, null); } if (RawValueType != null && RawValueType.IsBuiltInType) { ValueType = new UnityTypeReference(RawValueType.TypeName, null, null); } }
private static ComponentDefinitionRaw.CommandDefinitionRaw GenerateCommandDefinition(string name, TypeReferenceRaw requestType = null, TypeReferenceRaw responseType = null) { var commandDefinitionRaw = new ComponentDefinitionRaw.CommandDefinitionRaw(); commandDefinitionRaw.name = name; commandDefinitionRaw.requestType = requestType; commandDefinitionRaw.responseType = responseType; commandDefinitionRaw.sourceReference = new SourceReferenceRaw() { line = "1", column = "1" }; return(commandDefinitionRaw); }
internal UnityEventDefinition(ComponentDefinitionRaw.EventDefinitionRaw rawEventDefinition) { Name = rawEventDefinition.name; RawType = rawEventDefinition.type; EventIndex = rawEventDefinition.eventIndex; }
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); }
private static string GetSchemaCountFunctionFromType(TypeReferenceRaw typeReference) { return(SchemaFunctionMappings.BuiltInTypeToGetCountSchemaFunction.ContainsKey(typeReference.TypeName) ? SchemaFunctionMappings.BuiltInTypeToGetCountSchemaFunction[typeReference.TypeName] : "GetObjectCount"); }
private static string GetDeserializeIndexFunctionFromType(TypeReferenceRaw typeReference) { return(SchemaFunctionMappings.BuiltInTypeToIndexSchemaFunction.ContainsKey(typeReference.TypeName) ? SchemaFunctionMappings.BuiltInTypeToIndexSchemaFunction[typeReference.TypeName] : null); }
public static string GetFqnTypeFromTypeReference(TypeReferenceRaw typeReferenceRaw) { return(typeReferenceRaw.IsBuiltInType ? UnityTypeMappings.BuiltInSchemaTypeToUnityNativeType[typeReferenceRaw.TypeName] : GetCapitalisedFqnTypename(typeReferenceRaw.TypeName)); }
public SingularFieldType(TypeReferenceRaw typeReferenceRaw, HashSet <string> enumSet) { containedType = new ContainedType(typeReferenceRaw, enumSet); }