Звуки шагов, ядерный таракан, монстр дед

This commit is contained in:
ThomasCharester committed 2025-12-01 18:36:22 +03:00
1 parent 134adda787
commit 2897eb88bf
20 files changed
+79004 -690

No files matched your search

@@ -72,7 +72,9 @@ namespace Code.App.AppStates
Context.UIService.AsyncSwitchPanelTo(UIPanel.Gameplay),
Context.AudioFactory.WarmGameplayMusic(),
Context.AudioFactory.WarmSFX(),
Context.AudioFactory.WarmDispatcher()
Context.AudioFactory.WarmDispatcher(),
Context.AudioFactory.WarmEnemies(),
Context.AudioFactory.WarmCourier()
);
Context.LoadingManager
@@ -207,6 +209,10 @@ namespace Code.App.AppStates
Context.InputService.DisableMap(ActionMappings.Gameplay);
Context.AudioService.GladlyAskToStopMusic(MusicType.Action, callback: Context.AudioFactory.ReleaseActionMusic);
Context.AudioService.GladlyAskToStopMusic(MusicType.Peaceful, callback: Context.AudioFactory.ReleasePeacefulMusic);
Context.AudioFactory.ReleaseCourier();
Context.AudioFactory.ReleaseDispatcher();
Context.AudioFactory.ReleaseEnemies();
Context.AudioFactory.ReleaseSFX();
Context.InputService.DebugUnbindAction((int)ActionMappings.Debug, (int)DebugActions.Debug1, InstaKillDEBUG);
@@ -14,6 +14,7 @@ namespace Code.Audio
List<AudioClip> SFXAudios { get; }
List<AudioClip> EnemiesAudios { get; }
List<AudioClip> DispatcherAudios { get; }
List<AudioClip> CourierAudios { get; }
UniTask LoadAudioSourcePrefab(Action<GameObject> callback);
UniTask WarmGameplayMusic( );
void ReleaseActionMusic();
@@ -28,5 +29,7 @@ namespace Code.Audio
void ReleaseEnemies();
UniTask WarmDispatcher( );
void ReleaseDispatcher();
UniTask WarmCourier();
void ReleaseCourier();
}
}
@@ -1,3 +1,4 @@
using Code.Audio;
using UnityEngine;
using UnityEngine.AI;
using Code.Gameplay.Player;
@@ -14,6 +15,7 @@ namespace Code.Gameplay.Enemies
{
[SerializeField] protected NavMeshAgent agent;
[SerializeField] protected Collider enemyCollider;
[Inject] protected IAudioService audioService;
protected int Damage;
protected float AttackCooldown;
@@ -1,3 +1,4 @@
using Code.Audio;
using Code.Configs;
using Reflex.Attributes;
using UnityEngine;
@@ -47,6 +48,7 @@ namespace Code.Gameplay.Enemies
var distance = Vector3.Distance(transform.position, Player.transform.position);
audioService.PlayEnemy(EnemiesSounds.Bravo,agent.transform.position);
if (!(distance <= AttackRange)) return;
DealDamage();
@@ -1,3 +1,4 @@
using Code.Audio;
using Code.Configs;
using Code.Gameplay.Enemies.Animators;
using Reflex.Attributes;
@@ -49,6 +50,8 @@ namespace Code.Gameplay.Enemies
if (!(distance <= AttackRange)) return;
audioService.PlayEnemy(EnemiesSounds.Bastard,agent.transform.position);
if (Player.CustomCharacterController.IsSliding)
ApplyStun();
else
@@ -22,7 +22,7 @@ namespace Code.Gameplay.Player
public void PlayStep()
{
// _audioSource.PlayOneShot();
_audioSource.PlayOneShot(_audioFactory.CourierAudios[(int)CourierSounds.Step]);
}
private void OnDestroy()
{
@@ -21,7 +21,7 @@ namespace Code.Gameplay.Player
if (count < 0) count = _playerConfig.maxHealth;
return new(count);
}
}
public async UniTask<CharacterProvider> CreatePlayer()
{
@@ -42,7 +42,13 @@ namespace Code.Gameplay.Player
Addressables.ReleaseInstance(characterProvider.gameObject);
}
public async UniTask<ArmsMeshProvider> CreateArms(Transform papochka) => (await Addressables.InstantiateAsync(_playerConfig.armsMeshPrefab, papochka).ToUniTask()).GetComponent<ArmsMeshProvider>();
public async UniTask<ArmsMeshProvider> CreateArms(Transform papochka)
{
var armsMesh = (await Addressables.InstantiateAsync(_playerConfig.armsMeshPrefab, papochka).ToUniTask());
GameObjectInjector.InjectRecursive(armsMesh, Container.ProjectContainer);
return armsMesh.GetComponent<ArmsMeshProvider>();
}
public void ReleaseArms(ArmsMeshProvider arms) => Addressables.ReleaseInstance(arms.gameObject);
}
}