HealthReworkFuckMojMozg
This commit is contained in:
1 parent
98e4a055fe
commit
72070901ec
8 files changed
+65
-27
No files matched your search
@@ -1,4 +1,3 @@
|
||||
using System;
|
||||
using Code.Infrastructure.Configs;
|
||||
using UnityEngine;
|
||||
|
||||
@@ -49,5 +48,8 @@ namespace Code.Example.Platformer.Entity
|
||||
}
|
||||
|
||||
protected abstract void Move();
|
||||
|
||||
public virtual void OnGetDamage(){}
|
||||
public virtual void OnDeath(){}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using Unity.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Example.Platformer.Entity
|
||||
{
|
||||
public class EntityGUID : MonoBehaviour
|
||||
{
|
||||
[SerializeField, ReadOnly] private string _id = GenerateId();
|
||||
|
||||
public string Id => _id;
|
||||
|
||||
[ContextMenu("Reset Id")]
|
||||
private void ResetId()
|
||||
{
|
||||
_id = GenerateId();
|
||||
}
|
||||
|
||||
private static string GenerateId()
|
||||
{
|
||||
return Guid.NewGuid().ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 597458061f454fbc9767838561ac16b6
|
||||
timeCreated: 1773761214
|
||||
@@ -1,3 +1,5 @@
|
||||
using Code.Infrastructure.EventBus;
|
||||
using Reflex.Attributes;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Code.Example.Platformer.Entity
|
||||
@@ -9,11 +11,16 @@ namespace Code.Example.Platformer.Entity
|
||||
public void SetMaxHealth(int maxHealth) => _maxHealth = maxHealth;
|
||||
public bool IsDead { get; private set; }
|
||||
|
||||
[Inject] private EventBus _eventBus;
|
||||
[SerializeField] private Entity entity;
|
||||
|
||||
public void GiveDamage(int damage)
|
||||
{
|
||||
_health -= damage;
|
||||
|
||||
if(_health <= 0) IsDead = true;
|
||||
|
||||
_eventBus.RaiseEvent<IEntityDamagedHandler>(x=> x.EntityDamaged(gameObject, damage, IsDead));
|
||||
}
|
||||
|
||||
public void Heal(int heal)
|
||||
@@ -21,6 +28,17 @@ namespace Code.Example.Platformer.Entity
|
||||
if (IsDead) return;
|
||||
if (_health + heal > _maxHealth) _health = _maxHealth;
|
||||
else _health += heal;
|
||||
|
||||
_eventBus.RaiseEvent<IEntityHealedHandler>(x=> x.EntityHealed(gameObject, heal));
|
||||
}
|
||||
}
|
||||
|
||||
public interface IEntityDamagedHandler : IGlobalSubscriber
|
||||
{
|
||||
void EntityDamaged(GameObject entity, int damageCount, bool isDied);
|
||||
}
|
||||
public interface IEntityHealedHandler : IGlobalSubscriber
|
||||
{
|
||||
void EntityHealed(GameObject entity, int healCount);
|
||||
}
|
||||
}
|
||||
@@ -299,5 +299,6 @@ MonoBehaviour:
|
||||
animator: {fileID: -3155582984912602300}
|
||||
spriteRenderer: {fileID: 7973072655843182893}
|
||||
groundPoint: {x: 0, y: -0.4}
|
||||
groundPointadsdassd: 12312
|
||||
groundLeft: {x: -0.3, y: -0.4}
|
||||
groundRight: {x: 0.3, y: -0.4}
|
||||
@@ -2,7 +2,6 @@
|
||||
#pragma warning disable CS0105
|
||||
using Code.Infrastructure.Audio;
|
||||
using Code.Example.Platformer.Entity;
|
||||
using Code.Example.Platformer.Entity;
|
||||
using Code.Infrastructure.Volume;
|
||||
using Code.Infrastructure.Camera;
|
||||
using Code.Infrastructure.UI;
|
||||
@@ -10,6 +9,7 @@ using Code.Example.Race.Racer;
|
||||
using Code.Infrastructure.Configs;
|
||||
using Code.Infrastructure.Audio;
|
||||
using Code.Infrastructure.Audio;
|
||||
using Code.Example.Platformer.Entity;
|
||||
using Code.Infrastructure.UI;
|
||||
using Code.Infrastructure.SceneLoader;
|
||||
using Code.Infrastructure.Camera;
|
||||
@@ -31,8 +31,6 @@ using Code.Infrastructure.Input;
|
||||
|
||||
_multipleConfigReferences.Add(typeof(Code.Example.Platformer.Entity.PlatformerEntitySettingsConfig), systemConfigsReferences.PlatformerEntitySettings);
|
||||
|
||||
_singleConfigReferences.Add(typeof(Code.Example.Platformer.Entity.PlatformerPlayerSettingsConfig), systemConfigsReferences.PlatformerPlayerSettings);
|
||||
|
||||
_multipleConfigReferences.Add(typeof(Code.Infrastructure.Volume.VolumeSettingsConfig), systemConfigsReferences.VolumeSettings);
|
||||
|
||||
_singleConfigReferences.Add(typeof(Code.Infrastructure.Camera.GameCameraConfig), systemConfigsReferences.GameCamera);
|
||||
@@ -47,6 +45,8 @@ using Code.Infrastructure.Input;
|
||||
|
||||
_singleConfigReferences.Add(typeof(Code.Infrastructure.Audio.AudioSourcePrefabConfig), systemConfigsReferences.AudioSourcePrefab);
|
||||
|
||||
_singleConfigReferences.Add(typeof(Code.Example.Platformer.Entity.PlatformerPlayerSettingsConfig), systemConfigsReferences.PlatformerPlayerSettings);
|
||||
|
||||
_singleConfigReferences.Add(typeof(Code.Infrastructure.UI.CanvasSettingsConfig), systemConfigsReferences.CanvasSettings);
|
||||
|
||||
_multipleConfigReferences.Add(typeof(Code.Infrastructure.SceneLoader.SceneInfoConfig), systemConfigsReferences.SceneInfo);
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#pragma warning disable CS0105
|
||||
using Code.Infrastructure.Audio;
|
||||
using Code.Example.Platformer.Entity;
|
||||
using Code.Example.Platformer.Entity;
|
||||
using Code.Infrastructure.Volume;
|
||||
using Code.Infrastructure.Camera;
|
||||
using Code.Infrastructure.UI;
|
||||
@@ -10,6 +9,7 @@ using Code.Example.Race.Racer;
|
||||
using Code.Infrastructure.Configs;
|
||||
using Code.Infrastructure.Audio;
|
||||
using Code.Infrastructure.Audio;
|
||||
using Code.Example.Platformer.Entity;
|
||||
using Code.Infrastructure.UI;
|
||||
using Code.Infrastructure.SceneLoader;
|
||||
using Code.Infrastructure.Camera;
|
||||
@@ -23,7 +23,6 @@ using Code.Infrastructure.Input;
|
||||
{
|
||||
public string AudioInfo;
|
||||
public string PlatformerEntitySettings;
|
||||
public AssetReference PlatformerPlayerSettings;
|
||||
public string VolumeSettings;
|
||||
public AssetReference GameCamera;
|
||||
public string UIPanelSettings;
|
||||
@@ -31,6 +30,7 @@ public string RacerSettings;
|
||||
public string LayerMasksConfig;
|
||||
public string AudioSourceSettings;
|
||||
public AssetReference AudioSourcePrefab;
|
||||
public AssetReference PlatformerPlayerSettings;
|
||||
public AssetReference CanvasSettings;
|
||||
public string SceneInfo;
|
||||
public string CameraSettings;
|
||||
|
||||
Reference in new issue
Block a user