public static void CreateWindow(ModalParent parent, LipSyncClipSetup setup, EmotionMarker marker)
        {
            MarkerSettingsWindow window = Create(parent, setup, 1);

            window.eMarker = new EmotionMarker[] { marker };

            for (int i = 0; i < setup.settings.emotions.Length; i++)
            {
                if (setup.settings.emotions[i] == marker.emotion)
                {
                    window.emotionNumber = i;
                    break;
                }
            }

            window.startTime             = marker.startTime;
            window.endTime               = marker.endTime;
            window.intensity             = marker.intensity;
            window.modifierOn            = marker.continuousVariation;
            window.maxVariationFrequency = marker.variationFrequency;
            window.intensityModifier     = marker.intensityVariation;
            window.blendableModifier     = marker.blendableVariation;
            window.boneRotationModifier  = marker.boneRotationVariation;
            window.bonePositionModifier  = marker.bonePositionVariation;

            window.modifierBool = new AnimBool(window.modifierOn, window.Repaint);
        }
        public static void CreateWindow(ModalParent parent, LipSyncClipSetup setup, PhonemeMarker marker)
        {
            MarkerSettingsWindow window = Create(parent, setup, 0);

            window.pMarker = new PhonemeMarker[] { marker };

            window.time                 = marker.time;
            window.phonemeNumber        = marker.phonemeNumber;
            window.intensity            = marker.intensity;
            window.modifierOn           = marker.useRandomness;
            window.intensityModifier    = marker.intensityRandomness;
            window.blendableModifier    = marker.blendableRandomness;
            window.boneRotationModifier = marker.boneRotationRandomness;
            window.bonePositionModifier = marker.bonePositionRandomness;

            window.modifierBool = new AnimBool(window.modifierOn, window.Repaint);
        }
        public static void CreateWindow(ModalParent parent, LipSyncClipSetup setup, EmotionMarker marker)
        {
            MarkerSettingsWindow window = Create(parent, setup, 1);

            window.eMarker = new EmotionMarker[] { marker };

            window.startTime             = marker.startTime;
            window.endTime               = marker.endTime;
            window.intensity             = marker.intensity;
            window.modifierOn            = marker.continuousVariation;
            window.maxVariationFrequency = marker.variationFrequency;
            window.intensityModifier     = marker.intensityVariation;
            window.blendableModifier     = marker.blendableVariation;
            window.boneRotationModifier  = marker.boneRotationVariation;
            window.bonePositionModifier  = marker.bonePositionVariation;

            window.modifierBool = new AnimBool(window.modifierOn, window.Repaint);
        }
        private static MarkerSettingsWindow Create(ModalParent parent, LipSyncClipSetup setup, int markerType)
        {
            MarkerSettingsWindow window = CreateInstance <MarkerSettingsWindow>();

            window.phonemeNames  = setup.settings.phonemeSet.phonemes.phonemeNames.ToArray();
            window.phonemeValues = new int[window.phonemeNames.Length];

            for (int i = 0; i < window.phonemeValues.Length; i++)
            {
                window.phonemeValues[i] = i;
            }

            window.position     = new Rect(parent.center.x - 250, parent.center.y - 100, 500, 200);
            window.minSize      = new Vector2(500, 200);
            window.titleContent = new GUIContent("Marker Settings");

            window.setup      = setup;
            window.markerType = markerType;
            window.Show(parent);
            return(window);
        }
        public static void CreateWindow(ModalParent parent, LipSyncClipSetup setup, List <EmotionMarker> collection, List <int> selection)
        {
            MarkerSettingsWindow window = Create(parent, setup, 1);

            window.eMarker = new EmotionMarker[selection.Count];

            for (int i = 0; i < selection.Count; i++)
            {
                window.eMarker[i] = collection[selection[i]];
            }

            string[] emotions       = GetFieldValues <string>(window.eMarker, "emotion");
            int[]    emotionNumbers = new int[emotions.Length];

            for (int e = 0; e < emotions.Length; e++)
            {
                for (int i = 0; i < setup.settings.emotions.Length; i++)
                {
                    if (string.Equals(setup.settings.emotions[i], emotions[e]))
                    {
                        emotionNumbers[e] = i;
                        break;
                    }
                }
            }

            SetProperty(emotionNumbers, out window.emotionNumber, out window.setEmotion);
            SetProperty(GetFieldValues <float>(window.eMarker, "startTime"), out window.startTime, out window.setStartTime);
            SetProperty(GetFieldValues <float>(window.eMarker, "endTime"), out window.endTime, out window.setEndTime);
            SetProperty(GetFieldValues <float>(window.eMarker, "intensity"), out window.intensity, out window.setIntensity);
            SetProperty(GetFieldValues <bool>(window.eMarker, "continuousVariation"), out window.modifierOn, out window.setModifierOn);
            SetProperty(GetFieldValues <float>(window.eMarker, "variationFrequency"), out window.maxVariationFrequency, out window.setMaxVariationFrequency);
            SetProperty(GetFieldValues <float>(window.eMarker, "intensityVariation"), out window.intensityModifier, out window.setIntensityModifier);
            SetProperty(GetFieldValues <float>(window.eMarker, "blendableVariation"), out window.blendableModifier, out window.setBlendableModifier);
            SetProperty(GetFieldValues <float>(window.eMarker, "boneRotationVariation"), out window.boneRotationModifier, out window.setBoneRotationModifier);
            SetProperty(GetFieldValues <float>(window.eMarker, "bonePositionVariation"), out window.bonePositionModifier, out window.setBonePositionModifier);

            window.modifierBool = new AnimBool(window.modifierOn, window.Repaint);
        }
        public static void CreateWindow(ModalParent parent, LipSyncClipSetup setup, List <PhonemeMarker> collection, List <int> selection)
        {
            MarkerSettingsWindow window = Create(parent, setup, 0);

            window.pMarker = new PhonemeMarker[selection.Count];

            for (int i = 0; i < selection.Count; i++)
            {
                window.pMarker[i] = collection[selection[i]];
            }

            SetProperty(GetFieldValues <float>(window.pMarker, "time"), out window.time, out window.setTime);
            SetProperty(GetFieldValues <int>(window.pMarker, "phonemeNumber"), out window.phonemeNumber, out window.setPhonemeNumber);
            SetProperty(GetFieldValues <float>(window.pMarker, "intensity"), out window.intensity, out window.setIntensity);
            SetProperty(GetFieldValues <bool>(window.pMarker, "useRandomness"), out window.modifierOn, out window.setModifierOn);
            SetProperty(GetFieldValues <float>(window.pMarker, "intensityRandomness"), out window.intensityModifier, out window.setIntensityModifier);
            SetProperty(GetFieldValues <float>(window.pMarker, "blendableRandomness"), out window.blendableModifier, out window.setBlendableModifier);
            SetProperty(GetFieldValues <float>(window.pMarker, "boneRotationRandomness"), out window.boneRotationModifier, out window.setBoneRotationModifier);
            SetProperty(GetFieldValues <float>(window.pMarker, "bonePositionRandomness"), out window.bonePositionModifier, out window.setBonePositionModifier);

            window.modifierBool = new AnimBool(window.modifierOn, window.Repaint);
        }
        public static void CreateWindow(ModalParent parent, LipSyncClipSetup setup, List <EmotionMarker> collection, List <int> selection)
        {
            MarkerSettingsWindow window = Create(parent, setup, 1);

            window.eMarker = new EmotionMarker[selection.Count];

            for (int i = 0; i < selection.Count; i++)
            {
                window.eMarker[i] = collection[selection[i]];
            }

            SetProperty(GetFieldValues <float>(window.eMarker, "startTime"), out window.startTime, out window.setStartTime);
            SetProperty(GetFieldValues <float>(window.eMarker, "endTime"), out window.endTime, out window.setEndTime);
            SetProperty(GetFieldValues <float>(window.eMarker, "intensity"), out window.intensity, out window.setIntensity);
            SetProperty(GetFieldValues <bool>(window.eMarker, "continuousVariation"), out window.modifierOn, out window.setModifierOn);
            SetProperty(GetFieldValues <float>(window.eMarker, "variationFrequency"), out window.maxVariationFrequency, out window.setMaxVariationFrequency);
            SetProperty(GetFieldValues <float>(window.eMarker, "intensityVariation"), out window.intensityModifier, out window.setIntensityModifier);
            SetProperty(GetFieldValues <float>(window.eMarker, "blendableVariation"), out window.blendableModifier, out window.setBlendableModifier);
            SetProperty(GetFieldValues <float>(window.eMarker, "boneRotationVariation"), out window.boneRotationModifier, out window.setBoneRotationModifier);
            SetProperty(GetFieldValues <float>(window.eMarker, "bonePositionVariation"), out window.bonePositionModifier, out window.setBonePositionModifier);

            window.modifierBool = new AnimBool(window.modifierOn, window.Repaint);
        }