Files
TorchRemote/TorchRemote.Plugin/Utils/Extensions.cs
2023-01-24 18:27:32 +07:00

37 lines
1.1 KiB
C#

using System.Security.Cryptography;
using System.Text;
using Sandbox.Engine.Multiplayer;
using Sandbox.Engine.Networking;
using Sandbox.Game;
using Sandbox.Game.World;
using TorchRemote.Models.Shared;
namespace TorchRemote.Plugin.Utils;
public static class Extensions
{
public static void ApplyDynamically(this ServerSettings settings)
{
MyGameService.GameServer.SetServerName(settings.ServerName);
MyMultiplayer.Static.HostName = settings.ServerName;
MyMultiplayer.Static.WorldName = settings.MapName;
MySession.Static.Name = settings.MapName;
MyMultiplayer.Static.MemberLimit = settings.MemberLimit;
MyCachedServerItem.SendSettingsToSteam();
}
public static Guid ToGuid(this string s)
{
using var md5 = MD5.Create();
return new(md5.ComputeHash(Encoding.UTF8.GetBytes(s)));
}
public static Vector3 ToNumerics(this VRageMath.Vector3D vector3D) =>
new((float)vector3D.X, (float)vector3D.Y, (float)vector3D.Z);
public static Vector3 ToNumerics(this VRageMath.Vector3 vector3) =>
new(vector3.X, vector3.Y, vector3.Z);
}