Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- namespace Learning
- {
- class Program
- {
- static void Main(string[] args)
- {
- var storage = new PlayerStorage();
- var loadedPlayer = storage.LoadPlayer(0);
- loadedPlayer.OnTakenDamage += (p, h) => storage.SavePlayer(p);
- loadedPlayer.OnTakenDamage += (p, healthDelta) => Console.WriteLine($"Вы получили урона - {healthDelta}");
- storage.SavePlayer(loadedPlayer);
- }
- }
- class Player
- {
- private float _health;
- private float _armor;
- private int _id;
- public float Health => _health;
- public event Action<Player, float> OnTakenDamage;
- public Player(float health, float armor, int id)
- {
- _armor = armor;
- _id = id;
- }
- public void ApplyDamage(float damage)
- {
- float healthDelta = damage - _armor;
- _health -= healthDelta;
- _armor /= 2;
- OnTakenDamage?.Invoke(this, healthDelta);
- }
- }
- public class PlayerStorage
- {
- public Player LoadPlayer(int id)
- {
- }
- public void SavePlayer(Player player)
- {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement