{
    "id": "http://www.ubisoft.com/ugc/acd/v1/gameobjectdescriptorfilter#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "JSON Schema for Assassin's Creed Dynasty UGC",
    "Descriptor": {
        "oneOf": [
            {
                "$ref": "#/definitions/Faction"
            },
            {
                "$ref": "#/definitions/GenericCommunityMember"
            },
            {
                "$ref": "#/definitions/Compound"
            },
            {
                "$ref": "#/definitions/MetaAILabel"
            }
        ]
    },
    "definitions": {
        "Faction": {
            "type": "object",
            "properties": {
                "Type": {
                    "type": "string",
                    "enum": [
                        "Faction"
                    ]
                },
                "Faction": {
                    "$ref": "http://www.ubisoft.com/ugc/acd/v1/types#/ObjectId"
                },
                "ID": {
                    "$ref": "http://www.ubisoft.com/ugc/acd/v1/types#/RequiredString"
                }
            },
            "additionalProperties": false,
            "required": [
                "Type",
                "Faction"
            ]
        },
        "GenericCommunityMember": {
            "type": "object",
            "properties": {
                "Type": {
                    "type": "string",
                    "enum": [
                        "GenericCommunityMember"
                    ]
                },
                "GenericCommunityMember": {
                    "$ref": "http://www.ubisoft.com/ugc/acd/v1/types#/ObjectId"
                },
                "ID": {
                    "$ref": "http://www.ubisoft.com/ugc/acd/v1/types#/RequiredString"
                }
            },
            "additionalProperties": false,
            "required": [
                "Type",
                "GenericCommunityMember"
            ]
        },
        "Compound": {
            "type": "object",
            "properties": {
                "Type": {
                    "type": "string",
                    "enum": [
                        "Compound"
                    ]
                },
                "Compounds": {
                    "type": "array"
                },
                "ID": {
                    "$ref": "http://www.ubisoft.com/ugc/acd/v1/types#/RequiredString"
                }
            },
            "additionalProperties": false,
            "required": [
                "Type",
                "Compounds"
            ]
        },
        "MetaAILabel": {
            "type": "object",
            "properties": {
                "Type": {
                    "type": "string",
                    "enum": [
                        "MetaAILabel"
                    ]
                },
                "ID": {
                    "$ref": "http://www.ubisoft.com/ugc/acd/v1/types#/RequiredString"
                },
                "MetaAILabels": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "anyOf": [
                            {
                                "type": "object",
                                "properties": {
                                    "And": {
                                        "$ref": "http://www.ubisoft.com/ugc/acd/v1/types#/ObjectId"
                                    }
                                },
                                "additionalProperties": false,
                                "required": [
                                    "And"
                                ]
                            },
                            {
                                "type": "object",
                                "properties": {
                                    "Not": {
                                        "$ref": "http://www.ubisoft.com/ugc/acd/v1/types#/ObjectId"
                                    }
                                },
                                "additionalProperties": false,
                                "required": [
                                    "Not"
                                ]
                            }
                        ]
                    }
                }
            },
            "additionalProperties": false,
            "required": [
                "Type",
                "MetaAILabels"
            ]
        }
    }
}