{
  "name": "StateTransition",
  "key": {
    "int": 65,
    "string": "statetransition"
  },
  "extends": "animation/state_machine_layer_component.json",
  "properties": {
    "stateFromId": {
      "type": "Id",
      "initialValue": "Core.missingId",
      "key": {
        "int": 150,
        "string": "statefromid"
      },
      "description": "Id of the state this transition originates from.",
      "runtime": false
    },
    "stateToId": {
      "type": "Id",
      "typeRuntime": "uint",
      "initialValue": "Core.missingId",
      "initialValueRuntime": "-1",
      "key": {
        "int": 151,
        "string": "statetoid"
      },
      "description": "Id of the state this transition originates from."
    },
    "flags": {
      "type": "uint",
      "initialValue": "0",
      "key": {
        "int": 152,
        "string": "flags"
      }
    },
    "duration": {
      "type": "uint",
      "initialValue": "0",
      "key": {
        "int": 158,
        "string": "duration"
      },
      "description": "Duration of the trasition (mix time) in milliseconds or percentage (0-100) based on flags.",
      "bindable": true
    },
    "transitionOrder": {
      "type": "FractionalIndex",
      "key": {
        "int": 159,
        "string": "transitionorder"
      },
      "description": "Order value for sorting transitions in states.",
      "runtime": false
    },
    "exitTime": {
      "type": "uint",
      "initialValue": "0",
      "key": {
        "int": 160,
        "string": "exittime"
      },
      "description": "Duration in milliseconds that must elapse before allowing the state to change. If the flags mark this property as being percentage based, the value is in 0-100% of the outgoing animation's duration"
    },
    "interpolationType": {
      "type": "uint",
      "initialValue": "1",
      "key": {
        "int": 349,
        "string": "interpolationtype"
      },
      "description": "The type of interpolation index in Interpolation applied to this state transition ('linear' by default)."
    },
    "interpolatorId": {
      "type": "Id",
      "typeRuntime": "uint",
      "initialValue": "Core.missingId",
      "initialValueRuntime": "-1",
      "key": {
        "int": 350,
        "string": "interpolatorid"
      },
      "description": "The id of the custom interpolator used when interpolation is Cubic."
    },
    "randomWeight": {
      "type": "uint",
      "initialValue": "1",
      "key": {
        "int": 537,
        "string": "randomweight"
      },
      "description": "Weight of the transition in the overall random options"
    }
  }
}