Advertisement
HabboGame

The Tower Arena Player class implementation

May 14th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.86 KB | None | 0 0
  1.     class Player {
  2.         private int exp, trophies, money;
  3.         public int Experience {
  4.             get {
  5.                 return exp;
  6.             } set {
  7.                 exp = value;
  8.                 SaveData ();
  9.             }
  10.         }
  11.         public int Trophies {
  12.             get {
  13.                 return trophies;
  14.             }
  15.             set {
  16.                 trophies = value;
  17.                 SaveData ();
  18.             }
  19.         }
  20.         public int Money {
  21.             get {
  22.                 return money;
  23.             }
  24.             set {
  25.                 money = value;
  26.                 SaveData ();
  27.             }
  28.         }
  29.         public string Username { get; }
  30.         public int Id { get; }
  31.         public void SaveData () {
  32.             File.WriteAllLines ("players/" + Username + ".txt", new string[] { exp.ToString (), trophies.ToString (), money.ToString () });
  33.         }
  34.         public static Player FromId (IEnumerable<Player> players, int id) {
  35.             foreach (Player player in players) if (player.Id == id) return player;
  36.             return null; // So all code paths return a value
  37.         }
  38.         public static Player FromUsername (IEnumerable<Player> players, string username) {
  39.             foreach (Player player in players) if (player.Username == username) return player;
  40.             return null; // So all code paths return a value
  41.         }
  42.         public Player (Message message) {
  43.             switch (message.Type) {
  44.                 case "init":
  45.                     Id = message.GetInt (5);
  46.                     Username = message.GetString (13);
  47.                     break;
  48.                 case "add":
  49.                     Id = message.GetInt (0);
  50.                     Username = message.GetString (1);
  51.                     break;
  52.             }
  53.             bool fromConfig = false;
  54.             exp = -1;
  55.             trophies = -1;
  56.             money = -1;
  57.             if (File.Exists ("players/" + Username + ".txt")) {
  58.                 string[] content = File.ReadAllLines ("players/" + Username + ".txt");
  59.                 if (content.Length == 3) {
  60.                     int.TryParse (content[0], out exp);
  61.                     int.TryParse (content[1], out trophies);
  62.                     int.TryParse (content[2], out money);
  63.                     if (exp != -1 && trophies != -1 && money != -1) fromConfig = true;
  64.                 }
  65.             }
  66.             if (!fromConfig) {
  67.                 exp = 0;
  68.                 trophies = 0;
  69.                 money = 0;
  70.                 SaveData ();
  71.             }
  72.         }
  73.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement