53 lines
1.5 KiB
C#
53 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using RecNet;
|
|
|
|
namespace RecRoom.Challenges
|
|
{
|
|
// Token: 0x02000B38 RID: 2872
|
|
public abstract class NumResolver<T> : INumResolver<T>, INMKELLJKBO, EBHIILNPABI where T : struct, IConvertible
|
|
{
|
|
// Token: 0x1700091C RID: 2332
|
|
// (get) Token: 0x06015BBF RID: 89023
|
|
public abstract NumResolverTypes NumResolverType { get; }
|
|
|
|
// Token: 0x06015BC0 RID: 89024
|
|
public abstract T? GetValue(ChallengeEvents.IChallengeEventData eventData);
|
|
|
|
// Token: 0x06015BC1 RID: 89025 RVA: 0x00607144 File Offset: 0x00605344
|
|
public virtual Dictionary<string, object> Serialize()
|
|
{
|
|
return new Dictionary<string, object> {
|
|
{
|
|
"t",
|
|
(int)this.NumResolverType
|
|
} };
|
|
}
|
|
|
|
// Token: 0x06015BC2 RID: 89026
|
|
public abstract void Deserialize(Dictionary<string, object> jsonDict);
|
|
|
|
// Token: 0x06015BC3 RID: 89027 RVA: 0x00607170 File Offset: 0x00605370
|
|
public static INumResolver<T> FromJsonDict(Dictionary<string, object> jsonDict)
|
|
{
|
|
if (jsonDict == null || !jsonDict.ContainsKey("t"))
|
|
{
|
|
return null;
|
|
}
|
|
NumResolverTypes numResolverTypes = (NumResolverTypes)OFPFHHLNHIC.KOFIKGFMMKD<int>("t", jsonDict);
|
|
if (numResolverTypes == NumResolverTypes.Constant)
|
|
{
|
|
return OFPFHHLNHIC.DKMOHDIJHAE<ConstantNumResolver<T>>(jsonDict);
|
|
}
|
|
if (numResolverTypes != NumResolverTypes.Var)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
return OFPFHHLNHIC.DKMOHDIJHAE<VarNumResolver<T>>(jsonDict);
|
|
}
|
|
|
|
// Token: 0x04003CC4 RID: 15556
|
|
private const string TYPE_KEY = "t";
|
|
}
|
|
}
|