63 lines
2.3 KiB
C#
63 lines
2.3 KiB
C#
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
|
|
{
|
|
#region Umgebungsinteraktionen PFEILTASTE-HOCH
|
|
#endregion
|
|
#region Eigeninteraktionen PFEILTASTE-RUNTER
|
|
#endregion
|
|
#region Spielerinteraktionen PFEILTASTE-LINKS
|
|
[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<string[][]>(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<string[][]>(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");
|
|
}
|
|
}
|
|
#endregion
|
|
#region Fraktionsinteraktionen / Jobinteraktionen PFEILTASTE-RECHTS
|
|
#endregion
|
|
}
|
|
}
|