public override VisualElement CreateInspectorGUI() { VisualElement root = new VisualElement(); #if !OBSOLETE root.Add(new PropertyField(isInteractable)); root.Add(new PropertyField(isHidden)); root.Add(GoldPlayerUIHelper.GetSpace()); useCustomMessageElement = new PropertyField(useCustomMessage); customMessageElement = new PropertyField(customMessage); useCustomMessageElement.RegisterCallback <ChangeEvent <bool> >((evt) => { customMessageElement.SetEnabled(evt.newValue); }); customMessageElement.SetEnabled(useCustomMessage.boolValue); root.Add(useCustomMessageElement); root.Add(customMessageElement); root.Add(new PropertyField(onInteract)); #else Button removeButton = new Button(() => { Undo.DestroyObjectImmediate((GoldPlayerInteractable)target); }) { text = "Remove Component" }; root.Add(removeButton); #endif return(root); }
public override VisualElement CreatePropertyGUI(SerializedProperty property) { Foldout foldout = new Foldout(); foldout.BindProperty(property); foldout.text = property.displayName; foldout.contentContainer.Add(new PropertyField(property.FindPropertyRelative("enableFOVKick"))); foldout.contentContainer.Add(new PropertyField(property.FindPropertyRelative("unscaledTime"))); foldout.contentContainer.Add(new PropertyField(property.FindPropertyRelative("kickWhen"))); foldout.contentContainer.Add(new PropertyField(property.FindPropertyRelative("kickAmount"))); foldout.contentContainer.Add(new PropertyField(property.FindPropertyRelative("lerpTimeTo"))); foldout.contentContainer.Add(new PropertyField(property.FindPropertyRelative("lerpTimeFrom"))); foldout.contentContainer.Add(GoldPlayerUIHelper.GetSpace()); PropertyField targetCamera = new PropertyField(property.FindPropertyRelative("targetCamera")); #if GOLD_PLAYER_CINEMACHINE PropertyField cineToggle = new PropertyField(property.FindPropertyRelative("useCinemachine")); PropertyField cineCamera = new PropertyField(property.FindPropertyRelative("targetVirtualCamera")); // Put the register value changed in GeometryChangedEvent because then the property will have been rebuilt. cineToggle.RegisterCallback <GeometryChangedEvent>(evt => { cineToggle.Q <Toggle>().RegisterValueChangedCallback(x => { targetCamera.style.display = x.newValue ? DisplayStyle.None : DisplayStyle.Flex; cineCamera.style.display = x.newValue ? DisplayStyle.Flex : DisplayStyle.None; }); }); bool useCinemachine = property.FindPropertyRelative("useCinemachine").boolValue; targetCamera.style.display = useCinemachine ? DisplayStyle.None : DisplayStyle.Flex; cineCamera.style.display = useCinemachine ? DisplayStyle.Flex : DisplayStyle.None; foldout.contentContainer.Add(cineToggle); foldout.contentContainer.Add(cineCamera); #endif foldout.contentContainer.Add(targetCamera); return(foldout); }
public override VisualElement CreateInspectorGUI() { VisualElement root = new VisualElement() { name = "Root" }; //PropertyField animatorField = new PropertyField(animator); ObjectField animatorField = new ObjectField(animator.displayName) { objectType = typeof(Animator) }; animatorField.BindProperty(animator); animatorField.RegisterValueChangedCallback(x => { ToggleParameters(x.newValue != null); GetAnimatorParameters(x.newValue); }); moveXField = GetParameterField(moveX); moveYField = GetParameterField(moveY); crouchingField = GetParameterField(crouching); lookAngleField = GetParameterField(lookAngle); root.Add(animatorField); root.Add(new PropertyField(maxSpeed)); root.Add(new PropertyField(valueSmoothTime)); root.Add(new PropertyField(lookAngleHead)); root.Add(GoldPlayerUIHelper.GetSpace()); root.Add(GoldPlayerUIHelper.GetHeaderLabel("Parameters")); root.Add(moveXField); root.Add(moveYField); root.Add(crouchingField); root.Add(lookAngleField); ToggleParameters(animator.objectReferenceValue != null); return(root); }