public override bool OnGUI()
        {
            SetAgentWalkableMask _target = (SetAgentWalkableMask)target;

            bool edited = false;



            EditField("gameObject");

            if (_target.NavMeshlayerMask == null)
            {
                _target.NavMeshlayerMask       = new FsmInt();
                _target.NavMeshlayerMask.Value = -1;
            }

            LayerMask _mask = _target.NavMeshlayerMask.Value;

            if (_maskField == null)
            {
                _maskField = new PlayMakerNavMeshMaskField();
            }
            LayerMask _newMask = _maskField.LayerMaskField("NavMesh layerMask", _mask, true);

            if (_newMask != _mask)
            {
                edited = true;
                _target.NavMeshlayerMask.Value = _newMask.value;
            }

            return(GUI.changed || edited);
        }
        bool EditMaskField(NavMeshRaycast _target)
        {
            bool edited = false;

            if (_target.passableMask == null)
            {
                _target.passableMask       = new FsmInt();
                _target.passableMask.Value = -1;
            }

            if (_target.passableMask.UseVariable)
            {
                EditField("passableMask");
            }
            else
            {
                GUILayout.BeginHorizontal();

                LayerMask _mask = _target.passableMask.Value;

                if (_maskField == null)
                {
                    _maskField = new PlayMakerNavMeshMaskField();
                }
                LayerMask _newMask = _maskField.LayerMaskField("Passable Mask", _mask, true);


                if (_newMask != _mask)
                {
                    edited = true;
                    _target.passableMask.Value = _newMask.value;
                }

                if (PlayMakerEditor.FsmEditorGUILayout.MiniButtonPadded(PlayMakerEditor.FsmEditorContent.VariableButton))
                {
                    _target.passableMask.UseVariable = true;
                }
                GUILayout.EndHorizontal();
            }

            return(edited);
        }