В инфраструктуре начался сущий кошмар
This commit is contained in:
1 parent
346dc97fef
commit
e67fea2051
51 files changed
+659
-140
No files matched your search
@@ -15,7 +15,7 @@ MonoBehaviour:
|
|||||||
m_DefaultGroup: d447fc60305c17a17bf20948ab295a45
|
m_DefaultGroup: d447fc60305c17a17bf20948ab295a45
|
||||||
m_currentHash:
|
m_currentHash:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
Hash: 34399050abff08a61a01aced0e2bdda4
|
Hash: 7ed5aa0308ed28c84409cb70340524a8
|
||||||
m_OptimizeCatalogSize: 0
|
m_OptimizeCatalogSize: 0
|
||||||
m_BuildRemoteCatalog: 0
|
m_BuildRemoteCatalog: 0
|
||||||
m_CatalogRequestsTimeout: 0
|
m_CatalogRequestsTimeout: 0
|
||||||
|
|||||||
@@ -35,16 +35,41 @@ MonoBehaviour:
|
|||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
m_SerializedLabels: []
|
m_SerializedLabels: []
|
||||||
FlaggedDuringContentUpdateRestriction: 0
|
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_GUID: 23e11d2c8a4f12f4ea9a7a43d1118464
|
||||||
m_Address: Gameplay
|
m_Address: Gameplay
|
||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
m_SerializedLabels: []
|
m_SerializedLabels: []
|
||||||
FlaggedDuringContentUpdateRestriction: 0
|
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_GUID: 2f6134357dc2a5641a846a7478ce4c2c
|
||||||
m_Address: bravo!
|
m_Address: bravo!
|
||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
m_SerializedLabels: []
|
m_SerializedLabels: []
|
||||||
FlaggedDuringContentUpdateRestriction: 0
|
FlaggedDuringContentUpdateRestriction: 0
|
||||||
|
- m_GUID: 31f16c866d3224ab8a7e0fabf3745ec5
|
||||||
|
m_Address: Audio/Dispatcher/late5
|
||||||
|
m_ReadOnly: 0
|
||||||
|
m_SerializedLabels: []
|
||||||
|
FlaggedDuringContentUpdateRestriction: 0
|
||||||
- m_GUID: 3831a36e0c8e48f659517a6bb99378b6
|
- m_GUID: 3831a36e0c8e48f659517a6bb99378b6
|
||||||
m_Address: cbar_hit1
|
m_Address: cbar_hit1
|
||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
@@ -55,6 +80,21 @@ MonoBehaviour:
|
|||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
m_SerializedLabels: []
|
m_SerializedLabels: []
|
||||||
FlaggedDuringContentUpdateRestriction: 0
|
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_GUID: 803e40b883c823b89a91aa8b9d9fc483
|
||||||
m_Address: valve_sound
|
m_Address: valve_sound
|
||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
@@ -65,6 +105,16 @@ MonoBehaviour:
|
|||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
m_SerializedLabels: []
|
m_SerializedLabels: []
|
||||||
FlaggedDuringContentUpdateRestriction: 0
|
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_GUID: 9293380a88bf6736889be29722b94269
|
||||||
m_Address: Audio/AudioSource
|
m_Address: Audio/AudioSource
|
||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
@@ -90,6 +140,11 @@ MonoBehaviour:
|
|||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
m_SerializedLabels: []
|
m_SerializedLabels: []
|
||||||
FlaggedDuringContentUpdateRestriction: 0
|
FlaggedDuringContentUpdateRestriction: 0
|
||||||
|
- m_GUID: cab4b1ff78dd6b1fba61aa165aa17b4d
|
||||||
|
m_Address: Audio/Dispatcher/receiving_an_order2
|
||||||
|
m_ReadOnly: 0
|
||||||
|
m_SerializedLabels: []
|
||||||
|
FlaggedDuringContentUpdateRestriction: 0
|
||||||
- m_GUID: ebe18293a5ef86704b23dad3a1786476
|
- m_GUID: ebe18293a5ef86704b23dad3a1786476
|
||||||
m_Address: Half-Life01
|
m_Address: Half-Life01
|
||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
@@ -100,6 +155,16 @@ MonoBehaviour:
|
|||||||
m_ReadOnly: 0
|
m_ReadOnly: 0
|
||||||
m_SerializedLabels: []
|
m_SerializedLabels: []
|
||||||
FlaggedDuringContentUpdateRestriction: 0
|
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_ReadOnly: 0
|
||||||
m_Settings: {fileID: 11400000, guid: 2588e84eb64800d0781c574a37fa48d8, type: 2}
|
m_Settings: {fileID: 11400000, guid: 2588e84eb64800d0781c574a37fa48d8, type: 2}
|
||||||
m_SchemaSet:
|
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:
|
||||||
@@ -4,26 +4,35 @@ using Code.Gameplay.Camera;
|
|||||||
using Code.Gameplay.Player;
|
using Code.Gameplay.Player;
|
||||||
using Code.Input;
|
using Code.Input;
|
||||||
using Code.Scenes;
|
using Code.Scenes;
|
||||||
|
using Code.Scenes.SceneEnvironments;
|
||||||
using Code.StateMachine;
|
using Code.StateMachine;
|
||||||
using Code.UI;
|
using Code.UI;
|
||||||
|
using Cysharp.Threading.Tasks;
|
||||||
|
using Reflex.Extensions;
|
||||||
|
using UnityEngine;
|
||||||
using UnityEngine.InputSystem;
|
using UnityEngine.InputSystem;
|
||||||
|
using UnityEngine.SceneManagement;
|
||||||
|
|
||||||
namespace Code.App.AppStates
|
namespace Code.App.AppStates
|
||||||
{
|
{
|
||||||
public class GameplayState : BaseState<AppStateMachineContext>
|
public class GameplayState : BaseState<AppStateMachineContext>
|
||||||
{
|
{
|
||||||
|
// DEBUG
|
||||||
|
private Transform _testSFXTransform;
|
||||||
|
// DEBUG
|
||||||
|
|
||||||
private PlayerHealth _playerHealth;
|
private PlayerHealth _playerHealth;
|
||||||
private PlayerMoney _playerMoney;
|
private PlayerMoney _playerMoney;
|
||||||
|
|
||||||
private bool _uiLoaded, _sceneLoaded, _onGameplayMusicLoaded, _onActionMusicLoaded;
|
private bool _uiLoaded, _sceneLoaded, _onGameplayMusicLoaded, _onSFXLoaded;
|
||||||
|
|
||||||
public GameplayState(AppStateMachineContext context) : base(context)
|
public GameplayState(AppStateMachineContext context) : base(context)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void EnterState()
|
public override void EnterState()
|
||||||
{
|
{
|
||||||
_uiLoaded = _sceneLoaded = _onActionMusicLoaded = _onGameplayMusicLoaded = false;
|
_uiLoaded = _sceneLoaded = _onGameplayMusicLoaded = _onSFXLoaded = false;
|
||||||
|
|
||||||
Context.UIService.LoadingScreen.Show();
|
Context.UIService.LoadingScreen.Show();
|
||||||
|
|
||||||
@@ -32,52 +41,101 @@ namespace Code.App.AppStates
|
|||||||
|
|
||||||
_playerHealth.OnDeath += EndGame;
|
_playerHealth.OnDeath += EndGame;
|
||||||
|
|
||||||
Context.SceneLoaderService.LoadSceneAsync((int)SceneIds.MovementDev, callBack: OnSceneLoaded); // TODO Фабрика игрока Nada
|
// TODO
|
||||||
|
// Context.SceneLoaderService.LoadSceneAsync((int)SceneIds.MovementDev, callBack: OnSceneLoaded); // TODO Фабрика игрока Nada
|
||||||
|
|
||||||
Context.UIService.SwitchPanelTo(UIPanel.Gameplay, callback: PostUILoaded);
|
// Context.UIService.SwitchPanelTo(UIPanel.Gameplay, callback: PostUILoaded);
|
||||||
|
|
||||||
Context.AudioFactory.WarmGameplayMusic(OnGameplayMusicLoaded);
|
// Context.AudioFactory.WarmGameplayMusic(OnGameplayMusicLoaded);
|
||||||
|
// Context.AudioFactory.WarmSFX(OnSFXLoaded);
|
||||||
|
// TODO
|
||||||
Context.AudioService.TransitToSnapshot(AudioSnapshotState.Peaceful);
|
Context.AudioService.TransitToSnapshot(AudioSnapshotState.Peaceful);
|
||||||
|
|
||||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.GiveHealth, GiveHealth);
|
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug1, GiveHealth);
|
||||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.GiveMoney, GiveMoney);
|
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug3, GiveMoney);
|
||||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.LooseHealth, LooseHealth);
|
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug2, LooseHealth);
|
||||||
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.LooseMoney, LooseMoney);
|
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug4, LooseMoney);
|
||||||
}
|
Context.InputService.DebugBindAction((int)ActionMappings.Debug, (int)DebugActions.Debug5, PlayDebugSFX);
|
||||||
|
|
||||||
private void OnGameplayMusicLoaded()
|
WaitForSceneToLoad();
|
||||||
{
|
|
||||||
_onGameplayMusicLoaded = true;
|
|
||||||
|
|
||||||
// Context.AudioService.();
|
|
||||||
|
|
||||||
CheckIfLoaded();
|
|
||||||
}
|
|
||||||
private void OnSceneLoaded()
|
|
||||||
{
|
|
||||||
_sceneLoaded = true;
|
|
||||||
CheckIfLoaded();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
((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.CameraStateMachine.SwitchState(CameraMode.FirstPerson);
|
||||||
Context.InputService.EnableMap(ActionMappings.Gameplay);
|
Context.InputService.EnableMap(ActionMappings.Gameplay);
|
||||||
|
|
||||||
|
Context.UIService.LoadingScreen.Hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// private void OnGameplayMusicLoaded()
|
||||||
|
// {
|
||||||
|
// _onGameplayMusicLoaded = true;
|
||||||
|
//
|
||||||
|
// Context.AudioService.PlayRandomPeacefulMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||||
|
// Context.AudioService.PlayRandomActionMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||||
|
//
|
||||||
|
// CheckIfLoaded();
|
||||||
|
// }
|
||||||
|
// private void OnSFXLoaded()
|
||||||
|
// {
|
||||||
|
// _onSFXLoaded = true;
|
||||||
|
//
|
||||||
|
// CheckIfLoaded();
|
||||||
|
// }
|
||||||
|
// private void OnSceneLoaded()
|
||||||
|
// {
|
||||||
|
// _sceneLoaded = true;
|
||||||
|
//
|
||||||
|
// var sceneEnvironment = ((GameplaySceneEnvironment)SceneManager.GetActiveScene()
|
||||||
|
// .GetSceneContainer().Resolve<CurrentSceneEnvironment>());
|
||||||
|
//
|
||||||
|
// _testSFXTransform = sceneEnvironment.debugSfxTarget;
|
||||||
|
//
|
||||||
|
// CheckIfLoaded();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// private void PostUILoaded()
|
||||||
|
// {
|
||||||
|
// ((GameplayPanel)Context.UIService.CurrentPanel).Initialize(_playerMoney, _playerHealth);
|
||||||
|
// _uiLoaded = true;
|
||||||
|
// CheckIfLoaded();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// private void CheckIfLoaded()
|
||||||
|
// {
|
||||||
|
// if(!_uiLoaded || !_sceneLoaded || !_onGameplayMusicLoaded || !_onSFXLoaded) return;
|
||||||
|
//
|
||||||
|
// Context.UIService.LoadingScreen.Hide();
|
||||||
|
//
|
||||||
|
// Context.CameraStateMachine.SwitchState(CameraMode.FirstPerson);
|
||||||
|
// Context.InputService.EnableMap(ActionMappings.Gameplay);
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
// Debug
|
// DEBUG
|
||||||
|
|
||||||
|
private void PlayDebugSFX(InputAction.CallbackContext context)
|
||||||
|
{
|
||||||
|
Context.AudioService.PlaySFX(SFXSounds.Crowbar, _testSFXTransform.position);
|
||||||
|
}
|
||||||
private void GiveHealth(InputAction.CallbackContext context)
|
private void GiveHealth(InputAction.CallbackContext context)
|
||||||
{
|
{
|
||||||
_playerHealth.GetDamage(-1);
|
_playerHealth.GetDamage(-1);
|
||||||
@@ -99,7 +157,7 @@ namespace Code.App.AppStates
|
|||||||
_playerMoney.LooseMoney(100);
|
_playerMoney.LooseMoney(100);
|
||||||
((GameplayPanel)(Context.UIService.CurrentPanel)).CloseDispatcher();
|
((GameplayPanel)(Context.UIService.CurrentPanel)).CloseDispatcher();
|
||||||
}
|
}
|
||||||
|
// DEBUG
|
||||||
public override void Tick()
|
public override void Tick()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -116,11 +174,13 @@ namespace Code.App.AppStates
|
|||||||
_playerMoney = null;
|
_playerMoney = null;
|
||||||
|
|
||||||
Context.InputService.DisableMap(ActionMappings.Gameplay);
|
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.Debug1, GiveHealth);
|
||||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.GiveMoney, GiveHealth);
|
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug3, GiveHealth);
|
||||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.LooseHealth, LooseHealth);
|
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug2, LooseHealth);
|
||||||
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.LooseMoney, LooseMoney);
|
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug4, LooseMoney);
|
||||||
|
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug5, PlayDebugSFX);
|
||||||
|
|
||||||
base.ExitState();
|
base.ExitState();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ using Code.Scenes;
|
|||||||
using Code.Scenes.SceneEnvironments;
|
using Code.Scenes.SceneEnvironments;
|
||||||
using Code.StateMachine;
|
using Code.StateMachine;
|
||||||
using Code.UI;
|
using Code.UI;
|
||||||
|
using Cysharp.Threading.Tasks;
|
||||||
using Reflex.Extensions;
|
using Reflex.Extensions;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.SceneManagement;
|
using UnityEngine.SceneManagement;
|
||||||
@@ -15,47 +16,42 @@ namespace Code.App.AppStates
|
|||||||
{
|
{
|
||||||
public class MainMenuState : BaseState<AppStateMachineContext>
|
public class MainMenuState : BaseState<AppStateMachineContext>
|
||||||
{
|
{
|
||||||
private bool _uiLoaded, _sceneLoaded, _menuMusicLoaded;
|
// private bool _uiLoaded, _sceneLoaded, _menuMusicLoaded;
|
||||||
public MainMenuState(AppStateMachineContext context) : base(context)
|
public MainMenuState(AppStateMachineContext context) : base(context)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void EnterState()
|
public override void EnterState()
|
||||||
{
|
{
|
||||||
_uiLoaded = _sceneLoaded = _menuMusicLoaded = false;
|
// _uiLoaded = _sceneLoaded = _menuMusicLoaded = false;
|
||||||
|
|
||||||
Context.UIService.LoadingScreen.Show();
|
Context.UIService.LoadingScreen.Show();
|
||||||
|
|
||||||
Context.SceneLoaderService.LoadSceneAsync((int)SceneIds.MainMenu, callBack: SceneLoaded);
|
// Context.SceneLoaderService.LoadSceneAsync((int)SceneIds.MainMenu);
|
||||||
|
//
|
||||||
Context.UIService.SwitchPanelTo(UIPanel.MainMenu, PostUILoaded);
|
// Context.UIService.SwitchPanelTo(UIPanel.MainMenu, PostUILoaded);
|
||||||
|
//
|
||||||
Context.AudioFactory.WarmMenuMusic(MenuMusicLoaded);
|
// Context.AudioFactory.WarmMenuMusic(MenuMusicLoaded);
|
||||||
|
|
||||||
Context.CameraStateMachine.SwitchState(CameraMode.Static);
|
Context.CameraStateMachine.SwitchState(CameraMode.Static);
|
||||||
|
|
||||||
|
WaitForSceneToLoad();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MenuMusicLoaded()
|
private async UniTaskVoid WaitForSceneToLoad()
|
||||||
{
|
{
|
||||||
_menuMusicLoaded = true;
|
await UniTask.WhenAll(
|
||||||
|
Context.SceneLoaderService.LoadSceneAsyncAwaitable((int)SceneIds.MainMenu),
|
||||||
|
Context.UIService.AsyncSwitchPanelTo(UIPanel.MainMenu),
|
||||||
|
Context.AudioFactory.WarmMenuMusic()
|
||||||
|
);
|
||||||
|
|
||||||
Context.AudioService.TransitToSnapshot(AudioSnapshotState.Peaceful);
|
Context.AudioService.TransitToSnapshot(AudioSnapshotState.Peaceful);
|
||||||
Context.AudioService.PlayRandomMenuMusicUntilHumanityWillBeDestroyedForTheySins();
|
Context.AudioService.PlayRandomMenuMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||||
|
|
||||||
CheckIfLoaded();
|
|
||||||
}
|
|
||||||
private void PostUILoaded()
|
|
||||||
{
|
|
||||||
((MainMenuPanel)Context.UIService.CurrentPanel).startButton.onClick.AddListener(StartGame);
|
((MainMenuPanel)Context.UIService.CurrentPanel).startButton.onClick.AddListener(StartGame);
|
||||||
((MainMenuPanel)Context.UIService.CurrentPanel).exitButton.onClick.AddListener(ExitGame);
|
((MainMenuPanel)Context.UIService.CurrentPanel).exitButton.onClick.AddListener(ExitGame);
|
||||||
|
|
||||||
_uiLoaded = true;
|
|
||||||
|
|
||||||
CheckIfLoaded();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void SceneLoaded()
|
|
||||||
{
|
|
||||||
var hui = ((MainMenuEnvironment)SceneManager.GetActiveScene()
|
var hui = ((MainMenuEnvironment)SceneManager.GetActiveScene()
|
||||||
.GetSceneContainer().Resolve<CurrentSceneEnvironment>());
|
.GetSceneContainer().Resolve<CurrentSceneEnvironment>());
|
||||||
|
|
||||||
@@ -64,22 +60,56 @@ namespace Code.App.AppStates
|
|||||||
|
|
||||||
((BaseCameraState)Context.CameraStateMachine.CurrentBaseState).SetFollowTransform(hui.cameraPosition);
|
((BaseCameraState)Context.CameraStateMachine.CurrentBaseState).SetFollowTransform(hui.cameraPosition);
|
||||||
|
|
||||||
|
|
||||||
_sceneLoaded = true;
|
|
||||||
|
|
||||||
CheckIfLoaded();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void CheckIfLoaded()
|
|
||||||
{
|
|
||||||
if(!_uiLoaded || !_sceneLoaded || !_menuMusicLoaded) return;
|
|
||||||
|
|
||||||
Context.UIService.LoadingScreen.Hide();
|
Context.UIService.LoadingScreen.Hide();
|
||||||
|
|
||||||
Context.InputService.EnableMap(ActionMappings.MainMenu);
|
Context.InputService.EnableMap(ActionMappings.MainMenu);
|
||||||
|
|
||||||
base.EnterState();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// private void MenuMusicLoaded()
|
||||||
|
// {
|
||||||
|
// _menuMusicLoaded = true;
|
||||||
|
//
|
||||||
|
// Context.AudioService.TransitToSnapshot(AudioSnapshotState.Peaceful);
|
||||||
|
// Context.AudioService.PlayRandomMenuMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||||
|
//
|
||||||
|
// CheckIfLoaded();
|
||||||
|
// }
|
||||||
|
// private void PostUILoaded()
|
||||||
|
// {
|
||||||
|
// ((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>());
|
||||||
|
//
|
||||||
|
// ((StaticState)Context.CameraStateMachine.CurrentBaseState).LookTarget =
|
||||||
|
// hui.cameraTarget;
|
||||||
|
//
|
||||||
|
// ((BaseCameraState)Context.CameraStateMachine.CurrentBaseState).SetFollowTransform(hui.cameraPosition);
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// _sceneLoaded = true;
|
||||||
|
//
|
||||||
|
// CheckIfLoaded();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// private void CheckIfLoaded()
|
||||||
|
// {
|
||||||
|
// if(!_uiLoaded || !_sceneLoaded || !_menuMusicLoaded) return;
|
||||||
|
//
|
||||||
|
// Context.UIService.LoadingScreen.Hide();
|
||||||
|
//
|
||||||
|
// Context.InputService.EnableMap(ActionMappings.MainMenu);
|
||||||
|
//
|
||||||
|
// base.EnterState();
|
||||||
|
// }
|
||||||
|
|
||||||
public override void Tick()
|
public override void Tick()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -79,18 +79,13 @@ namespace Code.App
|
|||||||
containerBuilder.AddSingleton(staticDataService.SFXListConfig, typeof(SFXListConfig));
|
containerBuilder.AddSingleton(staticDataService.SFXListConfig, typeof(SFXListConfig));
|
||||||
containerBuilder.AddSingleton(staticDataService.DispatcherSoundListConfig, typeof(DispatcherSoundListConfig));
|
containerBuilder.AddSingleton(staticDataService.DispatcherSoundListConfig, typeof(DispatcherSoundListConfig));
|
||||||
containerBuilder.AddSingleton(staticDataService.EnemiesSoundListConfig, typeof(EnemiesSoundListConfig));
|
containerBuilder.AddSingleton(staticDataService.EnemiesSoundListConfig, typeof(EnemiesSoundListConfig));
|
||||||
// containerBuilder.AddSingleton(staticDataService.UIConfig.canvasPrefab, typeof(Canvas));
|
|
||||||
// containerBuilder.AddSingleton(staticDataService.UIConfig.uiElementsPrefabs, typeof(UIElement[]));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool _onAudioLoaded;
|
private bool _onAudioLoaded;
|
||||||
private AppStateMachine _appStateMachine;
|
private AppStateMachine _appStateMachine;
|
||||||
|
|
||||||
private void Bootstrap(Container container)
|
private void Bootstrap(Container container)
|
||||||
{
|
{
|
||||||
container.Resolve<IAudioFactory>();
|
|
||||||
IAudioService audioService = container.Resolve<IAudioService>();
|
|
||||||
audioService.Initialize(OnAudioLoaded);
|
|
||||||
|
|
||||||
_appStateMachine = container.Resolve<AppStateMachine>();
|
_appStateMachine = container.Resolve<AppStateMachine>();
|
||||||
_appStateMachine.Initialize();
|
_appStateMachine.Initialize();
|
||||||
AttributeInjector.Inject(_appStateMachine.StateMachineContext, container);
|
AttributeInjector.Inject(_appStateMachine.StateMachineContext, container);
|
||||||
@@ -98,28 +93,24 @@ namespace Code.App
|
|||||||
CameraStateMachine cameraStateMachine = container.Resolve<CameraStateMachine>();
|
CameraStateMachine cameraStateMachine = container.Resolve<CameraStateMachine>();
|
||||||
AttributeInjector.Inject(cameraStateMachine.StateMachineContext, container);
|
AttributeInjector.Inject(cameraStateMachine.StateMachineContext, container);
|
||||||
cameraStateMachine.Initialize();
|
cameraStateMachine.Initialize();
|
||||||
|
|
||||||
|
BootstrapFinish(container);
|
||||||
|
}
|
||||||
|
private async UniTaskVoid BootstrapFinish(Container container)
|
||||||
|
{
|
||||||
|
// container.Resolve<IAudioFactory>();
|
||||||
|
|
||||||
var loadingScreen = GameObject.FindWithTag(Tags.LoadingScreen);
|
var loadingScreen = GameObject.FindWithTag(Tags.LoadingScreen);
|
||||||
DontDestroyOnLoad(loadingScreen);
|
DontDestroyOnLoad(loadingScreen);
|
||||||
|
|
||||||
IUIService uiService = container.Resolve<IUIService>();
|
await UniTask.WhenAll(
|
||||||
uiService.Initialize(loadingScreen.GetComponent<LoadingScreen>());
|
container.Resolve<IUIService>().Initialize(loadingScreen.GetComponent<LoadingScreen>()),
|
||||||
|
container.Resolve<IAudioService>().Initialize()
|
||||||
|
);
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void TryStartGame()
|
|
||||||
{
|
|
||||||
if (!_onAudioLoaded) return;
|
|
||||||
// TODO: поменяно для теста
|
|
||||||
_appStateMachine
|
_appStateMachine
|
||||||
.SwitchState(AppState.MainMenu)
|
.SwitchState(AppState.MainMenu)
|
||||||
.AllowStateTransition(AppState.Gameplay);
|
.AllowStateTransition(AppState.Gameplay);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnAudioLoaded()
|
|
||||||
{
|
|
||||||
_onAudioLoaded = true;
|
|
||||||
TryStartGame();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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 Code.Scenes.SceneEnvironments;
|
||||||
using Reflex.Core;
|
using Reflex.Core;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.Serialization;
|
||||||
|
|
||||||
namespace Code.App.SceneInstallers
|
namespace Code.App.SceneInstallers
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -66,14 +66,13 @@ namespace Code.Audio
|
|||||||
public async UniTask LoadAudioSourcePrefab(Action<GameObject> callback) =>
|
public async UniTask LoadAudioSourcePrefab(Action<GameObject> callback) =>
|
||||||
callback?.Invoke(await Addressables.LoadAssetAsync<GameObject>(_audioSourcePrefab));
|
callback?.Invoke(await Addressables.LoadAssetAsync<GameObject>(_audioSourcePrefab));
|
||||||
|
|
||||||
public async UniTaskVoid WarmGameplayMusic(Action callback)
|
public async UniTask WarmGameplayMusic( )
|
||||||
{
|
{
|
||||||
_actionMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_actionSoundtrack, OnActionTrackLoaded);
|
_actionMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_actionSoundtrack, OnActionTrackLoaded, Addressables.MergeMode.None);
|
||||||
_peacefulMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_peacefulSoundtrack, OnPeacefulTrackLoaded);
|
_peacefulMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_peacefulSoundtrack, OnPeacefulTrackLoaded, Addressables.MergeMode.None);
|
||||||
|
|
||||||
await UniTask.WhenAll(_actionMusicHandle.ToUniTask(), _peacefulMusicHandle.ToUniTask());
|
await UniTask.WhenAll(_actionMusicHandle.ToUniTask(), _peacefulMusicHandle.ToUniTask());
|
||||||
|
|
||||||
callback?.Invoke();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ReleaseGameplayMusic()
|
public void ReleaseGameplayMusic()
|
||||||
@@ -85,13 +84,12 @@ namespace Code.Audio
|
|||||||
_peacefulMusicHandle.Release();
|
_peacefulMusicHandle.Release();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async UniTaskVoid WarmMenuMusic(Action callback)
|
public async UniTask WarmMenuMusic( )
|
||||||
{
|
{
|
||||||
_menuMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_menuSoundtrack, OnMenuTrackLoaded, Addressables.MergeMode.None);
|
_menuMusicHandle = Addressables.LoadAssetsAsync<AudioClip>(_menuSoundtrack, OnMenuTrackLoaded, Addressables.MergeMode.None);
|
||||||
// foreach (var assetReference in _menuSoundtrack) MenuMusic.Add(await assetReference.LoadAssetAsync<AudioClip>());
|
// foreach (var assetReference in _menuSoundtrack) MenuMusic.Add(await assetReference.LoadAssetAsync<AudioClip>());
|
||||||
await _menuMusicHandle.ToUniTask();
|
await _menuMusicHandle.ToUniTask();
|
||||||
|
|
||||||
callback?.Invoke();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ReleaseMenuMusic()
|
public void ReleaseMenuMusic()
|
||||||
@@ -100,13 +98,12 @@ namespace Code.Audio
|
|||||||
// foreach (var assetReference in _menuSoundtrack) assetReference.ReleaseAsset();
|
// foreach (var assetReference in _menuSoundtrack) assetReference.ReleaseAsset();
|
||||||
_menuMusicHandle.Release();
|
_menuMusicHandle.Release();
|
||||||
}
|
}
|
||||||
public async UniTaskVoid WarmSFX(Action callback)
|
public async UniTask WarmSFX( )
|
||||||
{
|
{
|
||||||
_SFXHandle = Addressables.LoadAssetsAsync<AudioClip>(_SFX, OnSFXLoaded);
|
_SFXHandle = Addressables.LoadAssetsAsync<AudioClip>(_SFX, OnSFXLoaded, Addressables.MergeMode.None);
|
||||||
|
|
||||||
await _SFXHandle.ToUniTask();
|
await _SFXHandle.ToUniTask();
|
||||||
|
|
||||||
callback?.Invoke();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ReleaseSFX()
|
public void ReleaseSFX()
|
||||||
@@ -114,13 +111,12 @@ namespace Code.Audio
|
|||||||
SFXAudios.Clear();
|
SFXAudios.Clear();
|
||||||
_SFXHandle.Release();
|
_SFXHandle.Release();
|
||||||
}
|
}
|
||||||
public async UniTaskVoid WarmEnemies(Action callback)
|
public async UniTask WarmEnemies( )
|
||||||
{
|
{
|
||||||
_enemiesHandle = Addressables.LoadAssetsAsync<AudioClip>(_enemies, OnEnemiesLoaded);
|
_enemiesHandle = Addressables.LoadAssetsAsync<AudioClip>(_enemies, OnEnemiesLoaded, Addressables.MergeMode.None);
|
||||||
|
|
||||||
await _enemiesHandle.ToUniTask();
|
await _enemiesHandle.ToUniTask();
|
||||||
|
|
||||||
callback?.Invoke();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ReleaseEnemies()
|
public void ReleaseEnemies()
|
||||||
@@ -129,13 +125,12 @@ namespace Code.Audio
|
|||||||
_enemiesHandle.Release();
|
_enemiesHandle.Release();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async UniTaskVoid WarmDispatcher(Action callback)
|
public async UniTask WarmDispatcher( )
|
||||||
{
|
{
|
||||||
_dispatcherHandle = Addressables.LoadAssetsAsync<AudioClip>(_dispatcher, OnDispatcherLoaded);
|
_dispatcherHandle = Addressables.LoadAssetsAsync<AudioClip>(_dispatcher, OnDispatcherLoaded, Addressables.MergeMode.None);
|
||||||
|
|
||||||
await _dispatcherHandle.ToUniTask();
|
await _dispatcherHandle.ToUniTask();
|
||||||
|
|
||||||
callback?.Invoke();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ReleaseDispatcher()
|
public void ReleaseDispatcher()
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ namespace Code.Audio
|
|||||||
_audioFactory = audioFactory;
|
_audioFactory = audioFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async UniTaskVoid Initialize(Action callback)
|
public async UniTask Initialize()
|
||||||
{
|
{
|
||||||
// _mixer = await _audioFactory.CreateMixer();
|
// _mixer = await _audioFactory.CreateMixer();
|
||||||
_mixer = _audioFactory.AudioMixer;
|
_mixer = _audioFactory.AudioMixer;
|
||||||
@@ -62,8 +62,6 @@ namespace Code.Audio
|
|||||||
await _audioFactory.LoadAudioSourcePrefab(_audioSourcePool.Initialize);
|
await _audioFactory.LoadAudioSourcePrefab(_audioSourcePool.Initialize);
|
||||||
|
|
||||||
InitializeMusicSources();
|
InitializeMusicSources();
|
||||||
|
|
||||||
callback?.Invoke();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitializeMusicSources()
|
private void InitializeMusicSources()
|
||||||
@@ -180,6 +178,20 @@ namespace Code.Audio
|
|||||||
callback?.Invoke();
|
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)
|
public async UniTaskVoid GladlyAskToStopActionMusic(Action callback = null)
|
||||||
{
|
{
|
||||||
TransitToSnapshot(AudioSnapshotState.None);
|
TransitToSnapshot(AudioSnapshotState.None);
|
||||||
|
|||||||
@@ -16,15 +16,15 @@ namespace Code.Audio
|
|||||||
List<AudioClip> DispatcherAudios { get; }
|
List<AudioClip> DispatcherAudios { get; }
|
||||||
AudioMixer AudioMixer { get; }
|
AudioMixer AudioMixer { get; }
|
||||||
UniTask LoadAudioSourcePrefab(Action<GameObject> callback);
|
UniTask LoadAudioSourcePrefab(Action<GameObject> callback);
|
||||||
UniTaskVoid WarmGameplayMusic(Action callback);
|
UniTask WarmGameplayMusic();
|
||||||
void ReleaseGameplayMusic();
|
void ReleaseGameplayMusic();
|
||||||
UniTaskVoid WarmMenuMusic(Action callback);
|
UniTask WarmMenuMusic();
|
||||||
void ReleaseMenuMusic();
|
void ReleaseMenuMusic();
|
||||||
UniTaskVoid WarmSFX(Action callback);
|
UniTask WarmSFX();
|
||||||
void ReleaseSFX();
|
void ReleaseSFX();
|
||||||
UniTaskVoid WarmEnemies(Action callback);
|
UniTask WarmEnemies();
|
||||||
void ReleaseEnemies();
|
void ReleaseEnemies();
|
||||||
UniTaskVoid WarmDispatcher(Action callback);
|
UniTask WarmDispatcher();
|
||||||
void ReleaseDispatcher();
|
void ReleaseDispatcher();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,7 @@ namespace Code.Audio
|
|||||||
{
|
{
|
||||||
public interface IAudioService
|
public interface IAudioService
|
||||||
{
|
{
|
||||||
UniTaskVoid Initialize(Action callback);
|
UniTask Initialize();
|
||||||
void PlayRandomGameplayMusic();
|
void PlayRandomGameplayMusic();
|
||||||
void TransitToSnapshot(AudioSnapshotState state, float time = 1f);
|
void TransitToSnapshot(AudioSnapshotState state, float time = 1f);
|
||||||
void PlaySFX(SFXSounds sfxId, Vector3 position);
|
void PlaySFX(SFXSounds sfxId, Vector3 position);
|
||||||
@@ -19,5 +19,8 @@ namespace Code.Audio
|
|||||||
UniTaskVoid GladlyAskToStopMenuMusic(Action callback = null);
|
UniTaskVoid GladlyAskToStopMenuMusic(Action callback = null);
|
||||||
UniTaskVoid GladlyAskToStopActionMusic(Action callback = null);
|
UniTaskVoid GladlyAskToStopActionMusic(Action callback = null);
|
||||||
UniTaskVoid GladlyAskToStopPeacefulMusic(Action callback = null);
|
UniTaskVoid GladlyAskToStopPeacefulMusic(Action callback = null);
|
||||||
|
UniTaskVoid PlayRandomPeacefulMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||||
|
UniTaskVoid PlayRandomActionMusicUntilHumanityWillBeDestroyedForTheySins();
|
||||||
|
UniTaskVoid GladlyAskToStopGameplayMusic(Action callback = null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,9 +8,11 @@ namespace Code.Input
|
|||||||
}
|
}
|
||||||
public enum DebugActions
|
public enum DebugActions
|
||||||
{
|
{
|
||||||
GiveHealth,
|
Debug1,
|
||||||
LooseHealth,
|
Debug2,
|
||||||
GiveMoney,
|
Debug3,
|
||||||
LooseMoney
|
Debug4,
|
||||||
|
Debug5,
|
||||||
|
Debug6
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7,5 +7,6 @@ namespace Code.Scenes
|
|||||||
{
|
{
|
||||||
UniTaskVoid LoadSceneAsync(string sceneName, float waitFor = 0f, Action callBack = null);
|
UniTaskVoid LoadSceneAsync(string sceneName, float waitFor = 0f, Action callBack = null);
|
||||||
UniTaskVoid LoadSceneAsync(int sceneId, 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());
|
SceneManager.LoadSceneAsync(sceneId, LoadSceneMode.Single).ToUniTask());
|
||||||
callBack?.Invoke();
|
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());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,13 +1,15 @@
|
|||||||
using System;
|
using System;
|
||||||
using Code.UI.Panels;
|
using Code.UI.Panels;
|
||||||
|
using Cysharp.Threading.Tasks;
|
||||||
|
|
||||||
namespace Code.UI
|
namespace Code.UI
|
||||||
{
|
{
|
||||||
public interface IUIService
|
public interface IUIService
|
||||||
{
|
{
|
||||||
void SwitchPanelTo(UIPanel uiPanel, Action callback = null);
|
void SwitchPanelTo(UIPanel uiPanel, Action callback = null);
|
||||||
|
UniTask AsyncSwitchPanelTo(UIPanel uiPanel);
|
||||||
UIElement CurrentPanel { get; }
|
UIElement CurrentPanel { get; }
|
||||||
LoadingScreen LoadingScreen { get; }
|
LoadingScreen LoadingScreen { get; }
|
||||||
void Initialize(LoadingScreen loadingScreen);
|
UniTask Initialize(LoadingScreen loadingScreen);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,8 @@ namespace Code.UI
|
|||||||
{
|
{
|
||||||
private Canvas _canvas;
|
private Canvas _canvas;
|
||||||
private IUIFactory _factory;
|
private IUIFactory _factory;
|
||||||
|
|
||||||
|
|
||||||
public UIElement CurrentPanel { get; private set; }
|
public UIElement CurrentPanel { get; private set; }
|
||||||
|
|
||||||
public LoadingScreen LoadingScreen { get; private set; }
|
public LoadingScreen LoadingScreen { get; private set; }
|
||||||
@@ -22,7 +23,7 @@ namespace Code.UI
|
|||||||
_factory = factory;
|
_factory = factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async void Initialize(LoadingScreen loadingScreen)
|
public async UniTask Initialize(LoadingScreen loadingScreen)
|
||||||
{
|
{
|
||||||
LoadingScreen = loadingScreen;
|
LoadingScreen = loadingScreen;
|
||||||
LoadingScreen.Show();
|
LoadingScreen.Show();
|
||||||
@@ -30,9 +31,17 @@ namespace Code.UI
|
|||||||
_canvas = await _factory.CreateCanvas();
|
_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)
|
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);
|
if(CurrentPanel) Addressables.ReleaseInstance(CurrentPanel.gameObject);//Object.Destroy(CurrentPanel.gameObject);
|
||||||
|
|
||||||
|
|||||||
@@ -28,3 +28,58 @@ MonoBehaviour:
|
|||||||
m_SubObjectType:
|
m_SubObjectType:
|
||||||
m_SubObjectGUID:
|
m_SubObjectGUID:
|
||||||
m_EditorAssetChanged: 1
|
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
|
||||||
@@ -25,7 +25,12 @@ MonoBehaviour:
|
|||||||
m_SubObjectGUID:
|
m_SubObjectGUID:
|
||||||
m_EditorAssetChanged: 0
|
m_EditorAssetChanged: 0
|
||||||
menuSoundtrack:
|
menuSoundtrack:
|
||||||
- m_AssetGUID: 803e40b883c823b89a91aa8b9d9fc483
|
- m_AssetGUID: 2301400160a23924eb27c4bdbe797739
|
||||||
|
m_SubObjectName:
|
||||||
|
m_SubObjectType:
|
||||||
|
m_SubObjectGUID:
|
||||||
|
m_EditorAssetChanged: 0
|
||||||
|
- m_AssetGUID: f4b6fa54ecac6cc418f98824491aa17a
|
||||||
m_SubObjectName:
|
m_SubObjectName:
|
||||||
m_SubObjectType:
|
m_SubObjectType:
|
||||||
m_SubObjectGUID:
|
m_SubObjectGUID:
|
||||||
|
|||||||
@@ -527,6 +527,95 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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
|
--- !u!1 &1533098597
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -867,6 +956,7 @@ GameObject:
|
|||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 1959874991}
|
- component: {fileID: 1959874991}
|
||||||
- component: {fileID: 1959874990}
|
- component: {fileID: 1959874990}
|
||||||
|
- component: {fileID: 1959874992}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: SceneScope
|
m_Name: SceneScope
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -901,6 +991,20 @@ Transform:
|
|||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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
|
--- !u!1660057539 &9223372036854775807
|
||||||
SceneRoots:
|
SceneRoots:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -910,3 +1014,4 @@ SceneRoots:
|
|||||||
- {fileID: 481156070}
|
- {fileID: 481156070}
|
||||||
- {fileID: 1376862595}
|
- {fileID: 1376862595}
|
||||||
- {fileID: 1543748509}
|
- {fileID: 1543748509}
|
||||||
|
- {fileID: 1460292952}
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
LFS
BIN
Binary file not shown.
+23
@@ -0,0 +1,23 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2301400160a23924eb27c4bdbe797739
|
||||||
|
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.
+23
@@ -0,0 +1,23 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f4b6fa54ecac6cc418f98824491aa17a
|
||||||
|
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:
|
||||||
@@ -785,7 +785,7 @@
|
|||||||
"id": "b3e669ff-e0e0-48cb-9b63-8c54cdbdaa0e",
|
"id": "b3e669ff-e0e0-48cb-9b63-8c54cdbdaa0e",
|
||||||
"actions": [
|
"actions": [
|
||||||
{
|
{
|
||||||
"name": "GiveHealth",
|
"name": "Debug1",
|
||||||
"type": "Button",
|
"type": "Button",
|
||||||
"id": "074d042b-dc5a-4c4b-a9c3-9c969f757a12",
|
"id": "074d042b-dc5a-4c4b-a9c3-9c969f757a12",
|
||||||
"expectedControlType": "",
|
"expectedControlType": "",
|
||||||
@@ -794,7 +794,7 @@
|
|||||||
"initialStateCheck": false
|
"initialStateCheck": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "LooseYourself",
|
"name": "Debug2",
|
||||||
"type": "Button",
|
"type": "Button",
|
||||||
"id": "28cbcb74-1124-4508-8816-689711db5d68",
|
"id": "28cbcb74-1124-4508-8816-689711db5d68",
|
||||||
"expectedControlType": "",
|
"expectedControlType": "",
|
||||||
@@ -803,7 +803,7 @@
|
|||||||
"initialStateCheck": false
|
"initialStateCheck": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "GiveMoney",
|
"name": "Debug3",
|
||||||
"type": "Button",
|
"type": "Button",
|
||||||
"id": "77048d98-965a-42fd-8da5-7af8b5adb1fa",
|
"id": "77048d98-965a-42fd-8da5-7af8b5adb1fa",
|
||||||
"expectedControlType": "",
|
"expectedControlType": "",
|
||||||
@@ -812,13 +812,31 @@
|
|||||||
"initialStateCheck": false
|
"initialStateCheck": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "LooseMoney",
|
"name": "Debug4",
|
||||||
"type": "Button",
|
"type": "Button",
|
||||||
"id": "17325795-103a-477d-baec-95c185880b63",
|
"id": "17325795-103a-477d-baec-95c185880b63",
|
||||||
"expectedControlType": "",
|
"expectedControlType": "",
|
||||||
"processors": "",
|
"processors": "",
|
||||||
"interactions": "",
|
"interactions": "",
|
||||||
"initialStateCheck": false
|
"initialStateCheck": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Debug5",
|
||||||
|
"type": "Button",
|
||||||
|
"id": "1dde8e45-159c-471d-8fb1-7c8dddec02ac",
|
||||||
|
"expectedControlType": "",
|
||||||
|
"processors": "",
|
||||||
|
"interactions": "",
|
||||||
|
"initialStateCheck": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Debug6",
|
||||||
|
"type": "Button",
|
||||||
|
"id": "19dacc2e-d804-4f94-980f-c134dcbb7c6e",
|
||||||
|
"expectedControlType": "",
|
||||||
|
"processors": "",
|
||||||
|
"interactions": "",
|
||||||
|
"initialStateCheck": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"bindings": [
|
"bindings": [
|
||||||
@@ -829,7 +847,7 @@
|
|||||||
"interactions": "",
|
"interactions": "",
|
||||||
"processors": "",
|
"processors": "",
|
||||||
"groups": "",
|
"groups": "",
|
||||||
"action": "GiveHealth",
|
"action": "Debug1",
|
||||||
"isComposite": false,
|
"isComposite": false,
|
||||||
"isPartOfComposite": false
|
"isPartOfComposite": false
|
||||||
},
|
},
|
||||||
@@ -840,7 +858,7 @@
|
|||||||
"interactions": "",
|
"interactions": "",
|
||||||
"processors": "",
|
"processors": "",
|
||||||
"groups": "",
|
"groups": "",
|
||||||
"action": "LooseYourself",
|
"action": "Debug2",
|
||||||
"isComposite": false,
|
"isComposite": false,
|
||||||
"isPartOfComposite": false
|
"isPartOfComposite": false
|
||||||
},
|
},
|
||||||
@@ -851,7 +869,7 @@
|
|||||||
"interactions": "",
|
"interactions": "",
|
||||||
"processors": "",
|
"processors": "",
|
||||||
"groups": "",
|
"groups": "",
|
||||||
"action": "GiveMoney",
|
"action": "Debug3",
|
||||||
"isComposite": false,
|
"isComposite": false,
|
||||||
"isPartOfComposite": false
|
"isPartOfComposite": false
|
||||||
},
|
},
|
||||||
@@ -862,7 +880,29 @@
|
|||||||
"interactions": "",
|
"interactions": "",
|
||||||
"processors": "",
|
"processors": "",
|
||||||
"groups": "",
|
"groups": "",
|
||||||
"action": "LooseMoney",
|
"action": "Debug4",
|
||||||
|
"isComposite": false,
|
||||||
|
"isPartOfComposite": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"id": "2268d3a4-6112-4395-9260-b7dc77282357",
|
||||||
|
"path": "<Keyboard>/5",
|
||||||
|
"interactions": "",
|
||||||
|
"processors": "",
|
||||||
|
"groups": "",
|
||||||
|
"action": "Debug5",
|
||||||
|
"isComposite": false,
|
||||||
|
"isPartOfComposite": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"id": "c1b30fc8-baa0-45fd-a901-eda8acc9f6ec",
|
||||||
|
"path": "<Keyboard>/6",
|
||||||
|
"interactions": "",
|
||||||
|
"processors": "",
|
||||||
|
"groups": "",
|
||||||
|
"action": "Debug6",
|
||||||
"isComposite": false,
|
"isComposite": false,
|
||||||
"isPartOfComposite": false
|
"isPartOfComposite": false
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user