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,61 @@
using System;
using System.Linq;
using GTANetworkAPI;
using ReallifeGamemode.Server.Core.API;
using ReallifeGamemode.Server.Core.API.API;
namespace ReallifeGamemode.Server.Core.RageMP
{
public class RageAPI : IAPI
{
public IColShapeAPI ColShape => new RageColShapeAPI();
public IVehicleAPI Vehicle => new RageVehicleAPI();
public void DisableDefaultCommandErrorMessages()
{
NAPI.Server.SetCommandErrorMessage(null);
NAPI.Server.SetGlobalDefaultCommandMessages(false);
}
public void SetGlobalChatEnabled(bool enable)
{
NAPI.Server.SetGlobalServerChat(enable);
}
public void DisableDefaultSpawnBehavior()
{
NAPI.Server.SetAutoSpawnOnConnect(false);
}
public IPlayer GetPlayerFromNameOrId(string nameOrId)
{
Player player;
if (int.TryParse(nameOrId, out var playerId))
{
player = NAPI.Pools.GetAllPlayers().Where(u => u.Handle.Value == playerId).FirstOrDefault();
}
else
{
player = NAPI.Player.GetPlayerFromName(nameOrId);
}
if (player == null || player.Handle == null)
{
return null;
}
return new RagePlayer(player);
}
public void SetTime(int hour, int minute, int second)
{
NAPI.World.SetTime(hour, minute, second);
}
public void TriggerClientEventForAll(string eventName, params object[] args)
{
NAPI.ClientEvent.TriggerClientEventForAll("SERVER:" + eventName, args);
}
}
}