Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.28 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3.  
  4. namespace Learning
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             var storage = new PlayerStorage();
  11.  
  12.             var loadedPlayer = storage.LoadPlayer(0);
  13.  
  14.             loadedPlayer.OnTakenDamage += (p, h) => storage.SavePlayer(p);
  15.             loadedPlayer.OnTakenDamage += (p, healthDelta) => Console.WriteLine($"Вы получили урона - {healthDelta}");
  16.  
  17.             storage.SavePlayer(loadedPlayer);
  18.         }
  19.     }
  20.  
  21.     class Player
  22.     {
  23.         private float _health;
  24.         private float _armor;
  25.         private int _id;
  26.  
  27.         public float Health => _health;
  28.  
  29.         public event Action<Player, float> OnTakenDamage;
  30.  
  31.         public Player(float health, float armor, int id)
  32.         {
  33.             _armor = armor;
  34.             _id = id;
  35.         }
  36.  
  37.         public void ApplyDamage(float damage)
  38.         {
  39.             float healthDelta = damage - _armor;
  40.             _health -= healthDelta;
  41.             _armor /= 2;
  42.  
  43.             OnTakenDamage?.Invoke(this, healthDelta);
  44.         }
  45.     }
  46.  
  47.     public class PlayerStorage
  48.     {
  49.         public Player LoadPlayer(int id)
  50.         {
  51.  
  52.         }
  53.  
  54.         public void SavePlayer(Player player)
  55.         {
  56.  
  57.         }
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement