Ejemplo n.º 1
0
        public void OnInit(VAMLaunch plugin)
        {
            _pluginFreeController = plugin.containingAtom.GetStorableByID("control") as FreeControllerV3;

            InitOptionsUI(plugin);
            InitEditorGizmos();
        }
Ejemplo n.º 2
0
        public void OnInitStorables(VAMLaunch plugin)
        {
            _minPosition = new JSONStorableFloat("oscSourceMinPosition", 10.0f, 0.0f, 99.0f);
            plugin.RegisterFloat(_minPosition);
            _maxPosition = new JSONStorableFloat("oscSourceMaxPosition", 80.0f, 0.0f, 99.0f);
            plugin.RegisterFloat(_maxPosition);
            _speed = new JSONStorableFloat("oscSourceSpeed", 30.0f, 20.0f, 80.0f);
            plugin.RegisterFloat(_speed);
            _animationOffset = new JSONStorableFloat("oscAnimationOffset", 0.0f, 0.0f, 0.5f);
            plugin.RegisterFloat(_animationOffset);

            _targetAnimationAtomChooser = new JSONStorableStringChooser("oscSourceTargetAnimationAtom",
                                                                        GetTargetAnimationAtomChoices(), "", "Target Animation Pattern",
                                                                        (name) =>
            {
                _animationAtomController = null;
                _targetAnimationPattern  = null;

                if (string.IsNullOrEmpty(name))
                {
                    return;
                }

                var atom = SuperController.singleton.GetAtomByUid(name);
                if (atom && atom.animationPatterns.Length > 0)
                {
                    _animationAtomController = atom.freeControllers[0];
                    _targetAnimationPattern  = atom.animationPatterns[0];
                }
            });
            plugin.RegisterStringChooser(_targetAnimationAtomChooser);
        }
Ejemplo n.º 3
0
 private void DestroyOptionsUI(VAMLaunch plugin)
 {
     plugin.RemoveSlider(_minPosition);
     plugin.RemoveSlider(_maxPosition);
     plugin.RemoveSlider(_speed);
     plugin.RemoveSlider(_animationOffset);
     plugin.RemovePopup(_chooseAnimationAtomPopup);
 }
Ejemplo n.º 4
0
        public void OnInit(VAMLaunch plugin)
        {
            _pluginFreeController = plugin.containingAtom.GetStorableByID("control") as FreeControllerV3;

            InitOptionsUI(plugin);
            InitEditorGizmos();

            _moveUpwards    = true;
            _dirChangeTimer = 0.0f;
        }
Ejemplo n.º 5
0
 private void DestroyOptionsUI(VAMLaunch plugin)
 {
     plugin.RemoveSlider(_minPosition);
     plugin.RemoveSlider(_maxPosition);
     plugin.RemovePopup(_chooseAnimationAtomPopup);
     plugin.RemovePopup(_samplePlaneChooser);
     plugin.RemoveToggle(_includeMidPoints);
     plugin.RemoveToggle(_invertPosition);
     plugin.RemoveToggle(_useLocalSpace);
 }
Ejemplo n.º 6
0
        public void OnInitStorables(VAMLaunch plugin)
        {
            _minPosition = new JSONStorableFloat("patternSourceMinPosition", 10.0f, 0.0f, 99.0f);
            plugin.RegisterFloat(_minPosition);
            _maxPosition = new JSONStorableFloat("patternSourceMaxPosition", 80.0f, 0.0f, 99.0f);
            plugin.RegisterFloat(_maxPosition);

            _targetAnimationAtomChooser = new JSONStorableStringChooser("patternSourceTargetAnimationAtom",
                                                                        GetTargetAnimationAtomChoices(), "", "Target Animation Pattern",
                                                                        (name) =>
            {
                _animationAtomController = null;
                _targetAnimationPattern  = null;

                if (string.IsNullOrEmpty(name))
                {
                    return;
                }

                var atom = SuperController.singleton.GetAtomByUid(name);
                if (atom && atom.animationPatterns.Length > 0)
                {
                    _animationAtomController = atom.freeControllers[0];
                    _targetAnimationPattern  = atom.animationPatterns[0];
                    _patternTime             = _targetAnimationPattern.GetFloatJSONParam("currentTime");
                    _patternSpeed            = _targetAnimationPattern.GetFloatJSONParam("speed");
                }
            });
            plugin.RegisterStringChooser(_targetAnimationAtomChooser);

            _samplePlaneChooser = new JSONStorableStringChooser("patternSourceSamplePlane", _samplePlaneChoices, "",
                                                                "Sample Plane", (name) =>
            {
                for (int i = 0; i < _samplePlaneChoices.Count; i++)
                {
                    if (_samplePlaneChoices[i] == name)
                    {
                        _samplePlaneIndex = i;
                        break;
                    }
                }
            });
            plugin.RegisterStringChooser(_samplePlaneChooser);
            if (string.IsNullOrEmpty(_samplePlaneChooser.val))
            {
                _samplePlaneChooser.SetVal("Y");
            }

            _includeMidPoints = new JSONStorableBool("patternSourceIncludeMidPoints", false);
            plugin.RegisterBool(_includeMidPoints);
            _invertPosition = new JSONStorableBool("patternSourceInvertPosition", false);
            plugin.RegisterBool(_invertPosition);
            _useLocalSpace = new JSONStorableBool("patternSourceUseLocalSpace", false);
            plugin.RegisterBool(_useLocalSpace);
        }
Ejemplo n.º 7
0
 private void DestroyOptionsUI(VAMLaunch plugin)
 {
     plugin.RemoveButton(_chooseAtomButton);
     plugin.RemovePopup(_chooseAtomPopup);
     plugin.RemovePopup(_chooseControlPopup);
     plugin.RemoveSlider(_targetZoneWidth);
     plugin.RemoveSlider(_targetZoneHeight);
     plugin.RemoveSlider(_targetZoneDepth);
     plugin.RemoveSlider(_positionSampleRate);
     plugin.RemoveSlider(_minLaunchSignalTimeThreshold);
     plugin.RemoveSlider(_maxLaunchSignalTimeThreshold);
     plugin.RemoveSlider(_lowerVelocityBarrier);
     plugin.RemoveSlider(_higherVelocityBarrier);
     plugin.RemoveSlider(_launchSpeedMultiplier);
     plugin.RemoveSlider(_currentLaunchSignalTimeThreshold);
     plugin.RemoveSlider(_currentTargetPos);
     plugin.RemoveSpacer(_spacer0);
 }
Ejemplo n.º 8
0
        private void InitOptionsUI(VAMLaunch plugin)
        {
            var slider = plugin.CreateSlider(_minPosition, true);

            slider.label = "Min Position";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _minPosition.SetVal(Mathf.Min(_maxPosition.val - 20.0f, v));
            });

            slider       = plugin.CreateSlider(_maxPosition, true);
            slider.label = "Max Position";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _maxPosition.SetVal(Mathf.Max(_minPosition.val + 20.0f, v));
            });

            _chooseAnimationAtomPopup = plugin.CreateScrollablePopup(_targetAnimationAtomChooser);
            _chooseAnimationAtomPopup.popup.onOpenPopupHandlers += () =>
            {
                _targetAnimationAtomChooser.choices = GetTargetAnimationAtomChoices();
            };

            _chooseSamplePlanePopup = plugin.CreateScrollablePopup(_samplePlaneChooser);
            _chooseSamplePlanePopup.popup.onOpenPopupHandlers += () =>
            {
                _samplePlaneChooser.choices = _samplePlaneChoices;
            };

            var toggle = plugin.CreateToggle(_useLocalSpace);

            toggle.label = "Use Local Space";

            toggle       = plugin.CreateToggle(_includeMidPoints);
            toggle.label = "Include Mid Points";

            toggle       = plugin.CreateToggle(_invertPosition);
            toggle.label = "Invert";
        }
Ejemplo n.º 9
0
        private void InitOptionsUI(VAMLaunch plugin)
        {
            var slider = plugin.CreateSlider(_minPosition, true);

            slider.label = "Min Position";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _minPosition.SetVal(Mathf.Min(_maxPosition.val - 20.0f, v));
            });

            slider       = plugin.CreateSlider(_maxPosition, true);
            slider.label = "Max Position";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _maxPosition.SetVal(Mathf.Max(_minPosition.val + 20.0f, v));
            });

            slider       = plugin.CreateSlider(_speed, true);
            slider.label = "Speed";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _speed.SetVal(v);
            });

            _chooseAnimationAtomPopup = plugin.CreateScrollablePopup(_targetAnimationAtomChooser);
            _chooseAnimationAtomPopup.popup.onOpenPopupHandlers += () =>
            {
                _targetAnimationAtomChooser.choices = GetTargetAnimationAtomChoices();
            };

            slider       = plugin.CreateSlider(_animationOffset, false);
            slider.label = "Animation Offset";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _animationOffset.SetVal(v);
            });
        }
Ejemplo n.º 10
0
 public void OnDestroy(VAMLaunch plugin)
 {
     DestroyOptionsUI(plugin);
 }
Ejemplo n.º 11
0
        private void InitOptionsUI(VAMLaunch plugin)
        {
            _chooseAtomButton = plugin.CreateButton("Select Zone Target");
            _chooseAtomButton.button.onClick.AddListener(() =>
            {
                SuperController.singleton.SelectModeAtom((atom) =>
                {
                    if (atom == null)
                    {
                        return;
                    }

                    _targetAtomChooser.SetVal(atom.uid);
                });
            });

            _chooseAtomPopup = plugin.CreateScrollablePopup(_targetAtomChooser);
            _chooseAtomPopup.popup.onOpenPopupHandlers += () =>
            {
                _targetAtomChooser.choices = GetTargetAtomChoices();
            };

            _chooseControlPopup = plugin.CreateScrollablePopup(_targetControllerChooser);
            _chooseControlPopup.popup.onOpenPopupHandlers += () =>
            {
                _targetControllerChooser.choices = GetTargetControllerChoices();
            };

            var slider = plugin.CreateSlider(_targetZoneWidth, true);

            slider.label = "Target Zone Width";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _targetZoneWidth.SetVal(v);
            });

            slider       = plugin.CreateSlider(_targetZoneHeight, true);
            slider.label = "Target Zone Height";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _targetZoneHeight.SetVal(v);
            });

            slider       = plugin.CreateSlider(_targetZoneDepth, true);
            slider.label = "Target Zone Depth";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _targetZoneDepth.SetVal(v);
            });

            slider       = plugin.CreateSlider(_positionSampleRate, true);
            slider.label = "Position Sample Rate";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _positionSampleRate.SetVal(v);
            });

            slider       = plugin.CreateSlider(_minLaunchSignalTimeThreshold, true);
            slider.label = "Min Adjust Time Threshold";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _minLaunchSignalTimeThreshold.SetVal(v);
            });

            slider       = plugin.CreateSlider(_maxLaunchSignalTimeThreshold, true);
            slider.label = "Max Adjust Time Threshold";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _maxLaunchSignalTimeThreshold.SetVal(v);
            });

            slider       = plugin.CreateSlider(_lowerVelocityBarrier, true);
            slider.label = "Min Adjust Time Vel Barrier";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _lowerVelocityBarrier.SetVal(v);
            });

            slider       = plugin.CreateSlider(_higherVelocityBarrier, true);
            slider.label = "Max Adjust Time Vel Barrier";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _higherVelocityBarrier.SetVal(v);
            });

            slider       = plugin.CreateSlider(_launchSpeedMultiplier, true);
            slider.label = "Launch Speed Multiplier";
            slider.slider.onValueChanged.AddListener((v) =>
            {
                _launchSpeedMultiplier.SetVal(v);
            });

            _spacer0 = plugin.CreateSpacer();

            slider       = plugin.CreateSlider(_currentLaunchSignalTimeThreshold, false);
            slider.label = "Adjust Time";

            slider       = plugin.CreateSlider(_currentTargetPos, false);
            slider.label = "Current Target Position";
        }
