Sounds integrated
This commit is contained in:
@@ -6,6 +6,8 @@ using UnityEngine;
|
||||
public class AudioManager : MonoBehaviour
|
||||
{
|
||||
public static AudioManager instnace;
|
||||
public AudioSource musicAudioSource;
|
||||
[SerializeField]private AudioClip[] musics;
|
||||
[SerializeField]private AudioClip UI_click;
|
||||
[SerializeField]private AudioClip UI_popup;
|
||||
[SerializeField]private AudioClip collectGold;
|
||||
@@ -15,15 +17,62 @@ public class AudioManager : MonoBehaviour
|
||||
[SerializeField]private AudioClip upgrade;
|
||||
[SerializeField]private AudioClip reward;
|
||||
|
||||
[Header("Minigame")]
|
||||
[SerializeField]private AudioClip pickupCollected;
|
||||
[SerializeField]private AudioClip minigameVictory;
|
||||
[SerializeField]private AudioClip minigameFailed;
|
||||
|
||||
|
||||
|
||||
AudioSource audioSrc;
|
||||
public static bool SFX_enabled = false;
|
||||
public static bool Music_enabled= false;
|
||||
void Start()
|
||||
{
|
||||
audioSrc = GetComponent<AudioSource>();
|
||||
instnace=this;
|
||||
if(!PlayerPrefs.HasKey("sfx")){
|
||||
ToggleSFX(true);
|
||||
}else{
|
||||
ToggleSFX(PlayerPrefs.GetInt("sfx") == 1);
|
||||
}
|
||||
|
||||
if(!PlayerPrefs.HasKey("music")){
|
||||
ToggleMusic(true);
|
||||
}else{
|
||||
ToggleMusic(PlayerPrefs.GetInt("music") == 1);
|
||||
}
|
||||
SetMusic(0);
|
||||
DontDestroyOnLoad(gameObject);
|
||||
}
|
||||
|
||||
public void SetMusic(int level){
|
||||
if(level < 0){musicAudioSource.Stop();return;}
|
||||
musicAudioSource.clip = musics[level];
|
||||
musicAudioSource.Play();
|
||||
}
|
||||
public void ToggleSFX() => ToggleSFX(!SFX_enabled);
|
||||
public void ToggleMusic()=>ToggleMusic(!Music_enabled);
|
||||
|
||||
public void ToggleSFX(bool value){
|
||||
PlayerPrefs.SetInt("sfx",value? 1:0);
|
||||
PlayerPrefs.Save();
|
||||
|
||||
SFX_enabled=value;
|
||||
audioSrc.volume = value ? 1: 0;
|
||||
Settings.Refresh();
|
||||
|
||||
}
|
||||
|
||||
public void ToggleMusic(bool value){
|
||||
PlayerPrefs.SetInt("music",value ? 1: 0);
|
||||
PlayerPrefs.Save();
|
||||
|
||||
Music_enabled=value;
|
||||
musicAudioSource.volume = value ? 0.25f: 0;
|
||||
Settings.Refresh();
|
||||
}
|
||||
|
||||
public void UIClick(){
|
||||
audioSrc.PlayOneShot(UI_click);
|
||||
}
|
||||
@@ -34,6 +83,9 @@ public class AudioManager : MonoBehaviour
|
||||
public void CollectGold(){
|
||||
audioSrc.PlayOneShot(collectGold);
|
||||
}
|
||||
public void CollectPickup(){
|
||||
audioSrc.PlayOneShot(pickupCollected, 0.3f);
|
||||
}
|
||||
public void Spend(){
|
||||
audioSrc.PlayOneShot(spend);
|
||||
}
|
||||
@@ -50,4 +102,11 @@ public class AudioManager : MonoBehaviour
|
||||
public void Reward(){
|
||||
audioSrc.PlayOneShot(reward);
|
||||
}
|
||||
|
||||
public void MinigameWon(){
|
||||
audioSrc.PlayOneShot(minigameVictory);
|
||||
}
|
||||
public void MinigameLost(){
|
||||
audioSrc.PlayOneShot(minigameFailed);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,6 +55,8 @@ public class GameManager : MonoBehaviour
|
||||
RefreshData();
|
||||
}
|
||||
|
||||
AudioManager.instnace.SetMusic(0);
|
||||
|
||||
}
|
||||
|
||||
float networkCheckTimer = 0;
|
||||
@@ -136,6 +138,10 @@ public class GameManager : MonoBehaviour
|
||||
|
||||
|
||||
public void Signout(){
|
||||
MessageDialog.instance.ShowQuestion("Confirm", "You are about to sign out from this account. Are you sure to continue?", signout, ()=>{});
|
||||
}
|
||||
|
||||
void signout(){
|
||||
PlayerPrefs.DeleteAll();
|
||||
PlayerPrefs.Save();
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ public class LoadingScreen : MonoBehaviour
|
||||
}
|
||||
|
||||
IEnumerator loadlLevel(string levelName){
|
||||
AudioManager.instnace.SetMusic(-1);
|
||||
loading=true;
|
||||
canvasGroup.alpha=0;
|
||||
canvasGroup.blocksRaycasts=true;
|
||||
|
||||
@@ -6,7 +6,7 @@ using UnityEngine.SceneManagement;
|
||||
|
||||
public class MaintainceChecker : MonoBehaviour
|
||||
{
|
||||
public static int version = 1;
|
||||
public static int version = 2;
|
||||
public static MaintainceChecker instance;
|
||||
public int checkInterval = 10;
|
||||
float t;
|
||||
|
||||
@@ -37,10 +37,13 @@ public class SceneDataHolder : MonoBehaviour
|
||||
if(!MinigameManager.instance.isRanked){
|
||||
survivalTimeTxt.text = SceneData.SecondsToText(survivalTime);
|
||||
mostTimeTxt.text = SceneData.SecondsToText(DBmanager.MostTime);
|
||||
AudioManager.instnace.MinigameLost();
|
||||
|
||||
}else{
|
||||
// MinigameManager.instance.rankedSummary.ShowLoss();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -591,6 +591,7 @@ public class SpaceshipController : NetworkBehaviour
|
||||
if (isLocalPlayer)
|
||||
{
|
||||
MinigameManager.instance.GainMetals((type == PickupItem.PickupType.Star) ? 2 : 5);
|
||||
AudioManager.instnace.CollectPickup();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -640,10 +641,14 @@ public class SpaceshipController : NetworkBehaviour
|
||||
{
|
||||
//LOSER!
|
||||
MinigameManager.instance.rankedSummary.ShowLoss();
|
||||
AudioManager.instnace.MinigameLost();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
MinigameManager.instance.rankedSummary.ShowWin();
|
||||
AudioManager.instnace.MinigameWon();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
34
Assets/Game/Scripts/Settings.cs
Normal file
34
Assets/Game/Scripts/Settings.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
public class Settings : MonoBehaviour
|
||||
{
|
||||
public static Settings instance;
|
||||
public Button btn_toggle_sfx;
|
||||
public Button btn_toggle_music;
|
||||
|
||||
public Sprite sfx_on,sfx_off;
|
||||
public Sprite music_on,music_off;
|
||||
|
||||
public static void Refresh(){
|
||||
if(instance!=null){
|
||||
instance.RefreshUI();
|
||||
}
|
||||
}
|
||||
|
||||
void Start(){
|
||||
instance = this;
|
||||
RefreshUI();
|
||||
btn_toggle_music.onClick.AddListener(AudioManager.instnace.ToggleMusic);
|
||||
btn_toggle_music.onClick.AddListener(RefreshUI);
|
||||
|
||||
btn_toggle_sfx.onClick.AddListener(AudioManager.instnace.ToggleSFX);
|
||||
btn_toggle_sfx.onClick.AddListener(RefreshUI);
|
||||
}
|
||||
|
||||
public void RefreshUI(){
|
||||
btn_toggle_music.transform.GetChild(0).GetComponent<Image>().sprite = AudioManager.Music_enabled ? music_on : music_off;
|
||||
btn_toggle_sfx.transform.GetChild(0).GetComponent<Image>().sprite = AudioManager.SFX_enabled ? sfx_on : sfx_off;
|
||||
}
|
||||
}
|
||||
11
Assets/Game/Scripts/Settings.cs.meta
Normal file
11
Assets/Game/Scripts/Settings.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9d2a11184c38b70069698661ece37369
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user