using GTANetworkAPI; using Newtonsoft.Json; using reallife_gamemode.Server.Extensions; using reallife_gamemode.Server.Services; using System; using System.Collections.Generic; using System.Text; /** * @overview Life of German Reallife - Managers Interaction (InteractionManager.cs) * @author VegaZ * @copyright (c) 2008 - 2018 Life of German */ namespace reallife_gamemode.Server.Managers { public class InteractionManager : Script { [RemoteEvent("openTradeInventory")] public void OpenTradeInventory(Client player, string targetPlayer) { InventoryManager.GetUserItems(player); player.TriggerEvent("openTradeMenu", targetPlayer); } [RemoteEvent("sendTradeItemsToPartner")] public void SendTradeItemsToPartner(Client player, string tradeItemArray, int tradePrize, string tradePartnerName) { var tradeItems = JsonConvert.DeserializeObject(tradeItemArray); Client tradePartner = ClientService.GetClientByNameOrId(tradePartnerName); InventoryManager.GetUserItems(player); tradePartner.TriggerEvent("showTradeRequest", player.Name, tradeItems, tradePrize); player.TriggerEvent("startTradeRequestTimer"); } [RemoteEvent("tradeDecision")] public void TradeDecision(Client player, string tradeSelection, string tradeItemArray, string tradeRequesterName) { var tradeItems = JsonConvert.DeserializeObject(tradeItemArray); Client tradeRequester = ClientService.GetClientByNameOrId(tradeRequesterName); if (tradeSelection == "accept") { InventoryManager.GetUserItems(player); tradeRequester.TriggerEvent("clearTradeItems"); player.TriggerEvent("showTradeItems", tradeItemArray); //TODO: Geld abziehen } else { tradeRequester.TriggerEvent("unlockTradeItems"); } } } }