public TransitionConnection(StateNode source, StateNode target, Type triggerType, object trigger = null, ScriptableGuardCondition[] guardConditions = null)
        {
            _source = source;
            _target = target;

            _triggerDrawer  = PlainStateMachineGenericTypeDrawerFactory.Create(triggerType, trigger);
            GuardConditions = guardConditions;

            _controlsAreaStyle         = new GUIStyle();
            _controlsAreaStyle.padding = new RectOffset(ControlPaddingLeft, ControlPaddingRight, ControlPaddingTop, ControlPaddingBottom);

            _simpleLabelStyle          = new GUIStyle();
            _simpleLabelStyle.wordWrap = true;
        }
        public StateNode(Vector2 position, Type stateIdType, int nodeId, ScriptableState stateAsset = null, object stateId = null)
        {
            _nodeRect = new Rect(position.x, position.y, Width, Height);
            NodeId    = nodeId;

            _controlsAreaStyle         = new GUIStyle();
            _controlsAreaStyle.padding = new RectOffset(ControlPaddingLeft, ControlPaddingRight, ControlPaddingTop, ControlPaddingBottom);

            _identityTitleStyle           = new GUIStyle();
            _identityTitleStyle.padding   = new RectOffset(20, 20, 20, 20);
            _identityTitleStyle.alignment = TextAnchor.MiddleCenter;
            _identityTitleStyle.fontSize  = 20;
            _identityTitleStyle.wordWrap  = true;

            _stateIdDrawer = PlainStateMachineGenericTypeDrawerFactory.Create(stateIdType, stateId);

            AsNormal();
        }