Advertisement
Guest User

Untitled

a guest
May 21st, 2021
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.61 KB | None | 0 0
  1. public class Stats
  2. {
  3.     [Header("Properties")]
  4.     public int maxHp;
  5.     public int hp;
  6.     public int maxMana;
  7.     public int mana;
  8.     public int walkMovementSpeed;
  9.     public int runMovementSpeed;
  10.     public int jumpForce;
  11.  
  12.     public Stats Add(Stats stats)
  13.     {
  14.         Stats newStats = new Stats();
  15.  
  16.         newStats.maxHp = stats.maxHp + maxHp;
  17.         newStats.hp = stats.hp;
  18.         Mathf.Clamp(newStats.hp, 0, newStats.maxHp);
  19.         newStats.maxMana = stats.maxMana + maxMana;
  20.         newStats.mana = stats.mana;
  21.         Mathf.Clamp(newStats.mana, 0, newStats.maxMana);
  22.         newStats.walkMovementSpeed = stats.walkMovementSpeed + walkMovementSpeed;
  23.         newStats.runMovementSpeed = stats.runMovementSpeed + runMovementSpeed;
  24.         newStats.jumpForce = stats.jumpForce + jumpForce;
  25.  
  26.         return newStats;
  27.     }
  28.  
  29.     public static void CompareAndCallEvents(Stats stats1, Stats stats2, PlayerEvents events)
  30.     {
  31.         if (stats1.maxHp != stats2.maxHp)
  32.             events.CallOnPlayersMaxHpChanged(stats1.maxHp);
  33.         if (stats1.hp != stats2.hp)
  34.             events.CallOnPlayersHpChanged(stats1.hp);
  35.         if (stats1.maxMana != stats2.maxMana)
  36.             events.CallOnPlayersMaxManaChanged(stats1.maxMana);
  37.         if (stats1.mana != stats2.mana)
  38.             events.CallOnPlayersManaChanged(stats1.mana);
  39.         if (stats1.walkMovementSpeed != stats2.walkMovementSpeed)
  40.             events.CallOnPlayersMovementSpeedChanged(stats1.walkMovementSpeed);
  41.         if (stats1.jumpForce != stats2.jumpForce)
  42.             events.CallOnPlayersJumpForceChanged(stats1.jumpForce);
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement