改了一亿个东西,修了一亿个 BUG

This commit is contained in:
2021-10-19 17:42:18 +02:00
parent 5b907309e0
commit 888ddce4ef
40 changed files with 1870 additions and 1715 deletions

28
Utils/ShortTimeSpan.cs Normal file
View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AnotherReplayReader.Utils
{
public readonly struct ShortTimeSpan : IEquatable<ShortTimeSpan>, IComparable<ShortTimeSpan>, IComparable
{
public readonly TimeSpan Value;
public ShortTimeSpan(TimeSpan value) => Value = value;
public static implicit operator TimeSpan(ShortTimeSpan span) => span.Value;
public static implicit operator ShortTimeSpan(TimeSpan value) => new(value);
public override string ToString() => $"{(int)Value.TotalMinutes:00}:{Value.Seconds:00}";
public int CompareTo(ShortTimeSpan other) => Value.CompareTo(other.Value);
public int CompareTo(object obj) => obj is ShortTimeSpan span ? CompareTo(span) : 1;
public override bool Equals(object? obj) => obj is ShortTimeSpan span && Equals(span);
public bool Equals(ShortTimeSpan other) => Value.Equals(other.Value);
public override int GetHashCode() => Value.GetHashCode();
public static bool operator ==(ShortTimeSpan left, ShortTimeSpan right) => left.Equals(right);
public static bool operator !=(ShortTimeSpan left, ShortTimeSpan right) => !(left == right);
public static bool operator <(ShortTimeSpan left, ShortTimeSpan right) => left.CompareTo(right) < 0;
public static bool operator >(ShortTimeSpan left, ShortTimeSpan right) => left.CompareTo(right) > 0;
}
}