Ejemplo n.º 12
0
        public void OnInitStorables(VAMLaunch plugin)
        {
            _targetZoneWidth  = new JSONStorableFloat("zoneSourceTargetZoneWidth", 0.1f, 0.005f, 0.2f);
            _targetZoneHeight = new JSONStorableFloat("zoneSourceTargetZoneHeight", 0.1f, 0.005f, 0.2f);
            _targetZoneDepth  = new JSONStorableFloat("zoneSourceTargetZoneDepth", 0.1f, 0.005f, 0.2f);

            plugin.RegisterFloat(_targetZoneWidth);
            plugin.RegisterFloat(_targetZoneHeight);
            plugin.RegisterFloat(_targetZoneDepth);

            _currentTargetPos = new JSONStorableFloat("zoneSourceLaunchPos", 0.0f, 0.0f, LaunchUtils.LAUNCH_MAX_VAL);
            plugin.RegisterFloat(_currentTargetPos);

            _positionSampleRate = new JSONStorableFloat("zoneSourcePositionSampleRate", 40.0f, 10.0f, 90.0f);
            plugin.RegisterFloat(_positionSampleRate);

            _minLaunchSignalTimeThreshold =
                new JSONStorableFloat("zoneSourceMinLaunchSignalTimeThreshold", 0.1f, 0.001f, 0.4f);
            plugin.RegisterFloat(_minLaunchSignalTimeThreshold);

            _maxLaunchSignalTimeThreshold =
                new JSONStorableFloat("zoneSourceMaxLaunchSignalTimeThreshold", 0.25f, 0.001f, 0.4f);
            plugin.RegisterFloat(_maxLaunchSignalTimeThreshold);

            _currentLaunchSignalTimeThreshold =
                new JSONStorableFloat("zoneSourceCurrentLaunchSignalTimeThreshold", 0.099f, 0.001f, 0.4f);
            plugin.RegisterFloat(_currentLaunchSignalTimeThreshold);

            _lowerVelocityBarrier =
                new JSONStorableFloat("zoneSourceLowerVelocityBarrier", 10.0f, 0.0f, LaunchUtils.LAUNCH_MAX_VAL);
            plugin.RegisterFloat(_lowerVelocityBarrier);

            _higherVelocityBarrier = new JSONStorableFloat("zoneSourceHigherVelocityBarrier", 45.0f, 0.0f,
                                                           LaunchUtils.LAUNCH_MAX_VAL);
            plugin.RegisterFloat(_higherVelocityBarrier);

            _launchSpeedMultiplier = new JSONStorableFloat("zoneSourceLaunchSpeedMultiplier", 1.0f, 0.01f, 2.0f);
            plugin.RegisterFloat(_launchSpeedMultiplier);

            _targetAtomChooser = new JSONStorableStringChooser("zoneSourceTargetAtom", GetTargetAtomChoices(), "",
                                                               "Target Atom",
                                                               (name) =>
            {
                _targetAtom = SuperController.singleton.GetAtomByUid(name);
                if (_targetAtom == null)
                {
                    _targetController = null;
                }
                else
                {
                    _targetController =
                        _targetAtom.GetStorableByID(_targetControllerChooser.val) as FreeControllerV3;
                }

                if (_targetController == null)
                {
                    _targetControllerChooser.SetVal("");
                }
            });
            plugin.RegisterStringChooser(_targetAtomChooser);

            _targetControllerChooser = new JSONStorableStringChooser("zoneSourceTargetController",
                                                                     GetTargetControllerChoices(), "", "Target Control",
                                                                     (name) =>
            {
                if (_targetAtom == null)
                {
                    _targetController = null;
                }
                else
                {
                    _targetController = _targetAtom.GetStorableByID(name) as FreeControllerV3;
                }
            });
            plugin.RegisterStringChooser(_targetControllerChooser);
        }