1
This commit is contained in:
97
Assets/Scripts/Menu/ChapterSelection/ChapterSelectionUnit.cs
Normal file
97
Assets/Scripts/Menu/ChapterSelection/ChapterSelectionUnit.cs
Normal file
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using AK.Wwise;
|
||||
using Sirenix.OdinInspector;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Ichni.Menu
|
||||
{
|
||||
[CreateAssetMenu(fileName = "DefaultChapter", menuName = "Ichni/UI/ChapterSelectionUnit", order = 0)]
|
||||
public class ChapterSelectionUnit : SerializedScriptableObject
|
||||
{
|
||||
public string chapterIndex;
|
||||
public string chapterName;
|
||||
public string chapterSubtitle;
|
||||
public Color themeColor;
|
||||
public Sprite avatar;
|
||||
public Switch chapterSwitch;
|
||||
|
||||
[ListDrawerSettings(ShowFoldout = true)]
|
||||
public List<SongItemData> songs = new List<SongItemData>();
|
||||
|
||||
[Button]
|
||||
public void SetUpDefaultDifficulties()
|
||||
{
|
||||
foreach (SongItemData song in songs)
|
||||
{
|
||||
if(song.difficultyDataList.All(d => d.difficultyName != "Easy"))
|
||||
{
|
||||
song.difficultyDataList.Add(new DifficultyData("Easy","", "",
|
||||
new Color(0f, 0.7f, 0.2f, 1f)));
|
||||
}
|
||||
|
||||
if (song.difficultyDataList.All(d => d.difficultyName != "Hard"))
|
||||
{
|
||||
song.difficultyDataList.Add(new DifficultyData("Hard", "", "",
|
||||
new Color(1f, 0.2f, 0.2f, 1f)));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
[InlineProperty]
|
||||
[Serializable]
|
||||
public class SongItemData
|
||||
{
|
||||
[FoldoutGroup("$songName", true)]
|
||||
public string songName;
|
||||
|
||||
[FoldoutGroup("$songName")]
|
||||
public string displaySongName;
|
||||
|
||||
[FoldoutGroup("$songName")]
|
||||
public string author;
|
||||
|
||||
[FoldoutGroup("$songName")]
|
||||
public bool isNewSong;
|
||||
|
||||
[FoldoutGroup("$songName")]
|
||||
public Switch songSwitch;
|
||||
|
||||
[FoldoutGroup("$songName")]
|
||||
public Sprite albumIconCover;
|
||||
|
||||
[FoldoutGroup("$songName")]
|
||||
public Sprite albumIllustrationCover;
|
||||
|
||||
[FoldoutGroup("$songName")]
|
||||
public string illustratorName;
|
||||
|
||||
[FoldoutGroup("$songName")]
|
||||
public string additionalInformation;
|
||||
|
||||
[FoldoutGroup("$songName")]
|
||||
public List<DifficultyData> difficultyDataList;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class DifficultyData
|
||||
{
|
||||
public string difficultyName;
|
||||
public string displayDifficultyName;
|
||||
|
||||
public string designerName;
|
||||
public Color color;
|
||||
|
||||
public DifficultyData(string difficultyName, string displayDifficultyName, string designerName, Color color)
|
||||
{
|
||||
this.difficultyName = difficultyName;
|
||||
this.displayDifficultyName = displayDifficultyName;
|
||||
this.designerName = designerName;
|
||||
this.color = color;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user