Добавлен конфиг для фога

Завтра будут спавнпоинты + модельки
This commit is contained in:
MrTorex committed 2025-11-20 08:34:20 +03:00
1 parent afdd523682
commit dab970737a
14 files changed
+149 -1322

No files matched your search

@@ -80,6 +80,7 @@ namespace Code.App
containerBuilder.AddSingleton(staticDataService.DrunkenGrandpaConfig, typeof(DrunkenGrandpaConfig));
containerBuilder.AddSingleton(staticDataService.CockroachConfig, typeof(CockroachConfig));
containerBuilder.AddSingleton(staticDataService.FogConfig, typeof(FogConfig));
containerBuilder.AddSingleton(staticDataService.AudioMixerConfig, typeof(AudioMixerConfig));
containerBuilder.AddSingleton(staticDataService.SoundtrackListConfig, typeof(SoundtrackListConfig));
@@ -0,0 +1,29 @@
using UnityEngine;
using UnityEngine.AddressableAssets;
namespace Code.Configs
{
[CreateAssetMenu(menuName = "Config/Enemies/Fog", fileName = "FogConfig")]
public class FogConfig : ScriptableObject
{
public AssetReference fogPrefab;
public int damage = int.MaxValue;
public float attackCooldown;
public float detectionRange;
public float attackRange = 5f;
public float speed = 1.5f;
public bool isStunnable;
public float stunDuration;
public bool usesIdleMovement;
public float idleWanderRadius;
public float idleMoveDurationMin;
public float idleMoveDurationMax;
public float idlePauseDurationMin;
public float idlePauseDurationMax;
}
}
@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: aa4dd2a5cce24902a2918488b5751f2f
timeCreated: 1763581410
@@ -49,10 +49,7 @@ namespace Code.Gameplay.Enemies
if (!(distance <= AttackRange)) return;
if (Player.CustomCharacterController.IsSliding)
ApplyStun();
else
DealDamage();
DealDamage();
}
}
}
@@ -1,9 +1,35 @@
using Code.Configs;
using Reflex.Attributes;
using UnityEngine;
namespace Code.Gameplay.Enemies
{
public class FogEnemy : BaseEnemy
public class Fog : BaseEnemy
{
[Inject]
private void Construct(FogConfig fogConfig)
{
Damage = fogConfig.damage;
AttackCooldown = fogConfig.attackCooldown;
DetectionRange = fogConfig.detectionRange;
AttackRange = fogConfig.attackRange;
Speed = fogConfig.speed;
IsStunnable = fogConfig.isStunnable;
StunDuration = fogConfig.stunDuration;
UsesIdleMovement = fogConfig.usesIdleMovement;
IdleWanderRadius = fogConfig.idleWanderRadius;
IdleMoveDurationMin = fogConfig.idleMoveDurationMin;
IdleMoveDurationMax = fogConfig.idleMoveDurationMax;
IdleMoveDurationMin = fogConfig.idleMoveDurationMin;
IdleMoveDurationMax = fogConfig.idleMoveDurationMax;
IdlePauseDurationMin = fogConfig.idlePauseDurationMin;
IdlePauseDurationMax = fogConfig.idlePauseDurationMax;
}
protected override void Awake()
{
base.Awake();
@@ -23,6 +23,7 @@ namespace Code.StaticData
EnemiesSoundListConfig EnemiesSoundListConfig { get; }
DrunkenGrandpaConfig DrunkenGrandpaConfig { get; }
CockroachConfig CockroachConfig { get; }
FogConfig FogConfig { get; }
void Load();
Task<T> InstantiateAsset<T>(AssetReference assetReference) where T : Behaviour;
}
@@ -22,6 +22,7 @@ namespace Code.StaticData
public EnemiesSoundListConfig EnemiesSoundListConfig { get; private set; }
public DrunkenGrandpaConfig DrunkenGrandpaConfig {get; private set;}
public CockroachConfig CockroachConfig { get; private set; }
public FogConfig FogConfig { get; private set; }
public void Load()
{
@@ -49,6 +50,7 @@ namespace Code.StaticData
{
DrunkenGrandpaConfig = Resources.Load<DrunkenGrandpaConfig>(string.Format(StringPaths.ConfigSingle, "Enemies", "DrunkenGrandpaConfig"));
CockroachConfig = Resources.Load<CockroachConfig>(string.Format(StringPaths.ConfigSingle, "Enemies", "CockroachConfig"));
FogConfig = Resources.Load<FogConfig>(string.Format(StringPaths.ConfigSingle, "Enemies", "FogConfig"));
}
public async Task<T> InstantiateAsset<T>(AssetReference assetReference) where T : Behaviour