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

Завтра будут спавнпоинты + модельки
This commit is contained in:
MrTorex committed 2025-11-19 22:57:42 +03:00
1 parent afdd523682
commit bde4096f95
11 files changed
+122 -22

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
@@ -0,0 +1,33 @@
%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: aa4dd2a5cce24902a2918488b5751f2f, type: 3}
m_Name: FogConfig
m_EditorClassIdentifier: Assembly-CSharp::Code.Configs.FogConfig
fogPrefab:
m_AssetGUID:
m_SubObjectName:
m_SubObjectType:
m_SubObjectGUID:
m_EditorAssetChanged: 0
damage: 2147483647
attackCooldown: 0
detectionRange: 0
attackRange: 10
speed: 1.5
isStunnable: 0
stunDuration: 0
usesIdleMovement: 0
idleWanderRadius: 0
idleMoveDurationMin: 0
idleMoveDurationMax: 0
idlePauseDurationMin: 0
idlePauseDurationMax: 0
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 367017c1e176ddbbd9135cb82dbd94d2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
@@ -229,28 +229,14 @@ GameObject:
- component: {fileID: 471754163}
- component: {fileID: 471754162}
- component: {fileID: 471754161}
- component: {fileID: 471754159}
- component: {fileID: 471754164}
m_Layer: 0
m_Name: Fog
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!114 &471754159
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 471754158}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4c70370426e4457aa9a56c77689158ff, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::Code.Gameplay.Enemies.FogEnemy
agent: {fileID: 0}
enemyCollider: {fileID: 0}
m_IsActive: 1
--- !u!23 &471754161
MeshRenderer:
m_ObjectHideFlags: 0
@@ -322,6 +308,20 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &471754164
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 471754158}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4c70370426e4457aa9a56c77689158ff, type: 3}
m_Name:
m_EditorClassIdentifier: Assembly-CSharp::Code.Gameplay.Enemies.Fog
agent: {fileID: 0}
enemyCollider: {fileID: 0}
--- !u!1 &522518533
GameObject:
m_ObjectHideFlags: 0
@@ -517,7 +517,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!23 &599793082
MeshRenderer:
m_ObjectHideFlags: 0