Exemple #1
0
        internal override void ChangeState(State undoState)
        {
            int index  = 0,
                sIndex = 0;

            foreach (HitObject h in changedObjects)
            {
                ListHelper.Swap(soundAdditions[index].SoundTypes, 0, ref h.SoundType);

                SliderOsu s = h as SliderOsu;
                if (s != null)
                {
                    SoundAdditionData soundData = soundAdditionsList[sIndex];
                    ListHelper.Swap(soundData.SoundTypes, s.SoundTypeList);

                    updateUnifiedStatus(s, s.SoundTypeList);
                    sIndex++;
                }
                index++;
            }

            ActiveManager.Editor.Compose.ReplaceSelection(changedObjects);

            if (selectedSliderIndexes != null)
            {
                ActiveManager.Editor.Compose.SelectIndexes((SliderOsu)changedObjects[0], selectedSliderIndexes);
            }
        }
Exemple #2
0
        /// <summary>
        /// Compares each sound element until it finds a difference
        /// </summary>
        /// <param name="soundTypeList">The list being compared with</param>
        /// <param name="data">Storage object</param>
        private bool checkSoundList(List <HitObjectSoundType> soundTypeList, SoundAdditionData data)
        {
            if (selectedSliderIndexes != null && selectedSliderIndexes.Count > 0)
            {
                foreach (int i in selectedSliderIndexes)
                {
                    if (soundTypeList[i] != data.GetSoundType(i))
                    {
                        return(true);
                    }
                }
                return(false);
            }

            for (int i = 0; i < data.SoundTypes.Count; i++)
            {
                if (soundTypeList[i] != data.GetSoundType(i))
                {
                    return(true);
                }
            }
            return(false);
        }