From 30ada7aeda7e39f4dacdb944fee94fcd898ba56e Mon Sep 17 00:00:00 2001 From: hydrant Date: Sat, 20 Oct 2018 17:51:03 +0200 Subject: [PATCH] Fixed money display #1 --- Client/Gui/infobox.js | 5 ++++- Server/Entities/UserBankAccount.cs | 17 ++++++++++++++++- Server/Events/Login.cs | 2 +- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/Client/Gui/infobox.js b/Client/Gui/infobox.js index c43c41fc..6b0a5bae 100644 --- a/Client/Gui/infobox.js +++ b/Client/Gui/infobox.js @@ -47,6 +47,10 @@ mp.events.add("draw", (pName, pId) => { // return ('$' + num.toFixed(2).replace('.', ',').replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.')); //} +mp.events.add("updateMoney", (money) => { + playerMoney = money; +}); + mp.events.add("render", () => { if (draw === true) { @@ -119,7 +123,6 @@ mp.events.add("render", () => { dateString = nDay + ". " + nMonth + " " + year; timeString = nHour + ":" + nMinute + ":" + nSecond + " Uhr"; - playerMoney = mp.players.local.getVariable("money"); mp.game.graphics.requestStreamedTextureDict("digitaloverlay", true); //static diff --git a/Server/Entities/UserBankAccount.cs b/Server/Entities/UserBankAccount.cs index b636a940..96640243 100644 --- a/Server/Entities/UserBankAccount.cs +++ b/Server/Entities/UserBankAccount.cs @@ -1,10 +1,13 @@ using GTANetworkAPI; +using reallife_gamemode.Model; +using reallife_gamemode.Server.Services; using reallife_gamemode.Server.Util; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Text; +using System.Linq; /** * @overview Life of German Reallife - Entities UserBankAccount (UserBankAccount.cs) @@ -16,6 +19,8 @@ namespace reallife_gamemode.Server.Entities { public class UserBankAccount { + private float _balance; + [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } @@ -26,7 +31,17 @@ namespace reallife_gamemode.Server.Entities public string Bic { get; set; } [StringLength(32)] public string Iban { get; set; } - public float Balance { get; set; } + public float Balance { + get => _balance; + set + { + _balance = value; + using(var dbContext = new DatabaseContext()) + { + ClientService.GetClientByName(dbContext.Users.First(u => u.Id == UserId).Name).TriggerEvent("updateMoney", value); + } + } + } public bool Active { get; set; } } } \ No newline at end of file diff --git a/Server/Events/Login.cs b/Server/Events/Login.cs index 3551eab5..64a5e8e0 100644 --- a/Server/Events/Login.cs +++ b/Server/Events/Login.cs @@ -47,7 +47,7 @@ namespace reallife_gamemode.Server.Events player.SetData("isLoggedIn", true); player.SetData("spec", true); var userBankAccount = loginUser.UserBankAccounts.SingleOrDefault(u => u.UserId == user.Id); - player.SetSharedData("money", userBankAccount.Balance); //Lädt den aktuellen Kontostand des Users aus der DB + userBankAccount.Balance = userBankAccount.Balance; player.TriggerEvent("draw", player.Name, player.Handle.Value); } }