Begin script abstraction
This commit is contained in:
79
ReallifeGamemode.Server.Core.RageMP/RagePlayer.cs
Normal file
79
ReallifeGamemode.Server.Core.RageMP/RagePlayer.cs
Normal file
@@ -0,0 +1,79 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using ReallifeGamemode.Server.Core.API;
|
||||
using ReallifeGamemode.Server.Types;
|
||||
|
||||
namespace ReallifeGamemode.Server.Core.RageMP
|
||||
{
|
||||
public class RagePlayer : RageEntity, IPlayer
|
||||
{
|
||||
private readonly GTANetworkAPI.Player client;
|
||||
|
||||
public string Name
|
||||
{
|
||||
get => client.Name;
|
||||
set => client.Name = value;
|
||||
}
|
||||
|
||||
public string SocialClubName => client.SocialClubName;
|
||||
|
||||
public IPAddress RemoteAddress => IPAddress.Parse(client.Address);
|
||||
|
||||
public IVehicle Vehicle => client.IsInVehicle ? new RageVehicle(client.Vehicle) : null;
|
||||
|
||||
public VehicleSeat VehicleSeat => (VehicleSeat)client.VehicleSeat;
|
||||
|
||||
public bool IsInVehicle => Vehicle != null;
|
||||
|
||||
public int Health { get => client.Health; set => client.Health = value; }
|
||||
public int Armor { get => client.Armor; set => client.Armor = value; }
|
||||
|
||||
public RagePlayer(GTANetworkAPI.Player client) : base(client)
|
||||
{
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
public void SendRawMessage(string message)
|
||||
{
|
||||
client.SendChatMessage(message);
|
||||
}
|
||||
|
||||
public void TriggerEventRaw(string eventName, params object[] args)
|
||||
{
|
||||
client.TriggerEvent(eventName, args);
|
||||
}
|
||||
|
||||
public void SetIntoVehicle(IVehicle vehicle, VehicleSeat seat)
|
||||
{
|
||||
client.SetIntoVehicle(new GTANetworkAPI.NetHandle((ushort)vehicle.Handle, GTANetworkAPI.EntityType.Vehicle), (int)seat - 1);
|
||||
}
|
||||
|
||||
public void Kick() => client.Kick();
|
||||
|
||||
public void SendNotification(string message, bool flashing = true)
|
||||
{
|
||||
client.SendNotification(message, flashing);
|
||||
}
|
||||
|
||||
public void Spawn(Position position, float heading = 0)
|
||||
{
|
||||
Health = 100;
|
||||
Armor = 0;
|
||||
|
||||
Position = position;
|
||||
Heading = heading;
|
||||
}
|
||||
|
||||
public void PlayAnimation(string dict, string name, AnimationFlags flags, float speed = 8.0f)
|
||||
{
|
||||
GTANetworkAPI.NAPI.Player.PlayPlayerAnimation(client, (int)flags, dict, name, speed);
|
||||
}
|
||||
|
||||
public void CancelAnimation()
|
||||
{
|
||||
client.StopAnimation();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user