2019-06-30 14:37:59 -04:00
|
|
|
|
using SharedLibraryCore;
|
|
|
|
|
using SharedLibraryCore.Helpers;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace LiveRadar
|
|
|
|
|
{
|
|
|
|
|
public class RadarEvent
|
|
|
|
|
{
|
|
|
|
|
public string Name { get; set; }
|
|
|
|
|
public long Guid { get; set; }
|
|
|
|
|
public Vector3 Location { get; set; }
|
|
|
|
|
public Vector3 ViewAngles { get; set; }
|
|
|
|
|
public string Team { get; set; }
|
|
|
|
|
public int Kills { get; set; }
|
|
|
|
|
public int Deaths { get; set; }
|
|
|
|
|
public int Score { get; set; }
|
2019-07-05 21:53:03 -04:00
|
|
|
|
public int PlayTime { get; set; }
|
2019-06-30 14:37:59 -04:00
|
|
|
|
public string Weapon { get; set; }
|
|
|
|
|
public int Health { get; set; }
|
|
|
|
|
public bool IsAlive { get; set; }
|
|
|
|
|
public Vector3 RadianAngles => new Vector3(ViewAngles.X.ToRadians(), ViewAngles.Y.ToRadians(), ViewAngles.Z.ToRadians());
|
2019-07-02 18:30:05 -04:00
|
|
|
|
public int Id => GetHashCode();
|
|
|
|
|
|
|
|
|
|
public override bool Equals(object obj)
|
|
|
|
|
{
|
|
|
|
|
if (obj is RadarEvent re)
|
|
|
|
|
{
|
|
|
|
|
return re.ViewAngles.X == ViewAngles.X &&
|
|
|
|
|
re.ViewAngles.Y == ViewAngles.Y &&
|
|
|
|
|
re.ViewAngles.Z == ViewAngles.Z &&
|
|
|
|
|
re.Location.X == Location.X &&
|
|
|
|
|
re.Location.Y == Location.Y &&
|
|
|
|
|
re.Location.Z == Location.Z;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2019-06-30 14:37:59 -04:00
|
|
|
|
|
|
|
|
|
public static RadarEvent Parse(string input)
|
|
|
|
|
{
|
2019-07-05 21:53:03 -04:00
|
|
|
|
var items = input.Split(';').Skip(1).ToList();
|
2019-06-30 14:37:59 -04:00
|
|
|
|
|
|
|
|
|
var parsedEvent = new RadarEvent()
|
|
|
|
|
{
|
2020-01-17 18:31:53 -05:00
|
|
|
|
Guid = items[0].ConvertGuidToLong(System.Globalization.NumberStyles.HexNumber),
|
2019-06-30 14:37:59 -04:00
|
|
|
|
Location = Vector3.Parse(items[1]),
|
2019-07-02 18:30:05 -04:00
|
|
|
|
ViewAngles = Vector3.Parse(items[2]).FixIW4Angles(),
|
2019-06-30 14:37:59 -04:00
|
|
|
|
Team = items[3],
|
|
|
|
|
Kills = int.Parse(items[4]),
|
|
|
|
|
Deaths = int.Parse(items[5]),
|
|
|
|
|
Score = int.Parse(items[6]),
|
|
|
|
|
Weapon = items[7],
|
|
|
|
|
Health = int.Parse(items[8]),
|
2019-07-05 21:53:03 -04:00
|
|
|
|
IsAlive = items[9] == "1",
|
|
|
|
|
PlayTime = Convert.ToInt32(items[10])
|
2019-06-30 14:37:59 -04:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return parsedEvent;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|