538 lines
22 KiB
C#
538 lines
22 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using GTANetworkAPI;
|
|
using Newtonsoft.Json;
|
|
using ReallifeGamemode.Server.Extensions;
|
|
using ReallifeGamemode.Server.Services;
|
|
using ReallifeGamemode.Database.Entities;
|
|
using ReallifeGamemode.Database.Models;
|
|
using ReallifeGamemode.Server.Managers;
|
|
|
|
namespace ReallifeGamemode.Server.Job
|
|
{
|
|
public class RefuseCollectorJob : JobBase
|
|
{
|
|
public override int Id => 2;
|
|
|
|
public override string Name => "Müllmann";
|
|
|
|
public override bool NeedVehicleToStart => false;
|
|
|
|
public RefuseCollectorJob()
|
|
{
|
|
JobStart += RefuseCollectorJobJobStart;
|
|
JobStop += RefuseCollectorJobJobStop;
|
|
}
|
|
|
|
private void RefuseCollectorJobJobStart(Player player)
|
|
{
|
|
//setClothes
|
|
}
|
|
|
|
private void RefuseCollectorJobJobStop(Player player)
|
|
{
|
|
//removeClothes and replace with old
|
|
MuellmannJobBeenden(player);
|
|
}
|
|
|
|
public static List<MuellmannData> muellmanData = new List<MuellmannData>();
|
|
|
|
private readonly IReadOnlyCollection<Vector3> vector3s = new List<Vector3>
|
|
{
|
|
new Vector3(332.9839782714844, -1741.807373046875, 29.73055076599121),
|
|
new Vector3(321.3463439941406, -1759.986572265625, 29.644014358520508),
|
|
new Vector3(305.2624206542969, -1776.0458984375, 28.871641159057617),
|
|
new Vector3(300.1080017089844, -1784.01123046875, 28.438663482666016),
|
|
new Vector3(348.7510986328125, -1820.57373046875, 28.89409637451172),
|
|
new Vector3(328.7326965332031, -1845.462890625, 27.748090744018555),
|
|
new Vector3(439.82269287109375, -1830.4090576171875, 28.36185646057129),
|
|
new Vector3(427.9081115722656, -1841.7236328125, 28.463409423828125),
|
|
new Vector3(412.9471130371094, -1856.100341796875, 27.32313346862793),
|
|
new Vector3(399.9404296875, -1865.1639404296875, 26.716350555419922),
|
|
new Vector3(386.0218811035156, -1882.2705078125, 25.788604736328125),
|
|
new Vector3(368.0433349609375, -1896.9063720703125, 25.17853355407715),
|
|
new Vector3(473.30694580078125, -1775.0206298828125, 28.69390296936035),
|
|
new Vector3(475.3251647949219, -1758.085205078125, 28.892553329467773),
|
|
new Vector3(479.7771301269531, -1736.3861083984375, 29.151023864746094),
|
|
new Vector3(490.24884033203125, -1714.48974609375, 29.618074417114258),
|
|
new Vector3(500.4996643066406, -1697.649658203125, 29.78924560546875),
|
|
new Vector3(997.3480834960938, -729.1090087890625, 57.81574630737305),
|
|
new Vector3(979.4336547851562, -716.036376953125, 58.22065734863281),
|
|
new Vector3(970.9692993164062, -700.552978515625, 58.48196029663086),
|
|
new Vector3(960.6688232421875, -669.340576171875, 58.44976806640625),
|
|
new Vector3(943.6602783203125, -653.6834716796875, 58.4287109375),
|
|
new Vector3(929.2879028320312, -639.0972900390625, 58.242271423339844),
|
|
new Vector3(903.5896606445312, -616.0307006835938, 58.4549560546875),
|
|
new Vector3(886.8736572265625, -607.783447265625, 58.445091247558594),
|
|
new Vector3(861.7691650390625, -582.5391845703125, 58.156497955322266),
|
|
new Vector3(920.3253784179688, -571.0201416015625, 58.36641311645508),
|
|
new Vector3(963.1478881835938, -595.95654296875, 59.902706146240234),
|
|
new Vector3(976.3702392578125, -579.7669067382812, 59.63575744628906),
|
|
new Vector3(1010.3785400390625, -572.6109008789062, 60.59443283081055),
|
|
new Vector3(999.9313354492188, -594.0516357421875, 59.63548278808594),
|
|
new Vector3(1200.4964599609375, -576.1556396484375, 69.13911437988281),
|
|
new Vector3(1206.1680908203125, -620.3853759765625, 66.43684387207031),
|
|
new Vector3(1221.357421875, -668.6166381835938, 63.49313735961914),
|
|
new Vector3(1222.5732421875, -697.0482788085938, 60.806724548339844),
|
|
new Vector3(1228.840576171875, -725.5143432617188, 60.79587173461914),
|
|
new Vector3(1266.1864013671875, -703.4100341796875, 64.55311584472656),
|
|
new Vector3(1271.0609130859375, -682.7374267578125, 66.03081512451172),
|
|
new Vector3(1265.1763916015625, -647.4813842773438, 67.92143249511719),
|
|
new Vector3(1251.595947265625, -621.8599853515625, 69.41301727294922),
|
|
new Vector3(1241.6507568359375, -601.6868286132812, 69.42526245117188),
|
|
new Vector3(1242.1136474609375, -565.8869018554688, 69.65742492675781),
|
|
new Vector3(-1898.0162353515625, 133.0081787109375, 81.85769653320312),
|
|
new Vector3(-1960.471435546875, 212.37518310546875, 86.6491470336914),
|
|
new Vector3(-1969.3568115234375, 246.49497985839844, 87.61412811279297),
|
|
new Vector3(-1995.2470703125, 300.3732604980469, 91.96467590332031),
|
|
new Vector3(-2009.92822265625, 445.47509765625, 103.01591491699219),
|
|
new Vector3(-1995.321044921875, 590.8935546875, 117.90331268310547),
|
|
new Vector3(-1973.7674560546875, 630.2719116210938, 122.53621673583984),
|
|
new Vector3(-1929.476806640625, 595.318603515625, 122.28478240966797),
|
|
new Vector3(-1939.19873046875, 551.6788330078125, 114.82840728759766),
|
|
new Vector3(-1943.7459716796875, 449.3956298828125, 102.92235565185547),
|
|
new Vector3(-1932.1275634765625, 362.3074035644531, 93.78870391845703),
|
|
new Vector3(-1923.6715087890625, 298.3466796875, 89.28668975830078),
|
|
new Vector3(-1874.3028564453125, 201.1282958984375, 84.2945327758789),
|
|
new Vector3(-1805.06298828125, 438.19415283203125, 128.7073974609375),
|
|
new Vector3(-1540.2606201171875, 421.3618469238281, 110.0140151977539),
|
|
new Vector3(-1496.3275146484375, 437.88836669921875, 112.49789428710938),
|
|
new Vector3(-1308.279541015625, 449.301513671875, 100.96974182128906),
|
|
new Vector3(-1215.8623046875, 458.5867919921875, 91.85366821289062),
|
|
new Vector3(-1109.628662109375, -1481.669677734375, 4.9089436531066895),
|
|
new Vector3(-1118.3216552734375, -1487.53125, 4.71043586730957),
|
|
new Vector3(-1130.783935546875, -1495.6463623046875, 4.425413131713867),
|
|
new Vector3(-1108.7491455078125, -1527.6431884765625, 6.779527187347412),
|
|
new Vector3(-1078.477783203125, -1524.1884765625, 4.883235454559326),
|
|
new Vector3(-1087.1422119140625, -1529.7557373046875, 4.693511486053467),
|
|
new Vector3(-1070.019775390625, -1514.546875, 5.107278347015381),
|
|
new Vector3(-1058.235595703125, -1540.304443359375, 5.044498920440674),
|
|
new Vector3(-1066.30029296875, -1545.3839111328125, 4.898682117462158),
|
|
new Vector3(-1077.4962158203125, -1553.4862060546875, 4.626119136810303),
|
|
new Vector3(-1085.2286376953125, -1558.1461181640625, 4.497615814208984),
|
|
new Vector3(-1026.8060302734375, -1574.6785888671875, 5.1846923828125),
|
|
new Vector3(-1022.8525390625, -1615.1187744140625, 5.009416580200195),
|
|
new Vector3(-1031.4603271484375, -1620.6160888671875, 5.0109710693359375),
|
|
new Vector3(-1754.563720703125, -707.9927368164062, 10.391398429870605),
|
|
new Vector3(-1753.5606689453125, -701.3380737304688, 10.276473999023438),
|
|
new Vector3(-1780.638427734375, -679.9152221679688, 10.493252754211426),
|
|
new Vector3(-1788.612548828125, -671.464599609375, 10.494956970214844),
|
|
new Vector3(-1793.9669189453125, -664.3781127929688, 10.487747192382812),
|
|
new Vector3(-1803.5460205078125, -662.5227661132812, 10.716209411621094),
|
|
new Vector3(-1818.578857421875, -656.5636596679688, 13.811768531799316),
|
|
new Vector3(-1824.976806640625, -645.830810546875, 10.946636199951172),
|
|
new Vector3(-1836.8272705078125, -631.3432006835938, 10.752060890197754),
|
|
new Vector3(-1849.099609375, -632.3333740234375, 11.160981178283691),
|
|
new Vector3(-1874.4722900390625, -593.102294921875, 11.885177612304688),
|
|
new Vector3(-1880.3685302734375, -588.2398071289062, 11.835262298583984),
|
|
new Vector3(-1897.9107666015625, -572.6138916015625, 11.845343589782715),
|
|
new Vector3(-1923.3765869140625, -559.2033081054688, 12.060995101928711),
|
|
new Vector3(-1947.757080078125, -532.0737915039062, 11.82839584350586),
|
|
new Vector3(-1953.445556640625, -526.7276611328125, 11.844695091247559),
|
|
new Vector3(-1968.46923828125, -532.5272216796875, 12.170670509338379),
|
|
new Vector3(-1968.8458251953125, -523.1318969726562, 11.8456392288208),
|
|
new Vector3(-1203.9110107421875, -1021.6611328125, 5.945137977600098),
|
|
new Vector3(-1183.8720703125, -1044.6856689453125, 2.1502246856689453),
|
|
new Vector3(-1176.88818359375, -1073.1439208984375, 5.906428813934326),
|
|
new Vector3(-1145.39697265625, -1127.4779052734375, 6.5086894035339355),
|
|
new Vector3(-1128.85546875, -1143.3876953125, 2.8391337394714355),
|
|
new Vector3(-1128.4967041015625, -1162.18212890625, 6.494985103607178),
|
|
new Vector3(-1082.1358642578125, -1139.9630126953125, 2.158600091934204),
|
|
new Vector3(-1069.0244140625, -1161.9306640625, 2.158600091934204),
|
|
new Vector3(-1064.1807861328125, -1159.49853515625, 2.15861105918884284),
|
|
new Vector3(-1046.37890625, -1159.2188720703125, 2.158600091934204),
|
|
new Vector3(-1035.042236328125, -1146.635498046875, 2.158597469329834),
|
|
new Vector3(-1025.6204833984375, -1138.19384765625, 2.158599853515625),
|
|
new Vector3(-1031.4193115234375, -1109.0096435546875, 2.1585986614227295),
|
|
new Vector3(-986.4617309570312, -1122.275390625, 4.545365810394287),
|
|
new Vector3(-991.5133056640625, -1104.2479248046875, 2.1503100395202637),
|
|
new Vector3(-978.42822265625, -1107.8594970703125, 2.1503751277923584),
|
|
new Vector3(-982.0960693359375, -1083.4771728515625, 2.5452053546905518),
|
|
new Vector3(-949.2151489257812, -1107.6964111328125, 2.171846866607666),
|
|
new Vector3(-945.9578247070312, -1123.4737548828125, 2.1503098011016846),
|
|
new Vector3(-921.0493774414062, -1095.1513671875, 2.1503124237060547),
|
|
new Vector3(-942.0684204101562, -1077.1378173828125, 2.1503121852874756),
|
|
new Vector3(-951.5316772460938, -1078.955078125, 2.1503100395202637),
|
|
|
|
}.AsReadOnly();
|
|
|
|
[RemoteEvent("CLIENT:MuellmannJobStarten")]
|
|
public void MuellmannJobStarten(Player player, Vehicle vehicle)
|
|
{
|
|
if (vehicle.Model == (uint)Types.VehicleModel.Trash || vehicle.Model == (uint)Types.VehicleModel.Trash2)
|
|
{
|
|
Vehicle veh;
|
|
foreach (var data in muellmanData)
|
|
{
|
|
if (data.getDataFromClient(player) == null) continue;
|
|
veh = data.vehicle;
|
|
JobBase job = JobManager.GetJob(player.GetUser().JobId ?? -1);
|
|
ChatService.SendMessage((Player)player, $"~y~Job: ~s~Du hast deinen Job (~o~{job.Name}~s~) gestartet.");
|
|
player.TriggerEvent("SERVER:MuellmannStatusTrue");
|
|
player.TriggerEvent("SERVER:MuellmannBCSErstellen", JsonConvert.SerializeObject(vector3s.ToArray()), veh);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
public void MuellmannJobBeenden(Player player)
|
|
{
|
|
JobBase job = JobManager.GetJob(player.GetUser().JobId ?? -1);
|
|
ChatService.SendMessage((Player)player, $"~y~Job: ~s~Du hast deinen Job (~o~{job.Name}~s~) beendet.");
|
|
player.TriggerEvent("SERVER:MuellmannStatusFalse");
|
|
player.TriggerEvent("SERVER:MuellmannBCSEntfernen");
|
|
|
|
foreach (var data in muellmanData)
|
|
{
|
|
if (data.getDataFromClient(player) == null) continue;
|
|
|
|
if (data.hasFreePlace())
|
|
{
|
|
muellmanData.Remove(data);
|
|
//müllwagen respawnen
|
|
return;
|
|
}
|
|
|
|
data.removeClientFromData(player);
|
|
return;
|
|
}
|
|
}
|
|
|
|
[RemoteEvent("CLIENT:MuellmannImShape")]
|
|
public void MuellmannImShape(Player player, int colshapeIndex)
|
|
{
|
|
if (player.IsInVehicle)
|
|
{
|
|
return;
|
|
}
|
|
|
|
foreach (var data in muellmanData)
|
|
{
|
|
if (data.getDataFromClient(player) == null) continue;
|
|
Player target = data.getPartnerClient(player);
|
|
if (target != null) target.TriggerEvent("MuellmannUpdateColshape", colshapeIndex);
|
|
player.TriggerEvent("renderTextOnScreen", "Wirf den Müllsack in den Müllwagen.");
|
|
player.AddAttachment("binbag", false);
|
|
return;
|
|
}
|
|
}
|
|
|
|
[RemoteEvent("CLIENT:MuellmannAddSack")]
|
|
public void MuellmannAddSack(Player player)
|
|
{
|
|
if (player.IsInVehicle)
|
|
{
|
|
return;
|
|
}
|
|
|
|
foreach (var data in muellmanData)
|
|
{
|
|
if (data.getDataFromClient(player) == null) continue;
|
|
Player target = data.getPartnerClient(player);
|
|
User user1 = player.GetUser();
|
|
User user2 = target.GetUser();
|
|
using (var dbContext = new DatabaseContext())
|
|
{
|
|
user1 = player.GetUser(dbContext);
|
|
user2 = target.GetUser(dbContext);
|
|
user1.trashcount += 1;
|
|
player.SendNotification("Müllsack: " + user1.trashcount + " von 20.");
|
|
if (target != null) {
|
|
target.SendNotification("Müllsack: " + user2.trashcount + " von 20.");
|
|
user2.trashcount += 1;
|
|
}
|
|
dbContext.SaveChanges();
|
|
}
|
|
player.AddAttachment("binbag", true);
|
|
if (target != null)
|
|
if (player.GetUser().trashcount >= 20)
|
|
{
|
|
ChatService.SendMessage((Player)player, "~y~Job: ~s~Der Müllwagen ist voll. Fahre nun zurück zur Recyclinganlage!");
|
|
if (target != null) {
|
|
ChatService.SendMessage((Player)target, "~y~Job: ~s~Der Müllwagen ist voll! Er muss entleert werden.");
|
|
target.TriggerEvent("SERVER:MuellmannZuBase");
|
|
}
|
|
player.TriggerEvent("SERVER:MuellmannZuBase");
|
|
}
|
|
else
|
|
{
|
|
user1 = player.GetUser(dbContext);
|
|
user2 = target.GetUser(dbContext);
|
|
user1.trashcount += 1;
|
|
player.SendNotification("Müllsack: " + user1.trashcount + " von 20.");
|
|
if (target != null)
|
|
{
|
|
target.SendNotification("Müllsack: " + user2.trashcount + " von 20.");
|
|
user2.trashcount += 1;
|
|
}
|
|
dbContext.SaveChanges();
|
|
}
|
|
player.AddAttachment("binbag", true);
|
|
if (target != null)
|
|
if (player.GetUser().trashcount >= 20)
|
|
{
|
|
ChatService.SendMessage((Player)player, "~y~Job: ~s~Der Müllwagen ist voll. Fahre nun zurück zur Recyclinganlage!");
|
|
if (target != null) {
|
|
ChatService.SendMessage((Player)target, "~y~Job: ~s~Der Müllwagen ist voll! Er muss entleert werden.");
|
|
target.TriggerEvent("SERVER:MuellmannZuBase");
|
|
}
|
|
player.TriggerEvent("SERVER:MuellmannZuBase");
|
|
}
|
|
else
|
|
{
|
|
if (target != null)
|
|
{
|
|
player.GetUser().Wage += 10;
|
|
target.GetUser().Wage += 10;
|
|
|
|
}
|
|
else
|
|
{
|
|
player.GetUser().Wage += 20;
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
|
|
[RemoteEvent("CLIENT:MuellmannBaseSack")]
|
|
public void MuellmannBaseSack(Player player)
|
|
{
|
|
if (player.VehicleSeat != 0) return;
|
|
|
|
foreach (var data in muellmanData)
|
|
{
|
|
if (data.getDataFromClient(player) == null) continue;
|
|
|
|
Player target = data.getPartnerClient(player);
|
|
if (target != null) ChatService.SendMessage((Player)target, $"~y~Job: ~s~Fahrzeug wurde entleert. Säcke: {target.GetUser().trashcount}");
|
|
ChatService.SendMessage((Player)player, $"~y~Job: ~s~Fahrzeug wurde entleert. Säcke: {player.GetUser().trashcount}");
|
|
//bonus pro sack
|
|
if (target != null)
|
|
{
|
|
player.GetUser().Wage += 100;
|
|
target.GetUser().Wage += 100;
|
|
}
|
|
else
|
|
{
|
|
player.GetUser().Wage += 200;
|
|
}
|
|
User user1 = player.GetUser();
|
|
User user2 = target.GetUser();
|
|
using (var dbContext = new DatabaseContext())
|
|
{
|
|
user1 = player.GetUser(dbContext);
|
|
user2 = target.GetUser(dbContext);
|
|
|
|
user1.trashcount -= user1.trashcount;
|
|
if (target != null)
|
|
user2.trashcount -= user2.trashcount;
|
|
dbContext.SaveChanges();
|
|
}
|
|
Console.WriteLine($"[DATA DEBUG] vehicle: {data.vehicle.DisplayName} | Players: {data.getClientsFromData().Count} | Säcke: {data.getTrashCount()}");
|
|
return;
|
|
}
|
|
}
|
|
|
|
#region zweiSpeieler
|
|
|
|
public void MuellmannOnPlayerDc(Player player)
|
|
{
|
|
foreach (var data in muellmanData)
|
|
{
|
|
if (data.getDataFromClient(player) == null) continue;
|
|
|
|
if (data.hasFreePlace())
|
|
{
|
|
muellmanData.Remove(data);
|
|
//müllwagen respawnen
|
|
return;
|
|
}
|
|
|
|
data.removeClientFromData(player);
|
|
return;
|
|
}
|
|
}
|
|
|
|
public void MuellmannOnPlayerDeath(Player player)
|
|
{
|
|
foreach (var data in muellmanData)
|
|
{
|
|
if (data.getDataFromClient(player) == null) continue;
|
|
|
|
if (data.hasFreePlace())
|
|
{
|
|
muellmanData.Remove(data);
|
|
//müllwagen respawnen
|
|
return;
|
|
}
|
|
|
|
data.removeClientFromData(player);
|
|
return;
|
|
}
|
|
}
|
|
|
|
[ServerEvent(Event.VehicleDeath)]
|
|
private void MuellmannOnVehicle(Vehicle veh)
|
|
{
|
|
NAPI.Util.ConsoleOutput("VehicleDeath2: Debug 1");
|
|
if (veh.Model != (uint)Types.VehicleModel.Trash && veh.Model != (uint)Types.VehicleModel.Trash2) return;
|
|
foreach (var data in muellmanData)
|
|
{
|
|
if (data.vehicle == veh)
|
|
{
|
|
//müllfahrzeug respawnen
|
|
|
|
List<Player> clients = data.getClientsFromData();
|
|
foreach (var c in clients) { RefuseCollectorJobJobStop(c); }
|
|
|
|
muellmanData.Remove(data);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
public void MuellmannOnPlayerEnterVehicle(Player player, Vehicle vehicle, sbyte seat)
|
|
{
|
|
Player target;
|
|
if (vehicle.Model == (uint)Types.VehicleModel.Trash || vehicle.Model == (uint)Types.VehicleModel.Trash2)
|
|
{
|
|
foreach (var data in muellmanData)
|
|
{
|
|
if (data.vehicle == vehicle)
|
|
{
|
|
if (data.getDataFromClient(player) != null)
|
|
return;
|
|
|
|
if (!data.hasFreePlace())
|
|
{
|
|
player.StopAnimation();
|
|
return;
|
|
}
|
|
CheckDataForDuplicatePlayer(player, data);
|
|
data.setClientToData(player);
|
|
//destroy veh
|
|
MuellmannJobStarten(player, vehicle);
|
|
|
|
target = data.getPartnerClient(player);
|
|
if (target == null)
|
|
return;
|
|
|
|
ChatService.SendMessage((Player)player, $"~y~Job: ~s~Dein Partner ist {target.Name}!");
|
|
ChatService.SendMessage((Player)target, $"~y~Job: ~s~Dein Partner ist {player.Name}!");
|
|
return;
|
|
}
|
|
}
|
|
|
|
MuellmannData newData = new MuellmannData(vehicle);
|
|
muellmanData.Add(newData);
|
|
CheckDataForDuplicatePlayer(player, newData);
|
|
newData.setClientToData(player);
|
|
|
|
MuellmannJobStarten(player, vehicle);
|
|
|
|
target = newData.getPartnerClient(player);
|
|
if (target == null)
|
|
return;
|
|
|
|
ChatService.SendMessage((Player)player, $"~y~Job: ~s~Dein Partner ist {target.Name}!");
|
|
ChatService.SendMessage((Player)target, $"~y~Job: ~s~Dein Partner ist {player.Name}!");
|
|
}
|
|
}
|
|
|
|
public void CheckDataForDuplicatePlayer(Player player, MuellmannData data)
|
|
{
|
|
foreach (var d in muellmanData)
|
|
{
|
|
if (d == data) continue;
|
|
|
|
MuellmannData temp = d.getDataFromClient(player);
|
|
if (temp == null) continue;
|
|
|
|
temp.removeClientFromData(player);
|
|
}
|
|
}
|
|
|
|
#endregion zweiSpeieler
|
|
|
|
#region Data
|
|
|
|
public class MuellmannData
|
|
{
|
|
private Player client1;
|
|
private Player client2;
|
|
public Vehicle vehicle;
|
|
private static int trashCount = 0;
|
|
|
|
public MuellmannData(Vehicle vehicle)
|
|
{
|
|
this.vehicle = vehicle;
|
|
}
|
|
|
|
public void setClientToData(Player player)
|
|
{
|
|
if (client1 == player || client2 == player)
|
|
{
|
|
Console.WriteLine("Spieler schon gespeichert");
|
|
return;
|
|
}
|
|
|
|
if (client1 == null) { client1 = player; return; }
|
|
else if (client2 == null) { client2 = player; return; }
|
|
else if (client1 != null && client2 != null) { Console.WriteLine("kein Platz"); }
|
|
}
|
|
|
|
public void removeClientFromData(Player player)
|
|
{
|
|
if (client1 == player) { client1 = null; }
|
|
if (client2 == player) { client2 = null; }
|
|
}
|
|
|
|
public int getTrashCount()
|
|
{
|
|
return trashCount;
|
|
}
|
|
|
|
public void setTrashCount(int i)
|
|
{
|
|
trashCount = i;
|
|
}
|
|
|
|
public List<Player> getClientsFromData()
|
|
{
|
|
List<Player> tempList = new List<Player>();
|
|
if (client1 != null) { tempList.Add(client1); }
|
|
if (client2 != null) { tempList.Add(client2); }
|
|
return tempList;
|
|
}
|
|
|
|
public MuellmannData getDataFromClient(Player player)
|
|
{
|
|
if (client1 != player && client2 != player)
|
|
return null;
|
|
return this;
|
|
}
|
|
|
|
public bool hasFreePlace()
|
|
{
|
|
if (client1 != null && client2 != null)
|
|
return false;
|
|
return true;
|
|
}
|
|
|
|
public Player getPartnerClient(Player player)
|
|
{
|
|
if (client1 != player && client2 != player)
|
|
return null;
|
|
|
|
if (client1 == player) { return client2; }
|
|
if (client2 == player) { return client1; }
|
|
return null;
|
|
}
|
|
}
|
|
|
|
#endregion Data
|
|
}
|
|
}
|