Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }