Begin script abstraction

This commit is contained in:
hydrant
2020-02-29 14:50:10 +01:00
parent 447dd2eabc
commit 37f499a446
48 changed files with 2201 additions and 49 deletions

View 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();
}
}
}