93 lines
2.2 KiB
C#
93 lines
2.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Numerics;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace ServerCommon;
|
|
|
|
public static class LocationHelper
|
|
{
|
|
public static void clear(this ChannelServerLocation location)
|
|
{
|
|
location.SpawnPos = Vector3.Zero;
|
|
location.ForwardAngle = 0.0f;
|
|
location.ServerName = string.Empty;
|
|
location.WorldMetaId = 0;
|
|
}
|
|
|
|
public static void clear(this IndunLocation location)
|
|
{
|
|
location.SpawnPos = Vector3.Zero;
|
|
location.ForwardAngle = 0.0f;
|
|
location.InstanceMetaId = 0;
|
|
location.InstanceRoomId = string.Empty;
|
|
}
|
|
|
|
public static ChannelServerLocation clone(this ChannelServerLocation location)
|
|
{
|
|
ChannelServerLocation clone = new();
|
|
|
|
clone.SpawnPos = location.SpawnPos;
|
|
clone.ForwardAngle = location.ForwardAngle;
|
|
clone.ServerName = location.ServerName;
|
|
clone.WorldMetaId = location.WorldMetaId;
|
|
|
|
return clone;
|
|
}
|
|
|
|
public static IndunLocation clone(this IndunLocation location)
|
|
{
|
|
IndunLocation clone = new();
|
|
|
|
clone.SpawnPos = location.SpawnPos;
|
|
clone.ForwardAngle = location.ForwardAngle;
|
|
clone.InstanceMetaId = location.InstanceMetaId;
|
|
clone.InstanceRoomId = location.InstanceRoomId;
|
|
|
|
return clone;
|
|
}
|
|
|
|
public static void toPos(this BaseLoaction location, Pos pos)
|
|
{
|
|
pos.X = location.SpawnPos.X;
|
|
pos.Y = location.SpawnPos.Y;
|
|
pos.Z = location.SpawnPos.Z;
|
|
pos.Angle = (int)location.ForwardAngle;
|
|
}
|
|
|
|
public static void fromPos(this BaseLoaction location, Pos pos)
|
|
{
|
|
var newPos = new Vector3(pos.X, pos.Y, pos.Z);
|
|
|
|
location.SpawnPos = newPos;
|
|
location.ForwardAngle = pos.Angle;
|
|
}
|
|
|
|
public static Vector3 toVector3(this Pos pos)
|
|
{
|
|
Vector3 new_pos;
|
|
|
|
new_pos.X = pos.X;
|
|
new_pos.Y = pos.Y;
|
|
new_pos.Z = pos.Z;
|
|
|
|
return new_pos;
|
|
}
|
|
|
|
public static Pos toPos(this Vector3 pos)
|
|
{
|
|
var new_pos = new Pos();
|
|
|
|
new_pos.X = pos.X;
|
|
new_pos.Y = pos.Y;
|
|
new_pos.Z = pos.Z;
|
|
|
|
return new_pos;
|
|
}
|
|
}
|