コード例 #1
0
        private void LoadThemeDatas(SkinDatas skinData, CollectionDataSpec <ThemeSideDataSpec> spec)
        {
            skinData.ThemeDatas = new Dictionary <string, WithSideData <ThemeSideData> >();

            WithSideData <ThemeSideData> internalDefaultThemeData = new WithSideData <ThemeSideData>();

            internalDefaultThemeData.Light       = new ThemeSideData();
            internalDefaultThemeData.Conflict    = new ThemeSideData();
            internalDefaultThemeData.Light.Track = new Labelled <Sprite> {
                value = rawDefaultData.TrackLight, label = "<internal:light>"
            };
            internalDefaultThemeData.Conflict.Track = new Labelled <Sprite> {
                value = rawDefaultData.TrackConflict, label = "<internal:conflict>"
            };
            internalDefaultThemeData.Light.CriticalLine = new Labelled <Sprite> {
                value = rawDefaultData.CriticalLine, label = "<internal>"
            };
            internalDefaultThemeData.Conflict.CriticalLine = new Labelled <Sprite> {
                value = rawDefaultData.CriticalLine, label = "<internal>"
            };
            internalDefaultThemeData.Light.ComboTextColor    = rawDefaultData.ComboTextColorLight;
            internalDefaultThemeData.Conflict.ComboTextColor = rawDefaultData.ComboTextColorConflict;
            internalDefaultThemeData.Light.ParticleNote      = new Labelled <Texture2D> {
                value = rawDefaultData.ParticleNote, label = "<internal>"
            };
            internalDefaultThemeData.Conflict.ParticleNote = new Labelled <Texture2D> {
                value = rawDefaultData.ParticleNote, label = "<internal>"
            };
            internalDefaultThemeData.Light.ParticleArcStartColor    = rawDefaultData.ParticleArcStartColor;
            internalDefaultThemeData.Conflict.ParticleArcStartColor = rawDefaultData.ParticleArcStartColor;
            internalDefaultThemeData.Light.ParticleArcEndColor      = rawDefaultData.ParticleArcEndColor;
            internalDefaultThemeData.Conflict.ParticleArcEndColor   = rawDefaultData.ParticleArcEndColor;
            LoadCollectionData <ThemeSideData, ThemeSideDataSpec>(internalDefaultThemeData, skinData.ThemeDatas, (name) => { skinData.DefaultThemeData = name; }, spec, LoadThemeSideData);
        }
コード例 #2
0
        private void LoadNoteDatas(SkinDatas skinData, CollectionDataSpec <NoteSideDataSpec> spec)
        {
            skinData.NoteDatas = new Dictionary <string, WithSideData <NoteSideData> >();

            WithSideData <NoteSideData> internalDefaultNoteData = new WithSideData <NoteSideData>();

            internalDefaultNoteData.Light         = new NoteSideData();
            internalDefaultNoteData.Conflict      = new NoteSideData();
            internalDefaultNoteData.Light.TapNote = new Labelled <Sprite> {
                value = rawDefaultData.TapNoteLight, label = "<internal:light>"
            };
            internalDefaultNoteData.Conflict.TapNote = new Labelled <Sprite> {
                value = rawDefaultData.TapNoteConflict, label = "<internal:conflict>"
            };
            internalDefaultNoteData.Light.HoldNote = new Labelled <Sprite> {
                value = rawDefaultData.HoldNoteLight, label = "<internal:light>"
            };
            internalDefaultNoteData.Conflict.HoldNote = new Labelled <Sprite> {
                value = rawDefaultData.HoldNoteConflict, label = "<internal:conflict>"
            };
            internalDefaultNoteData.Light.HoldNoteHighlight = new Labelled <Sprite> {
                value = rawDefaultData.HoldNoteHighlightLight, label = "<internal:light>"
            };
            internalDefaultNoteData.Conflict.HoldNoteHighlight = new Labelled <Sprite> {
                value = rawDefaultData.HoldNoteHighlightConflict, label = "<internal:conflict>"
            };
            internalDefaultNoteData.Light.ArcTap = new Labelled <Texture2D> {
                value = rawDefaultData.ArcTapLight, label = "<internal:light>"
            };
            internalDefaultNoteData.Conflict.ArcTap = new Labelled <Texture2D> {
                value = rawDefaultData.ArcTapConflict, label = "<internal:conflict>"
            };
            internalDefaultNoteData.Light.ConnectionLineColor    = rawDefaultData.ConnectionLineColorLight;
            internalDefaultNoteData.Conflict.ConnectionLineColor = rawDefaultData.ConnectionLineColorConflict;
            internalDefaultNoteData.Light.ArcRedLow       = rawDefaultData.ArcRedLow;
            internalDefaultNoteData.Conflict.ArcRedLow    = rawDefaultData.ArcRedLow;
            internalDefaultNoteData.Light.ArcBlueLow      = rawDefaultData.ArcBlueLow;
            internalDefaultNoteData.Conflict.ArcBlueLow   = rawDefaultData.ArcBlueLow;
            internalDefaultNoteData.Light.ArcGreenLow     = rawDefaultData.ArcGreenLow;
            internalDefaultNoteData.Conflict.ArcGreenLow  = rawDefaultData.ArcGreenLow;
            internalDefaultNoteData.Light.ArcRedHigh      = rawDefaultData.ArcRedHigh;
            internalDefaultNoteData.Conflict.ArcRedHigh   = rawDefaultData.ArcRedHigh;
            internalDefaultNoteData.Light.ArcBlueHigh     = rawDefaultData.ArcBlueHigh;
            internalDefaultNoteData.Conflict.ArcBlueHigh  = rawDefaultData.ArcBlueHigh;
            internalDefaultNoteData.Light.ArcGreenHigh    = rawDefaultData.ArcGreenHigh;
            internalDefaultNoteData.Conflict.ArcGreenHigh = rawDefaultData.ArcGreenHigh;
            internalDefaultNoteData.Light.ArcVoid         = rawDefaultData.ArcVoid;
            internalDefaultNoteData.Conflict.ArcVoid      = rawDefaultData.ArcVoid;

            LoadCollectionData <NoteSideData, NoteSideDataSpec>(internalDefaultNoteData, skinData.NoteDatas, (name) => { skinData.DefaultNoteData = name; }, spec, LoadNoteSideData);
        }
コード例 #3
0
        private void LoadCollectionData <T, S>(WithSideData <T> internalDefault, Dictionary <string, WithSideData <T> > datas, NameSetter defaultNameSetter, CollectionDataSpec <S> spec, SideDataLoader <T, S> sideDataLoader)
        {
            string internalDefaultName = "\"Default\"";

            if (spec == null)
            {
                defaultNameSetter(internalDefaultName);
                datas.Add(internalDefaultName, internalDefault);
                return;
            }
            string defaultName = spec.defaultName ?? internalDefaultName;

            defaultNameSetter(defaultName);
            WithSideDataSpec <S> defaultSpec = new WithSideDataSpec <S>();

            defaultSpec.name     = defaultName;
            defaultSpec.light    = spec.light;
            defaultSpec.conflict = spec.conflict;
            LoadWithSideData <T, S>(datas, defaultSpec, internalDefault, sideDataLoader);
            WithSideData <T> defaultData = datas[defaultName];

            if (spec.additional != null)
            {
                foreach (WithSideDataSpec <S> additionalSpec in spec.additional)
                {
                    LoadWithSideData <T, S>(datas, additionalSpec, defaultData, sideDataLoader);
                }
            }
        }