diff --git a/.idea/.idea.Infratest/.idea/workspace.xml b/.idea/.idea.Infratest/.idea/workspace.xml
index c932928..86f7276 100644
--- a/.idea/.idea.Infratest/.idea/workspace.xml
+++ b/.idea/.idea.Infratest/.idea/workspace.xml
@@ -5,12 +5,14 @@
+
+
-
-
-
+
+
+
@@ -35,6 +37,7 @@
+
@@ -291,7 +294,7 @@
-
+
@@ -325,26 +328,13 @@
file://$PROJECT_DIR$/Assets/Code/Example/Platformer/PlatformerSceneInstaller.cs
- 45
-
+ 68
+
-
+
-
-
-
-
-
-
- file://$PROJECT_DIR$/Assets/Code/Example/Platformer/PlatformerSceneInstaller.cs
- 51
-
-
-
-
-
-
+
diff --git a/Assets/Code/Example/Platformer/Entity/Entity.cs b/Assets/Code/Example/Platformer/Entity/Entity.cs
index 20f97c4..99f66e9 100644
--- a/Assets/Code/Example/Platformer/Entity/Entity.cs
+++ b/Assets/Code/Example/Platformer/Entity/Entity.cs
@@ -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(){}
}
}
\ No newline at end of file
diff --git a/Assets/Code/Example/Platformer/Entity/EntityGUID.cs b/Assets/Code/Example/Platformer/Entity/EntityGUID.cs
new file mode 100644
index 0000000..d0220a7
--- /dev/null
+++ b/Assets/Code/Example/Platformer/Entity/EntityGUID.cs
@@ -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();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Code/Example/Platformer/Entity/EntityGUID.cs.meta b/Assets/Code/Example/Platformer/Entity/EntityGUID.cs.meta
new file mode 100644
index 0000000..3ab50ee
--- /dev/null
+++ b/Assets/Code/Example/Platformer/Entity/EntityGUID.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 597458061f454fbc9767838561ac16b6
+timeCreated: 1773761214
\ No newline at end of file
diff --git a/Assets/Code/Example/Platformer/Entity/EntityHealth.cs b/Assets/Code/Example/Platformer/Entity/EntityHealth.cs
index 7329874..b51c367 100644
--- a/Assets/Code/Example/Platformer/Entity/EntityHealth.cs
+++ b/Assets/Code/Example/Platformer/Entity/EntityHealth.cs
@@ -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(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(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);
+ }
}
\ No newline at end of file
diff --git a/Assets/Resources_moved/Example/Platformer/Characters/Enemies/Boar.prefab b/Assets/Resources_moved/Example/Platformer/Characters/Enemies/Boar.prefab
index 2735661..bf35035 100644
--- a/Assets/Resources_moved/Example/Platformer/Characters/Enemies/Boar.prefab
+++ b/Assets/Resources_moved/Example/Platformer/Characters/Enemies/Boar.prefab
@@ -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}
diff --git a/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs b/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs
index af42835..07317ac 100644
--- a/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs
+++ b/Assets/UnityCodeGen.Generated/ConfigLocator.Generated.cs
@@ -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);
diff --git a/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs b/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs
index 7f69bd4..37d4ef8 100644
--- a/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs
+++ b/Assets/UnityCodeGen.Generated/SystemConfigsReferences.Generated.cs
@@ -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;