/*******************************************************/

    /* !@brief  : Volumeをセット
     *  @param[in]  : value ->  音量
     *  @param[in]  : sound ->  音量を変更する対象
     *  @retval : なし
     *  @date   : 2014/03/22
     *  @author : コロソブス(korombus)
     *******************************************************/
    public static void SetVolume(float value, Sound SB, CommonSound sound = null)
    {
        if (value <= 0 || value >= 1)
        {
            return;
        }

        switch (SB)
        {
        case Sound.BGM:
            _BGMVolume = value;
            break;

        case Sound.SE:
            _SEVolume = value;
            break;

        default:
            Debug.Log("NO SOUND");
            return;
        }

        if (sound != null)
        {
            sound.ChangeVolume(value);
        }
    }
    private static bool alreadyReadMasterData = false;  //!< マスタデータ読み込みフラグ

    /// <summary>
    /// Awake
    /// </summary>
    public virtual void Awake()
    {
        base.Awake();
        // マスタデータ読み込みがまだならば読み込む
        if (!alreadyReadMasterData)
        {
            CommonMasterLoader master = new CommonMasterLoader();
            master.InitMasterData();
            alreadyReadMasterData = true;
        }
        // BGMがなければ作成
        if (BGM == null)
        {
            BGM = CommonUtil.PrefabInstance("BGM", GameDefine.COMMON_PREFABS_PATH + "BGM", this.gameObject.transform).GetComponent <CommonSound>();
            SE  = CommonUtil.PrefabInstance("SE", GameDefine.COMMON_PREFABS_PATH + "SE", BGM.gameObject.transform).GetComponent <CommonSound>();
        }
        // 音量調節
        BGM.ChangeVolume(OPTION.BGMVolume);
        SE.ChangeVolume(OPTION.SEVolume);
    }
    /*******************************************************/
    /* !@brief  : Volumeをセット
     *  @param[in]  : value ->  音量
     *  @param[in]  : sound ->  音量を変更する対象
     *  @retval : なし
     *  @date   : 2014/03/22
     *  @author : コロソブス(korombus)
     *******************************************************/
    public static void SetVolume(float value, Sound SB, CommonSound sound = null) {
        if (value <= 0 || value >= 1) { return; }

        switch (SB) {
            case Sound.BGM:
                _BGMVolume = value;
                break;
            case Sound.SE:
                _SEVolume = value;
                break;
            default:
                Debug.Log("NO SOUND");
                return;
        }

        if (sound != null) {
            sound.ChangeVolume(value);
        }
    }