294 lines
11 KiB
C#
294 lines
11 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Globalization;
|
|
using System.Runtime.CompilerServices;
|
|
|
|
namespace Questionable.Model.Questing;
|
|
|
|
public abstract class ElementId : IComparable<ElementId>, IEquatable<ElementId>
|
|
{
|
|
public ushort Value { get; }
|
|
|
|
protected ElementId(ushort value)
|
|
{
|
|
Value = value;
|
|
}
|
|
|
|
public int CompareTo(ElementId? other)
|
|
{
|
|
int num = (((object)this != other) ? 1197187714 : 1197187715);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 1197187714;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 2:
|
|
num = 1197187715;
|
|
break;
|
|
case 1:
|
|
return 0;
|
|
case 4:
|
|
return 1;
|
|
case 3:
|
|
return Value.CompareTo(other.Value);
|
|
case 0:
|
|
num = (((object)other != null) ? 1197187713 : 1197187718);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
int IComparable<ElementId>.CompareTo(ElementId? other)
|
|
{
|
|
//ILSpy generated this explicit interface implementation from .override directive in CompareTo
|
|
return this.CompareTo(other);
|
|
}
|
|
|
|
public bool Equals(ElementId? other)
|
|
{
|
|
int num = (((object)other != null) ? (-1056496819) : (-1056496824));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1056496820;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 3:
|
|
num = -1056496824;
|
|
break;
|
|
case 1:
|
|
num = (((object)this != other) ? (-1056496818) : (-1056496823));
|
|
break;
|
|
case 6:
|
|
return Value == other.Value;
|
|
case 0:
|
|
return false;
|
|
case 5:
|
|
return true;
|
|
case 4:
|
|
return false;
|
|
case 2:
|
|
num = ((!_200C_200B_200B_202C_206F_206A_206E_206A_206F_202A_200F_202B_200D_206C_206D_206B_206D_206C_202B_202A_202C_206C_206D_206A_206B_200C_206B_200D_206E_200F_206A_202D_206A_202D_202E_200E_200B_200E_206D_202D_202E(_202C_206B_200C_206A_206E_202B_200E_200D_206A_206F_202E_206F_206C_206D_200C_200C_206A_200F_202B_202C_202A_200C_202B_202A_206F_206B_200D_200E_206C_206E_206D_206B_200C_206E_200D_200E_200D_206C_206F_206A_202E((object?)other), _202E_202E_200B_202E_202A_202C_206B_202C_200D_200C_206E_206C_206E_200E_206C_202B_206C_200C_202D_202A_200C_200F_200C_200E_206C_200D_200B_206E_206A_200D_206B_206B_206E_202D_202B_202D_200F_200D_202B_202D_202E((object?)this))) ? (-1056496822) : (-1056496820));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
bool IEquatable<ElementId>.Equals(ElementId? other)
|
|
{
|
|
//ILSpy generated this explicit interface implementation from .override directive in Equals
|
|
return this.Equals(other);
|
|
}
|
|
|
|
public override bool Equals(object? obj)
|
|
{
|
|
int num = ((obj != null) ? (-1614624425) : (-1614624428));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1614624426;
|
|
int num4 = num2;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 4:
|
|
return Equals((ElementId)obj);
|
|
case 1:
|
|
num = ((this != obj) ? (-1614624429) : (-1614624432));
|
|
break;
|
|
case 3:
|
|
return false;
|
|
case 6:
|
|
return true;
|
|
case 0:
|
|
num = -1614624428;
|
|
break;
|
|
case 2:
|
|
return false;
|
|
case 5:
|
|
num = ((!_200C_200B_200B_202C_206F_206A_206E_206A_206F_202A_200F_202B_200D_206C_206D_206B_206D_206C_202B_202A_202C_206C_206D_206A_206B_200C_206B_200D_206E_200F_206A_202D_206A_202D_202E_200E_200B_200E_206D_202D_202E(_202C_206B_200C_206A_206E_202B_200E_200D_206A_206F_202E_206F_206C_206D_200C_200C_206A_200F_202B_202C_202A_200C_202B_202A_206F_206B_200D_200E_206C_206E_206D_206B_200C_206E_200D_200E_200D_206C_206F_206A_202E(obj), _202E_202E_200B_202E_202A_202C_206B_202C_200D_200C_206E_206C_206E_200E_206C_202B_206C_200C_202D_202A_200C_200F_200C_200E_206C_200D_200B_206E_206A_200D_206B_206B_206E_202D_202B_202D_200F_200D_202B_202D_202E((object?)this))) ? (-1614624430) : (-1614624427));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return Value.GetHashCode();
|
|
}
|
|
|
|
public static bool operator ==(ElementId? left, ElementId? right)
|
|
{
|
|
return _206F_202B_202B_200B_200C_200E_206F_206B_206A_206D_202B_206E_206C_200B_202B_200D_202C_206A_200F_206F_200D_206A_200E_206B_200F_206F_206E_200B_206C_202D_202A_202E_206F_202B_206A_206E_200F_206A_206C_206D_202E((object?)left, (object?)right);
|
|
}
|
|
|
|
public static bool operator !=(ElementId? left, ElementId? right)
|
|
{
|
|
return !_206F_202B_202B_200B_200C_200E_206F_206B_206A_206D_202B_206E_206C_200B_202B_200D_202C_206A_200F_206F_200D_206A_200E_206B_200F_206F_206E_200B_206C_202D_202A_202E_206F_202B_206A_206E_200F_206A_206C_206D_202E((object?)left, (object?)right);
|
|
}
|
|
|
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
|
public static ElementId FromString(string value)
|
|
{
|
|
int num = ((!_200B_202C_206E_200D_200E_202D_200E_206E_200B_200F_206B_200E_206B_200E_202C_200F_200F_202A_200B_206C_200F_202C_200E_202D_202B_206E_206F_206E_200D_202E_200F_206B_206B_202A_200E_200E_200B_202A_202D_206B_202E(value, global::_003CModule_003E._200C_206E_206A_202B_206D_200F_202D_206C_200B_202E_202A_200F_202B_206F_206E_206F_206A_206D_200F_206A_202B_200E_206A_206E_206F_206C_206A_202D_200B_200C_206B_202A_206E_200D_202C_200B_200E_200C_202A_206E_202E<string>(2047666330))) ? (-1593570026) : (-1593570027));
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = -1593570025;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 1:
|
|
num = ((!_200B_202C_206E_200D_200E_202D_200E_206E_200B_200F_206B_200E_206B_200E_202C_200F_200F_202A_200B_206C_200F_202C_200E_202D_202B_206E_206F_206E_200D_202E_200F_206B_206B_202A_200E_200E_200B_202A_202D_206B_202E(value, global::_003CModule_003E._200F_206E_206A_200F_202A_206C_206C_202C_200E_206C_202B_200D_206C_200C_202E_200F_202B_200C_206E_202D_200D_206D_206D_200C_206D_206D_206F_206D_200F_200E_200E_206A_206D_206C_202E_206E_202E_202A_206A_206B_202E<string>(1969362176))) ? (-1593570028) : (-1593570029));
|
|
break;
|
|
case 2:
|
|
return new SatisfactionSupplyNpcId(ushort.Parse(_206E_206D_202D_202E_200E_200D_206B_200D_200B_202A_200E_206A_206B_202A_206F_202E_206C_206D_200B_206B_206A_206F_202D_206B_202C_206D_206D_202D_206E_206B_206A_200D_200B_206B_206F_202B_206A_206C_206A_200F_202E(value, 1), _206F_200B_206F_206A_206C_202D_200C_206F_200C_206E_202A_202C_206A_206B_206E_202B_206F_206F_200B_200C_202E_200C_202A_200B_200B_202A_202C_206D_202A_206F_200D_200C_202A_206F_200D_202D_206B_202E()));
|
|
case 0:
|
|
num = -1593570027;
|
|
break;
|
|
case 3:
|
|
return new QuestId(ushort.Parse(value, _206F_200B_206F_206A_206C_202D_200C_206F_200C_206E_202A_202C_206A_206B_206E_202B_206F_206F_200B_200C_202E_200C_202A_200B_200B_202A_202C_206D_202A_206F_200D_200C_202A_206F_200D_202D_206B_202E()));
|
|
case 4:
|
|
return new UnlockLinkId(ushort.Parse(_206E_206D_202D_202E_200E_200D_206B_200D_200B_202A_200E_206A_206B_202A_206F_202E_206C_206D_200B_206B_206A_206F_202D_206B_202C_206D_206D_202D_206E_206B_206A_200D_200B_206B_206F_202B_206A_206C_206A_200F_202E(value, 1), _206F_200B_206F_206A_206C_202D_200C_206F_200C_206E_202A_202C_206A_206B_206E_202B_206F_206F_200B_200C_202E_200C_202A_200B_200B_202A_202C_206D_202A_206F_200D_200C_202A_206F_200D_202D_206B_202E()));
|
|
}
|
|
}
|
|
}
|
|
|
|
public static List<ElementId> FromStrings(IEnumerable<string> values, out int skippedCount)
|
|
{
|
|
List<ElementId> list = new List<ElementId>();
|
|
skippedCount = 0;
|
|
IEnumerator<string> enumerator = values.GetEnumerator();
|
|
try
|
|
{
|
|
int num = 1723974477;
|
|
ElementId elementId = default(ElementId);
|
|
while (true)
|
|
{
|
|
int num2 = num;
|
|
int num3 = 1723974478;
|
|
int num4 = num2;
|
|
int num5 = num4 + num3;
|
|
int num6 = num4 & num3;
|
|
switch (num5 - (num6 + num6))
|
|
{
|
|
case 5:
|
|
num = 1723974477;
|
|
break;
|
|
case 1:
|
|
num = ((!(elementId != null)) ? 1723974476 : 1723974478);
|
|
break;
|
|
case 0:
|
|
list.Add(elementId);
|
|
num = 1723974477;
|
|
break;
|
|
case 3:
|
|
num = (_206A_202C_206C_202A_202C_206E_206C_202D_200B_200B_202D_202C_200B_200E_200E_202E_206D_202D_206A_202E_206E_206A_202B_206C_202C_202D_206D_206C_200D_206D_200B_200C_202A_206D_206C_206B_200E_200E_200C_206A_202E((IEnumerator?)enumerator) ? 1723974474 : 1723974472);
|
|
break;
|
|
case 2:
|
|
skippedCount++;
|
|
num = 1723974477;
|
|
break;
|
|
case 4:
|
|
num = ((!TryFromString(enumerator.Current, out elementId)) ? 1723974476 : 1723974479);
|
|
break;
|
|
case 6:
|
|
return list;
|
|
}
|
|
}
|
|
}
|
|
finally
|
|
{
|
|
int num = ((enumerator == null) ? (-1730205036) : (-1730205035));
|
|
while (true)
|
|
{
|
|
int num7 = num;
|
|
int num3 = -1730205036;
|
|
int num4 = num7;
|
|
switch ((num4 | num3) - (num4 & num3))
|
|
{
|
|
case 2:
|
|
num = -1730205035;
|
|
break;
|
|
case 1:
|
|
_202C_202B_206B_206D_206B_206E_200B_206B_202E_202D_206A_206C_202E_206D_206C_202D_206B_206B_202B_200F_206F_206C_200F_200F_200D_206E_202E_200F_206B_200C_200F_200E_206D_202B_200F_200D_200C_206D_202C_202D_202E((IDisposable?)enumerator);
|
|
num = -1730205036;
|
|
break;
|
|
case 0:
|
|
goto end_IL_0112;
|
|
}
|
|
continue;
|
|
end_IL_0112:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
public static bool TryFromString(string value, out ElementId? elementId)
|
|
{
|
|
try
|
|
{
|
|
elementId = FromString(value);
|
|
return true;
|
|
}
|
|
catch (Exception)
|
|
{
|
|
elementId = null;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public abstract override string ToString();
|
|
|
|
static Type? _202C_206B_200C_206A_206E_202B_200E_200D_206A_206F_202E_206F_206C_206D_200C_200C_206A_200F_202B_202C_202A_200C_202B_202A_206F_206B_200D_200E_206C_206E_206D_206B_200C_206E_200D_200E_200D_206C_206F_206A_202E(object? P_0)
|
|
{
|
|
return P_0.GetType();
|
|
}
|
|
|
|
static Type? _202E_202E_200B_202E_202A_202C_206B_202C_200D_200C_206E_206C_206E_200E_206C_202B_206C_200C_202D_202A_200C_200F_200C_200E_206C_200D_200B_206E_206A_200D_206B_206B_206E_202D_202B_202D_200F_200D_202B_202D_202E(object? P_0)
|
|
{
|
|
return P_0.GetType();
|
|
}
|
|
|
|
static bool _200C_200B_200B_202C_206F_206A_206E_206A_206F_202A_200F_202B_200D_206C_206D_206B_206D_206C_202B_202A_202C_206C_206D_206A_206B_200C_206B_200D_206E_200F_206A_202D_206A_202D_202E_200E_200B_200E_206D_202D_202E(Type? P_0, Type? P_1)
|
|
{
|
|
return P_0 != P_1;
|
|
}
|
|
|
|
static bool _206F_202B_202B_200B_200C_200E_206F_206B_206A_206D_202B_206E_206C_200B_202B_200D_202C_206A_200F_206F_200D_206A_200E_206B_200F_206F_206E_200B_206C_202D_202A_202E_206F_202B_206A_206E_200F_206A_206C_206D_202E(object? P_0, object? P_1)
|
|
{
|
|
return object.Equals(P_0, P_1);
|
|
}
|
|
|
|
static bool _200B_202C_206E_200D_200E_202D_200E_206E_200B_200F_206B_200E_206B_200E_202C_200F_200F_202A_200B_206C_200F_202C_200E_202D_202B_206E_206F_206E_200D_202E_200F_206B_206B_202A_200E_200E_200B_202A_202D_206B_202E(string? P_0, string? P_1)
|
|
{
|
|
return P_0.StartsWith(P_1);
|
|
}
|
|
|
|
static string? _206E_206D_202D_202E_200E_200D_206B_200D_200B_202A_200E_206A_206B_202A_206F_202E_206C_206D_200B_206B_206A_206F_202D_206B_202C_206D_206D_202D_206E_206B_206A_200D_200B_206B_206F_202B_206A_206C_206A_200F_202E(string? P_0, int P_1)
|
|
{
|
|
return P_0.Substring(P_1);
|
|
}
|
|
|
|
static CultureInfo? _206F_200B_206F_206A_206C_202D_200C_206F_200C_206E_202A_202C_206A_206B_206E_202B_206F_206F_200B_200C_202E_200C_202A_200B_200B_202A_202C_206D_202A_206F_200D_200C_202A_206F_200D_202D_206B_202E()
|
|
{
|
|
return CultureInfo.InvariantCulture;
|
|
}
|
|
|
|
static bool _206A_202C_206C_202A_202C_206E_206C_202D_200B_200B_202D_202C_200B_200E_200E_202E_206D_202D_206A_202E_206E_206A_202B_206C_202C_202D_206D_206C_200D_206D_200B_200C_202A_206D_206C_206B_200E_200E_200C_206A_202E(IEnumerator? P_0)
|
|
{
|
|
return P_0.MoveNext();
|
|
}
|
|
|
|
static void _202C_202B_206B_206D_206B_206E_200B_206B_202E_202D_206A_206C_202E_206D_206C_202D_206B_206B_202B_200F_206F_206C_200F_200F_200D_206E_202E_200F_206B_200C_200F_200E_206D_202B_200F_200D_200C_206D_202C_202D_202E(IDisposable? P_0)
|
|
{
|
|
P_0.Dispose();
|
|
}
|
|
}
|