Merge branch 'SoundManager' into Dev
This commit is contained in:
commit
05449642d5
148 files changed
+5431
-98
No files matched your search
@@ -13,4 +13,5 @@ MonoBehaviour:
|
||||
m_Name: AddressableAssetGroupSortSettings
|
||||
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.GroupSchemas.AddressableAssetGroupSortSettings
|
||||
sortOrder:
|
||||
- 7e9d70e73e500eb9287683466ebf646f
|
||||
- d447fc60305c17a17bf20948ab295a45
|
||||
@@ -15,7 +15,7 @@ MonoBehaviour:
|
||||
m_DefaultGroup: d447fc60305c17a17bf20948ab295a45
|
||||
m_currentHash:
|
||||
serializedVersion: 2
|
||||
Hash: 90c715b85c1e0904b3dc61a9ed460206
|
||||
Hash: 7ed5aa0308ed28c84409cb70340524a8
|
||||
m_OptimizeCatalogSize: 0
|
||||
m_BuildRemoteCatalog: 0
|
||||
m_CatalogRequestsTimeout: 0
|
||||
@@ -60,6 +60,7 @@ MonoBehaviour:
|
||||
m_BuildAddressablesWithPlayerBuild: 0
|
||||
m_overridePlayerVersion: '[UnityEditor.PlayerSettings.bundleVersion]'
|
||||
m_GroupAssets:
|
||||
- {fileID: 11400000, guid: ba51c0b85beab267d8f41a72df4fb657, type: 2}
|
||||
- {fileID: 11400000, guid: 7c592a6445170e8379910601b962cb30, type: 2}
|
||||
m_BuildSettings:
|
||||
m_LogResourceManagerExceptions: 1
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3}
|
||||
m_Name: Audio
|
||||
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.AddressableAssetGroup
|
||||
m_GroupName: Audio
|
||||
m_GUID: 7e9d70e73e500eb9287683466ebf646f
|
||||
m_SerializeEntries: []
|
||||
m_ReadOnly: 0
|
||||
m_Settings: {fileID: 11400000, guid: 2588e84eb64800d0781c574a37fa48d8, type: 2}
|
||||
m_SchemaSet:
|
||||
m_Schemas: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ba51c0b85beab267d8f41a72df4fb657
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -15,16 +15,121 @@ MonoBehaviour:
|
||||
m_GroupName: Default Local Group
|
||||
m_GUID: d447fc60305c17a17bf20948ab295a45
|
||||
m_SerializeEntries:
|
||||
- m_GUID: 03e51c504fa7e0624ba855ec35b60bcc
|
||||
m_Address: absolutely
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 111011400ce13ae859c52c757aef859e
|
||||
m_Address: ahfreeman
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 144ab5188f8ad7a0a92c75703bd12e60
|
||||
m_Address: launch_upmenu1
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 1d7110a045075b22fa27d62bd5f2784e
|
||||
m_Address: 357_shot1
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 1f79c7b1e492a4ea2a8d666cdead0c52
|
||||
m_Address: Audio/Dispatcher/take_damage4
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 2301400160a23924eb27c4bdbe797739
|
||||
m_Address: 'Audio/Music/Nightmargin (Oneshot OST) - The Prophecy '
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 23e11d2c8a4f12f4ea9a7a43d1118464
|
||||
m_Address: Gameplay
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 29bff8011973e4e519906b9da8fca0fc
|
||||
m_Address: Audio/Dispatcher/late3
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 29ee630aab7bbef8799dc76ed0c239f7
|
||||
m_Address: Audio/Dispatcher/late4
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 2f6134357dc2a5641a846a7478ce4c2c
|
||||
m_Address: bravo!
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 31f16c866d3224ab8a7e0fabf3745ec5
|
||||
m_Address: Audio/Dispatcher/late5
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 3831a36e0c8e48f659517a6bb99378b6
|
||||
m_Address: cbar_hit1
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 48aebfe8826dc0df79d047b5afbf8f5b
|
||||
m_Address: Canvas
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 4bd64d1fcecc9c6b09d81e78b7dcfebe
|
||||
m_Address: Audio/Dispatcher/take_damage1
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 735f38402ea347fa381408293503a24e
|
||||
m_Address: Audio/Dispatcher/receiving_an_order1
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 7c5caf3ceee44f71588860c5c1fbdbe0
|
||||
m_Address: Audio/Dispatcher/take_damage3
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 803e40b883c823b89a91aa8b9d9fc483
|
||||
m_Address: valve_sound
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 82c71411174bfa86ca1f676b9d389f94
|
||||
m_Address: bastard!
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 8c2be26d359d54063825fedfad7a493b
|
||||
m_Address: Audio/Dispatcher/late2
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 8fa89a492fc3a3768a0f0ba1bb7080e0
|
||||
m_Address: Audio/Dispatcher/late1
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: 9293380a88bf6736889be29722b94269
|
||||
m_Address: Audio/AudioSource
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: a306df57f348ce7cf900d0b9431739ee
|
||||
m_Address: launch_selectmenu
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: b2c9f83c47783069aabb564f68cb0cbb
|
||||
m_Address: absolutelynot
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: b2e8dc2aeb0311cd8a826b51cf8e94dc
|
||||
m_Address: GameOver
|
||||
m_ReadOnly: 0
|
||||
@@ -35,11 +140,31 @@ MonoBehaviour:
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: cab4b1ff78dd6b1fba61aa165aa17b4d
|
||||
m_Address: Audio/Dispatcher/receiving_an_order2
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: ebe18293a5ef86704b23dad3a1786476
|
||||
m_Address: Half-Life01
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: f23b9fce9594618e5b75845f1cae50de
|
||||
m_Address: LoadingScreen
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: f4b6fa54ecac6cc418f98824491aa17a
|
||||
m_Address: Audio/Music/SANABI - JUSTICE Is Watching You
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
- m_GUID: f74a409bf11b25148ad305acc05b14f5
|
||||
m_Address: Audio/Dispatcher/take_damage2
|
||||
m_ReadOnly: 0
|
||||
m_SerializedLabels: []
|
||||
FlaggedDuringContentUpdateRestriction: 0
|
||||
m_ReadOnly: 0
|
||||
m_Settings: {fileID: 11400000, guid: 2588e84eb64800d0781c574a37fa48d8, type: 2}
|
||||
m_SchemaSet:
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7e3976da977cb49238499ea3b4c237ae, type: 3}
|
||||
m_Name: ProfileDataSourceSettings
|
||||
m_EditorClassIdentifier: Unity.Addressables.Editor::UnityEditor.AddressableAssets.Settings.ProfileDataSourceSettings
|
||||
profileGroupTypes:
|
||||
- m_GroupTypePrefix: Built-In
|
||||
m_Variables:
|
||||
- m_Suffix: BuildPath
|
||||
m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]'
|
||||
- m_Suffix: LoadPath
|
||||
m_Value: '{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]'
|
||||
environments: []
|
||||
currentEnvironment:
|
||||
id:
|
||||
projectId:
|
||||
projectGenesisId:
|
||||
name:
|
||||
isDefault: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7e2b0e48c9649284a9541c4d1dad59c2
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,29 +1,35 @@
|
||||
using Code.App.StateMachine;
|
||||
using Code.Audio;
|
||||
using Code.Gameplay.Camera;
|
||||
using Code.Gameplay.Player;
|
||||
using Code.Input;
|
||||
using Code.Scenes;
|
||||
using Code.Scenes.SceneEnvironments;
|
||||
using Code.StateMachine;
|
||||
using Code.UI;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Reflex.Extensions;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
namespace Code.App.AppStates
|
||||
{
|
||||
public class GameplayState : BaseState<AppStateMachineContext>
|
||||
{
|
||||
// DEBUG
|
||||
private Transform _testSFXTransform;
|
||||
// DEBUG
|
||||
|
||||
private PlayerHealth _playerHealth;
|
||||
private PlayerMoney _playerMoney;
|
||||
|
||||
private bool _uiLoaded, _sceneLoaded;
|
||||
|
||||
public GameplayState(AppStateMachineContext context) : base(context)
|
||||
{
|
||||
}
|
||||
|
||||
public override void EnterState()
|
||||
{
|
||||
_uiLoaded = _sceneLoaded = false;
|
||||
|
||||
Context.UIService.LoadingScreen.Show();
|
||||
|
||||
_playerMoney = Context.PlayerFactory.CreatePlayerMoney();
|
||||
@@ -31,41 +37,46 @@ namespace Code.App.AppStates
|
||||
|
||||
_playerHealth.OnDeath += EndGame;
|
||||
|
||||
Context.SceneLoaderService.LoadSceneAsync((int)SceneIds.MovementDev, callBack: OnSceneLoaded); // TODO Фабрика игрока Nada
|
||||
Context.AudioService.TransitToSnapshot(AudioSnapshotState.Peaceful);
|
||||
|
||||
Context.UIService.SwitchPanelTo(UIPanel.Gameplay, callback: PostUILoaded);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug1, GiveHealth);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug3, GiveMoney);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug2, LooseHealth);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug4, LooseMoney);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug5, PlayDebugSFX);
|
||||
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.GiveHealth, GiveHealth);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.GiveMoney, GiveMoney);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.LooseHealth, LooseHealth);
|
||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.LooseMoney, LooseMoney);
|
||||
}
|
||||
|
||||
private void OnSceneLoaded()
|
||||
{
|
||||
_sceneLoaded = true;
|
||||
CheckIfLoaded();
|
||||
WaitForSceneToLoad();
|
||||
}
|
||||
|
||||
private void PostUILoaded()
|
||||
private async UniTaskVoid WaitForSceneToLoad()
|
||||
{
|
||||
await UniTask.WhenAll(
|
||||
Context.SceneLoaderService.LoadSceneAsyncAwaitable((int)SceneIds.MovementDev),
|
||||
Context.UIService.AsyncSwitchPanelTo(UIPanel.Gameplay),
|
||||
Context.AudioFactory.WarmGameplayMusic(),
|
||||
Context.AudioFactory.WarmSFX()
|
||||
);
|
||||
|
||||
Context.AudioService.PlayRandomPeacefulMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||
Context.AudioService.PlayRandomActionMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||
|
||||
var sceneEnvironment = ((GameplaySceneEnvironment)SceneManager.GetActiveScene()
|
||||
.GetSceneContainer().Resolve<CurrentSceneEnvironment>());
|
||||
|
||||
_testSFXTransform = sceneEnvironment.debugSfxTarget;
|
||||
|
||||
((GameplayPanel)Context.UIService.CurrentPanel).Initialize(_playerMoney, _playerHealth);
|
||||
_uiLoaded = true;
|
||||
CheckIfLoaded();
|
||||
}
|
||||
|
||||
private void CheckIfLoaded()
|
||||
{
|
||||
if(!_uiLoaded || !_sceneLoaded) return;
|
||||
|
||||
Context.UIService.LoadingScreen.Hide();
|
||||
|
||||
Context.CameraStateMachine.SwitchState(CameraMode.FirstPerson);
|
||||
Context.InputService.EnableMap(ActionMappings.Gameplay);
|
||||
|
||||
Context.UIService.LoadingScreen.Hide();
|
||||
}
|
||||
|
||||
|
||||
// Debug
|
||||
private void PlayDebugSFX(InputAction.CallbackContext context)
|
||||
{
|
||||
Context.AudioService.PlaySFX(SFXSounds.Crowbar, _testSFXTransform.position);
|
||||
}
|
||||
private void GiveHealth(InputAction.CallbackContext context)
|
||||
{
|
||||
_playerHealth.GetDamage(-1);
|
||||
@@ -87,7 +98,7 @@ namespace Code.App.AppStates
|
||||
_playerMoney.LooseMoney(100);
|
||||
((GameplayPanel)(Context.UIService.CurrentPanel)).CloseDispatcher();
|
||||
}
|
||||
|
||||
// DEBUG
|
||||
public override void Tick()
|
||||
{
|
||||
}
|
||||
@@ -104,11 +115,13 @@ namespace Code.App.AppStates
|
||||
_playerMoney = null;
|
||||
|
||||
Context.InputService.DisableMap(ActionMappings.Gameplay);
|
||||
Context.AudioService.GladlyAskToStopGameplayMusic(Context.AudioFactory.ReleaseGameplayMusic);
|
||||
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.GiveHealth, GiveHealth);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.GiveMoney, GiveHealth);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.LooseHealth, LooseHealth);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.LooseMoney, LooseMoney);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug1, GiveHealth);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug3, GiveHealth);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug2, LooseHealth);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug4, LooseMoney);
|
||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug5, PlayDebugSFX);
|
||||
|
||||
base.ExitState();
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Code.App.StateMachine;
|
||||
using Code.Audio;
|
||||
using Code.Gameplay.Camera;
|
||||
using Code.Gameplay.Camera.CameraStates;
|
||||
using Code.Input;
|
||||
@@ -6,6 +7,7 @@ using Code.Scenes;
|
||||
using Code.Scenes.SceneEnvironments;
|
||||
using Code.StateMachine;
|
||||
using Code.UI;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Reflex.Extensions;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
@@ -14,36 +16,33 @@ namespace Code.App.AppStates
|
||||
{
|
||||
public class MainMenuState : BaseState<AppStateMachineContext>
|
||||
{
|
||||
private bool _uiLoaded, _sceneLoaded;
|
||||
public MainMenuState(AppStateMachineContext context) : base(context)
|
||||
{
|
||||
}
|
||||
|
||||
public override void EnterState()
|
||||
{
|
||||
_uiLoaded = _sceneLoaded = false;
|
||||
|
||||
Context.UIService.LoadingScreen.Show();
|
||||
|
||||
Context.SceneLoaderService.LoadSceneAsync((int)SceneIds.MainMenu, callBack: SceneLoaded);
|
||||
|
||||
Context.UIService.SwitchPanelTo(UIPanel.MainMenu, PostUILoaded);
|
||||
|
||||
Context.CameraStateMachine.SwitchState(CameraMode.Static);
|
||||
|
||||
WaitForSceneToLoad();
|
||||
}
|
||||
|
||||
private void PostUILoaded()
|
||||
private async UniTaskVoid WaitForSceneToLoad()
|
||||
{
|
||||
await UniTask.WhenAll(
|
||||
Context.SceneLoaderService.LoadSceneAsyncAwaitable((int)SceneIds.MainMenu),
|
||||
Context.UIService.AsyncSwitchPanelTo(UIPanel.MainMenu),
|
||||
Context.AudioFactory.WarmMenuMusic()
|
||||
);
|
||||
|
||||
Context.AudioService.TransitToSnapshot(AudioSnapshotState.Peaceful);
|
||||
Context.AudioService.PlayRandomMenuMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||
|
||||
((MainMenuPanel)Context.UIService.CurrentPanel).startButton.onClick.AddListener(StartGame);
|
||||
((MainMenuPanel)Context.UIService.CurrentPanel).exitButton.onClick.AddListener(ExitGame);
|
||||
|
||||
_uiLoaded = true;
|
||||
|
||||
CheckIfLoaded();
|
||||
}
|
||||
|
||||
private void SceneLoaded()
|
||||
{
|
||||
var hui = ((MainMenuEnvironment)SceneManager.GetActiveScene()
|
||||
.GetSceneContainer().Resolve<CurrentSceneEnvironment>());
|
||||
|
||||
@@ -52,23 +51,11 @@ namespace Code.App.AppStates
|
||||
|
||||
((BaseCameraState)Context.CameraStateMachine.CurrentBaseState).SetFollowTransform(hui.cameraPosition);
|
||||
|
||||
|
||||
_sceneLoaded = true;
|
||||
|
||||
CheckIfLoaded();
|
||||
}
|
||||
|
||||
private void CheckIfLoaded()
|
||||
{
|
||||
if(!_uiLoaded || !_sceneLoaded) return;
|
||||
|
||||
Context.UIService.LoadingScreen.Hide();
|
||||
|
||||
Context.InputService.EnableMap(ActionMappings.MainMenu);
|
||||
|
||||
base.EnterState();
|
||||
}
|
||||
|
||||
|
||||
public override void Tick()
|
||||
{
|
||||
}
|
||||
@@ -87,7 +74,8 @@ namespace Code.App.AppStates
|
||||
public override void ExitState()
|
||||
{
|
||||
Context.InputService.DisableMap(ActionMappings.MainMenu);
|
||||
|
||||
Context.AudioService.GladlyAskToStopMenuMusic(Context.AudioFactory.ReleaseMenuMusic);
|
||||
|
||||
base.ExitState();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Threading.Tasks;
|
||||
using Code.App.StateMachine;
|
||||
using Code.Audio;
|
||||
using Code.Configs;
|
||||
using Code.Constants;
|
||||
using Code.Gameplay.Camera;
|
||||
@@ -32,6 +33,10 @@ namespace Code.App
|
||||
InitializeCamera(containerBuilder, staticDataService);
|
||||
containerBuilder.AddSingleton(typeof(UIFactory), typeof(IUIFactory));
|
||||
containerBuilder.AddSingleton(typeof(UIService), typeof(IUIService));
|
||||
|
||||
containerBuilder.AddSingleton(typeof(AudioFactory), typeof(IAudioFactory));
|
||||
containerBuilder.AddSingleton(typeof(AudioService), typeof(IAudioService));
|
||||
|
||||
containerBuilder.AddSingleton(typeof(SceneLoaderService), typeof(ISceneLoaderService));
|
||||
|
||||
containerBuilder.OnContainerBuilt += Bootstrap;
|
||||
@@ -69,12 +74,16 @@ namespace Code.App
|
||||
containerBuilder.AddSingleton(staticDataService.PlayerConfig, typeof(PlayerConfig));
|
||||
containerBuilder.AddSingleton(staticDataService.CharacterConfig, typeof(CharacterConfig));
|
||||
containerBuilder.AddSingleton(staticDataService.UIConfig, typeof(UIConfig));
|
||||
// containerBuilder.AddSingleton(staticDataService.UIConfig.canvasPrefab, typeof(Canvas));
|
||||
// containerBuilder.AddSingleton(staticDataService.UIConfig.uiElementsPrefabs, typeof(UIElement[]));
|
||||
containerBuilder.AddSingleton(staticDataService.AudioMixerConfig, typeof(AudioMixerConfig));
|
||||
containerBuilder.AddSingleton(staticDataService.SoundtrackListConfig, typeof(SoundtrackListConfig));
|
||||
containerBuilder.AddSingleton(staticDataService.SFXListConfig, typeof(SFXListConfig));
|
||||
containerBuilder.AddSingleton(staticDataService.DispatcherSoundListConfig, typeof(DispatcherSoundListConfig));
|
||||
containerBuilder.AddSingleton(staticDataService.EnemiesSoundListConfig, typeof(EnemiesSoundListConfig));
|
||||
}
|
||||
|
||||
private bool _onUiLoaded;
|
||||
private bool _onAudioLoaded;
|
||||
private AppStateMachine _appStateMachine;
|
||||
|
||||
private void Bootstrap(Container container)
|
||||
{
|
||||
_appStateMachine = container.Resolve<AppStateMachine>();
|
||||
@@ -84,20 +93,21 @@ namespace Code.App
|
||||
CameraStateMachine cameraStateMachine = container.Resolve<CameraStateMachine>();
|
||||
AttributeInjector.Inject(cameraStateMachine.StateMachineContext, container);
|
||||
cameraStateMachine.Initialize();
|
||||
|
||||
BootstrapFinish(container);
|
||||
}
|
||||
private async UniTaskVoid BootstrapFinish(Container container)
|
||||
{
|
||||
// container.Resolve<IAudioFactory>();
|
||||
|
||||
var loadingScreen = GameObject.FindWithTag(Tags.LoadingScreen);
|
||||
DontDestroyOnLoad(loadingScreen);
|
||||
|
||||
IUIService uiService = container.Resolve<IUIService>();
|
||||
uiService.Initialize(loadingScreen.GetComponent<LoadingScreen>());
|
||||
await UniTask.WhenAll(
|
||||
container.Resolve<IUIService>().Initialize(loadingScreen.GetComponent<LoadingScreen>()),
|
||||
container.Resolve<IAudioService>().Initialize()
|
||||
);
|
||||
|
||||
TryStartGame();
|
||||
}
|
||||
|
||||
private void TryStartGame()
|
||||
{
|
||||
|
||||
// TODO: поменяно для теста
|
||||
_appStateMachine
|
||||
.SwitchState(AppState.MainMenu)
|
||||
.AllowStateTransition(AppState.Gameplay);
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
using Code.Scenes;
|
||||
using Code.Scenes.SceneEnvironments;
|
||||
using Reflex.Core;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.App.SceneInstallers
|
||||
{
|
||||
public class GameplaySceneInstaller : MonoBehaviour, IInstaller
|
||||
{
|
||||
[SerializeField] private GameplaySceneEnvironment _gameplaySceneEnvironment;
|
||||
|
||||
public void InstallBindings(ContainerBuilder containerBuilder)
|
||||
{
|
||||
containerBuilder.AddScoped(typeof(GameplaySceneEnvironment), typeof(CurrentSceneEnvironment));
|
||||
|
||||
containerBuilder.OnContainerBuilt += Initialize;
|
||||
}
|
||||
|
||||
private void Initialize(Container container)
|
||||
{
|
||||
GameplaySceneEnvironment env = (GameplaySceneEnvironment)container.Resolve<CurrentSceneEnvironment>();
|
||||
|
||||
env.TransitVariables(_gameplaySceneEnvironment);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 88584fd4361b46f6a7326440cd95ce69
|
||||
timeCreated: 1763144580
|
||||
@@ -2,6 +2,7 @@ using Code.Scenes;
|
||||
using Code.Scenes.SceneEnvironments;
|
||||
using Reflex.Core;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
namespace Code.App.SceneInstallers
|
||||
{
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using Code.Audio;
|
||||
using Code.Gameplay.Camera;
|
||||
using Code.Gameplay.Player;
|
||||
using Code.Input;
|
||||
@@ -15,5 +16,7 @@ namespace Code.App.StateMachine
|
||||
[Inject] public CameraStateMachine CameraStateMachine { get; private set; }
|
||||
[Inject] public IUIService UIService { get; private set; }
|
||||
[Inject] public IPlayerFactory PlayerFactory { get; private set; }
|
||||
[Inject] public IAudioFactory AudioFactory { get; private set; }
|
||||
[Inject] public IAudioService AudioService { get; private set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a1937581573e47844bb593bd62310b89
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,23 @@
|
||||
namespace Code.Audio
|
||||
{
|
||||
public enum SFXSounds
|
||||
{
|
||||
Crowbar,
|
||||
Shot357
|
||||
}
|
||||
public enum UISounds
|
||||
{
|
||||
Crowbar
|
||||
}
|
||||
public enum EnemiesSounds
|
||||
{
|
||||
Bastard,
|
||||
Bravo
|
||||
}
|
||||
public enum DispatcherSounds
|
||||
{
|
||||
Absolutely,
|
||||
AbsolutelyNot,
|
||||
AhFreeman
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 907b506ceac843ebb509a8e5298af540
|
||||
timeCreated: 1762888870
|
||||
@@ -0,0 +1,167 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Code.Configs;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
using UnityEngine.Audio;
|
||||
using UnityEngine.ResourceManagement.AsyncOperations;
|
||||
using Object = UnityEngine.Object;
|
||||
|
||||
namespace Code.Audio
|
||||
{
|
||||
public class AudioFactory : IAudioFactory
|
||||
{
|
||||
public AudioMixer AudioMixer { get; private set; }
|
||||
private AssetReference _audioSourcePrefab;
|
||||
|
||||
private AssetReference[] _peacefulSoundtrack;
|
||||
private AssetReference[] _actionSoundtrack;
|
||||
private AssetReference[] _menuSoundtrack;
|
||||
private AssetReference[] _SFX;
|
||||
private AssetReference[] _enemies;
|
||||
private AssetReference[] _dispatcher;
|
||||
private AssetReference[] _character;
|
||||
|
||||
private AsyncOperationHandle<IList<AudioClip>> _menuMusicHandle;
|
||||
private AsyncOperationHandle<IList<AudioClip>> _actionMusicHandle;
|
||||
private AsyncOperationHandle<IList<AudioClip>> _peacefulMusicHandle;
|
||||
private AsyncOperationHandle<IList<AudioClip>> _SFXHandle;
|
||||
private AsyncOperationHandle<IList<AudioClip>> _enemiesHandle;
|
||||
private AsyncOperationHandle<IList<AudioClip>> _dispatcherHandle;
|
||||
|
||||
public List<AudioClip> PeacefulMusic { get; private set; } = new();
|
||||
public List<AudioClip> ActionMusic { get; private set; } = new();
|
||||
public List<AudioClip> MenuMusic { get; private set; } = new();
|
||||
public List<AudioClip> SFXAudios { get; private set; } = new();
|
||||
public List<AudioClip> EnemiesAudios { get; private set; } = new();
|
||||
public List<AudioClip> DispatcherAudios { get; private set; } = new();
|
||||
|
||||
public AudioFactory(AudioMixerConfig audioMixerConfig,
|
||||
SoundtrackListConfig soundtrackListConfig,
|
||||
SFXListConfig sfxListConfig,
|
||||
EnemiesSoundListConfig enemiesSoundListConfig,
|
||||
DispatcherSoundListConfig dispatcherSoundListConfig//, CharacterSoundListConfig characterSoundListConfig
|
||||
)
|
||||
{
|
||||
AudioMixer = audioMixerConfig.audioMixerAsset;
|
||||
_audioSourcePrefab = audioMixerConfig.audioSourcePrefab;
|
||||
|
||||
_peacefulSoundtrack = soundtrackListConfig.peacefulSoundtrack;
|
||||
_actionSoundtrack = soundtrackListConfig.actionSoundtrack;
|
||||
_menuSoundtrack = soundtrackListConfig.menuSoundtrack;
|
||||
_SFX = sfxListConfig.SFX;
|
||||
_enemies = enemiesSoundListConfig.enemies;
|
||||
_dispatcher = dispatcherSoundListConfig.dispatcher;
|
||||
// _character = characterSoundListConfig.character;
|
||||
}
|
||||
|
||||
// public async UniTask<AudioMixer> CreateMixer()
|
||||
// {
|
||||
// AudioMixer audioMixer = (await Addressables.InstantiateAsync(_audioMixerPrefab).ToUniTask()).GetComponent<AudioMixer>();
|
||||
//
|
||||
// return audioMixer;
|
||||
// }
|
||||
|
||||
public async UniTask LoadAudioSourcePrefab(Action<GameObject> callback) =>
|
||||
callback?.Invoke(await Addressables.LoadAssetAsync<GameObject>(_audioSourcePrefab));
|
||||
|
||||
public async UniTask WarmGameplayMusic( )
|
||||
{
|
||||
_actionMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_actionSoundtrack, OnActionTrackLoaded, Addressables.MergeMode.None);
|
||||
_peacefulMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_peacefulSoundtrack, OnPeacefulTrackLoaded, Addressables.MergeMode.None);
|
||||
|
||||
await UniTask.WhenAll(_actionMusicHandle.ToUniTask(), _peacefulMusicHandle.ToUniTask());
|
||||
|
||||
}
|
||||
|
||||
public void ReleaseGameplayMusic()
|
||||
{
|
||||
ActionMusic.Clear();
|
||||
_actionMusicHandle.Release();
|
||||
|
||||
PeacefulMusic.Clear();
|
||||
_peacefulMusicHandle.Release();
|
||||
}
|
||||
|
||||
public async UniTask WarmMenuMusic( )
|
||||
{
|
||||
_menuMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_menuSoundtrack, OnMenuTrackLoaded, Addressables.MergeMode.None);
|
||||
// foreach (var assetReference in _menuSoundtrack) MenuMusic.Add(await assetReference.LoadAssetAsync<AudioClip>());
|
||||
await _menuMusicHandle.ToUniTask();
|
||||
|
||||
}
|
||||
|
||||
public void ReleaseMenuMusic()
|
||||
{
|
||||
MenuMusic.Clear();
|
||||
// foreach (var assetReference in _menuSoundtrack) assetReference.ReleaseAsset();
|
||||
_menuMusicHandle.Release();
|
||||
}
|
||||
public async UniTask WarmSFX( )
|
||||
{
|
||||
_SFXHandle = Addressables.LoadAssetsAsync<AudioClip>(_SFX, OnSFXLoaded, Addressables.MergeMode.None);
|
||||
|
||||
await _SFXHandle.ToUniTask();
|
||||
|
||||
}
|
||||
|
||||
public void ReleaseSFX()
|
||||
{
|
||||
SFXAudios.Clear();
|
||||
_SFXHandle.Release();
|
||||
}
|
||||
public async UniTask WarmEnemies( )
|
||||
{
|
||||
_enemiesHandle = Addressables.LoadAssetsAsync<AudioClip>(_enemies, OnEnemiesLoaded, Addressables.MergeMode.None);
|
||||
|
||||
await _enemiesHandle.ToUniTask();
|
||||
|
||||
}
|
||||
|
||||
public void ReleaseEnemies()
|
||||
{
|
||||
EnemiesAudios.Clear();
|
||||
_enemiesHandle.Release();
|
||||
}
|
||||
|
||||
public async UniTask WarmDispatcher( )
|
||||
{
|
||||
_dispatcherHandle = Addressables.LoadAssetsAsync<AudioClip>(_dispatcher, OnDispatcherLoaded, Addressables.MergeMode.None);
|
||||
|
||||
await _dispatcherHandle.ToUniTask();
|
||||
|
||||
}
|
||||
|
||||
public void ReleaseDispatcher()
|
||||
{
|
||||
DispatcherAudios.Clear();
|
||||
_dispatcherHandle.Release();
|
||||
}
|
||||
|
||||
private void OnActionTrackLoaded(AudioClip audioClip)
|
||||
{
|
||||
ActionMusic.Add(audioClip);
|
||||
}
|
||||
private void OnPeacefulTrackLoaded(AudioClip audioClip)
|
||||
{
|
||||
PeacefulMusic.Add(audioClip);
|
||||
}
|
||||
private void OnMenuTrackLoaded(AudioClip audioClip)
|
||||
{
|
||||
MenuMusic.Add(audioClip);
|
||||
}
|
||||
private void OnSFXLoaded(AudioClip audioClip)
|
||||
{
|
||||
SFXAudios.Add(audioClip);
|
||||
}
|
||||
private void OnEnemiesLoaded(AudioClip audioClip)
|
||||
{
|
||||
EnemiesAudios.Add(audioClip);
|
||||
}
|
||||
private void OnDispatcherLoaded(AudioClip audioClip)
|
||||
{
|
||||
DispatcherAudios.Add(audioClip);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5a4b48740d194d4dafa1732f96d71687
|
||||
timeCreated: 1762626915
|
||||
@@ -0,0 +1,239 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using Code.Configs;
|
||||
using Code.Constants;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using Reflex.Attributes;
|
||||
using Unity.VisualScripting;
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
using UnityEngine.Audio;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
namespace Code.Audio
|
||||
{
|
||||
public class AudioService : IAudioService
|
||||
{
|
||||
private IAudioFactory _audioFactory;
|
||||
|
||||
private AudioMixer _mixer;
|
||||
private AudioSource _actionMusicSource;
|
||||
private AudioSource _peacefulMusicSource;
|
||||
|
||||
private AudioMixerGroup _masterGroup,
|
||||
_musicGroup,
|
||||
_actionMusicGroup,
|
||||
_peacefulMusicGroup,
|
||||
_SFXGroup,
|
||||
_creaturesGroup,
|
||||
_dispatcherGroup,
|
||||
_courierGroup,
|
||||
_enemiesGroup;
|
||||
|
||||
private readonly AudioSourcePool _audioSourcePool = new();
|
||||
|
||||
private Dictionary<AudioSnapshotState, AudioMixerSnapshot> _snapshots = new();
|
||||
|
||||
public AudioService(IAudioFactory audioFactory)
|
||||
{
|
||||
_audioFactory = audioFactory;
|
||||
}
|
||||
|
||||
public async UniTask Initialize()
|
||||
{
|
||||
// _mixer = await _audioFactory.CreateMixer();
|
||||
_mixer = _audioFactory.AudioMixer;
|
||||
|
||||
_masterGroup = _mixer.FindMatchingGroups(AudioGroups.MasterGroup)[0];
|
||||
_actionMusicGroup = _mixer.FindMatchingGroups(AudioGroups.ActionMusicGroup)[0];
|
||||
_peacefulMusicGroup = _mixer.FindMatchingGroups(AudioGroups.PeacefulMusicGroup)[0];
|
||||
_SFXGroup = _mixer.FindMatchingGroups(AudioGroups.SFXGroup)[0];
|
||||
_musicGroup = _mixer.FindMatchingGroups(AudioGroups.MusicGroup)[0];
|
||||
_creaturesGroup = _mixer.FindMatchingGroups(AudioGroups.CreaturesGroup)[0];
|
||||
_dispatcherGroup = _mixer.FindMatchingGroups(AudioGroups.DispatcherMusicGroup)[0];
|
||||
_courierGroup = _mixer.FindMatchingGroups(AudioGroups.CourierMusicGroup)[0];
|
||||
_enemiesGroup = _mixer.FindMatchingGroups(AudioGroups.EnemiesMusicGroup)[0];
|
||||
|
||||
_snapshots[AudioSnapshotState.Peaceful] = _mixer.FindSnapshot(AudioGroups.PeacefulSnapshot);
|
||||
_snapshots[AudioSnapshotState.Action] = _mixer.FindSnapshot(AudioGroups.ActionSnapshot);
|
||||
_snapshots[AudioSnapshotState.None] = _mixer.FindSnapshot(AudioGroups.NoneSnapshot);
|
||||
|
||||
await _audioFactory.LoadAudioSourcePrefab(_audioSourcePool.Initialize);
|
||||
|
||||
InitializeMusicSources();
|
||||
}
|
||||
|
||||
private void InitializeMusicSources()
|
||||
{
|
||||
_actionMusicSource = _audioSourcePool.GetSource();
|
||||
_actionMusicSource.outputAudioMixerGroup = _actionMusicGroup;
|
||||
_actionMusicSource.spatialBlend = 0f;
|
||||
|
||||
_peacefulMusicSource = _audioSourcePool.GetSource();
|
||||
_peacefulMusicSource.outputAudioMixerGroup = _peacefulMusicGroup;
|
||||
_peacefulMusicSource.spatialBlend = 0f;
|
||||
}
|
||||
|
||||
public void PlayRandomGameplayMusic()
|
||||
{
|
||||
_peacefulMusicSource.resource = _audioFactory.PeacefulMusic[Random.Range(0, _audioFactory.PeacefulMusic.Count)];
|
||||
_actionMusicSource.resource =
|
||||
_audioFactory.ActionMusic[Random.Range(0, _audioFactory.ActionMusic.Count)];
|
||||
|
||||
_peacefulMusicSource.Play();
|
||||
_actionMusicSource.Play();
|
||||
}
|
||||
public void PlayRandomMenuMusic()
|
||||
{
|
||||
TransitToSnapshot(AudioSnapshotState.Peaceful);
|
||||
|
||||
_peacefulMusicSource.resource = _audioFactory.MenuMusic[Random.Range(0, _audioFactory.MenuMusic.Count)];
|
||||
|
||||
_peacefulMusicSource.Play();
|
||||
}
|
||||
|
||||
private CancellationTokenSource _menuMusicTokenSource = new();
|
||||
public async UniTaskVoid PlayRandomMenuMusicUntilHumanityWillBeDestroyedForTheySins()
|
||||
{
|
||||
TransitToSnapshot(AudioSnapshotState.Peaceful);
|
||||
|
||||
_peacefulMusicSource.resource = _audioFactory.MenuMusic[Random.Range(0, _audioFactory.MenuMusic.Count)];
|
||||
|
||||
_peacefulMusicSource.Play();
|
||||
|
||||
await UniTask.WaitUntilValueChanged(_peacefulMusicSource, _ => _peacefulMusicSource.isPlaying, cancellationToken: _menuMusicTokenSource.Token);
|
||||
if (_menuMusicTokenSource.IsCancellationRequested)
|
||||
{
|
||||
_menuMusicTokenSource.Dispose();
|
||||
_menuMusicTokenSource = new();
|
||||
return;
|
||||
}
|
||||
|
||||
PlayRandomMenuMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||
}
|
||||
private CancellationTokenSource _peacefulMusicTokenSource = new();
|
||||
public async UniTaskVoid PlayRandomPeacefulMusicUntilHumanityWillBeDestroyedForTheySins()
|
||||
{
|
||||
TransitToSnapshot(AudioSnapshotState.Peaceful);
|
||||
|
||||
_peacefulMusicSource.resource = _audioFactory.PeacefulMusic[Random.Range(0, _audioFactory.PeacefulMusic.Count)];
|
||||
|
||||
_peacefulMusicSource.Play();
|
||||
|
||||
await UniTask.WaitUntilValueChanged(_peacefulMusicSource, _ => _peacefulMusicSource.isPlaying, cancellationToken: _peacefulMusicTokenSource.Token);
|
||||
if (_peacefulMusicTokenSource.IsCancellationRequested)
|
||||
{
|
||||
_peacefulMusicTokenSource.Dispose();
|
||||
_peacefulMusicTokenSource = new();
|
||||
return;
|
||||
}
|
||||
|
||||
PlayRandomPeacefulMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||
}
|
||||
private CancellationTokenSource _actionMusicTokenSource = new();
|
||||
public async UniTaskVoid PlayRandomActionMusicUntilHumanityWillBeDestroyedForTheySins()
|
||||
{
|
||||
TransitToSnapshot(AudioSnapshotState.Action);
|
||||
|
||||
_actionMusicSource.resource = _audioFactory.ActionMusic[Random.Range(0, _audioFactory.ActionMusic.Count)];
|
||||
|
||||
_actionMusicSource.Play();
|
||||
|
||||
await UniTask.WaitUntilValueChanged(_actionMusicSource, _ => _actionMusicSource.isPlaying, cancellationToken: _actionMusicTokenSource.Token);
|
||||
if (_actionMusicTokenSource.IsCancellationRequested)
|
||||
{
|
||||
_actionMusicTokenSource.Dispose();
|
||||
_actionMusicTokenSource = new();
|
||||
return;
|
||||
}
|
||||
|
||||
PlayRandomActionMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||
}
|
||||
|
||||
public void StopMusic()
|
||||
{
|
||||
_peacefulMusicSource.Stop();
|
||||
_actionMusicSource.Stop();
|
||||
}
|
||||
|
||||
public void GladlyAskToStopMusic(Action callback = null)
|
||||
{
|
||||
TransitToSnapshot(AudioSnapshotState.None);
|
||||
_peacefulMusicSource.Stop();
|
||||
_actionMusicSource.Stop();
|
||||
|
||||
callback?.Invoke();
|
||||
}
|
||||
public async UniTaskVoid GladlyAskToStopMenuMusic(Action callback = null)
|
||||
{
|
||||
TransitToSnapshot(AudioSnapshotState.None);
|
||||
|
||||
await UniTask.WaitForSeconds(1f);
|
||||
|
||||
_peacefulMusicSource.Stop();
|
||||
|
||||
_menuMusicTokenSource.Cancel();
|
||||
|
||||
callback?.Invoke();
|
||||
}
|
||||
|
||||
public async UniTaskVoid GladlyAskToStopGameplayMusic(Action callback = null)
|
||||
{
|
||||
TransitToSnapshot(AudioSnapshotState.None);
|
||||
|
||||
await UniTask.WaitForSeconds(1f);
|
||||
|
||||
_actionMusicSource.Stop();
|
||||
_peacefulMusicSource.Stop();
|
||||
|
||||
_actionMusicTokenSource.Cancel();
|
||||
_peacefulMusicTokenSource.Cancel();
|
||||
|
||||
callback?.Invoke();
|
||||
}
|
||||
public async UniTaskVoid GladlyAskToStopActionMusic(Action callback = null)
|
||||
{
|
||||
TransitToSnapshot(AudioSnapshotState.None);
|
||||
|
||||
await UniTask.WaitForSeconds(1f);
|
||||
|
||||
_actionMusicSource.Stop();
|
||||
|
||||
_actionMusicTokenSource.Cancel();
|
||||
|
||||
callback?.Invoke();
|
||||
}
|
||||
public async UniTaskVoid GladlyAskToStopPeacefulMusic(Action callback = null)
|
||||
{
|
||||
TransitToSnapshot(AudioSnapshotState.None);
|
||||
|
||||
await UniTask.WaitForSeconds(1f);
|
||||
|
||||
_peacefulMusicSource.Stop();
|
||||
|
||||
_peacefulMusicTokenSource.Cancel();
|
||||
|
||||
callback?.Invoke();
|
||||
}
|
||||
|
||||
public void TransitToSnapshot(AudioSnapshotState state, float time = 1f)
|
||||
{
|
||||
_snapshots[state].TransitionTo(time);
|
||||
}
|
||||
|
||||
#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
|
||||
public void PlaySFX(SFXSounds sfxId, Vector3 position)
|
||||
{
|
||||
_audioSourcePool.PlayOneShot(_audioFactory.SFXAudios[(int)sfxId], position, _SFXGroup);
|
||||
}
|
||||
public void PlayEnemy(EnemiesSounds enemySoundId, Vector3 position)
|
||||
{
|
||||
_audioSourcePool.PlayOneShot(_audioFactory.EnemiesAudios[(int)enemySoundId], position, _enemiesGroup);
|
||||
}
|
||||
public void PlayDispatcher(DispatcherSounds dispatcherSoundId)
|
||||
{
|
||||
_audioSourcePool.PlayShizo(_audioFactory.DispatcherAudios[(int)dispatcherSoundId], _dispatcherGroup);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf44cb051308463494bd930f2a3d31e4
|
||||
timeCreated: 1762625073
|
||||
@@ -0,0 +1,119 @@
|
||||
using System.Collections.Generic;
|
||||
using Code.Constants;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Audio;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
namespace Code.Audio
|
||||
{
|
||||
public class AudioServiceDebug : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private AudioMixer mixer;
|
||||
|
||||
private AudioSource _actionMusicSource;
|
||||
private AudioSource _peacefulMusicSource;
|
||||
[SerializeField] private AudioSource prefab;
|
||||
|
||||
[SerializeField] private AudioResource[] peacefulAudio;
|
||||
[SerializeField] private AudioResource[] actionAudio;
|
||||
|
||||
private AudioMixerGroup _masterGroup,
|
||||
_musicGroup,
|
||||
_actionMusicGroup,
|
||||
_peacefulMusicGroup,
|
||||
_SFXGroup,
|
||||
_creaturesGroup,
|
||||
_dispatcherGroup,
|
||||
_courierGroup,
|
||||
_enemiesGroup;
|
||||
|
||||
private readonly AudioSourcePool _audioSourcePool = new();
|
||||
|
||||
private Dictionary<AudioSnapshotState, AudioMixerSnapshot> _snapshots = new();
|
||||
|
||||
[FormerlySerializedAs("sfxAudio")] [SerializeField] private AudioClip[] sfxAudios;
|
||||
[SerializeField] private AudioClip[] enemiesAudios;
|
||||
[SerializeField] private AudioClip[] dispatcherAudios;
|
||||
|
||||
private void MixerCreated()
|
||||
{
|
||||
_masterGroup = mixer.FindMatchingGroups(AudioGroups.MasterGroup)[0];
|
||||
_actionMusicGroup = mixer.FindMatchingGroups(AudioGroups.ActionMusicGroup)[0];
|
||||
_peacefulMusicGroup = mixer.FindMatchingGroups(AudioGroups.PeacefulMusicGroup)[0];
|
||||
_SFXGroup = mixer.FindMatchingGroups(AudioGroups.SFXGroup)[0];
|
||||
_musicGroup = mixer.FindMatchingGroups(AudioGroups.MusicGroup)[0];
|
||||
_creaturesGroup = mixer.FindMatchingGroups(AudioGroups.CreaturesGroup)[0];
|
||||
_dispatcherGroup = mixer.FindMatchingGroups(AudioGroups.DispatcherMusicGroup)[0];
|
||||
_courierGroup = mixer.FindMatchingGroups(AudioGroups.CourierMusicGroup)[0];
|
||||
_enemiesGroup = mixer.FindMatchingGroups(AudioGroups.EnemiesMusicGroup)[0];
|
||||
|
||||
_snapshots[AudioSnapshotState.Peaceful] = mixer.FindSnapshot(AudioGroups.PeacefulSnapshot);
|
||||
_snapshots[AudioSnapshotState.Action] = mixer.FindSnapshot(AudioGroups.ActionSnapshot);
|
||||
|
||||
// _audioSourcePool.Initialize(10,prefab);
|
||||
|
||||
InitializeMusicSources();
|
||||
}
|
||||
|
||||
private void InitializeMusicSources()
|
||||
{
|
||||
_actionMusicSource = _audioSourcePool.GetSource();
|
||||
_actionMusicSource.outputAudioMixerGroup = _actionMusicGroup;
|
||||
_actionMusicSource.spatialBlend = 0f;
|
||||
|
||||
_peacefulMusicSource = _audioSourcePool.GetSource();
|
||||
_peacefulMusicSource.outputAudioMixerGroup = _peacefulMusicGroup;
|
||||
_peacefulMusicSource.spatialBlend = 0f;
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
MixerCreated();
|
||||
}
|
||||
|
||||
public void PlayRandomGameplayMusic()
|
||||
{
|
||||
_peacefulMusicSource.resource = peacefulAudio[Random.Range(0, peacefulAudio.Length)];
|
||||
_actionMusicSource.resource = actionAudio[Random.Range(0, actionAudio.Length)];
|
||||
|
||||
_peacefulMusicSource.Play();
|
||||
_actionMusicSource.Play();
|
||||
}
|
||||
|
||||
public void TransitToSnapshot(AudioSnapshotState state)
|
||||
{
|
||||
_snapshots[state].TransitionTo(1f);
|
||||
}
|
||||
|
||||
#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
|
||||
public void PlaySFX(SFXSounds sfxId, Vector3 position)
|
||||
{
|
||||
_audioSourcePool.PlayOneShot(sfxAudios[(int)sfxId], position, _SFXGroup);
|
||||
}
|
||||
public void PlayDebugSFX()
|
||||
{
|
||||
_audioSourcePool.PlayOneShot(sfxAudios[(int)SFXSounds.Crowbar], transform.position, _SFXGroup);
|
||||
}
|
||||
public void PlayEnemy(EnemiesSounds enemySoundId, Vector3 position)
|
||||
{
|
||||
_audioSourcePool.PlayOneShot(enemiesAudios[(int)enemySoundId], position, _enemiesGroup);
|
||||
}
|
||||
public void PlayDebugEnemySFX()
|
||||
{
|
||||
_audioSourcePool.PlayOneShot(enemiesAudios[(int)EnemiesSounds.Bastard], transform.position, _enemiesGroup);
|
||||
}
|
||||
public void PlayDispatcher(DispatcherSounds dispatcherSoundId)
|
||||
{
|
||||
_audioSourcePool.PlayShizo(dispatcherAudios[(int)dispatcherSoundId], _dispatcherGroup);
|
||||
}
|
||||
public void PlayDebugDispatcherSFX()
|
||||
{
|
||||
_audioSourcePool.PlayShizo(dispatcherAudios[(int)DispatcherSounds.AhFreeman], _dispatcherGroup);
|
||||
}
|
||||
|
||||
#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a42cad8f28f54a53bef23d9313014abd
|
||||
timeCreated: 1762805867
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace Code.Audio
|
||||
{
|
||||
public enum AudioSnapshotState
|
||||
{
|
||||
None,
|
||||
Peaceful,
|
||||
Action
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 29adaf8e912649d9b91c09735e36840a
|
||||
timeCreated: 1762808301
|
||||
@@ -0,0 +1,83 @@
|
||||
using Cysharp.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Audio;
|
||||
using UnityEngine.Pool;
|
||||
|
||||
namespace Code.Audio
|
||||
{
|
||||
public class AudioSourcePool
|
||||
{
|
||||
// The pool holds plain GameObjects (you can swap this for any component type).
|
||||
private IObjectPool<AudioSource> _pool;
|
||||
private GameObject _sourcePrefab;
|
||||
|
||||
public void Initialize(GameObject sourcePrefab)
|
||||
{
|
||||
_sourcePrefab = sourcePrefab;
|
||||
|
||||
// Create a pool with the four core callbacks.
|
||||
_pool = new ObjectPool<AudioSource>(
|
||||
createFunc: CreateItem,
|
||||
// actionOnGet: OnGet,
|
||||
// actionOnRelease: OnRelease,
|
||||
actionOnDestroy: OnDestroyItem,
|
||||
collectionCheck: true, // helps catch double-release mistakes
|
||||
defaultCapacity: 10,
|
||||
maxSize: 20
|
||||
);
|
||||
}
|
||||
|
||||
// Creates a new pooled GameObject the first time (and whenever the pool needs more).
|
||||
private AudioSource CreateItem()
|
||||
{
|
||||
AudioSource audioSource = Object.Instantiate(_sourcePrefab).GetComponent<AudioSource>();
|
||||
audioSource.name = "PooledAudioSource";
|
||||
Object.DontDestroyOnLoad(audioSource);
|
||||
return audioSource;
|
||||
}
|
||||
|
||||
// Called when an item is taken from the pool.
|
||||
private void OnGet(AudioSource source)
|
||||
{
|
||||
//source.gameObject.SetActive(true);
|
||||
}
|
||||
|
||||
// Called when an item is returned to the pool.
|
||||
private void OnRelease(AudioSource source)
|
||||
{
|
||||
//source.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
// Called when the pool decides to destroy an item (e.g., above max size).
|
||||
private void OnDestroyItem(AudioSource source)
|
||||
{
|
||||
Object.Destroy(source.gameObject);
|
||||
}
|
||||
|
||||
public async UniTaskVoid PlayOneShot(AudioClip clip, Vector3 position, AudioMixerGroup audioMixerGroup)
|
||||
{
|
||||
AudioSource source = _pool.Get();
|
||||
source.PlayOneShot(clip);
|
||||
source.spatialBlend = 1f;
|
||||
source.transform.position = position;
|
||||
source.outputAudioMixerGroup = audioMixerGroup;
|
||||
|
||||
await UniTask.WaitUntilValueChanged(source, x => x.isPlaying);
|
||||
|
||||
_pool.Release(source);
|
||||
}
|
||||
public async UniTaskVoid PlayShizo(AudioClip clip, AudioMixerGroup audioMixerGroup)
|
||||
{
|
||||
AudioSource source = _pool.Get();
|
||||
source.PlayOneShot(clip);
|
||||
source.spatialBlend = 0f;
|
||||
source.outputAudioMixerGroup = audioMixerGroup;
|
||||
|
||||
await UniTask.WaitUntilValueChanged(source, x => x.isPlaying);
|
||||
|
||||
_pool.Release(source);
|
||||
}
|
||||
public AudioSource GetSource() => _pool.Get();
|
||||
public void ReleaseSource(AudioSource source) => _pool.Release(source);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 370b6a43a74744ff9d90a99991b104f7
|
||||
timeCreated: 1762852042
|
||||
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Audio;
|
||||
|
||||
namespace Code.Audio
|
||||
{
|
||||
public interface IAudioFactory
|
||||
{
|
||||
List<AudioClip> PeacefulMusic { get; }
|
||||
List<AudioClip> ActionMusic { get; }
|
||||
List<AudioClip> MenuMusic { get; }
|
||||
List<AudioClip> SFXAudios { get; }
|
||||
List<AudioClip> EnemiesAudios { get; }
|
||||
List<AudioClip> DispatcherAudios { get; }
|
||||
AudioMixer AudioMixer { get; }
|
||||
UniTask LoadAudioSourcePrefab(Action<GameObject> callback);
|
||||
UniTask WarmGameplayMusic();
|
||||
void ReleaseGameplayMusic();
|
||||
UniTask WarmMenuMusic();
|
||||
void ReleaseMenuMusic();
|
||||
UniTask WarmSFX();
|
||||
void ReleaseSFX();
|
||||
UniTask WarmEnemies();
|
||||
void ReleaseEnemies();
|
||||
UniTask WarmDispatcher();
|
||||
void ReleaseDispatcher();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ea837e1ca08a4846b7f4ce2df771bf65
|
||||
timeCreated: 1762804793
|
||||
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using Cysharp.Threading.Tasks;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Audio
|
||||
{
|
||||
public interface IAudioService
|
||||
{
|
||||
UniTask Initialize();
|
||||
void PlayRandomGameplayMusic();
|
||||
void TransitToSnapshot(AudioSnapshotState state, float time = 1f);
|
||||
void PlaySFX(SFXSounds sfxId, Vector3 position);
|
||||
void PlayEnemy(EnemiesSounds enemySoundId, Vector3 position);
|
||||
void PlayDispatcher(DispatcherSounds dispatcherSoundId);
|
||||
void PlayRandomMenuMusic();
|
||||
UniTaskVoid PlayRandomMenuMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||
void StopMusic();
|
||||
void GladlyAskToStopMusic(Action callback = null);
|
||||
UniTaskVoid GladlyAskToStopMenuMusic(Action callback = null);
|
||||
UniTaskVoid GladlyAskToStopActionMusic(Action callback = null);
|
||||
UniTaskVoid GladlyAskToStopPeacefulMusic(Action callback = null);
|
||||
UniTaskVoid PlayRandomPeacefulMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||
UniTaskVoid PlayRandomActionMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||
UniTaskVoid GladlyAskToStopGameplayMusic(Action callback = null);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 30521fadcce84848ae88363e915bceb4
|
||||
timeCreated: 1762804728
|
||||
@@ -0,0 +1,13 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
using UnityEngine.Audio;
|
||||
|
||||
namespace Code.Configs
|
||||
{
|
||||
[CreateAssetMenu(menuName = "Config/Audio/Mixer", fileName = "AudioMixerConfig")]
|
||||
public class AudioMixerConfig : ScriptableObject
|
||||
{
|
||||
public AudioMixer audioMixerAsset;
|
||||
public AssetReference audioSourcePrefab;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 353cee8946ca43efbbcda905d7b32ae1
|
||||
timeCreated: 1762624627
|
||||
@@ -0,0 +1,11 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
|
||||
namespace Code.Configs
|
||||
{
|
||||
[CreateAssetMenu(menuName = "Config/Audio/CharacterSoundList", fileName = "CharacterSoundListConfig")]
|
||||
public class CharacterSoundListConfig : ScriptableObject
|
||||
{
|
||||
public AssetReference[] character;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 83304a98bbdc4e7c9c7c643653ae1368
|
||||
timeCreated: 1762625438
|
||||
@@ -0,0 +1,12 @@
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
|
||||
namespace Code.Configs
|
||||
{
|
||||
[CreateAssetMenu(menuName = "Config/Audio/DispatcherSoundList", fileName = "DispatcherSoundListConfig")]
|
||||
public class DispatcherSoundListConfig : ScriptableObject
|
||||
{
|
||||
public AssetReference[] dispatcher;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8a6f6ffb8f5242899791719801791945
|
||||
timeCreated: 1762625431
|
||||
@@ -0,0 +1,11 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
|
||||
namespace Code.Configs
|
||||
{
|
||||
[CreateAssetMenu(menuName = "Config/Audio/EnemiesSoundList", fileName = "EnemiesSoundListConfig")]
|
||||
public class EnemiesSoundListConfig : ScriptableObject
|
||||
{
|
||||
public AssetReference[] enemies;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e73ac7f7e3cd4db8ada95f63d73c2d1d
|
||||
timeCreated: 1762625425
|
||||
@@ -0,0 +1,11 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
|
||||
namespace Code.Configs
|
||||
{
|
||||
[CreateAssetMenu(menuName = "Config/Audio/SFXList", fileName = "SFXListConfig")]
|
||||
public class SFXListConfig : ScriptableObject
|
||||
{
|
||||
public AssetReference[] SFX;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: be49de18297645009c1e2092f382a670
|
||||
timeCreated: 1762625417
|
||||
@@ -0,0 +1,13 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.AddressableAssets;
|
||||
|
||||
namespace Code.Configs
|
||||
{
|
||||
[CreateAssetMenu(menuName = "Config/Audio/SoundtrackList", fileName = "SoundtrackListConfig")]
|
||||
public class SoundtrackListConfig : ScriptableObject
|
||||
{
|
||||
public AssetReference[] peacefulSoundtrack;
|
||||
public AssetReference[] actionSoundtrack;
|
||||
public AssetReference[] menuSoundtrack;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6d4b28e4552d456d99550b6d91467345
|
||||
timeCreated: 1762624980
|
||||
@@ -10,4 +10,20 @@ namespace Code.Constants
|
||||
{
|
||||
public const string LoadingScreen = "LoadingScreen";
|
||||
}
|
||||
public static class AudioGroups
|
||||
{
|
||||
public const string MasterGroup = "Master";
|
||||
public const string SFXGroup = "SFX";
|
||||
public const string CreaturesGroup = "Creatures";
|
||||
public const string MusicGroup = "Music";
|
||||
public const string PeacefulMusicGroup = "Peaceful";
|
||||
public const string ActionMusicGroup = "Action";
|
||||
public const string DispatcherMusicGroup = "Dispatcher";
|
||||
public const string CourierMusicGroup = "Courier";
|
||||
public const string EnemiesMusicGroup = "Enemies";
|
||||
|
||||
public const string PeacefulSnapshot = "Peaceful";
|
||||
public const string ActionSnapshot = "Action";
|
||||
public const string NoneSnapshot = "None";
|
||||
}
|
||||
}
|
||||
@@ -8,9 +8,11 @@ namespace Code.Input
|
||||
}
|
||||
public enum DebugActions
|
||||
{
|
||||
GiveHealth,
|
||||
LooseHealth,
|
||||
GiveMoney,
|
||||
LooseMoney
|
||||
Debug1,
|
||||
Debug2,
|
||||
Debug3,
|
||||
Debug4,
|
||||
Debug5,
|
||||
Debug6
|
||||
}
|
||||
}
|
||||
@@ -7,5 +7,6 @@ namespace Code.Scenes
|
||||
{
|
||||
UniTaskVoid LoadSceneAsync(string sceneName, float waitFor = 0f, Action callBack = null);
|
||||
UniTaskVoid LoadSceneAsync(int sceneId, float waitFor = 0f, Action callBack = null);
|
||||
UniTask LoadSceneAsyncAwaitable(int sceneId, float waitFor = 0f);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
namespace Code.Scenes.SceneEnvironments
|
||||
{
|
||||
[System.Serializable]
|
||||
public class GameplaySceneEnvironment : CurrentSceneEnvironment
|
||||
{
|
||||
[FormerlySerializedAs("sfxTarget")] public Transform debugSfxTarget;
|
||||
|
||||
public void TransitVariables(GameplaySceneEnvironment env)
|
||||
{
|
||||
debugSfxTarget = env.debugSfxTarget;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 286a31cf64d54f509b13784d928d8842
|
||||
timeCreated: 1763144375
|
||||
@@ -29,5 +29,12 @@ namespace Code.Scenes
|
||||
SceneManager.LoadSceneAsync(sceneId, LoadSceneMode.Single).ToUniTask());
|
||||
callBack?.Invoke();
|
||||
}
|
||||
|
||||
public async UniTask LoadSceneAsyncAwaitable(int sceneId, float waitFor = 0)
|
||||
{
|
||||
await UniTask.WhenAll(
|
||||
UniTask.Delay(TimeSpan.FromSeconds(waitFor)),
|
||||
SceneManager.LoadSceneAsync(sceneId, LoadSceneMode.Single).ToUniTask());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,13 +10,18 @@ namespace Code.StaticData
|
||||
{
|
||||
public interface IStaticDataService
|
||||
{
|
||||
void Load();
|
||||
InputConfig InputConfig { get; }
|
||||
AppConfig AppConfig { get; }
|
||||
InputConfig InputConfig { get; }
|
||||
CameraConfig CameraConfig { get; }
|
||||
CharacterConfig CharacterConfig { get; }
|
||||
UIConfig UIConfig { get; }
|
||||
PlayerConfig PlayerConfig { get; }
|
||||
AudioMixerConfig AudioMixerConfig { get; }
|
||||
SoundtrackListConfig SoundtrackListConfig { get; }
|
||||
SFXListConfig SFXListConfig { get; }
|
||||
DispatcherSoundListConfig DispatcherSoundListConfig { get; }
|
||||
EnemiesSoundListConfig EnemiesSoundListConfig { get; }
|
||||
void Load();
|
||||
Task<T> InstantiateAsset<T>(AssetReference assetReference) where T : Behaviour;
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,11 @@ namespace Code.StaticData
|
||||
public CharacterConfig CharacterConfig { get; private set; }
|
||||
public UIConfig UIConfig { get; private set; }
|
||||
public PlayerConfig PlayerConfig { get; private set; }
|
||||
public AudioMixerConfig AudioMixerConfig { get; private set; }
|
||||
public SoundtrackListConfig SoundtrackListConfig { get; private set; }
|
||||
public SFXListConfig SFXListConfig { get; private set; }
|
||||
public DispatcherSoundListConfig DispatcherSoundListConfig { get; private set; }
|
||||
public EnemiesSoundListConfig EnemiesSoundListConfig { get; private set; }
|
||||
|
||||
public void Load()
|
||||
{
|
||||
@@ -24,6 +29,17 @@ namespace Code.StaticData
|
||||
CharacterConfig = Resources.Load<CharacterConfig>(string.Format(StringPaths.ConfigSingle, "App", "CharacterConfig"));
|
||||
UIConfig = Resources.Load<UIConfig>(string.Format(StringPaths.ConfigSingle, "App", "UIConfig"));
|
||||
PlayerConfig = Resources.Load<PlayerConfig>(string.Format(StringPaths.ConfigSingle, "App", "PlayerConfig"));
|
||||
|
||||
LoadAudioConfigs();
|
||||
}
|
||||
|
||||
private void LoadAudioConfigs()
|
||||
{
|
||||
AudioMixerConfig = Resources.Load<AudioMixerConfig>(string.Format(StringPaths.ConfigSingle, "Audio", "AudioMixerConfig"));
|
||||
SoundtrackListConfig = Resources.Load<SoundtrackListConfig>(string.Format(StringPaths.ConfigSingle, "Audio", "SoundtrackListConfig"));
|
||||
SFXListConfig = Resources.Load<SFXListConfig>(string.Format(StringPaths.ConfigSingle, "Audio", "SFXListConfig"));
|
||||
DispatcherSoundListConfig = Resources.Load<DispatcherSoundListConfig>(string.Format(StringPaths.ConfigSingle, "Audio", "DispatcherSoundListConfig"));
|
||||
EnemiesSoundListConfig = Resources.Load<EnemiesSoundListConfig>(string.Format(StringPaths.ConfigSingle, "Audio", "EnemiesSoundListConfig"));
|
||||
}
|
||||
|
||||
public async Task<T> InstantiateAsset<T>(AssetReference assetReference) where T : Behaviour
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
using System;
|
||||
using Code.UI.Panels;
|
||||
using Cysharp.Threading.Tasks;
|
||||
|
||||
namespace Code.UI
|
||||
{
|
||||
public interface IUIService
|
||||
{
|
||||
void SwitchPanelTo(UIPanel uiPanel, Action callback = null);
|
||||
UniTask AsyncSwitchPanelTo(UIPanel uiPanel);
|
||||
UIElement CurrentPanel { get; }
|
||||
LoadingScreen LoadingScreen { get; }
|
||||
void Initialize(LoadingScreen loadingScreen);
|
||||
UniTask Initialize(LoadingScreen loadingScreen);
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,8 @@ namespace Code.UI
|
||||
{
|
||||
private Canvas _canvas;
|
||||
private IUIFactory _factory;
|
||||
|
||||
|
||||
|
||||
public UIElement CurrentPanel { get; private set; }
|
||||
|
||||
public LoadingScreen LoadingScreen { get; private set; }
|
||||
@@ -22,7 +23,7 @@ namespace Code.UI
|
||||
_factory = factory;
|
||||
}
|
||||
|
||||
public async void Initialize(LoadingScreen loadingScreen)
|
||||
public async UniTask Initialize(LoadingScreen loadingScreen)
|
||||
{
|
||||
LoadingScreen = loadingScreen;
|
||||
LoadingScreen.Show();
|
||||
@@ -30,9 +31,17 @@ namespace Code.UI
|
||||
_canvas = await _factory.CreateCanvas();
|
||||
}
|
||||
|
||||
public async UniTask AsyncSwitchPanelTo(UIPanel uiPanel)
|
||||
{
|
||||
// if (!_canvas) await UniTask.WaitUntil(() => _canvas );
|
||||
|
||||
if(CurrentPanel) Addressables.ReleaseInstance(CurrentPanel.gameObject);//Object.Destroy(CurrentPanel.gameObject);
|
||||
|
||||
CurrentPanel = await _factory.CreatePanel(_canvas, uiPanel);
|
||||
}
|
||||
public async void SwitchPanelTo(UIPanel uiPanel, Action callback = null)
|
||||
{
|
||||
if (!_canvas) await UniTask.WaitUntil(() => _canvas );
|
||||
// if (!_canvas) await UniTask.WaitUntil(() => _canvas );
|
||||
|
||||
if(CurrentPanel) Addressables.ReleaseInstance(CurrentPanel.gameObject);//Object.Destroy(CurrentPanel.gameObject);
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa24c0d8a11438d4fb57332c144beab6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bc9a23cef60c78e46924e5d40b0c2a16
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4de7035bd7a880356b016d07d22cd59d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,131 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7298358727559334876
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5072189211367830325}
|
||||
- component: {fileID: 8294310769130454823}
|
||||
m_Layer: 0
|
||||
m_Name: DebugPrefab
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5072189211367830325
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7298358727559334876}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 528.9732, y: 444.03427, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!82 &8294310769130454823
|
||||
AudioSource:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7298358727559334876}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 4
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 0}
|
||||
m_Resource: {fileID: 0}
|
||||
m_PlayOnAwake: 1
|
||||
m_Volume: 1
|
||||
m_Pitch: 1
|
||||
Loop: 0
|
||||
Mute: 0
|
||||
Spatialize: 0
|
||||
SpatializePostEffects: 0
|
||||
Priority: 128
|
||||
DopplerLevel: 1
|
||||
MinDistance: 1
|
||||
MaxDistance: 500
|
||||
Pan2D: 0
|
||||
rolloffMode: 0
|
||||
BypassEffects: 0
|
||||
BypassListenerEffects: 0
|
||||
BypassReverbZones: 0
|
||||
rolloffCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
panLevelCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
spreadCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
reverbZoneMixCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9d14e4d83266834f09a68a06bcdc6ecb
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 02c6ac3b264843de8915e27ecbbf53d2
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 53262941bfa7c2a86a5cdc7a729fd932
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,376 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!243 &-6672183372375525094
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: SFX
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: e8d21309c35c1ad6fb6a8376c5558b10
|
||||
m_Children: []
|
||||
m_Volume: 8b55cf81ebbf71b7db1aeb9d32d1f6a1
|
||||
m_Pitch: 34ad4c0eee70ac4238bf7580fe973ba6
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: 7789429540297655844}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!243 &-6229038418282119915
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Courier
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: 98b7a23970c73d3a59b0ae80188c2fb7
|
||||
m_Children: []
|
||||
m_Volume: 54204cbbe726fc381b5632bd45808763
|
||||
m_Pitch: 4f2f53daeb9a115508649d597c6c5136
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: 5996723691131988381}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!244 &-5821804363741146604
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: f6f5ec80cccf9007390c5c17771423e0
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: 9f25d74762f2dab489bb734101972988
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!243 &-4235790927912365957
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Music
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: 9bd058bbb94358d33a130fd50e352c2d
|
||||
m_Children:
|
||||
- {fileID: 1469200815455588746}
|
||||
- {fileID: 9214955797390454771}
|
||||
m_Volume: 4c469b14481ac855fb9fb2989e6e6b94
|
||||
m_Pitch: f5433a3ce2d2313f2b2d52521d9fa5bd
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: 671806689151419646}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!244 &-3136785715273091855
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 4b6450a6549599d0aad3cf65f9518b6a
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: a17d8c6e7f9ec512b959ef6963e7c80f
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!243 &-2580822303892902013
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Creatures
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: c7a1d2d98363c8f2fa85355ea34fec21
|
||||
m_Children:
|
||||
- {fileID: -6229038418282119915}
|
||||
- {fileID: 4051589110822387517}
|
||||
- {fileID: 2578226848385654679}
|
||||
m_Volume: 5e2f5c7e3d526b9aaa68f56dfb7d553b
|
||||
m_Pitch: ae94fcb7df36f4368a5d909499b1cf45
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: 8140097634445136172}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!245 &-1214924791136564940
|
||||
AudioMixerSnapshotController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Peaceful
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_SnapshotID: 6d6b0cfa14637d5f0a34277934971c34
|
||||
m_FloatValues:
|
||||
ddab7e07de3c686e296ff10b1cd77a47: -80
|
||||
m_TransitionOverrides: {}
|
||||
--- !u!241 &24100000
|
||||
AudioMixerController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: MainMixer
|
||||
m_OutputGroup: {fileID: 0}
|
||||
m_MasterGroup: {fileID: 24300002}
|
||||
m_Snapshots:
|
||||
- {fileID: 8341788112416184532}
|
||||
- {fileID: -1214924791136564940}
|
||||
- {fileID: 24500006}
|
||||
m_StartSnapshot: {fileID: 8341788112416184532}
|
||||
m_SuspendThreshold: -80
|
||||
m_EnableSuspend: 1
|
||||
m_UpdateMode: 0
|
||||
m_ExposedParameters: []
|
||||
m_AudioMixerGroupViews:
|
||||
- guids:
|
||||
- ddc760a902e7b5553952924aeaa5473e
|
||||
- e8d21309c35c1ad6fb6a8376c5558b10
|
||||
- c7a1d2d98363c8f2fa85355ea34fec21
|
||||
- fe5b8e83845823576b69c908acb51079
|
||||
- 98b7a23970c73d3a59b0ae80188c2fb7
|
||||
- 78bf594a5b32474019697af2cf4eb493
|
||||
- 9bd058bbb94358d33a130fd50e352c2d
|
||||
- e04cdd7cb505ba69ea76a16038de727a
|
||||
- 9eb64ac0ca0e2f1098eafbba1f9633f5
|
||||
name: View
|
||||
m_CurrentViewIndex: 0
|
||||
m_TargetSnapshot: {fileID: -1214924791136564940}
|
||||
--- !u!243 &24300002
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Master
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: ddc760a902e7b5553952924aeaa5473e
|
||||
m_Children:
|
||||
- {fileID: -2580822303892902013}
|
||||
- {fileID: -6672183372375525094}
|
||||
- {fileID: -4235790927912365957}
|
||||
m_Volume: 9823d3a409fe914cdbb45f92705c5186
|
||||
m_Pitch: 6fb1f1bca680170cabb1a534be3d1a58
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: 24400004}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!244 &24400004
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 208a256baf4d82efe818a3d69493f86e
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: 22f8eb5cb6c198d75a4d604cd18fcdb5
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!245 &24500006
|
||||
AudioMixerSnapshotController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Action
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_SnapshotID: bdbaa2a61b8857f568cd42dafa5c4811
|
||||
m_FloatValues:
|
||||
dd0b3fe80d006124baa36e791e6953f0: -80
|
||||
m_TransitionOverrides: {}
|
||||
--- !u!244 &671806689151419646
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 92f21810a68019b68a3fe206dca16bc6
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: 51886446fae07778a9815d09f38196c4
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!243 &1469200815455588746
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Peaceful
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: e04cdd7cb505ba69ea76a16038de727a
|
||||
m_Children: []
|
||||
m_Volume: dd0b3fe80d006124baa36e791e6953f0
|
||||
m_Pitch: 28ab35c185921bee78362284cf6730be
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: -3136785715273091855}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!243 &2578226848385654679
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Dispatcher
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: 78bf594a5b32474019697af2cf4eb493
|
||||
m_Children: []
|
||||
m_Volume: 19969023eed85c7999691c4897eebc2e
|
||||
m_Pitch: 05657fb9d3216e026a93f18aa32ba151
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: 7581076233192145915}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!243 &4051589110822387517
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Enemies
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: fe5b8e83845823576b69c908acb51079
|
||||
m_Children: []
|
||||
m_Volume: 803cb3ae2c302cb0aab098f6ad2dbc2f
|
||||
m_Pitch: 80c6cd6c20bbb1dd09d2aeaf59d6b165
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: 7243225014058790252}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
--- !u!244 &5996723691131988381
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 30a35b162d33139b2bf8386ebde4d6b2
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: 79c00c3ee9c1f53d893ef592ebb65086
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!244 &7243225014058790252
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 277f2837ba191437eb0b868d32912955
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: 48d4fc13fde4c7e4eacea03dd6ca4961
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!244 &7581076233192145915
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: f132e743758a9142bb17c95705697d5b
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: e2d3470776876c99d83d14f03e1ad260
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!244 &7789429540297655844
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 830a36cad2732e8d1964cdf6406315e9
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: 697228f24162016e988117b6572e78c7
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!244 &8140097634445136172
|
||||
AudioMixerEffectController:
|
||||
m_ObjectHideFlags: 3
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_EffectID: 5f88d755c29553d47b5629a4f2f960ef
|
||||
m_EffectName: Attenuation
|
||||
m_MixLevel: a3a95874fd75e90a6a52cf971d239c3b
|
||||
m_Parameters: []
|
||||
m_SendTarget: {fileID: 0}
|
||||
m_EnableWetMix: 0
|
||||
m_Bypass: 0
|
||||
--- !u!245 &8341788112416184532
|
||||
AudioMixerSnapshotController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: None
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_SnapshotID: aeb4e4a21399f58f6925016231188466
|
||||
m_FloatValues:
|
||||
4c469b14481ac855fb9fb2989e6e6b94: -80
|
||||
ddab7e07de3c686e296ff10b1cd77a47: -0.037667945
|
||||
m_TransitionOverrides: {}
|
||||
--- !u!243 &9214955797390454771
|
||||
AudioMixerGroupController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Action
|
||||
m_AudioMixer: {fileID: 24100000}
|
||||
m_GroupID: 9eb64ac0ca0e2f1098eafbba1f9633f5
|
||||
m_Children: []
|
||||
m_Volume: ddab7e07de3c686e296ff10b1cd77a47
|
||||
m_Pitch: ad01bd937a52299e1a7f476ab5fd279e
|
||||
m_Send: 00000000000000000000000000000000
|
||||
m_Effects:
|
||||
- {fileID: -5821804363741146604}
|
||||
m_UserColorIndex: 0
|
||||
m_Mute: 0
|
||||
m_Solo: 0
|
||||
m_BypassEffects: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ab2634130cfcf5b899bc463c3d060fc4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 24100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5fcc177d959b6d845a9fc85afc8536bf
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e61c0acb67106de73b001efb0e9a9532
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 08e2f72d430c55160a56efd386600a73
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 8
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 235208c16f21b13d09eb60d1ed862aa2
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 8
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d0176173bb9519c37849d44188ae09d2
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 8
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e286a89a520a06f12a0e7f76ef2899dc
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 8
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d653e33bf2e22ef228fefa9972648523
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0b0fcec259ddb5ceebf641b5d59cfdc4
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 605b8648e0877ca0fa8a701964f43bd6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,21 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 353cee8946ca43efbbcda905d7b32ae1, type: 3}
|
||||
m_Name: AudioMixerConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.AudioMixerConfig
|
||||
audioMixerAsset: {fileID: 24100000, guid: ab2634130cfcf5b899bc463c3d060fc4, type: 2}
|
||||
audioSourcePrefab:
|
||||
m_AssetGUID: 9293380a88bf6736889be29722b94269
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 448b7bbc5c338321aa5c601c32c59f36
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,15 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 83304a98bbdc4e7c9c7c643653ae1368, type: 3}
|
||||
m_Name: CharacterSoundListConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.CharacterSoundListConfig
|
||||
character: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5160d7af825d295229a3be611f44db76
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,85 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8a6f6ffb8f5242899791719801791945, type: 3}
|
||||
m_Name: DispatcherSoundListConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.DispatcherSoundListConfig
|
||||
dispatcher:
|
||||
- m_AssetGUID: 03e51c504fa7e0624ba855ec35b60bcc
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: b2c9f83c47783069aabb564f68cb0cbb
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 1
|
||||
- m_AssetGUID: 111011400ce13ae859c52c757aef859e
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 1
|
||||
- m_AssetGUID: 735f38402ea347fa381408293503a24e
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: cab4b1ff78dd6b1fba61aa165aa17b4d
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: 4bd64d1fcecc9c6b09d81e78b7dcfebe
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: f74a409bf11b25148ad305acc05b14f5
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: 7c5caf3ceee44f71588860c5c1fbdbe0
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: 1f79c7b1e492a4ea2a8d666cdead0c52
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 1
|
||||
- m_AssetGUID: 8fa89a492fc3a3768a0f0ba1bb7080e0
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: 8c2be26d359d54063825fedfad7a493b
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: 29bff8011973e4e519906b9da8fca0fc
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 1
|
||||
- m_AssetGUID: 29ee630aab7bbef8799dc76ed0c239f7
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: 31f16c866d3224ab8a7e0fabf3745ec5
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6d4abe7737136dbb5a9f7b2c6c982dff
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,25 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: e73ac7f7e3cd4db8ada95f63d73c2d1d, type: 3}
|
||||
m_Name: EnemiesSoundListConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.EnemiesSoundListConfig
|
||||
enemies:
|
||||
- m_AssetGUID: 82c71411174bfa86ca1f676b9d389f94
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: 2f6134357dc2a5641a846a7478ce4c2c
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 1
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a1583ccd0a7b02640b16a10cc784a39f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,25 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: be49de18297645009c1e2092f382a670, type: 3}
|
||||
m_Name: SFXListConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.SFXListConfig
|
||||
SFX:
|
||||
- m_AssetGUID: 1d7110a045075b22fa27d62bd5f2784e
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: 3831a36e0c8e48f659517a6bb99378b6
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 119db0053fbf48c099ae222c15afccce
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,37 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 6d4b28e4552d456d99550b6d91467345, type: 3}
|
||||
m_Name: SoundtrackListConfig
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.SoundtrackListConfig
|
||||
peacefulSoundtrack:
|
||||
- m_AssetGUID: 803e40b883c823b89a91aa8b9d9fc483
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
actionSoundtrack:
|
||||
- m_AssetGUID: ebe18293a5ef86704b23dad3a1786476
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
menuSoundtrack:
|
||||
- m_AssetGUID: 2301400160a23924eb27c4bdbe797739
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
- m_AssetGUID: f4b6fa54ecac6cc418f98824491aa17a
|
||||
m_SubObjectName:
|
||||
m_SubObjectType:
|
||||
m_SubObjectGUID:
|
||||
m_EditorAssetChanged: 0
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 26c0b7626862cbe758a0421cf719da59
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -147,7 +147,7 @@ Transform:
|
||||
m_GameObject: {fileID: 212553749}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0.99403006, y: 0, z: 0}
|
||||
m_LocalPosition: {x: 0.989, y: 0, z: -0}
|
||||
m_LocalScale: {x: 0.1, y: 1, z: 0.3}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -371,7 +371,7 @@ Transform:
|
||||
m_GameObject: {fileID: 991876314}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5}
|
||||
m_LocalPosition: {x: -2.359, y: 0.982, z: 3.204}
|
||||
m_LocalPosition: {x: -2.359, y: 0.982, z: 3.197}
|
||||
m_LocalScale: {x: 0.3, y: 1, z: 0.2}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -514,7 +514,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1220410323}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: -0.003, y: 0, z: -0}
|
||||
m_LocalPosition: {x: -0.008, y: 0, z: -0}
|
||||
m_LocalScale: {x: 0.1, y: 1, z: 0.3}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -717,7 +717,7 @@ Transform:
|
||||
m_GameObject: {fileID: 1372199851}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0.5, y: -0.5, z: -0.5, w: 0.5}
|
||||
m_LocalPosition: {x: -1.371, y: 0.977, z: 1.694}
|
||||
m_LocalPosition: {x: -1.371, y: 0.977, z: 1.699}
|
||||
m_LocalScale: {x: 0.2, y: 1, z: 0.2}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
@@ -751,7 +751,7 @@ Transform:
|
||||
m_GameObject: {fileID: 2050798864}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 1.99, y: 0, z: 0}
|
||||
m_LocalPosition: {x: 1.985, y: 0, z: -0}
|
||||
m_LocalScale: {x: 0.1, y: 1, z: 0.3}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
|
||||
@@ -527,6 +527,95 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1460292948
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1460292952}
|
||||
- component: {fileID: 1460292951}
|
||||
- component: {fileID: 1460292950}
|
||||
m_Layer: 0
|
||||
m_Name: SFXTest
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!23 &1460292950
|
||||
MeshRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1460292948}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 1
|
||||
m_ReceiveShadows: 1
|
||||
m_DynamicOccludee: 1
|
||||
m_StaticShadowCaster: 0
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 2
|
||||
m_RayTraceProcedural: 0
|
||||
m_RayTracingAccelStructBuildFlagsOverride: 0
|
||||
m_RayTracingAccelStructBuildFlags: 1
|
||||
m_SmallMeshCulling: 1
|
||||
m_ForceMeshLod: -1
|
||||
m_MeshLodSelectionBias: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 3
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_GlobalIlluminationMeshLod: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_AdditionalVertexStreams: {fileID: 0}
|
||||
--- !u!33 &1460292951
|
||||
MeshFilter:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1460292948}
|
||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
||||
--- !u!4 &1460292952
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1460292948}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 7.44, y: 2.04, z: 8.13}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1533098597
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -867,6 +956,7 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 1959874991}
|
||||
- component: {fileID: 1959874990}
|
||||
- component: {fileID: 1959874992}
|
||||
m_Layer: 0
|
||||
m_Name: SceneScope
|
||||
m_TagString: Untagged
|
||||
@@ -901,6 +991,20 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1959874992
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1959874989}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 88584fd4361b46f6a7326440cd95ce69, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier: Assembly-CSharp::Code.App.SceneInstallers.GameplaySceneInstaller
|
||||
_gameplaySceneEnvironment:
|
||||
debugSfxTarget: {fileID: 1460292952}
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -910,3 +1014,4 @@ SceneRoots:
|
||||
- {fileID: 481156070}
|
||||
- {fileID: 1376862595}
|
||||
- {fileID: 1543748509}
|
||||
- {fileID: 1460292952}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f0a1f49824855efb0b1ffb2916cbeea9
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 21b7413ba9498cef4a17c854150b8a02
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,131 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7972208015551953404
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4517388324116496493}
|
||||
- component: {fileID: 6551050329024541224}
|
||||
m_Layer: 0
|
||||
m_Name: AudioSource
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4517388324116496493
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7972208015551953404}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!82 &6551050329024541224
|
||||
AudioSource:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7972208015551953404}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 4
|
||||
OutputAudioMixerGroup: {fileID: 0}
|
||||
m_audioClip: {fileID: 0}
|
||||
m_Resource: {fileID: 0}
|
||||
m_PlayOnAwake: 1
|
||||
m_Volume: 1
|
||||
m_Pitch: 1
|
||||
Loop: 0
|
||||
Mute: 0
|
||||
Spatialize: 0
|
||||
SpatializePostEffects: 0
|
||||
Priority: 128
|
||||
DopplerLevel: 1
|
||||
MinDistance: 1
|
||||
MaxDistance: 500
|
||||
Pan2D: 0
|
||||
rolloffMode: 0
|
||||
BypassEffects: 0
|
||||
BypassListenerEffects: 0
|
||||
BypassReverbZones: 0
|
||||
rolloffCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
- serializedVersion: 3
|
||||
time: 1
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
panLevelCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
spreadCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 0
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
reverbZoneMixCustomCurve:
|
||||
serializedVersion: 2
|
||||
m_Curve:
|
||||
- serializedVersion: 3
|
||||
time: 0
|
||||
value: 1
|
||||
inSlope: 0
|
||||
outSlope: 0
|
||||
tangentMode: 0
|
||||
weightedMode: 0
|
||||
inWeight: 0.33333334
|
||||
outWeight: 0.33333334
|
||||
m_PreInfinity: 2
|
||||
m_PostInfinity: 2
|
||||
m_RotationOrder: 4
|
||||
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9293380a88bf6736889be29722b94269
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7ba8f20a511ea44ca90ef109343ec372
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 03e51c504fa7e0624ba855ec35b60bcc
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 8
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b2c9f83c47783069aabb564f68cb0cbb
|
||||
AudioImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 8
|
||||
defaultSettings:
|
||||
serializedVersion: 2
|
||||
loadType: 0
|
||||
sampleRateSetting: 0
|
||||
sampleRateOverride: 44100
|
||||
compressionFormat: 1
|
||||
quality: 1
|
||||
conversionMode: 0
|
||||
preloadAudioData: 0
|
||||
platformSettingOverrides: {}
|
||||
forceToMono: 0
|
||||
normalize: 1
|
||||
loadInBackground: 0
|
||||
ambisonic: 0
|
||||
3D: 1
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Binary file not shown.
Loaded 100 of 148 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user