SoundManager 1.0.0
 
Loading...
Searching...
No Matches
UshiSoft.SM.SoundManager Class Reference

音を再生するクラス More...

Inheritance diagram for UshiSoft.SM.SoundManager:
UshiSoft.SM.SingletonMonoBehaviour< T >

Public Member Functions

int Play (string name, float volume=1f, float pitch=1f, bool loop=false, float fadeDuration=0f, int priority=128, float panStereo=0f, float spatialBlend=0f, Vector3 position=default)
 再生する
 
int PlaySE (string name, float volume=1f, float pitch=1f)
 効果音を再生する。PLayをラップしたもの
 
int PlayBGM (string name, float fadeDuration=1f, bool crossFade=true)
 BGMを再生する。Playをラップしたもの
 
void SetVolume (string category, float volume)
 音量を設定する
 
void Stop (int id, float fadeDuration=0f)
 停止する
 
void Pause (int id, float fadeDuration=0f)
 一時停止する
 
void Resume (int id, float fadeDuration=0f)
 再開する
 
bool IsPlaying (int id)
 再生中か
 
void StopByName (string name, float fadeDuration=0f)
 停止する
 
void PauseByName (string name, float fadeDuration=0f)
 一時停止する
 
void ResumeByName (string name, float fadeDuration=0f)
 再開する
 
void StopByCategory (string category, float fadeDuration=0f)
 停止する
 
void PauseByCategory (string category, float fadeDuration=0f)
 一時停止する
 
void ResumeByCategory (string category, float fadeDuration=0f)
 再開する
 
SoundPlayer GetPlayerById (int id)
 アクティブなサウンドプレイヤーをIDで探す
 
List< SoundPlayerGetPlayersByName (string name)
 アクティブなサウンドプレイヤーを名前で探す
 
List< SoundPlayerGetPlayersByCategory (string category)
 アクティブなサウンドプレイヤーをカテゴリーで探す
 

Protected Member Functions

override void Initialize ()
 初期化処理はこのメンバ関数をオーバライドして書く
 

Properties

int PlayerCount [get]
 サウンドプレイヤーの数
 
int ActivePlayerCount [get]
 アクティブなサウンドプレイヤーの数
 
- Properties inherited from UshiSoft.SM.SingletonMonoBehaviour< T >
static T Instance [get, private set]
 インスタンス。 Awakeで呼び出すとnullの可能性がある
 

Private Member Functions

SoundPlayer GetPlayer ()
 サウンドプレイヤーを返す。初期化はされていない。なるべく既存のインスタンスを使いまわす
 

Private Attributes

SoundDataList _dataList = new()
 音データ
 
SoundPlayer _playerPrefab
 サウンドプレイヤーのプレハブ
 
List< SoundPlayer_players = new()
 サウンドプレイヤーのインスタンス
 
int _currentId = 1
 サウンドプレイヤーに割り振るId。 0から始めないのは、IsPlayingでIdに初期値を渡した際に誤作動しないようにするため
 

Detailed Description

音を再生するクラス

Member Function Documentation

◆ GetPlayer()

SoundPlayer UshiSoft.SM.SoundManager.GetPlayer ( )
private

サウンドプレイヤーを返す。初期化はされていない。なるべく既存のインスタンスを使いまわす

Returns
サウンドプレイヤー

◆ GetPlayerById()

SoundPlayer UshiSoft.SM.SoundManager.GetPlayerById ( int id)

アクティブなサウンドプレイヤーをIDで探す

Parameters
idID
Returns
サウンドプレイヤー

◆ GetPlayersByCategory()

List< SoundPlayer > UshiSoft.SM.SoundManager.GetPlayersByCategory ( string category)

アクティブなサウンドプレイヤーをカテゴリーで探す

Parameters
categoryカテゴリー
Returns
サウンドプレイヤーリスト

◆ GetPlayersByName()

List< SoundPlayer > UshiSoft.SM.SoundManager.GetPlayersByName ( string name)

アクティブなサウンドプレイヤーを名前で探す

Parameters
name名前
Returns
サウンドプレイヤーリスト

◆ Initialize()

override void UshiSoft.SM.SoundManager.Initialize ( )
protectedvirtual

初期化処理はこのメンバ関数をオーバライドして書く

