{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Various definitions used in multiple schema files.",
    "team": {
        "type": "integer",
        "title": "Team.",
        "description": "Specifies team relevant to object, 1 for red or 2 for blue",
        "enum": [
            1,
            2
        ]
    },
    "frameArrayItem": {
        "description": "Array that tracks the state of properties of a player/object over time. Initially 0 (prior to player start), but if a player or object is removed then values are null.",
        "anyOf": [
            {
                "type": "null"
            },
            {
                "description": "Just 0 allowed otherwise.",
                "type": "integer",
                "enum": [
                    0
                ]
            }
        ],
        "bool": {
            "anyOf": [
                {
                    "$ref": "#/frameArrayItem"
                },
                {
                    "type": "boolean"
                }
            ]
        },
        "number": {
            "anyOf": [
                {
                    "$ref": "#/frameArrayItem"
                },
                {
                    "type": "number"
                }
            ]
        },
        "integer": {
            "anyOf": [
                {
                    "$ref": "#/frameArrayItem"
                },
                {
                    "type": "integer"
                }
            ]
        }
    },
    "properties": {
        "team": {
            "$ref": "#/team"
        },
        "frameArrayItem": {
            "$ref": "#/frameArrayItem"
        }
    },
    "required": [
        "team",
        "frameArrayItem"
    ]
}