Example #1
0
        public void Prepare(SerializableDesc desc, SerializablePattern pattern)
        {
            var skinPrefab = pattern.line switch
            {
                4 => skins.gearSet[gear.value].gear4K,
                5 => skins.gearSet[gear.value].gear5K,
                6 => skins.gearSet[gear.value].gear6K,
                8 => skins.gearSet[gear.value].gear8K,
                _ => null
            };

            line = pattern.line;
            skin = Instantiate(skinPrefab, playZone);

            noteQueues = factory.PrepareNotes(pattern, skin);
            for (var i = 0; i < pattern.line; i++)
            {
                noteStates.Add(new NoteState());
            }
        }
Example #2
0
        public List <Queue <NoteSystem> > PrepareNotes(SerializablePattern pattern, SkinSystem skin)
        {
            var noteQueues = new List <Queue <NoteSystem> >();
            var sortReady  = new List <List <NoteSystem> >();

            line          = pattern.line;
            skinSystem    = skin;
            noteContainer = skin.noteContainer;

            player.EndTime = 3f;

            for (var i = 0; i < pattern.line; i++)
            {
                sortReady.Add(new List <NoteSystem>());
            }

            foreach (var item in pattern.notes)
            {
                var noteSystem = CreateNote(item.line, item.beat);
                player.EndTime = Math.Max(player.EndTime, noteSystem.time);
                sortReady[item.line].Add(noteSystem);
            }

            foreach (var item in pattern.longNotes)
            {
                var longNoteSystem = CreateLongNote(item.line, item.beat, item.length);
                player.EndTime = Math.Max(player.EndTime, longNoteSystem.endTime);
                sortReady[item.line].Add(longNoteSystem);
            }

            foreach (var item in sortReady)
            {
                item.Sort();
                noteQueues.Add(new Queue <NoteSystem>(item));
            }

            player.EndTime += 5f;

            return(noteQueues);
        }
Example #3
0
 void Awake()
 {
     _instance = this;
 }