Reimplemented from UshiSoft.SM.SingletonMonoBehaviour< T >.

◆ IsPlaying()

bool UshiSoft.SM.SoundManager.IsPlaying ( int id)

再生中か

Parameters
id音のID
Returns
再生中か

◆ Pause()

void UshiSoft.SM.SoundManager.Pause ( int id,
float fadeDuration = 0f )

一時停止する

Parameters
id音のID
fadeDurationフェード時間

◆ PauseByCategory()

void UshiSoft.SM.SoundManager.PauseByCategory ( string category,
float fadeDuration = 0f )

一時停止する

Parameters
categoryカテゴリー
fadeDurationフェード時間

◆ PauseByName()

void UshiSoft.SM.SoundManager.PauseByName ( string name,
float fadeDuration = 0f )

一時停止する

Parameters
name名前
fadeDurationフェード時間

◆ Play()

int UshiSoft.SM.SoundManager.Play ( string name,
float volume = 1f,
float pitch = 1f,
bool loop = false,
float fadeDuration = 0f,
int priority = 128,
float panStereo = 0f,
float spatialBlend = 0f,
Vector3 position = default )

再生する

Parameters
name名前
volume音量
pitchピッチ
loopループさせるか
fadeDurationフェードインにかける時間
priority優先度
panStereo左右のバランス
spatialBlend3D効果
positionワールド座標
Returns
音のID

◆ PlayBGM()

int UshiSoft.SM.SoundManager.PlayBGM ( string name,
float fadeDuration = 1f,
bool crossFade = true )

BGMを再生する。Playをラップしたもの

Parameters
name名前
fadeDurationフェード時間
crossFadeクロスフェードするか
Returns
音のID

◆ PlaySE()

int UshiSoft.SM.SoundManager.PlaySE ( string name,
float volume = 1f,
float pitch = 1f )

効果音を再生する。PLayをラップしたもの

Parameters
name名前
volumeフェード時間
pitchピッチ
Returns
音のID

◆ Resume()

void UshiSoft.SM.SoundManager.Resume ( int id,
float fadeDuration = 0f )

再開する

Parameters
id音のID
fadeDurationフェード時間

◆ ResumeByCategory()

void UshiSoft.SM.SoundManager.ResumeByCategory ( string category,
float fadeDuration = 0f )

再開する

Parameters
categoryカテゴリー
fadeDurationフェード時間

◆ ResumeByName()

void UshiSoft.SM.SoundManager.ResumeByName ( string name,
float fadeDuration = 0f )

再開する

Parameters
name名前
fadeDurationフェード時間

◆ SetVolume()

void UshiSoft.SM.SoundManager.SetVolume ( string category,
float volume )

音量を設定する

Parameters
categoryカテゴリー
volume音量(0~1)

◆ Stop()

void UshiSoft.SM.SoundManager.Stop ( int id,
float fadeDuration = 0f )

停止する

Parameters
id音のID
fadeDurationフェード時間

◆ StopByCategory()

void UshiSoft.SM.SoundManager.StopByCategory ( string category,
float fadeDuration = 0f )

停止する

Parameters
categoryカテゴリー
fadeDurationフェード時間

◆ StopByName()

void UshiSoft.SM.SoundManager.StopByName ( string name,
float fadeDuration = 0f )

停止する

Parameters
name名前
fadeDurationフェード時間

Member Data Documentation

◆ _currentId

int UshiSoft.SM.SoundManager._currentId = 1
private

サウンドプレイヤーに割り振るId。 0から始めないのは、IsPlayingでIdに初期値を渡した際に誤作動しないようにするため

◆ _dataList

SoundDataList UshiSoft.SM.SoundManager._dataList = new()
private

音データ

◆ _playerPrefab

SoundPlayer UshiSoft.SM.SoundManager._playerPrefab
private

サウンドプレイヤーのプレハブ

◆ _players

List<SoundPlayer> UshiSoft.SM.SoundManager._players = new()
private

サウンドプレイヤーのインスタンス

Property Documentation

◆ ActivePlayerCount

int UshiSoft.SM.SoundManager.ActivePlayerCount
get

アクティブなサウンドプレイヤーの数

◆ PlayerCount

int UshiSoft.SM.SoundManager.PlayerCount
get

サウンドプレイヤーの数