diff --git a/Game/CourierOld/Assets/Code/App/BootstrapInstaller.cs b/Game/CourierOld/Assets/Code/App/BootstrapInstaller.cs index 10fa2f9..753e8e2 100644 --- a/Game/CourierOld/Assets/Code/App/BootstrapInstaller.cs +++ b/Game/CourierOld/Assets/Code/App/BootstrapInstaller.cs @@ -1,5 +1,4 @@ using Code.App.StateMachine; -using Code.Configs; using Code.Input; using Code.Scenes; using Code.StaticData; 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 4bb9ffe..e7e5bfb 100644 --- a/Game/CourierOld/Assets/Code/StaticData/IStaticDataService.cs +++ b/Game/CourierOld/Assets/Code/StaticData/IStaticDataService.cs @@ -9,5 +9,6 @@ namespace Code.StaticData InputConfig InputConfig { get; } AppConfig AppConfig { 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 aeabee5..315ab25 100644 --- a/Game/CourierOld/Assets/Code/StaticData/StaticDataService.cs +++ b/Game/CourierOld/Assets/Code/StaticData/StaticDataService.cs @@ -9,11 +9,13 @@ namespace Code.StaticData public AppConfig AppConfig { get; private set; } public InputConfig InputConfig { get; private set; } public UIConfig UIConfig { get; private set; } + public CharacterCameraConfig CharacterCameraConfig { get; private set; } public void Load() { InputConfig = Resources.Load(string.Format(StringPaths.ConfigSingle, "App", "InputConfig")); AppConfig = Resources.Load(string.Format(StringPaths.ConfigSingle, "App", "AppConfig")); + CharacterCameraConfig = Resources.Load(string.Format(StringPaths.ConfigSingle, "App", "CharacterCameraConfig")); UIConfig = Resources.Load(string.Format(StringPaths.ConfigSingle, "App", "UIConfig")); } }