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); }