(サンプルコード)
・その1
using UnityEngine;
using System;
[Serializable]
public class BGMStatus
{
public string BGMName;
public AudioClip bgm;
}
・その2
using UnityEngine;
using System.Collections.Generic;
[CreateAssetMenu(fileName = "BGMDatabase", menuName = "Scriptable Objects/BGMDatabase")]
public class BGMDatabase : ScriptableObject
{
public List<BGMStatus> BGMList;
}
(データベースの設定)
(BGMを切り替えるサンプルコード)
using UnityEngine;
public class BGMChange : MonoBehaviour
{
public BGMDatabase bgmData;
private AudioSource audioSource;
private int num = 0;
private void Start()
{
audioSource = GetComponent<AudioSource>();
// 初期のBGMのセット
audioSource.clip = bgmData.BGMList[num].bgm;
audioSource.Play();
}
void Update()
{
if(Input.GetKeyDown(KeyCode.Space))
{
// 次のBGMのセット
num = (num + 1) % bgmData.BGMList.Count;
audioSource.clip = bgmData.BGMList[num].bgm;
// 再生
audioSource.Play();
}
}
}
(設定)
(実行結果)
・設定が完了したらゲームを再生
・スペースキーをおすごとにBGMが切り替われば成功