diff --git a/Game/CourierOld/Assets/Code/Configs/PlayerConfig.cs b/Game/CourierOld/Assets/Code/Configs/PlayerConfig.cs index 35c8bd7..0cd5b35 100644 --- a/Game/CourierOld/Assets/Code/Configs/PlayerConfig.cs +++ b/Game/CourierOld/Assets/Code/Configs/PlayerConfig.cs @@ -5,7 +5,6 @@ namespace Code.Configs [CreateAssetMenu(menuName = "Config/Player", fileName = "PlayerConfig")] public class PlayerConfig : ScriptableObject { - public Player playerPrefab; public int maxHealth; } } \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/Gameplay.meta b/Game/CourierOld/Assets/Code/Gameplay.meta new file mode 100644 index 0000000..81d0a53 --- /dev/null +++ b/Game/CourierOld/Assets/Code/Gameplay.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e4901b413afd4d7da914edf2a1e51f8f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player.meta b/Game/CourierOld/Assets/Code/Gameplay/Player.meta new file mode 100644 index 0000000..d68e357 --- /dev/null +++ b/Game/CourierOld/Assets/Code/Gameplay/Player.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 58441fe5bc46071fab2546105689c70b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerHealth.cs b/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerHealth.cs new file mode 100644 index 0000000..b34f38b --- /dev/null +++ b/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerHealth.cs @@ -0,0 +1,27 @@ +namespace Code.Gameplay.Player +{ + public class PlayerHealth + { + public delegate void OnDeathDelegate(); + + public event OnDeathDelegate OnDeath; + + public delegate void OnDamageDelegate(int damage); + + public event OnDamageDelegate OnDamage; + + private int _healthPoints; + + public int HealthPoints => _healthPoints; + + public void GetDamage(int count) + { + _healthPoints -= count; + OnDamage?.Invoke(count); + + if (_healthPoints <= 0) OnDeath?.Invoke(); + } + + public PlayerHealth(int healthPoints = 1) => _healthPoints = healthPoints; + } +} \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerHealth.cs.meta b/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerHealth.cs.meta new file mode 100644 index 0000000..3db7938 --- /dev/null +++ b/Game/CourierOld/Assets/Code/Gameplay/Player/PlayerHealth.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3873d746bf1595618802b853c6920616 \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/StaticData/IStaticDataService.cs b/Game/CourierOld/Assets/Code/StaticData/IStaticDataService.cs index e9ada5e..b911156 100644 --- a/Game/CourierOld/Assets/Code/StaticData/IStaticDataService.cs +++ b/Game/CourierOld/Assets/Code/StaticData/IStaticDataService.cs @@ -11,5 +11,6 @@ namespace Code.StaticData CameraConfig CameraConfig { get; } CharacterConfig CharacterConfig { get; } UIConfig UIConfig { get; } + CharacterCameraConfig CharacterCameraConfig { get; } } } \ No newline at end of file diff --git a/Game/CourierOld/Assets/Code/StaticData/StaticDataService.cs b/Game/CourierOld/Assets/Code/StaticData/StaticDataService.cs index f2c6833..cb571f2 100644 --- a/Game/CourierOld/Assets/Code/StaticData/StaticDataService.cs +++ b/Game/CourierOld/Assets/Code/StaticData/StaticDataService.cs @@ -11,6 +11,7 @@ namespace Code.StaticData public CameraConfig CameraConfig { get; private set; } public CharacterConfig CharacterConfig { get; private set; } public UIConfig UIConfig { get; private set; } + public CharacterCameraConfig CharacterCameraConfig { get; private set; } public void Load() {