scripts
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B27 RID: 2855
|
||||
public class BoolVarEqualsChallenge : VarEqualsChallenge<bool, bool>
|
||||
{
|
||||
// Token: 0x06015B7D RID: 88957 RVA: 0x00606EF4 File Offset: 0x006050F4
|
||||
public BoolVarEqualsChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B7E RID: 88958 RVA: 0x00606EFC File Offset: 0x006050FC
|
||||
public BoolVarEqualsChallenge(string varKey, bool requiredValue)
|
||||
: this(varKey, true, requiredValue)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B7F RID: 88959 RVA: 0x00606F08 File Offset: 0x00605108
|
||||
public BoolVarEqualsChallenge(string varKey, bool inclusive, bool requiredValue)
|
||||
: base(varKey, inclusive, new bool[] { requiredValue })
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B80 RID: 88960 RVA: 0x00606F1C File Offset: 0x0060511C
|
||||
protected override bool? GetValueFromData(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
return (bool?)challengeEventData.GetVar(this.VarKey);
|
||||
}
|
||||
|
||||
// Token: 0x06015B81 RID: 88961 RVA: 0x00606F30 File Offset: 0x00605130
|
||||
protected override bool SerializeValue(bool value)
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
// Token: 0x06015B82 RID: 88962 RVA: 0x00606F34 File Offset: 0x00605134
|
||||
protected override bool DeserializeValue(bool obj)
|
||||
{
|
||||
return obj;
|
||||
}
|
||||
|
||||
// Token: 0x17000908 RID: 2312
|
||||
// (get) Token: 0x06015B83 RID: 88963 RVA: 0x00606F38 File Offset: 0x00605138
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.BoolVarEqualsChallenge;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000AFA RID: 2810
|
||||
public class Challenge : ChallengeBase
|
||||
{
|
||||
// Token: 0x06015A50 RID: 88656 RVA: 0x00604400 File Offset: 0x00602600
|
||||
public Challenge()
|
||||
{
|
||||
this.IgnorePreviousCompletions = false;
|
||||
}
|
||||
|
||||
// Token: 0x06015A51 RID: 88657 RVA: 0x00604428 File Offset: 0x00602628
|
||||
protected bool EvalutateConditions(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
List<bool> list = this.ResetConditions.Select((IChallenge _) => _.Evaluate(challengeEventData)).ToList<bool>();
|
||||
bool flag = list.Any((bool _) => _);
|
||||
if (flag)
|
||||
{
|
||||
this.Reset();
|
||||
}
|
||||
List<bool> list2 = this.WithConditions.Select((IChallenge _) => _.Evaluate(challengeEventData)).ToList<bool>();
|
||||
bool flag2;
|
||||
if (list2.Count<bool>() > 0)
|
||||
{
|
||||
flag2 = list2.All((bool _) => _);
|
||||
}
|
||||
else
|
||||
{
|
||||
flag2 = false;
|
||||
}
|
||||
bool flag3 = flag2;
|
||||
base.Dirty |= this.WithConditions.Any((IChallenge _) => _.Dirty);
|
||||
return flag3;
|
||||
}
|
||||
|
||||
// Token: 0x06015A52 RID: 88658 RVA: 0x00604518 File Offset: 0x00602718
|
||||
protected override bool EvaluateInternal(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
return this.EvalutateConditions(challengeEventData);
|
||||
}
|
||||
|
||||
// Token: 0x06015A53 RID: 88659 RVA: 0x00604524 File Offset: 0x00602724
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
this.ResetChildren();
|
||||
}
|
||||
|
||||
// Token: 0x06015A54 RID: 88660 RVA: 0x00604534 File Offset: 0x00602734
|
||||
protected void ResetChildren()
|
||||
{
|
||||
foreach (IChallenge challenge in this.WithConditions)
|
||||
{
|
||||
challenge.Reset();
|
||||
}
|
||||
foreach (IChallenge challenge2 in this.ResetConditions)
|
||||
{
|
||||
challenge2.Reset();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015A55 RID: 88661 RVA: 0x006045DC File Offset: 0x006027DC
|
||||
public override Dictionary<string, object> Serialize()
|
||||
{
|
||||
Dictionary<string, object> dictionary = base.Serialize();
|
||||
List<Dictionary<string, object>> list = (from _ in this.ResetConditions
|
||||
where !_.SkipSerialization
|
||||
select _.Serialize()).ToList<Dictionary<string, object>>();
|
||||
List<Dictionary<string, object>> list2 = (from _ in this.WithConditions
|
||||
where !_.SkipSerialization
|
||||
select _.Serialize()).ToList<Dictionary<string, object>>();
|
||||
if (list.Count > 0)
|
||||
{
|
||||
dictionary["rc"] = list;
|
||||
}
|
||||
if (list2.Count > 0)
|
||||
{
|
||||
dictionary["wc"] = list2;
|
||||
}
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
// Token: 0x06015A56 RID: 88662 RVA: 0x006046C4 File Offset: 0x006028C4
|
||||
protected override void DeserializeInternal(Dictionary<string, object> jsonDict)
|
||||
{
|
||||
this.ResetConditions = ChallengeParser.GetChallengeSet("rc", jsonDict);
|
||||
this.WithConditions = ChallengeParser.GetChallengeSet("wc", jsonDict);
|
||||
}
|
||||
|
||||
// Token: 0x170008DB RID: 2267
|
||||
// (get) Token: 0x06015A57 RID: 88663 RVA: 0x006046E8 File Offset: 0x006028E8
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.Challenge;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04003BFB RID: 15355
|
||||
public List<IChallenge> WithConditions = new List<IChallenge>();
|
||||
|
||||
// Token: 0x04003BFC RID: 15356
|
||||
public List<IChallenge> ResetConditions = new List<IChallenge>();
|
||||
|
||||
// Token: 0x04003BFD RID: 15357
|
||||
public const string RESET_CONDITIONS_KEY = "rc";
|
||||
|
||||
// Token: 0x04003BFE RID: 15358
|
||||
public const string WITH_CONDITIONS_KEY = "wc";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,212 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using RecNet;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000AFC RID: 2812
|
||||
public abstract class ChallengeBase : IChallenge, INMKELLJKBO, EBHIILNPABI
|
||||
{
|
||||
// Token: 0x170008DC RID: 2268
|
||||
// (get) Token: 0x06015A63 RID: 88675 RVA: 0x0060475C File Offset: 0x0060295C
|
||||
// (set) Token: 0x06015A64 RID: 88676 RVA: 0x00604764 File Offset: 0x00602964
|
||||
public bool Complete { get; private set; }
|
||||
|
||||
// Token: 0x170008DD RID: 2269
|
||||
// (get) Token: 0x06015A65 RID: 88677 RVA: 0x00604770 File Offset: 0x00602970
|
||||
// (set) Token: 0x06015A66 RID: 88678 RVA: 0x00604778 File Offset: 0x00602978
|
||||
public bool Dirty { get; protected set; }
|
||||
|
||||
// Token: 0x170008DE RID: 2270
|
||||
// (get) Token: 0x06015A67 RID: 88679 RVA: 0x00604784 File Offset: 0x00602984
|
||||
// (set) Token: 0x06015A68 RID: 88680 RVA: 0x0060478C File Offset: 0x0060298C
|
||||
public bool UpdateServer { get; protected set; }
|
||||
|
||||
// Token: 0x170008DF RID: 2271
|
||||
// (get) Token: 0x06015A69 RID: 88681 RVA: 0x00604798 File Offset: 0x00602998
|
||||
public virtual ChallengeProgress Progress
|
||||
{
|
||||
get
|
||||
{
|
||||
return new ChallengeProgress
|
||||
{
|
||||
Count = ((!this.Complete) ? 0 : 1),
|
||||
Total = 1
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170008E0 RID: 2272
|
||||
// (get) Token: 0x06015A6A RID: 88682
|
||||
public abstract ChallengeTypes ChallengeType { get; }
|
||||
|
||||
// Token: 0x170008E1 RID: 2273
|
||||
// (get) Token: 0x06015A6B RID: 88683 RVA: 0x006047D0 File Offset: 0x006029D0
|
||||
// (set) Token: 0x06015A6C RID: 88684 RVA: 0x006047D8 File Offset: 0x006029D8
|
||||
public bool SkipSerialization { get; set; }
|
||||
|
||||
// Token: 0x170008E2 RID: 2274
|
||||
// (get) Token: 0x06015A6D RID: 88685 RVA: 0x006047E4 File Offset: 0x006029E4
|
||||
// (set) Token: 0x06015A6E RID: 88686 RVA: 0x006047EC File Offset: 0x006029EC
|
||||
public bool UpdateServerOnReset { get; set; }
|
||||
|
||||
// Token: 0x170008E3 RID: 2275
|
||||
// (get) Token: 0x06015A6F RID: 88687 RVA: 0x006047F8 File Offset: 0x006029F8
|
||||
// (set) Token: 0x06015A70 RID: 88688 RVA: 0x00604800 File Offset: 0x00602A00
|
||||
public bool IsMasterChallenge { get; set; }
|
||||
|
||||
// Token: 0x06015A71 RID: 88689 RVA: 0x0060480C File Offset: 0x00602A0C
|
||||
public void EvaluateEvent(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
this.Evaluate(challengeEventData);
|
||||
}
|
||||
|
||||
// Token: 0x06015A72 RID: 88690 RVA: 0x00604818 File Offset: 0x00602A18
|
||||
public bool Evaluate(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
this.Dirty = false;
|
||||
this.UpdateServer = false;
|
||||
if (this.Complete && !this.IgnorePreviousCompletions)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if (this.Complete && this.IgnorePreviousCompletions)
|
||||
{
|
||||
this.Complete = false;
|
||||
}
|
||||
bool flag = this.EvaluateInternal(challengeEventData);
|
||||
bool flag2 = flag != this.Complete;
|
||||
bool flag3 = flag && !this.Complete;
|
||||
if (this.Dirty)
|
||||
{
|
||||
this.UpdateEvent.LAMMJKLHNOL(delegate(UpdateChallenge _)
|
||||
{
|
||||
_(this);
|
||||
});
|
||||
}
|
||||
if (flag2)
|
||||
{
|
||||
if (flag3)
|
||||
{
|
||||
this.UpdateServer = true;
|
||||
this.Complete = true;
|
||||
this.ChallengeCompleteEvent.LAMMJKLHNOL(delegate(ChallengeComplete _)
|
||||
{
|
||||
_(this, challengeEventData);
|
||||
});
|
||||
}
|
||||
if (this.IgnorePreviousCompletions)
|
||||
{
|
||||
this.Complete = flag;
|
||||
}
|
||||
}
|
||||
if (this.UpdateServer && this.IsMasterChallenge)
|
||||
{
|
||||
this.UpdateServerEvent.LAMMJKLHNOL(delegate(UpdateChallenge _)
|
||||
{
|
||||
_(this);
|
||||
});
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x06015A73 RID: 88691
|
||||
protected abstract bool EvaluateInternal(ChallengeEvents.IChallengeEventData challengeEventData);
|
||||
|
||||
// Token: 0x06015A74 RID: 88692 RVA: 0x0060493C File Offset: 0x00602B3C
|
||||
public virtual void Reset()
|
||||
{
|
||||
if (this.UpdateServerOnReset)
|
||||
{
|
||||
this.UpdateServer = true;
|
||||
this.Dirty = true;
|
||||
}
|
||||
this.Complete = false;
|
||||
}
|
||||
|
||||
// Token: 0x14000096 RID: 150
|
||||
// (add) Token: 0x06015A75 RID: 88693 RVA: 0x00604960 File Offset: 0x00602B60
|
||||
// (remove) Token: 0x06015A76 RID: 88694 RVA: 0x00604998 File Offset: 0x00602B98
|
||||
[field: DebuggerBrowsable(DebuggerBrowsableState.Never)]
|
||||
public event ChallengeComplete ChallengeCompleteEvent;
|
||||
|
||||
// Token: 0x14000097 RID: 151
|
||||
// (add) Token: 0x06015A77 RID: 88695 RVA: 0x006049D0 File Offset: 0x00602BD0
|
||||
// (remove) Token: 0x06015A78 RID: 88696 RVA: 0x00604A08 File Offset: 0x00602C08
|
||||
[field: DebuggerBrowsable(DebuggerBrowsableState.Never)]
|
||||
public event UpdateChallenge UpdateEvent;
|
||||
|
||||
// Token: 0x14000098 RID: 152
|
||||
// (add) Token: 0x06015A79 RID: 88697 RVA: 0x00604A40 File Offset: 0x00602C40
|
||||
// (remove) Token: 0x06015A7A RID: 88698 RVA: 0x00604A78 File Offset: 0x00602C78
|
||||
[field: DebuggerBrowsable(DebuggerBrowsableState.Never)]
|
||||
public event UpdateChallenge UpdateServerEvent;
|
||||
|
||||
// Token: 0x14000099 RID: 153
|
||||
// (add) Token: 0x06015A7B RID: 88699 RVA: 0x00604AB0 File Offset: 0x00602CB0
|
||||
// (remove) Token: 0x06015A7C RID: 88700 RVA: 0x00604AE8 File Offset: 0x00602CE8
|
||||
[field: DebuggerBrowsable(DebuggerBrowsableState.Never)]
|
||||
public event ChallengeNotifyEvent ChallengeNotifyEvent;
|
||||
|
||||
// Token: 0x06015A7D RID: 88701 RVA: 0x00604B20 File Offset: 0x00602D20
|
||||
public void Notify(int count = 0, int total = 0)
|
||||
{
|
||||
this.ChallengeNotifyEvent.LAMMJKLHNOL(delegate(ChallengeNotifyEvent _)
|
||||
{
|
||||
_(this, count, total);
|
||||
});
|
||||
}
|
||||
|
||||
// Token: 0x06015A7E RID: 88702 RVA: 0x00604B60 File Offset: 0x00602D60
|
||||
protected static void SerializeOptionalField<T>(string key, T value, T defaultValue, Dictionary<string, object> jsonDict) where T : struct, IComparable, IEquatable<T>
|
||||
{
|
||||
if (!EqualityComparer<T>.Default.Equals(value, defaultValue))
|
||||
{
|
||||
jsonDict[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015A7F RID: 88703 RVA: 0x00604B80 File Offset: 0x00602D80
|
||||
public virtual Dictionary<string, object> Serialize()
|
||||
{
|
||||
Dictionary<string, object> dictionary = new Dictionary<string, object>();
|
||||
dictionary["ct"] = (int)this.ChallengeType;
|
||||
ChallengeBase.SerializeOptionalField<bool>("c", this.Complete, false, dictionary);
|
||||
ChallengeBase.SerializeOptionalField<bool>("ipc", this.IgnorePreviousCompletions, true, dictionary);
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
// Token: 0x06015A80 RID: 88704 RVA: 0x00604BD0 File Offset: 0x00602DD0
|
||||
public void Deserialize(Dictionary<string, object> jsonDict)
|
||||
{
|
||||
this.IgnorePreviousCompletions = ChallengeParser.GetOptionalKey<bool>("ipc", jsonDict, true);
|
||||
this.Complete = ChallengeParser.GetOptionalKey<bool>("c", jsonDict, false);
|
||||
this.DeserializeInternal(jsonDict);
|
||||
this.Initialize();
|
||||
}
|
||||
|
||||
// Token: 0x06015A81 RID: 88705
|
||||
protected abstract void DeserializeInternal(Dictionary<string, object> jsonDict);
|
||||
|
||||
// Token: 0x06015A82 RID: 88706 RVA: 0x00604C04 File Offset: 0x00602E04
|
||||
protected virtual void Initialize()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x04003C0D RID: 15373
|
||||
public bool IgnorePreviousCompletions = true;
|
||||
|
||||
// Token: 0x04003C0E RID: 15374
|
||||
public const bool IGNORE_PREVIOUS_COMPLETIONS_DEFAULT = true;
|
||||
|
||||
// Token: 0x04003C13 RID: 15379
|
||||
public const string IGNORE_PREVIOUS_COMPLETIONS_KEY = "ipc";
|
||||
|
||||
// Token: 0x04003C14 RID: 15380
|
||||
public const string COMPLETE_KEY = "c";
|
||||
|
||||
// Token: 0x04003C15 RID: 15381
|
||||
public const string CHALLENGE_TYPE_KEY = "ct";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B2E RID: 2862
|
||||
public class ChallengeBuilder
|
||||
{
|
||||
// Token: 0x06015B9C RID: 88988 RVA: 0x006070E8 File Offset: 0x006052E8
|
||||
private ChallengeBuilder()
|
||||
{
|
||||
this.challenge = new Challenge();
|
||||
}
|
||||
|
||||
// Token: 0x06015B9D RID: 88989 RVA: 0x006070FC File Offset: 0x006052FC
|
||||
public static ChallengeBuilder CreateBuilder()
|
||||
{
|
||||
return new ChallengeBuilder();
|
||||
}
|
||||
|
||||
// Token: 0x06015B9E RID: 88990 RVA: 0x00607104 File Offset: 0x00605304
|
||||
public ChallengeBuilder WithCondition(IChallenge withChallenge)
|
||||
{
|
||||
this.challenge.WithConditions.Add(withChallenge);
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x06015B9F RID: 88991 RVA: 0x00607118 File Offset: 0x00605318
|
||||
public Challenge Create()
|
||||
{
|
||||
return this.challenge;
|
||||
}
|
||||
|
||||
// Token: 0x06015BA0 RID: 88992 RVA: 0x00607120 File Offset: 0x00605320
|
||||
public ChallengeBuilder ResetCondition(IChallenge resetChallenge)
|
||||
{
|
||||
this.challenge.ResetConditions.Add(resetChallenge);
|
||||
return this;
|
||||
}
|
||||
|
||||
// Token: 0x04003CAF RID: 15535
|
||||
private Challenge challenge;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B13 RID: 2835
|
||||
// (Invoke) Token: 0x06015AFE RID: 88830
|
||||
public delegate void ChallengeComplete(IChallenge challenge, ChallengeEvents.IChallengeEventData eventData);
|
||||
}
|
||||
@@ -0,0 +1,190 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using RecNet;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B18 RID: 2840
|
||||
[HMFEEFDKPLO]
|
||||
public class ChallengeCountChallenge : Challenge
|
||||
{
|
||||
// Token: 0x06015B0F RID: 88847 RVA: 0x00605BEC File Offset: 0x00603DEC
|
||||
public ChallengeCountChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B10 RID: 88848 RVA: 0x00605C18 File Offset: 0x00603E18
|
||||
public ChallengeCountChallenge(IChallenge challengeToCount, int count)
|
||||
{
|
||||
this.challengesToCount.Clear();
|
||||
this.challengesToCount.Add(challengeToCount);
|
||||
this.requiredCount = count;
|
||||
this.CurrentCount = 0;
|
||||
this.Initialize();
|
||||
}
|
||||
|
||||
// Token: 0x170008FD RID: 2301
|
||||
// (get) Token: 0x06015B11 RID: 88849 RVA: 0x00605C78 File Offset: 0x00603E78
|
||||
public override ChallengeProgress Progress
|
||||
{
|
||||
get
|
||||
{
|
||||
return new ChallengeProgress
|
||||
{
|
||||
Count = this.CurrentCount,
|
||||
Total = this.RequiredCount
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170008FE RID: 2302
|
||||
// (get) Token: 0x06015B12 RID: 88850 RVA: 0x00605CA8 File Offset: 0x00603EA8
|
||||
// (set) Token: 0x06015B13 RID: 88851 RVA: 0x00605CB0 File Offset: 0x00603EB0
|
||||
public int CurrentCount { get; private set; }
|
||||
|
||||
// Token: 0x170008FF RID: 2303
|
||||
// (get) Token: 0x06015B14 RID: 88852 RVA: 0x00605CBC File Offset: 0x00603EBC
|
||||
public int RequiredCount
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.requiredCount;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015B15 RID: 88853 RVA: 0x00605CC4 File Offset: 0x00603EC4
|
||||
protected override void Initialize()
|
||||
{
|
||||
this.WithConditions.Clear();
|
||||
base.Initialize();
|
||||
this.lastUpdateCount = this.CurrentCount;
|
||||
this.nextUpdateTime = Time.realtimeSinceStartup + 60f;
|
||||
foreach (IChallenge challenge2 in this.challengesToCount)
|
||||
{
|
||||
IChallenge c = challenge2;
|
||||
c.SkipSerialization = true;
|
||||
c.ChallengeCompleteEvent += delegate(IChallenge challenge, ChallengeEvents.IChallengeEventData data)
|
||||
{
|
||||
this.CurrentCount++;
|
||||
c.Reset();
|
||||
this.Dirty = true;
|
||||
this.UpdateServer |= this.ShouldUpdateServer();
|
||||
};
|
||||
this.WithConditions.Add(c);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015B16 RID: 88854 RVA: 0x00605D90 File Offset: 0x00603F90
|
||||
private bool ShouldUpdateServer()
|
||||
{
|
||||
if (Time.realtimeSinceStartup > this.nextUpdateTime || Mathf.Abs(this.CurrentCount - this.lastUpdateCount) > Mathf.FloorToInt((float)this.RequiredCount * 0.1f))
|
||||
{
|
||||
this.nextUpdateTime = this.GetNextUpdateTime();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Token: 0x06015B17 RID: 88855 RVA: 0x00605DE8 File Offset: 0x00603FE8
|
||||
private float GetNextUpdateTime()
|
||||
{
|
||||
return Time.realtimeSinceStartup + this.updateInterval;
|
||||
}
|
||||
|
||||
// Token: 0x06015B18 RID: 88856 RVA: 0x00605DF8 File Offset: 0x00603FF8
|
||||
protected override bool EvaluateInternal(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
int currentCount = this.CurrentCount;
|
||||
base.EvaluateInternal(challengeEventData);
|
||||
if (this.CurrentCount != currentCount && this.notificationCounts.Contains(this.CurrentCount))
|
||||
{
|
||||
base.Notify(this.CurrentCount, this.RequiredCount);
|
||||
}
|
||||
return this.CurrentCount >= this.RequiredCount;
|
||||
}
|
||||
|
||||
// Token: 0x06015B19 RID: 88857 RVA: 0x00605E5C File Offset: 0x0060405C
|
||||
public override void Reset()
|
||||
{
|
||||
this.CurrentCount = 0;
|
||||
base.Reset();
|
||||
}
|
||||
|
||||
// Token: 0x06015B1A RID: 88858 RVA: 0x00605E6C File Offset: 0x0060406C
|
||||
public override Dictionary<string, object> Serialize()
|
||||
{
|
||||
Dictionary<string, object> dictionary = base.Serialize();
|
||||
if (this.challengesToCount.Count > 0)
|
||||
{
|
||||
List<Dictionary<string, object>> list = this.challengesToCount.Select((IChallenge _) => _.Serialize()).ToList<Dictionary<string, object>>();
|
||||
dictionary["ctc"] = list;
|
||||
}
|
||||
dictionary["t"] = this.RequiredCount;
|
||||
ChallengeBase.SerializeOptionalField<int>("cc", this.CurrentCount, 0, dictionary);
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
// Token: 0x06015B1B RID: 88859 RVA: 0x00605EF4 File Offset: 0x006040F4
|
||||
protected override void DeserializeInternal(Dictionary<string, object> jsonDict)
|
||||
{
|
||||
base.DeserializeInternal(jsonDict);
|
||||
this.CurrentCount = ChallengeParser.GetOptionalKey<int>("cc", jsonDict, 0);
|
||||
this.requiredCount = ChallengeParser.GetOptionalKey<int>("t", jsonDict, 1);
|
||||
this.challengesToCount.Clear();
|
||||
if (jsonDict.ContainsKey("ctc"))
|
||||
{
|
||||
List<Dictionary<string, object>> list = OFPFHHLNHIC.NGILNLCIOJM<Dictionary<string, object>>("ctc", jsonDict);
|
||||
IEnumerable<IChallenge> enumerable = from _ in list.Select(new Func<Dictionary<string, object>, IChallenge>(ChallengeParser.FromJsonDict))
|
||||
where _ != null
|
||||
select _;
|
||||
this.challengesToCount = new List<IChallenge>(enumerable);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000900 RID: 2304
|
||||
// (get) Token: 0x06015B1C RID: 88860 RVA: 0x00605FA8 File Offset: 0x006041A8
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.ChallengeCountChallenge;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04003C5D RID: 15453
|
||||
[DHLJECKLFCF]
|
||||
protected List<IChallenge> challengesToCount = new List<IChallenge>();
|
||||
|
||||
// Token: 0x04003C5E RID: 15454
|
||||
[HEFNGMICCHG]
|
||||
public List<int> notificationCounts = new List<int>();
|
||||
|
||||
// Token: 0x04003C60 RID: 15456
|
||||
[SerializeField]
|
||||
private int requiredCount;
|
||||
|
||||
// Token: 0x04003C61 RID: 15457
|
||||
private int lastUpdateCount;
|
||||
|
||||
// Token: 0x04003C62 RID: 15458
|
||||
private float nextUpdateTime;
|
||||
|
||||
// Token: 0x04003C63 RID: 15459
|
||||
private float updateInterval = 60f;
|
||||
|
||||
// Token: 0x04003C64 RID: 15460
|
||||
public const string ARITHMETIC_CHALLENGE_KEY = "acc";
|
||||
|
||||
// Token: 0x04003C65 RID: 15461
|
||||
public const string CHALLENGES_COUNT_CHALLENGE_KEY = "ctc";
|
||||
|
||||
// Token: 0x04003C66 RID: 15462
|
||||
public const string CURRENT_COUNT_KEY = "cc";
|
||||
|
||||
// Token: 0x04003C67 RID: 15463
|
||||
public const string COUNT_KEY = "t";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,946 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
using RecNet;
|
||||
using RecRoom.Core.AI;
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000AFF RID: 2815
|
||||
public class ChallengeEvents
|
||||
{
|
||||
// Token: 0x1400009A RID: 154
|
||||
// (add) Token: 0x06015A8A RID: 88714 RVA: 0x00604C70 File Offset: 0x00602E70
|
||||
// (remove) Token: 0x06015A8B RID: 88715 RVA: 0x00604CA4 File Offset: 0x00602EA4
|
||||
[field: DebuggerBrowsable(DebuggerBrowsableState.Never)]
|
||||
public static event Action<ChallengeEvents.IChallengeEventData> ChallengeEvent;
|
||||
|
||||
// Token: 0x06015A8C RID: 88716 RVA: 0x00604CD8 File Offset: 0x00602ED8
|
||||
public static void ClearChallengeListeners()
|
||||
{
|
||||
ChallengeEvents.ChallengeEvent = null;
|
||||
}
|
||||
|
||||
// Token: 0x06015A8D RID: 88717 RVA: 0x00604CE0 File Offset: 0x00602EE0
|
||||
public static void Event(ChallengeEvents.IChallengeEventData eventData)
|
||||
{
|
||||
if (SingletonMonoBehaviour<WeeklyChallengeManager>.NCKMBFBMBFM.HOHFOKOIGJB != WeeklyChallengeManager.KOOGLEOADPA.Enabled)
|
||||
{
|
||||
return;
|
||||
}
|
||||
try
|
||||
{
|
||||
ChallengeEvents.ChallengeEvent.LAMMJKLHNOL(delegate(Action<ChallengeEvents.IChallengeEventData> _)
|
||||
{
|
||||
_(eventData);
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
global::UnityEngine.Debug.LogError("Error executing challenge event");
|
||||
global::UnityEngine.Debug.LogException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015A8E RID: 88718 RVA: 0x00604D4C File Offset: 0x00602F4C
|
||||
public static void ToolPickedUp(Tool tool)
|
||||
{
|
||||
if (tool.DMMFKPIKPND || !tool.HDGKPGECLPP)
|
||||
{
|
||||
return;
|
||||
}
|
||||
ChallengeEvents.ChallengeEventData challengeEventData = new ChallengeEvents.ChallengeEventData(ChallengeEvents.ChallengeEventTypes.PickedUpTool);
|
||||
challengeEventData.AddTool(tool);
|
||||
ChallengeEvents.Event(challengeEventData);
|
||||
}
|
||||
|
||||
// Token: 0x06015A8F RID: 88719 RVA: 0x00604D84 File Offset: 0x00602F84
|
||||
public static void LocalPlayerEliminated(ChallengeEvents.LocalPlayerEliminatedEventData eventData)
|
||||
{
|
||||
ChallengeEvents.Event(eventData);
|
||||
}
|
||||
|
||||
// Token: 0x06015A90 RID: 88720 RVA: 0x00604D8C File Offset: 0x00602F8C
|
||||
public static void ElminatedOtherPlayer(ChallengeEvents.ElminatedOtherPlayerEventData eventData)
|
||||
{
|
||||
ChallengeEvents.Event(eventData);
|
||||
}
|
||||
|
||||
// Token: 0x06015A91 RID: 88721 RVA: 0x00604D94 File Offset: 0x00602F94
|
||||
public static void EliminatedAI(ChallengeEvents.ElminatedAIEventData eventData)
|
||||
{
|
||||
ChallengeEvents.Event(eventData);
|
||||
}
|
||||
|
||||
// Token: 0x06015A92 RID: 88722 RVA: 0x00604D9C File Offset: 0x00602F9C
|
||||
public static void LocalPlayerGameStarted(bool isSpectator, bool isJoiningInProgress)
|
||||
{
|
||||
ChallengeEvents.GameStartedEventData gameStartedEventData = new ChallengeEvents.GameStartedEventData(isSpectator, isJoiningInProgress);
|
||||
ChallengeEvents.Event(gameStartedEventData);
|
||||
}
|
||||
|
||||
// Token: 0x06015A93 RID: 88723 RVA: 0x00604DB8 File Offset: 0x00602FB8
|
||||
public static void LocalPlayerGameEnded(ChallengeEvents.GameEndedEventData eventData)
|
||||
{
|
||||
ChallengeEvents.Event(eventData);
|
||||
}
|
||||
|
||||
// Token: 0x06015A94 RID: 88724 RVA: 0x00604DC0 File Offset: 0x00602FC0
|
||||
public static void ShieldBlock(LNJFBGIBLHA attacker, LNJFBGIBLHA defender, Tool shield)
|
||||
{
|
||||
ChallengeEvents.GameEventData gameEventData = new ChallengeEvents.GameEventData(ChallengeEvents.ChallengeEventTypes.ShieldBlock, false);
|
||||
gameEventData.AddDefendingPlayer(defender);
|
||||
gameEventData.AddAttackingPlayer(attacker);
|
||||
gameEventData.AddTool(shield);
|
||||
ChallengeEvents.Event(gameEventData);
|
||||
}
|
||||
|
||||
// Token: 0x06015A95 RID: 88725 RVA: 0x00604DF0 File Offset: 0x00602FF0
|
||||
internal static void DiscGolfScoreEvent(int score, int par, int strokeCount)
|
||||
{
|
||||
ChallengeEvents.Event(new ChallengeEvents.DiscGolfScoreEventData(score, par, strokeCount));
|
||||
}
|
||||
|
||||
// Token: 0x06015A96 RID: 88726 RVA: 0x00604E00 File Offset: 0x00603000
|
||||
public static void FlagCaptured()
|
||||
{
|
||||
ChallengeEvents.Event(new ChallengeEvents.GameEventData(ChallengeEvents.ChallengeEventTypes.FlagCaptured, false));
|
||||
}
|
||||
|
||||
// Token: 0x06015A97 RID: 88727 RVA: 0x00604E10 File Offset: 0x00603010
|
||||
public static void FlagReturned()
|
||||
{
|
||||
ChallengeEvents.Event(new ChallengeEvents.GameEventData(ChallengeEvents.ChallengeEventTypes.FlagReturned, false));
|
||||
}
|
||||
|
||||
// Token: 0x04003C1B RID: 15387
|
||||
[AFLBIDPPPEM]
|
||||
public const string TOOL_VIEW_ID_KEY = "t_vid";
|
||||
|
||||
// Token: 0x04003C1C RID: 15388
|
||||
[AFLBIDPPPEM]
|
||||
public const string TOOL_TYPE_KEY = "t_t";
|
||||
|
||||
// Token: 0x04003C1D RID: 15389
|
||||
[AFLBIDPPPEM]
|
||||
public const string DEFENDING_PLAYER_VIEW_ID_KEY = "dp_vid";
|
||||
|
||||
// Token: 0x04003C1E RID: 15390
|
||||
[AFLBIDPPPEM]
|
||||
public const string DEFENDING_PLAYER_PROFILE_ID_KEY = "dp_pid";
|
||||
|
||||
// Token: 0x04003C1F RID: 15391
|
||||
[AFLBIDPPPEM]
|
||||
public const string ATTACKING_PLAYER_VIEW_ID_KEY = "ap_vid";
|
||||
|
||||
// Token: 0x04003C20 RID: 15392
|
||||
[AFLBIDPPPEM]
|
||||
public const string ATTACKING_PLAYER_PROFILE_ID_KEY = "ap_pid";
|
||||
|
||||
// Token: 0x04003C21 RID: 15393
|
||||
[AFLBIDPPPEM]
|
||||
public const string ENEMY_VIEW_ID_KEY = "e_vid";
|
||||
|
||||
// Token: 0x04003C22 RID: 15394
|
||||
[AFLBIDPPPEM]
|
||||
public const string ENEMY_TYPE_KEY = "e_t";
|
||||
|
||||
// Token: 0x04003C23 RID: 15395
|
||||
[AFLBIDPPPEM]
|
||||
public const string NUM_PLAYERS_VAR = "numPlayers";
|
||||
|
||||
// Token: 0x04003C24 RID: 15396
|
||||
[AFLBIDPPPEM]
|
||||
public const string HAND_GESTURE_VAR_KEY = "hg";
|
||||
|
||||
// Token: 0x02000B00 RID: 2816
|
||||
public enum ChallengeEventTypes
|
||||
{
|
||||
// Token: 0x04003C27 RID: 15399
|
||||
None,
|
||||
// Token: 0x04003C28 RID: 15400
|
||||
GameStart,
|
||||
// Token: 0x04003C29 RID: 15401
|
||||
GameEnd,
|
||||
// Token: 0x04003C2A RID: 15402
|
||||
LocalPlayerEliminated,
|
||||
// Token: 0x04003C2B RID: 15403
|
||||
ElminatedOtherPlayer,
|
||||
// Token: 0x04003C2C RID: 15404
|
||||
EliminatedAI,
|
||||
// Token: 0x04003C2D RID: 15405
|
||||
PickedUpTool,
|
||||
// Token: 0x04003C2E RID: 15406
|
||||
Score,
|
||||
// Token: 0x04003C2F RID: 15407
|
||||
ShieldBlock,
|
||||
// Token: 0x04003C30 RID: 15408
|
||||
ActivityLoad,
|
||||
// Token: 0x04003C31 RID: 15409
|
||||
FlagCaptured,
|
||||
// Token: 0x04003C32 RID: 15410
|
||||
FlagReturned,
|
||||
// Token: 0x04003C33 RID: 15411
|
||||
Gesture,
|
||||
// Token: 0x04003C34 RID: 15412
|
||||
PlayerJoined
|
||||
}
|
||||
|
||||
// Token: 0x02000B01 RID: 2817
|
||||
public interface IChallengeEventData : OBFEFLHKHJJ, INMKELLJKBO, EBHIILNPABI
|
||||
{
|
||||
// Token: 0x170008E4 RID: 2276
|
||||
// (get) Token: 0x06015A98 RID: 88728
|
||||
ChallengeEvents.ChallengeEventTypes ChallengeEventType { get; }
|
||||
|
||||
// Token: 0x170008E5 RID: 2277
|
||||
// (get) Token: 0x06015A99 RID: 88729
|
||||
PGOPAPIFECA Activity { get; }
|
||||
|
||||
// Token: 0x170008E6 RID: 2278
|
||||
// (get) Token: 0x06015A9A RID: 88730
|
||||
KANCFPONEKJ Level { get; }
|
||||
|
||||
// Token: 0x06015A9B RID: 88731
|
||||
object GetVar(string var);
|
||||
}
|
||||
|
||||
// Token: 0x02000B02 RID: 2818
|
||||
public class ChallengeEventData : ChallengeEvents.IChallengeEventData, OBFEFLHKHJJ, INMKELLJKBO, EBHIILNPABI
|
||||
{
|
||||
// Token: 0x06015A9C RID: 88732 RVA: 0x00604E20 File Offset: 0x00603020
|
||||
public ChallengeEventData(ChallengeEvents.ChallengeEventTypes challengeType)
|
||||
{
|
||||
this.challengeEventType = challengeType;
|
||||
PGOPAPIFECA pgopapifeca = PGOPAPIFECA.INVALID;
|
||||
KANCFPONEKJ kancfponekj = KANCFPONEKJ.INVALID;
|
||||
LMBEHMFIOEN.OPKCEGHLOKD(SceneManager.GetActiveScene().name, out pgopapifeca, out kancfponekj);
|
||||
this.Activity = pgopapifeca;
|
||||
this.Level = kancfponekj;
|
||||
}
|
||||
|
||||
// Token: 0x06015A9D RID: 88733 RVA: 0x00604E70 File Offset: 0x00603070
|
||||
private ChallengeEventData()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x170008E7 RID: 2279
|
||||
// (get) Token: 0x06015A9E RID: 88734 RVA: 0x00604E84 File Offset: 0x00603084
|
||||
public ChallengeEvents.ChallengeEventTypes ChallengeEventType
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.challengeEventType;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170008E8 RID: 2280
|
||||
// (get) Token: 0x06015A9F RID: 88735 RVA: 0x00604E8C File Offset: 0x0060308C
|
||||
// (set) Token: 0x06015AA0 RID: 88736 RVA: 0x00604E94 File Offset: 0x00603094
|
||||
public PGOPAPIFECA Activity { get; set; }
|
||||
|
||||
// Token: 0x170008E9 RID: 2281
|
||||
// (get) Token: 0x06015AA1 RID: 88737 RVA: 0x00604EA0 File Offset: 0x006030A0
|
||||
// (set) Token: 0x06015AA2 RID: 88738 RVA: 0x00604EA8 File Offset: 0x006030A8
|
||||
public KANCFPONEKJ Level { get; set; }
|
||||
|
||||
// Token: 0x06015AA3 RID: 88739 RVA: 0x00604EB4 File Offset: 0x006030B4
|
||||
public void SetVar(string var, int value)
|
||||
{
|
||||
this._SetVar(var, value);
|
||||
}
|
||||
|
||||
// Token: 0x06015AA4 RID: 88740 RVA: 0x00604EC4 File Offset: 0x006030C4
|
||||
public void SetVar(string var, long value)
|
||||
{
|
||||
this._SetVar(var, value);
|
||||
}
|
||||
|
||||
// Token: 0x06015AA5 RID: 88741 RVA: 0x00604ED4 File Offset: 0x006030D4
|
||||
public void SetVar(string var, float value)
|
||||
{
|
||||
this._SetVar(var, value);
|
||||
}
|
||||
|
||||
// Token: 0x06015AA6 RID: 88742 RVA: 0x00604EE4 File Offset: 0x006030E4
|
||||
public void SetVar(string var, string value)
|
||||
{
|
||||
this._SetVar(var, value);
|
||||
}
|
||||
|
||||
// Token: 0x06015AA7 RID: 88743 RVA: 0x00604EF0 File Offset: 0x006030F0
|
||||
public void SetVar(string var, bool value)
|
||||
{
|
||||
this._SetVar(var, value);
|
||||
}
|
||||
|
||||
// Token: 0x06015AA8 RID: 88744 RVA: 0x00604F00 File Offset: 0x00603100
|
||||
private void _SetVar(string var, object value)
|
||||
{
|
||||
if (!this.extraVariables.ContainsKey(var))
|
||||
{
|
||||
this.extraVariables[var] = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
global::UnityEngine.Debug.LogError("You're attempting to overwrite event data! Var:" + var);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015AA9 RID: 88745 RVA: 0x00604F38 File Offset: 0x00603138
|
||||
public object GetVar(string var)
|
||||
{
|
||||
object obj = null;
|
||||
this.extraVariables.TryGetValue(var, out obj);
|
||||
return obj;
|
||||
}
|
||||
|
||||
// Token: 0x06015AAA RID: 88746 RVA: 0x00604F58 File Offset: 0x00603158
|
||||
public void AddTool(Tool tool)
|
||||
{
|
||||
this.SetVar("t_vid", tool.GLPEGFMPABJ);
|
||||
this.SetVar("t_t", (int)tool.JPGLEPHGLPE);
|
||||
}
|
||||
|
||||
// Token: 0x06015AAB RID: 88747 RVA: 0x00604F7C File Offset: 0x0060317C
|
||||
public void AddTool(IChallengeTool tool)
|
||||
{
|
||||
if (tool != null)
|
||||
{
|
||||
this.SetVar("t_vid", tool.PhotonViewId);
|
||||
this.SetVar("t_t", (int)tool.ActivityEquipmentType);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015AAC RID: 88748 RVA: 0x00604FA8 File Offset: 0x006031A8
|
||||
public void AddDefendingPlayer(LNJFBGIBLHA player)
|
||||
{
|
||||
if (player != null)
|
||||
{
|
||||
this.SetVar("dp_vid", player.BADMPMDONAH);
|
||||
this.SetVar("dp_pid", player.KJOEMGEOBBA);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015AAD RID: 88749 RVA: 0x00604FD4 File Offset: 0x006031D4
|
||||
public void AddDefendingPlayer(IChallengePlayer player)
|
||||
{
|
||||
if (player != null)
|
||||
{
|
||||
this.SetVar("dp_vid", player.PhotonViewId);
|
||||
this.SetVar("dp_pid", player.ProfileId);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015AAE RID: 88750 RVA: 0x00605000 File Offset: 0x00603200
|
||||
public void AddAttackingPlayer(LNJFBGIBLHA player)
|
||||
{
|
||||
if (player != null)
|
||||
{
|
||||
this.SetVar("ap_vid", player.BADMPMDONAH);
|
||||
this.SetVar("ap_pid", player.KJOEMGEOBBA);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015AAF RID: 88751 RVA: 0x0060502C File Offset: 0x0060322C
|
||||
public void AddAttackingPlayer(IChallengePlayer player)
|
||||
{
|
||||
if (player != null)
|
||||
{
|
||||
this.SetVar("ap_vid", player.PhotonViewId);
|
||||
this.SetVar("ap_pid", player.ProfileId);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015AB0 RID: 88752 RVA: 0x00605058 File Offset: 0x00603258
|
||||
public void AddEnemy(Enemy enemy)
|
||||
{
|
||||
if (enemy != null)
|
||||
{
|
||||
this.SetVar("e_vid", enemy.GLPEGFMPABJ);
|
||||
this.SetVar("e_t", (int)enemy.DJGJNJMJDHF);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015AB1 RID: 88753 RVA: 0x00605088 File Offset: 0x00603288
|
||||
public void AddEnemy(IChallengeEnemy enemy)
|
||||
{
|
||||
if (enemy != null)
|
||||
{
|
||||
this.SetVar("e_vid", enemy.PhotonViewId);
|
||||
this.SetVar("e_t", (int)enemy.EnemyType);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015AB2 RID: 88754 RVA: 0x006050B4 File Offset: 0x006032B4
|
||||
public Dictionary<string, object> Serialize()
|
||||
{
|
||||
Dictionary<string, object> dictionary = new Dictionary<string, object>();
|
||||
dictionary["a"] = (int)this.Activity;
|
||||
dictionary["al"] = (int)this.Level;
|
||||
dictionary["cet"] = this.extraVariables;
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
// Token: 0x06015AB3 RID: 88755 RVA: 0x00605108 File Offset: 0x00603308
|
||||
public void Deserialize(Dictionary<string, object> dict)
|
||||
{
|
||||
this.Activity = (PGOPAPIFECA)OFPFHHLNHIC.KOFIKGFMMKD<int>("a", dict);
|
||||
this.Level = (KANCFPONEKJ)OFPFHHLNHIC.KOFIKGFMMKD<int>("al", dict);
|
||||
this.extraVariables = OFPFHHLNHIC.KOFIKGFMMKD<Dictionary<string, object>>("cet", dict);
|
||||
}
|
||||
|
||||
// Token: 0x06015AB4 RID: 88756 RVA: 0x00605140 File Offset: 0x00603340
|
||||
public static ChallengeEvents.ChallengeEventData Parse(Dictionary<string, object> dict)
|
||||
{
|
||||
ChallengeEvents.ChallengeEventData challengeEventData = new ChallengeEvents.ChallengeEventData();
|
||||
challengeEventData.Deserialize(dict);
|
||||
return challengeEventData;
|
||||
}
|
||||
|
||||
// Token: 0x04003C35 RID: 15413
|
||||
private readonly ChallengeEvents.ChallengeEventTypes challengeEventType;
|
||||
|
||||
// Token: 0x04003C38 RID: 15416
|
||||
protected Dictionary<string, object> extraVariables = new Dictionary<string, object>();
|
||||
|
||||
// Token: 0x04003C39 RID: 15417
|
||||
private const string CHALLENGE_EVENT_TYPE_KEY = "cet";
|
||||
|
||||
// Token: 0x04003C3A RID: 15418
|
||||
private const string ACTIVITY_KEY = "a";
|
||||
|
||||
// Token: 0x04003C3B RID: 15419
|
||||
private const string ACTIVITY_LEVEL_KEY = "al";
|
||||
|
||||
// Token: 0x04003C3C RID: 15420
|
||||
private const string EXTRA_VARS_KEY = "cet";
|
||||
}
|
||||
|
||||
// Token: 0x02000B03 RID: 2819
|
||||
public class LocalPlayerEliminatedEventData : ChallengeEvents.GameEventData
|
||||
{
|
||||
// Token: 0x06015AB5 RID: 88757 RVA: 0x0060515C File Offset: 0x0060335C
|
||||
public LocalPlayerEliminatedEventData(IChallengeEnemy enemy, IChallengePlayer defender)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.LocalPlayerEliminated, false)
|
||||
{
|
||||
base.AddEnemy(enemy);
|
||||
base.AddDefendingPlayer(defender);
|
||||
}
|
||||
|
||||
// Token: 0x06015AB6 RID: 88758 RVA: 0x00605174 File Offset: 0x00603374
|
||||
public LocalPlayerEliminatedEventData(Enemy enemy, IChallengePlayer defender)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.LocalPlayerEliminated, false)
|
||||
{
|
||||
base.AddEnemy(enemy);
|
||||
base.AddDefendingPlayer(defender);
|
||||
}
|
||||
|
||||
// Token: 0x06015AB7 RID: 88759 RVA: 0x0060518C File Offset: 0x0060338C
|
||||
public LocalPlayerEliminatedEventData(LNJFBGIBLHA attacker, IChallengePlayer defender)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.LocalPlayerEliminated, false)
|
||||
{
|
||||
base.AddAttackingPlayer(attacker);
|
||||
base.AddDefendingPlayer(defender);
|
||||
}
|
||||
|
||||
// Token: 0x06015AB8 RID: 88760 RVA: 0x006051A4 File Offset: 0x006033A4
|
||||
public LocalPlayerEliminatedEventData(IChallengePlayer attacker, IChallengePlayer defender)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.LocalPlayerEliminated, false)
|
||||
{
|
||||
base.AddAttackingPlayer(attacker);
|
||||
base.AddDefendingPlayer(defender);
|
||||
}
|
||||
|
||||
// Token: 0x06015AB9 RID: 88761 RVA: 0x006051BC File Offset: 0x006033BC
|
||||
public LocalPlayerEliminatedEventData(IChallengeEnemy enemy, LNJFBGIBLHA defender)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.LocalPlayerEliminated, false)
|
||||
{
|
||||
base.AddEnemy(enemy);
|
||||
base.AddDefendingPlayer(defender);
|
||||
}
|
||||
|
||||
// Token: 0x06015ABA RID: 88762 RVA: 0x006051D4 File Offset: 0x006033D4
|
||||
public LocalPlayerEliminatedEventData(Enemy enemy, LNJFBGIBLHA defender)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.LocalPlayerEliminated, false)
|
||||
{
|
||||
base.AddEnemy(enemy);
|
||||
base.AddDefendingPlayer(defender);
|
||||
}
|
||||
|
||||
// Token: 0x06015ABB RID: 88763 RVA: 0x006051EC File Offset: 0x006033EC
|
||||
public LocalPlayerEliminatedEventData(LNJFBGIBLHA attacker, LNJFBGIBLHA defender)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.LocalPlayerEliminated, false)
|
||||
{
|
||||
base.AddAttackingPlayer(attacker);
|
||||
base.AddDefendingPlayer(defender);
|
||||
}
|
||||
|
||||
// Token: 0x06015ABC RID: 88764 RVA: 0x00605204 File Offset: 0x00603404
|
||||
public LocalPlayerEliminatedEventData(IChallengePlayer attacker, LNJFBGIBLHA defender)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.LocalPlayerEliminated, false)
|
||||
{
|
||||
base.AddAttackingPlayer(attacker);
|
||||
base.AddDefendingPlayer(defender);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x02000B04 RID: 2820
|
||||
[StructLayout(LayoutKind.Sequential, Size = 1)]
|
||||
public struct ChallengeTool : IChallengeTool, IEventTarget
|
||||
{
|
||||
// Token: 0x06015ABD RID: 88765 RVA: 0x0060521C File Offset: 0x0060341C
|
||||
public ChallengeTool(Tool tool)
|
||||
{
|
||||
this.ActivityEquipmentType = tool.JPGLEPHGLPE;
|
||||
this.PhotonViewId = tool.GLPEGFMPABJ;
|
||||
}
|
||||
|
||||
// Token: 0x170008EA RID: 2282
|
||||
// (get) Token: 0x06015ABE RID: 88766 RVA: 0x00605238 File Offset: 0x00603438
|
||||
// (set) Token: 0x06015ABF RID: 88767 RVA: 0x00605240 File Offset: 0x00603440
|
||||
public EEOOHEGOBKD ActivityEquipmentType { get; private set; }
|
||||
|
||||
// Token: 0x170008EB RID: 2283
|
||||
// (get) Token: 0x06015AC0 RID: 88768 RVA: 0x0060524C File Offset: 0x0060344C
|
||||
// (set) Token: 0x06015AC1 RID: 88769 RVA: 0x00605254 File Offset: 0x00603454
|
||||
public int PhotonViewId { get; private set; }
|
||||
}
|
||||
|
||||
// Token: 0x02000B05 RID: 2821
|
||||
public struct PhotonPlayerTarget : IChallengePlayer, IEventTarget
|
||||
{
|
||||
// Token: 0x06015AC2 RID: 88770 RVA: 0x00605260 File Offset: 0x00603460
|
||||
public PhotonPlayerTarget(LNJFBGIBLHA photonPlayer)
|
||||
{
|
||||
this.viewId = photonPlayer.BADMPMDONAH;
|
||||
this.profileId = photonPlayer.KJOEMGEOBBA;
|
||||
}
|
||||
|
||||
// Token: 0x170008EC RID: 2284
|
||||
// (get) Token: 0x06015AC3 RID: 88771 RVA: 0x0060527C File Offset: 0x0060347C
|
||||
public long ProfileId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.profileId;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170008ED RID: 2285
|
||||
// (get) Token: 0x06015AC4 RID: 88772 RVA: 0x00605284 File Offset: 0x00603484
|
||||
public int PhotonViewId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.viewId;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015AC5 RID: 88773 RVA: 0x0060528C File Offset: 0x0060348C
|
||||
public void Deserialize(Dictionary<string, object> dict)
|
||||
{
|
||||
this.viewId = OFPFHHLNHIC.KOFIKGFMMKD<int>("vid", dict);
|
||||
this.profileId = OFPFHHLNHIC.KOFIKGFMMKD<long>("pid", dict);
|
||||
}
|
||||
|
||||
// Token: 0x06015AC6 RID: 88774 RVA: 0x006052B0 File Offset: 0x006034B0
|
||||
public Dictionary<string, object> Serialize()
|
||||
{
|
||||
return new Dictionary<string, object>
|
||||
{
|
||||
{ "vid", this.viewId },
|
||||
{ "pid", this.profileId }
|
||||
};
|
||||
}
|
||||
|
||||
// Token: 0x04003C3F RID: 15423
|
||||
private int viewId;
|
||||
|
||||
// Token: 0x04003C40 RID: 15424
|
||||
private long profileId;
|
||||
}
|
||||
|
||||
// Token: 0x02000B06 RID: 2822
|
||||
[StructLayout(LayoutKind.Sequential, Size = 1)]
|
||||
public struct EnemyTarget : IChallengeEnemy, IEventTarget
|
||||
{
|
||||
// Token: 0x06015AC7 RID: 88775 RVA: 0x006052F0 File Offset: 0x006034F0
|
||||
public EnemyTarget(Enemy enemy)
|
||||
{
|
||||
this.EnemyType = enemy.DJGJNJMJDHF;
|
||||
this.PhotonViewId = enemy.GLPEGFMPABJ;
|
||||
}
|
||||
|
||||
// Token: 0x170008EE RID: 2286
|
||||
// (get) Token: 0x06015AC8 RID: 88776 RVA: 0x0060530C File Offset: 0x0060350C
|
||||
// (set) Token: 0x06015AC9 RID: 88777 RVA: 0x00605314 File Offset: 0x00603514
|
||||
public DJGJNJMJDHF EnemyType { get; private set; }
|
||||
|
||||
// Token: 0x170008EF RID: 2287
|
||||
// (get) Token: 0x06015ACA RID: 88778 RVA: 0x00605320 File Offset: 0x00603520
|
||||
// (set) Token: 0x06015ACB RID: 88779 RVA: 0x00605328 File Offset: 0x00603528
|
||||
public int PhotonViewId { get; private set; }
|
||||
|
||||
// Token: 0x06015ACC RID: 88780 RVA: 0x00605334 File Offset: 0x00603534
|
||||
public void Deserialize(Dictionary<string, object> dict)
|
||||
{
|
||||
this.PhotonViewId = OFPFHHLNHIC.KOFIKGFMMKD<int>("vid", dict);
|
||||
this.EnemyType = (DJGJNJMJDHF)OFPFHHLNHIC.KOFIKGFMMKD<int>("et", dict);
|
||||
}
|
||||
|
||||
// Token: 0x06015ACD RID: 88781 RVA: 0x00605358 File Offset: 0x00603558
|
||||
public Dictionary<string, object> Serialize()
|
||||
{
|
||||
return new Dictionary<string, object>
|
||||
{
|
||||
{ "vid", this.PhotonViewId },
|
||||
{
|
||||
"et",
|
||||
(int)this.EnemyType
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x02000B07 RID: 2823
|
||||
public class ElminatedOtherPlayerEventData : ChallengeEvents.GameEventData
|
||||
{
|
||||
// Token: 0x06015ACE RID: 88782 RVA: 0x00605398 File Offset: 0x00603598
|
||||
public ElminatedOtherPlayerEventData(IChallengePlayer attacker, IChallengePlayer defender, IChallengeTool attackerTool, Player.HDOICGIKKAO bodyPart = Player.HDOICGIKKAO.None)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.ElminatedOtherPlayer, false)
|
||||
{
|
||||
this.BodyPart = bodyPart;
|
||||
base.AddTool(attackerTool);
|
||||
base.AddAttackingPlayer(attacker);
|
||||
base.AddDefendingPlayer(defender);
|
||||
}
|
||||
|
||||
// Token: 0x06015ACF RID: 88783 RVA: 0x006053C0 File Offset: 0x006035C0
|
||||
public ElminatedOtherPlayerEventData(LNJFBGIBLHA attacker, LNJFBGIBLHA defender, Tool attackerTool, Player.HDOICGIKKAO bodyPart = Player.HDOICGIKKAO.None)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.ElminatedOtherPlayer, false)
|
||||
{
|
||||
this.BodyPart = bodyPart;
|
||||
base.AddTool(attackerTool);
|
||||
base.AddAttackingPlayer(attacker);
|
||||
base.AddDefendingPlayer(defender);
|
||||
}
|
||||
|
||||
// Token: 0x170008F0 RID: 2288
|
||||
// (get) Token: 0x06015AD0 RID: 88784 RVA: 0x006053E8 File Offset: 0x006035E8
|
||||
// (set) Token: 0x06015AD1 RID: 88785 RVA: 0x006053FC File Offset: 0x006035FC
|
||||
public Player.HDOICGIKKAO BodyPart
|
||||
{
|
||||
get
|
||||
{
|
||||
return (Player.HDOICGIKKAO)base.GetVar("bodyPart");
|
||||
}
|
||||
set
|
||||
{
|
||||
base.SetVar("bodyPart", (int)value);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04003C43 RID: 15427
|
||||
[AFLBIDPPPEM]
|
||||
public const string BODY_PART_KEY = "bodyPart";
|
||||
}
|
||||
|
||||
// Token: 0x02000B08 RID: 2824
|
||||
public class ElminatedAIEventData : ChallengeEvents.ChallengeEventData
|
||||
{
|
||||
// Token: 0x06015AD2 RID: 88786 RVA: 0x0060540C File Offset: 0x0060360C
|
||||
public ElminatedAIEventData(Tool attackerTool, Enemy enemy)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.EliminatedAI)
|
||||
{
|
||||
base.AddTool(attackerTool);
|
||||
base.AddEnemy(enemy);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x02000B09 RID: 2825
|
||||
public class GameEventData : ChallengeEvents.ChallengeEventData
|
||||
{
|
||||
// Token: 0x06015AD3 RID: 88787 RVA: 0x00605424 File Offset: 0x00603624
|
||||
public GameEventData(ChallengeEvents.ChallengeEventTypes challengeType, bool isSpectator = false)
|
||||
: base(challengeType)
|
||||
{
|
||||
this.Spectator = isSpectator;
|
||||
if (RecRoomSceneManager.NCKMBFBMBFM != null && RecRoomSceneManager.NCKMBFBMBFM.EBHBJAFODKA != null)
|
||||
{
|
||||
base.SetVar("gid", RecRoomSceneManager.NCKMBFBMBFM.EBHBJAFODKA.HMLDBGBIOAC);
|
||||
if (RecRoomSceneManager.NCKMBFBMBFM.EBHBJAFODKA.NKCBOCMOBCA != null)
|
||||
{
|
||||
IPBDFPEPNIM ipbdfpepnim = RecRoomSceneManager.NCKMBFBMBFM.EBHBJAFODKA.NKCBOCMOBCA.KKPAEEHBNGE(IHFKMIAHBFP.JEFGMHBLLKI);
|
||||
this.NumTeammates = RecRoomSceneManager.NCKMBFBMBFM.EBHBJAFODKA.NKCBOCMOBCA.NCKPGCOLJBL(ipbdfpepnim);
|
||||
this.NumPlayers = RecRoomSceneManager.NCKMBFBMBFM.EBHBJAFODKA.NKCBOCMOBCA.LPEJDCGIFEH();
|
||||
if (RecRoomSceneManager.NCKMBFBMBFM.EBHBJAFODKA.APOAHJMLMEG != null && ipbdfpepnim != IPBDFPEPNIM.INVALID)
|
||||
{
|
||||
this.TeamScore = (float)RecRoomSceneManager.NCKMBFBMBFM.EBHBJAFODKA.APOAHJMLMEG.LDKEEKDKJPL(ipbdfpepnim);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.TeamScore = 0f;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.NumTeammates = 0;
|
||||
this.NumPlayers = Player.All.Count;
|
||||
}
|
||||
if (RecRoomSceneManager.NCKMBFBMBFM.EBHBJAFODKA.PNOOBNCKAMJ != null)
|
||||
{
|
||||
this.GameModeType = RecRoomSceneManager.NCKMBFBMBFM.EBHBJAFODKA.PNOOBNCKAMJ.ModeType;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.GameModeType = IEFCMNJDPII.INVALID;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170008F1 RID: 2289
|
||||
// (get) Token: 0x06015AD4 RID: 88788 RVA: 0x00605584 File Offset: 0x00603784
|
||||
// (set) Token: 0x06015AD5 RID: 88789 RVA: 0x00605598 File Offset: 0x00603798
|
||||
public bool Spectator
|
||||
{
|
||||
get
|
||||
{
|
||||
return (bool)base.GetVar("isSpectator");
|
||||
}
|
||||
set
|
||||
{
|
||||
base.SetVar("isSpectator", value);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170008F2 RID: 2290
|
||||
// (get) Token: 0x06015AD6 RID: 88790 RVA: 0x006055A8 File Offset: 0x006037A8
|
||||
// (set) Token: 0x06015AD7 RID: 88791 RVA: 0x006055BC File Offset: 0x006037BC
|
||||
public IEFCMNJDPII GameModeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return (IEFCMNJDPII)base.GetVar("gameMode");
|
||||
}
|
||||
set
|
||||
{
|
||||
base.SetVar("gameMode", (int)value);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170008F3 RID: 2291
|
||||
// (get) Token: 0x06015AD8 RID: 88792 RVA: 0x006055CC File Offset: 0x006037CC
|
||||
// (set) Token: 0x06015AD9 RID: 88793 RVA: 0x006055E0 File Offset: 0x006037E0
|
||||
public int NumTeammates
|
||||
{
|
||||
get
|
||||
{
|
||||
return (int)base.GetVar("numTeammates");
|
||||
}
|
||||
set
|
||||
{
|
||||
base.SetVar("numTeammates", value);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170008F4 RID: 2292
|
||||
// (get) Token: 0x06015ADA RID: 88794 RVA: 0x006055F0 File Offset: 0x006037F0
|
||||
// (set) Token: 0x06015ADB RID: 88795 RVA: 0x00605604 File Offset: 0x00603804
|
||||
public int NumPlayers
|
||||
{
|
||||
get
|
||||
{
|
||||
return (int)base.GetVar("numPlayers");
|
||||
}
|
||||
set
|
||||
{
|
||||
base.SetVar("numPlayers", value);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170008F5 RID: 2293
|
||||
// (get) Token: 0x06015ADC RID: 88796 RVA: 0x00605614 File Offset: 0x00603814
|
||||
// (set) Token: 0x06015ADD RID: 88797 RVA: 0x00605628 File Offset: 0x00603828
|
||||
public float TeamScore
|
||||
{
|
||||
get
|
||||
{
|
||||
return (float)base.GetVar("t_score");
|
||||
}
|
||||
set
|
||||
{
|
||||
base.SetVar("t_score", value);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04003C44 RID: 15428
|
||||
[AFLBIDPPPEM]
|
||||
public const string GAME_MODE_TYPE_VAR = "gameMode";
|
||||
|
||||
// Token: 0x04003C45 RID: 15429
|
||||
[AFLBIDPPPEM]
|
||||
public const string NUM_TEAMMATES_VAR = "numTeammates";
|
||||
|
||||
// Token: 0x04003C46 RID: 15430
|
||||
[AFLBIDPPPEM]
|
||||
public const string IS_SPECTATOR_VAR = "isSpectator";
|
||||
|
||||
// Token: 0x04003C47 RID: 15431
|
||||
[AFLBIDPPPEM]
|
||||
public const string TEAM_SCORE_VAR = "t_score";
|
||||
|
||||
// Token: 0x04003C48 RID: 15432
|
||||
[AFLBIDPPPEM]
|
||||
public const string EVENT_SCORE_VAR = "ev_score";
|
||||
|
||||
// Token: 0x04003C49 RID: 15433
|
||||
[AFLBIDPPPEM]
|
||||
public const string GAME_ID_VAR = "gid";
|
||||
}
|
||||
|
||||
// Token: 0x02000B0A RID: 2826
|
||||
public class GameStartedEventData : ChallengeEvents.GameEventData
|
||||
{
|
||||
// Token: 0x06015ADE RID: 88798 RVA: 0x00605638 File Offset: 0x00603838
|
||||
public GameStartedEventData(bool isSpectator, bool isJoinInProgress)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.GameStart, isSpectator)
|
||||
{
|
||||
this.JoinInProgress = isJoinInProgress;
|
||||
}
|
||||
|
||||
// Token: 0x170008F6 RID: 2294
|
||||
// (get) Token: 0x06015ADF RID: 88799 RVA: 0x0060564C File Offset: 0x0060384C
|
||||
// (set) Token: 0x06015AE0 RID: 88800 RVA: 0x00605660 File Offset: 0x00603860
|
||||
public bool JoinInProgress
|
||||
{
|
||||
get
|
||||
{
|
||||
return (bool)base.GetVar("jip");
|
||||
}
|
||||
set
|
||||
{
|
||||
base.SetVar("jip", value);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04003C4A RID: 15434
|
||||
[AFLBIDPPPEM]
|
||||
public const string JOIN_IN_PROGRESS = "jip";
|
||||
}
|
||||
|
||||
// Token: 0x02000B0B RID: 2827
|
||||
public class GameEndedEventData : ChallengeEvents.GameEventData
|
||||
{
|
||||
// Token: 0x06015AE1 RID: 88801 RVA: 0x00605670 File Offset: 0x00603870
|
||||
public GameEndedEventData(bool isSpectator, bool victory, float timeElapsed)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.GameEnd, isSpectator)
|
||||
{
|
||||
this.Won = victory;
|
||||
this.GameDuration = timeElapsed;
|
||||
}
|
||||
|
||||
// Token: 0x170008F7 RID: 2295
|
||||
// (get) Token: 0x06015AE2 RID: 88802 RVA: 0x00605688 File Offset: 0x00603888
|
||||
// (set) Token: 0x06015AE3 RID: 88803 RVA: 0x0060569C File Offset: 0x0060389C
|
||||
public bool Won
|
||||
{
|
||||
get
|
||||
{
|
||||
return (bool)base.GetVar("won");
|
||||
}
|
||||
set
|
||||
{
|
||||
base.SetVar("won", value);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170008F8 RID: 2296
|
||||
// (get) Token: 0x06015AE4 RID: 88804 RVA: 0x006056AC File Offset: 0x006038AC
|
||||
// (set) Token: 0x06015AE5 RID: 88805 RVA: 0x006056C0 File Offset: 0x006038C0
|
||||
public float GameDuration
|
||||
{
|
||||
get
|
||||
{
|
||||
return (float)base.GetVar("te");
|
||||
}
|
||||
set
|
||||
{
|
||||
base.SetVar("te", value);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04003C4B RID: 15435
|
||||
[AFLBIDPPPEM]
|
||||
public const string WON_VAR = "won";
|
||||
|
||||
// Token: 0x04003C4C RID: 15436
|
||||
[AFLBIDPPPEM]
|
||||
public const string TIME_ELAPSED_VAR = "te";
|
||||
}
|
||||
|
||||
// Token: 0x02000B0C RID: 2828
|
||||
public class GameScoreEventData : ChallengeEvents.GameEventData
|
||||
{
|
||||
// Token: 0x06015AE6 RID: 88806 RVA: 0x006056D0 File Offset: 0x006038D0
|
||||
public GameScoreEventData(float score)
|
||||
: base(ChallengeEvents.ChallengeEventTypes.Score, false)
|
||||
{
|
||||
base.SetVar("ev_score", score);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x02000B0D RID: 2829
|
||||
public class DiscGolfScoreEventData : ChallengeEvents.GameScoreEventData
|
||||
{
|
||||
// Token: 0x06015AE7 RID: 88807 RVA: 0x006056E8 File Offset: 0x006038E8
|
||||
public DiscGolfScoreEventData(int score, int par, int strokeCount)
|
||||
: base((float)score)
|
||||
{
|
||||
this.HolePar = par;
|
||||
this.StrokeCount = strokeCount;
|
||||
}
|
||||
|
||||
// Token: 0x170008F9 RID: 2297
|
||||
// (get) Token: 0x06015AE8 RID: 88808 RVA: 0x00605700 File Offset: 0x00603900
|
||||
// (set) Token: 0x06015AE9 RID: 88809 RVA: 0x00605714 File Offset: 0x00603914
|
||||
public int HolePar
|
||||
{
|
||||
get
|
||||
{
|
||||
return (int)base.GetVar("par");
|
||||
}
|
||||
set
|
||||
{
|
||||
base.SetVar("par", value);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x170008FA RID: 2298
|
||||
// (get) Token: 0x06015AEA RID: 88810 RVA: 0x00605724 File Offset: 0x00603924
|
||||
// (set) Token: 0x06015AEB RID: 88811 RVA: 0x00605738 File Offset: 0x00603938
|
||||
public int StrokeCount
|
||||
{
|
||||
get
|
||||
{
|
||||
return (int)base.GetVar("strokeCount");
|
||||
}
|
||||
set
|
||||
{
|
||||
base.SetVar("strokeCount", value);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04003C4D RID: 15437
|
||||
[AFLBIDPPPEM]
|
||||
public const string HOLE_PAR_VAR = "par";
|
||||
|
||||
// Token: 0x04003C4E RID: 15438
|
||||
[AFLBIDPPPEM]
|
||||
public const string STROKE_COUNT_VAR = "strokeCount";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B12 RID: 2834
|
||||
// (Invoke) Token: 0x06015AFA RID: 88826
|
||||
public delegate void ChallengeNotifyEvent(IChallenge challenge, int count, int total);
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using RecNet;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B0F RID: 2831
|
||||
public class ChallengeParser
|
||||
{
|
||||
// Token: 0x06015AEF RID: 88815 RVA: 0x00605768 File Offset: 0x00603968
|
||||
public static IChallenge FromJsonDict(Dictionary<string, object> dict)
|
||||
{
|
||||
ChallengeTypes? challengeType = ChallengeParser.GetChallengeType(dict);
|
||||
if (challengeType != null)
|
||||
{
|
||||
switch (challengeType.Value)
|
||||
{
|
||||
case ChallengeTypes.Challenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<Challenge>(dict);
|
||||
case ChallengeTypes.ChallengeCountChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<ChallengeCountChallenge>(dict);
|
||||
case ChallengeTypes.TimedBufferChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<TimedBufferChallenge>(dict);
|
||||
case ChallengeTypes.DynamicFloatArithmeticChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<DynamicFloatArithmeticChallenge>(dict);
|
||||
case ChallengeTypes.DynamicIntArithmeticChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<DynamicIntArithmeticChallenge>(dict);
|
||||
case ChallengeTypes.RequiredToolChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<RequiredToolChallenge>(dict);
|
||||
case ChallengeTypes.RequiredEventTypeChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<RequiredEventTypeChallenge>(dict);
|
||||
case ChallengeTypes.RequiredActivityChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<RequiredActivityChallenge>(dict);
|
||||
case ChallengeTypes.RequiredEnemyTypeChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<RequiredEnemyTypeChallenge>(dict);
|
||||
case ChallengeTypes.BoolVarEqualsChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<BoolVarEqualsChallenge>(dict);
|
||||
case ChallengeTypes.DiscGolfFinishUnderParChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<DiscGolfFinishUnderParChallenge>(dict);
|
||||
case ChallengeTypes.RequiredGameModeActivityChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<RequiredGameModeActivityChallenge>(dict);
|
||||
case ChallengeTypes.CompleteGameWithoutChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<CompleteGameWithoutChallenge>(dict);
|
||||
case ChallengeTypes.RequiredGestureChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<RequiredGestureChallenge>(dict);
|
||||
case ChallengeTypes.HitstreakChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<HitstreakChallenge>(dict);
|
||||
case ChallengeTypes.HitstreakCountChallenge:
|
||||
return OFPFHHLNHIC.DKMOHDIJHAE<HitstreakCountChallenge>(dict);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// Token: 0x06015AF0 RID: 88816 RVA: 0x00605850 File Offset: 0x00603A50
|
||||
private static ChallengeTypes? GetChallengeType(Dictionary<string, object> dict)
|
||||
{
|
||||
if (dict != null && dict.ContainsKey("ct"))
|
||||
{
|
||||
ChallengeTypes challengeTypes = (ChallengeTypes)OFPFHHLNHIC.KOFIKGFMMKD<int>("ct", dict);
|
||||
return new ChallengeTypes?(challengeTypes);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// Token: 0x06015AF1 RID: 88817 RVA: 0x00605890 File Offset: 0x00603A90
|
||||
public static bool TryGetChallenge(string key, Dictionary<string, object> dict, out IChallenge challenge)
|
||||
{
|
||||
challenge = null;
|
||||
object obj = null;
|
||||
if (dict.TryGetValue(key, out obj) && obj != null)
|
||||
{
|
||||
Dictionary<string, object> dictionary = (Dictionary<string, object>)obj;
|
||||
challenge = ChallengeParser.FromJsonDict(dictionary);
|
||||
if (challenge != null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Token: 0x06015AF2 RID: 88818 RVA: 0x006058D0 File Offset: 0x00603AD0
|
||||
public static List<IChallenge> GetChallengeSet(string key, Dictionary<string, object> jsonDict)
|
||||
{
|
||||
if (jsonDict.ContainsKey(key))
|
||||
{
|
||||
List<Dictionary<string, object>> list = OFPFHHLNHIC.NGILNLCIOJM<Dictionary<string, object>>(key, jsonDict);
|
||||
return new List<IChallenge>(from _ in list.Select(new Func<Dictionary<string, object>, IChallenge>(ChallengeParser.FromJsonDict))
|
||||
where _ != null
|
||||
select _);
|
||||
}
|
||||
return new List<IChallenge>();
|
||||
}
|
||||
|
||||
// Token: 0x06015AF3 RID: 88819 RVA: 0x00605944 File Offset: 0x00603B44
|
||||
public static T GetOptionalKey<T>(string key, Dictionary<string, object> jsonDict, T defaultValue = default(T))
|
||||
{
|
||||
if (jsonDict.ContainsKey(key))
|
||||
{
|
||||
try
|
||||
{
|
||||
return OFPFHHLNHIC.KOFIKGFMMKD<T>(key, jsonDict);
|
||||
}
|
||||
catch
|
||||
{
|
||||
Debug.LogError("Badly formatted data for optional key:" + key);
|
||||
return defaultValue;
|
||||
}
|
||||
return defaultValue;
|
||||
}
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B10 RID: 2832
|
||||
public struct ChallengeProgress
|
||||
{
|
||||
// Token: 0x04003C52 RID: 15442
|
||||
public int Count;
|
||||
|
||||
// Token: 0x04003C53 RID: 15443
|
||||
public int Total;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B2F RID: 2863
|
||||
public enum ChallengeTypes
|
||||
{
|
||||
// Token: 0x04003CB1 RID: 15537
|
||||
Challenge,
|
||||
// Token: 0x04003CB2 RID: 15538
|
||||
ChallengeCountChallenge,
|
||||
// Token: 0x04003CB3 RID: 15539
|
||||
TimedBufferChallenge,
|
||||
// Token: 0x04003CB4 RID: 15540
|
||||
DynamicFloatArithmeticChallenge,
|
||||
// Token: 0x04003CB5 RID: 15541
|
||||
DynamicIntArithmeticChallenge,
|
||||
// Token: 0x04003CB6 RID: 15542
|
||||
RequiredToolChallenge,
|
||||
// Token: 0x04003CB7 RID: 15543
|
||||
RequiredEventTypeChallenge,
|
||||
// Token: 0x04003CB8 RID: 15544
|
||||
RequiredActivityChallenge,
|
||||
// Token: 0x04003CB9 RID: 15545
|
||||
RequiredEnemyTypeChallenge,
|
||||
// Token: 0x04003CBA RID: 15546
|
||||
BoolVarEqualsChallenge,
|
||||
// Token: 0x04003CBB RID: 15547
|
||||
DiscGolfFinishUnderParChallenge = 11,
|
||||
// Token: 0x04003CBC RID: 15548
|
||||
RequiredGameModeActivityChallenge,
|
||||
// Token: 0x04003CBD RID: 15549
|
||||
CompleteGameWithoutChallenge,
|
||||
// Token: 0x04003CBE RID: 15550
|
||||
RequiredGestureChallenge,
|
||||
// Token: 0x04003CBF RID: 15551
|
||||
HitstreakChallenge,
|
||||
// Token: 0x04003CC0 RID: 15552
|
||||
HitstreakCountChallenge
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B2B RID: 2859
|
||||
public class CompleteGameWithoutChallenge : TimedBufferChallenge
|
||||
{
|
||||
// Token: 0x06015B93 RID: 88979 RVA: 0x00606FFC File Offset: 0x006051FC
|
||||
public CompleteGameWithoutChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B94 RID: 88980 RVA: 0x00607004 File Offset: 0x00605204
|
||||
public CompleteGameWithoutChallenge(IChallenge gameStartChallenge, IChallenge gameEndChallenge, params IChallenge[] resetChallenges)
|
||||
: base(new IChallenge[] { gameStartChallenge, gameEndChallenge }, 2, -1f)
|
||||
{
|
||||
RequiredEventTypeChallenge requiredEventTypeChallenge = new RequiredEventTypeChallenge(ChallengeEvents.ChallengeEventTypes.GameStart, new ChallengeEvents.ChallengeEventTypes[0]);
|
||||
this.ResetConditions.Add(requiredEventTypeChallenge);
|
||||
foreach (IChallenge challenge in resetChallenges)
|
||||
{
|
||||
this.ResetConditions.Add(challenge);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x1700090C RID: 2316
|
||||
// (get) Token: 0x06015B95 RID: 88981 RVA: 0x0060706C File Offset: 0x0060526C
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.CompleteGameWithoutChallenge;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using RecNet;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B39 RID: 2873
|
||||
public class ConstantNumResolver<T> : NumResolver<T> where T : struct, IConvertible
|
||||
{
|
||||
// Token: 0x06015BC4 RID: 89028 RVA: 0x006071C8 File Offset: 0x006053C8
|
||||
public ConstantNumResolver()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015BC5 RID: 89029 RVA: 0x006071EC File Offset: 0x006053EC
|
||||
public ConstantNumResolver(T constantValue)
|
||||
{
|
||||
this.ConstantValue = constantValue;
|
||||
}
|
||||
|
||||
// Token: 0x1700091D RID: 2333
|
||||
// (get) Token: 0x06015BC6 RID: 89030 RVA: 0x00607218 File Offset: 0x00605418
|
||||
public override NumResolverTypes NumResolverType
|
||||
{
|
||||
get
|
||||
{
|
||||
return NumResolverTypes.Constant;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015BC7 RID: 89031 RVA: 0x0060721C File Offset: 0x0060541C
|
||||
public override T? GetValue(ChallengeEvents.IChallengeEventData eventData)
|
||||
{
|
||||
return new T?(this.ConstantValue);
|
||||
}
|
||||
|
||||
// Token: 0x06015BC8 RID: 89032 RVA: 0x0060722C File Offset: 0x0060542C
|
||||
public override Dictionary<string, object> Serialize()
|
||||
{
|
||||
Dictionary<string, object> dictionary = base.Serialize();
|
||||
dictionary["c"] = this.ConstantValue;
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
// Token: 0x06015BC9 RID: 89033 RVA: 0x00607258 File Offset: 0x00605458
|
||||
public override void Deserialize(Dictionary<string, object> jsonDict)
|
||||
{
|
||||
this.ConstantValue = OFPFHHLNHIC.KOFIKGFMMKD<T>("c", jsonDict);
|
||||
}
|
||||
|
||||
// Token: 0x04003CC5 RID: 15557
|
||||
public T ConstantValue = default(T);
|
||||
|
||||
// Token: 0x04003CC6 RID: 15558
|
||||
protected const string CONSTANT_KEY = "c";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B28 RID: 2856
|
||||
public class DiscGolfFinishUnderParChallenge : ChallengeBase
|
||||
{
|
||||
// Token: 0x06015B85 RID: 88965 RVA: 0x00606F44 File Offset: 0x00605144
|
||||
protected override bool EvaluateInternal(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
return challengeEventData.ChallengeEventType == ChallengeEvents.ChallengeEventTypes.GameEnd && challengeEventData.Activity == PGOPAPIFECA.DISC_GOLF && (float)challengeEventData.GetVar("t_score") < 0f;
|
||||
}
|
||||
|
||||
// Token: 0x06015B86 RID: 88966 RVA: 0x00606F80 File Offset: 0x00605180
|
||||
protected override void DeserializeInternal(Dictionary<string, object> jsonDict)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x17000909 RID: 2313
|
||||
// (get) Token: 0x06015B87 RID: 88967 RVA: 0x00606F84 File Offset: 0x00605184
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.DiscGolfFinishUnderParChallenge;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B15 RID: 2837
|
||||
public abstract class DynamicArithmeticChallenge<T> : ChallengeBase where T : struct, IConvertible, IComparable<T>
|
||||
{
|
||||
// Token: 0x06015B01 RID: 88833 RVA: 0x006059A4 File Offset: 0x00603BA4
|
||||
public DynamicArithmeticChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B02 RID: 88834 RVA: 0x006059B4 File Offset: 0x00603BB4
|
||||
public DynamicArithmeticChallenge(NumOperation numOp, INumResolver<T> numResolverA, INumResolver<T> numResolverB)
|
||||
{
|
||||
this.NumOp = numOp;
|
||||
this.numResolverA = numResolverA;
|
||||
this.numResolverB = numResolverB;
|
||||
}
|
||||
|
||||
// Token: 0x06015B03 RID: 88835 RVA: 0x006059D8 File Offset: 0x00603BD8
|
||||
protected override bool EvaluateInternal(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
if (this.numResolverA == null || this.numResolverB == null)
|
||||
{
|
||||
Debug.LogWarning("NumResolver was null");
|
||||
return false;
|
||||
}
|
||||
T? value = this.numResolverA.GetValue(challengeEventData);
|
||||
T? value2 = this.numResolverB.GetValue(challengeEventData);
|
||||
if (value == null || value2 == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
T value3 = value.Value;
|
||||
T value4 = value2.Value;
|
||||
switch (this.NumOp)
|
||||
{
|
||||
case NumOperation.GT:
|
||||
return value3.CompareTo(value4) > 0;
|
||||
case NumOperation.LT:
|
||||
return value3.CompareTo(value4) < 0;
|
||||
case NumOperation.EQ:
|
||||
return this.Equals(value3, value4);
|
||||
case NumOperation.GTE:
|
||||
return value3.CompareTo(value4) > 0 || this.Equals(value3, value4);
|
||||
case NumOperation.LTE:
|
||||
return value3.CompareTo(value4) < 0 || this.Equals(value3, value4);
|
||||
default:
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015B04 RID: 88836
|
||||
protected abstract bool Equals(T valueA, T valueB);
|
||||
|
||||
// Token: 0x06015B05 RID: 88837 RVA: 0x00605AE8 File Offset: 0x00603CE8
|
||||
public sealed override Dictionary<string, object> Serialize()
|
||||
{
|
||||
Dictionary<string, object> dictionary = base.Serialize();
|
||||
dictionary["op"] = (int)this.NumOp;
|
||||
if (this.numResolverA != null)
|
||||
{
|
||||
dictionary["rA"] = this.numResolverA.Serialize();
|
||||
}
|
||||
if (this.numResolverB != null)
|
||||
{
|
||||
dictionary["rB"] = this.numResolverB.Serialize();
|
||||
}
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
// Token: 0x06015B06 RID: 88838 RVA: 0x00605B58 File Offset: 0x00603D58
|
||||
protected sealed override void DeserializeInternal(Dictionary<string, object> jsonDict)
|
||||
{
|
||||
this.NumOp = (NumOperation)ChallengeParser.GetOptionalKey<int>("op", jsonDict, 2);
|
||||
this.numResolverA = NumResolver<T>.FromJsonDict(ChallengeParser.GetOptionalKey<Dictionary<string, object>>("rA", jsonDict, null));
|
||||
this.numResolverB = NumResolver<T>.FromJsonDict(ChallengeParser.GetOptionalKey<Dictionary<string, object>>("rB", jsonDict, null));
|
||||
}
|
||||
|
||||
// Token: 0x04003C5A RID: 15450
|
||||
public INumResolver<T> numResolverA;
|
||||
|
||||
// Token: 0x04003C5B RID: 15451
|
||||
public NumOperation NumOp = NumOperation.EQ;
|
||||
|
||||
// Token: 0x04003C5C RID: 15452
|
||||
public INumResolver<T> numResolverB;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B16 RID: 2838
|
||||
public class DynamicFloatArithmeticChallenge : DynamicArithmeticChallenge<float>
|
||||
{
|
||||
// Token: 0x06015B07 RID: 88839 RVA: 0x00605BA8 File Offset: 0x00603DA8
|
||||
public DynamicFloatArithmeticChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B08 RID: 88840 RVA: 0x00605BB0 File Offset: 0x00603DB0
|
||||
public DynamicFloatArithmeticChallenge(NumOperation numOp, INumResolver<float> numResolverA, INumResolver<float> numResolverB)
|
||||
: base(numOp, numResolverA, numResolverB)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B09 RID: 88841 RVA: 0x00605BBC File Offset: 0x00603DBC
|
||||
protected override bool Equals(float valueA, float valueB)
|
||||
{
|
||||
return Mathf.Approximately(valueA, valueB);
|
||||
}
|
||||
|
||||
// Token: 0x170008FB RID: 2299
|
||||
// (get) Token: 0x06015B0A RID: 88842 RVA: 0x00605BC8 File Offset: 0x00603DC8
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.DynamicFloatArithmeticChallenge;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B17 RID: 2839
|
||||
public class DynamicIntArithmeticChallenge : DynamicArithmeticChallenge<int>
|
||||
{
|
||||
// Token: 0x06015B0B RID: 88843 RVA: 0x00605BCC File Offset: 0x00603DCC
|
||||
public DynamicIntArithmeticChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B0C RID: 88844 RVA: 0x00605BD4 File Offset: 0x00603DD4
|
||||
public DynamicIntArithmeticChallenge(NumOperation numOp, INumResolver<int> numResolverA, INumResolver<int> numResolverB)
|
||||
: base(numOp, numResolverA, numResolverB)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B0D RID: 88845 RVA: 0x00605BE0 File Offset: 0x00603DE0
|
||||
protected override bool Equals(int valueA, int valueB)
|
||||
{
|
||||
return valueA == valueB;
|
||||
}
|
||||
|
||||
// Token: 0x170008FC RID: 2300
|
||||
// (get) Token: 0x06015B0E RID: 88846 RVA: 0x00605BE8 File Offset: 0x00603DE8
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.DynamicIntArithmeticChallenge;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B3C RID: 2876
|
||||
public class FloatConstantNumResolver : ConstantNumResolver<float>
|
||||
{
|
||||
// Token: 0x06015BD2 RID: 89042 RVA: 0x00607310 File Offset: 0x00605510
|
||||
public FloatConstantNumResolver()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015BD3 RID: 89043 RVA: 0x00607318 File Offset: 0x00605518
|
||||
public FloatConstantNumResolver(float num)
|
||||
: base(num)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B3E RID: 2878
|
||||
public class FloatVarNumResolver : VarNumResolver<float>
|
||||
{
|
||||
// Token: 0x06015BD6 RID: 89046 RVA: 0x00607338 File Offset: 0x00605538
|
||||
public FloatVarNumResolver()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015BD7 RID: 89047 RVA: 0x00607340 File Offset: 0x00605540
|
||||
public FloatVarNumResolver(string varKey)
|
||||
: base(varKey)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B2C RID: 2860
|
||||
public class HitstreakChallenge : ChallengeCountChallenge
|
||||
{
|
||||
// Token: 0x06015B96 RID: 88982 RVA: 0x00607070 File Offset: 0x00605270
|
||||
public HitstreakChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B97 RID: 88983 RVA: 0x00607078 File Offset: 0x00605278
|
||||
public HitstreakChallenge(int hitPerStreak)
|
||||
: base(ChallengeBuilder.CreateBuilder().WithCondition(new RequiredEventTypeChallenge(ChallengeEvents.ChallengeEventTypes.ElminatedOtherPlayer, new ChallengeEvents.ChallengeEventTypes[0])).Create(), hitPerStreak)
|
||||
{
|
||||
this.ResetConditions.Add(new RequiredEventTypeChallenge(ChallengeEvents.ChallengeEventTypes.LocalPlayerEliminated, new ChallengeEvents.ChallengeEventTypes[0]));
|
||||
}
|
||||
|
||||
// Token: 0x1700090D RID: 2317
|
||||
// (get) Token: 0x06015B98 RID: 88984 RVA: 0x006070B4 File Offset: 0x006052B4
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.HitstreakChallenge;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B2D RID: 2861
|
||||
public class HitstreakCountChallenge : TimedBufferChallenge
|
||||
{
|
||||
// Token: 0x06015B99 RID: 88985 RVA: 0x006070B8 File Offset: 0x006052B8
|
||||
public HitstreakCountChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B9A RID: 88986 RVA: 0x006070C0 File Offset: 0x006052C0
|
||||
public HitstreakCountChallenge(int hitPerStreak, int totalCount)
|
||||
: base(new HitstreakChallenge(hitPerStreak), totalCount, -1f)
|
||||
{
|
||||
this.PersistBuffer = true;
|
||||
this.ProgressMode = TimedBufferChallenge.ProgressModes.Count;
|
||||
}
|
||||
|
||||
// Token: 0x1700090E RID: 2318
|
||||
// (get) Token: 0x06015B9B RID: 88987 RVA: 0x006070E4 File Offset: 0x006052E4
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.HitstreakCountChallenge;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
using System;
|
||||
using RecNet;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B31 RID: 2865
|
||||
public interface IChallenge : INMKELLJKBO, EBHIILNPABI
|
||||
{
|
||||
// Token: 0x1700090F RID: 2319
|
||||
// (get) Token: 0x06015BA2 RID: 88994
|
||||
bool Complete { get; }
|
||||
|
||||
// Token: 0x17000910 RID: 2320
|
||||
// (get) Token: 0x06015BA3 RID: 88995
|
||||
bool Dirty { get; }
|
||||
|
||||
// Token: 0x17000911 RID: 2321
|
||||
// (get) Token: 0x06015BA4 RID: 88996
|
||||
bool UpdateServer { get; }
|
||||
|
||||
// Token: 0x17000912 RID: 2322
|
||||
// (get) Token: 0x06015BA5 RID: 88997
|
||||
ChallengeProgress Progress { get; }
|
||||
|
||||
// Token: 0x17000913 RID: 2323
|
||||
// (get) Token: 0x06015BA6 RID: 88998
|
||||
ChallengeTypes ChallengeType { get; }
|
||||
|
||||
// Token: 0x17000914 RID: 2324
|
||||
// (get) Token: 0x06015BA7 RID: 88999
|
||||
// (set) Token: 0x06015BA8 RID: 89000
|
||||
bool SkipSerialization { get; set; }
|
||||
|
||||
// Token: 0x17000915 RID: 2325
|
||||
// (get) Token: 0x06015BA9 RID: 89001
|
||||
// (set) Token: 0x06015BAA RID: 89002
|
||||
bool UpdateServerOnReset { get; set; }
|
||||
|
||||
// Token: 0x17000916 RID: 2326
|
||||
// (get) Token: 0x06015BAB RID: 89003
|
||||
// (set) Token: 0x06015BAC RID: 89004
|
||||
bool IsMasterChallenge { get; set; }
|
||||
|
||||
// Token: 0x06015BAD RID: 89005
|
||||
void EvaluateEvent(ChallengeEvents.IChallengeEventData challengeEventData);
|
||||
|
||||
// Token: 0x06015BAE RID: 89006
|
||||
bool Evaluate(ChallengeEvents.IChallengeEventData challengeEventData);
|
||||
|
||||
// Token: 0x06015BAF RID: 89007
|
||||
void Reset();
|
||||
|
||||
// Token: 0x1400009B RID: 155
|
||||
// (add) Token: 0x06015BB0 RID: 89008
|
||||
// (remove) Token: 0x06015BB1 RID: 89009
|
||||
event UpdateChallenge UpdateEvent;
|
||||
|
||||
// Token: 0x1400009C RID: 156
|
||||
// (add) Token: 0x06015BB2 RID: 89010
|
||||
// (remove) Token: 0x06015BB3 RID: 89011
|
||||
event UpdateChallenge UpdateServerEvent;
|
||||
|
||||
// Token: 0x1400009D RID: 157
|
||||
// (add) Token: 0x06015BB4 RID: 89012
|
||||
// (remove) Token: 0x06015BB5 RID: 89013
|
||||
event ChallengeNotifyEvent ChallengeNotifyEvent;
|
||||
|
||||
// Token: 0x1400009E RID: 158
|
||||
// (add) Token: 0x06015BB6 RID: 89014
|
||||
// (remove) Token: 0x06015BB7 RID: 89015
|
||||
event ChallengeComplete ChallengeCompleteEvent;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B32 RID: 2866
|
||||
public interface IChallengeEnemy : IEventTarget
|
||||
{
|
||||
// Token: 0x17000917 RID: 2327
|
||||
// (get) Token: 0x06015BB8 RID: 89016
|
||||
DJGJNJMJDHF EnemyType { get; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B33 RID: 2867
|
||||
public interface IChallengePlayer : IEventTarget
|
||||
{
|
||||
// Token: 0x17000918 RID: 2328
|
||||
// (get) Token: 0x06015BB9 RID: 89017
|
||||
long ProfileId { get; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B34 RID: 2868
|
||||
public interface IChallengeTool : IEventTarget
|
||||
{
|
||||
// Token: 0x17000919 RID: 2329
|
||||
// (get) Token: 0x06015BBA RID: 89018
|
||||
EEOOHEGOBKD ActivityEquipmentType { get; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B35 RID: 2869
|
||||
public interface IEventTarget
|
||||
{
|
||||
// Token: 0x1700091A RID: 2330
|
||||
// (get) Token: 0x06015BBB RID: 89019
|
||||
int PhotonViewId { get; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
using System;
|
||||
using RecNet;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B36 RID: 2870
|
||||
public interface INumResolver<T> : INMKELLJKBO, EBHIILNPABI where T : struct, IConvertible
|
||||
{
|
||||
// Token: 0x1700091B RID: 2331
|
||||
// (get) Token: 0x06015BBC RID: 89020
|
||||
NumResolverTypes NumResolverType { get; }
|
||||
|
||||
// Token: 0x06015BBD RID: 89021
|
||||
T? GetValue(ChallengeEvents.IChallengeEventData eventData);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B3B RID: 2875
|
||||
public class IntConstantNumResolver : ConstantNumResolver<int>
|
||||
{
|
||||
// Token: 0x06015BD0 RID: 89040 RVA: 0x006072FC File Offset: 0x006054FC
|
||||
public IntConstantNumResolver()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015BD1 RID: 89041 RVA: 0x00607304 File Offset: 0x00605504
|
||||
public IntConstantNumResolver(int num)
|
||||
: base(num)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B3D RID: 2877
|
||||
public class IntVarNumResolver : VarNumResolver<int>
|
||||
{
|
||||
// Token: 0x06015BD4 RID: 89044 RVA: 0x00607324 File Offset: 0x00605524
|
||||
public IntVarNumResolver()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015BD5 RID: 89045 RVA: 0x0060732C File Offset: 0x0060552C
|
||||
public IntVarNumResolver(string varKey)
|
||||
: base(varKey)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B14 RID: 2836
|
||||
public enum NumOperation
|
||||
{
|
||||
// Token: 0x04003C55 RID: 15445
|
||||
GT,
|
||||
// Token: 0x04003C56 RID: 15446
|
||||
LT,
|
||||
// Token: 0x04003C57 RID: 15447
|
||||
EQ,
|
||||
// Token: 0x04003C58 RID: 15448
|
||||
GTE,
|
||||
// Token: 0x04003C59 RID: 15449
|
||||
LTE
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
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";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B37 RID: 2871
|
||||
public enum NumResolverTypes
|
||||
{
|
||||
// Token: 0x04003CC2 RID: 15554
|
||||
Constant,
|
||||
// Token: 0x04003CC3 RID: 15555
|
||||
Var
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using RecNet;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B23 RID: 2851
|
||||
public class RequiredActivityChallenge : RequiredObjectChallenge<RequiredActivityChallenge.ActivityLevel, Dictionary<string, object>>
|
||||
{
|
||||
// Token: 0x06015B65 RID: 88933 RVA: 0x00606CC8 File Offset: 0x00604EC8
|
||||
public RequiredActivityChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B66 RID: 88934 RVA: 0x00606CD0 File Offset: 0x00604ED0
|
||||
public RequiredActivityChallenge(RequiredActivityChallenge.ActivityLevel[] requiredValues)
|
||||
: this(true, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B67 RID: 88935 RVA: 0x00606CDC File Offset: 0x00604EDC
|
||||
public RequiredActivityChallenge(RequiredActivityChallenge.ActivityLevel requiredValue, params RequiredActivityChallenge.ActivityLevel[] requiredValues)
|
||||
: this(true, requiredValue, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B68 RID: 88936 RVA: 0x00606CE8 File Offset: 0x00604EE8
|
||||
public RequiredActivityChallenge(bool inclusive, RequiredActivityChallenge.ActivityLevel requiredValue, params RequiredActivityChallenge.ActivityLevel[] requiredValues)
|
||||
: this(inclusive, requiredValues.Union(new RequiredActivityChallenge.ActivityLevel[] { requiredValue }).ToArray<RequiredActivityChallenge.ActivityLevel>())
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B69 RID: 88937 RVA: 0x00606D10 File Offset: 0x00604F10
|
||||
public RequiredActivityChallenge(bool inclusive, RequiredActivityChallenge.ActivityLevel[] requiredValues)
|
||||
: base(inclusive, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B6A RID: 88938 RVA: 0x00606D1C File Offset: 0x00604F1C
|
||||
protected override RequiredActivityChallenge.ActivityLevel? GetValueFromData(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
return new RequiredActivityChallenge.ActivityLevel?(new RequiredActivityChallenge.ActivityLevel
|
||||
{
|
||||
Activity = challengeEventData.Activity,
|
||||
Level = challengeEventData.Level
|
||||
});
|
||||
}
|
||||
|
||||
// Token: 0x06015B6B RID: 88939 RVA: 0x00606D54 File Offset: 0x00604F54
|
||||
protected override bool Matches(RequiredActivityChallenge.ActivityLevel value)
|
||||
{
|
||||
return this.values.Any((RequiredActivityChallenge.ActivityLevel _) => _.Match(value));
|
||||
}
|
||||
|
||||
// Token: 0x06015B6C RID: 88940 RVA: 0x00606D88 File Offset: 0x00604F88
|
||||
protected override Dictionary<string, object> SerializeValue(RequiredActivityChallenge.ActivityLevel equipment)
|
||||
{
|
||||
return equipment.Serialize();
|
||||
}
|
||||
|
||||
// Token: 0x06015B6D RID: 88941 RVA: 0x00606D94 File Offset: 0x00604F94
|
||||
protected override RequiredActivityChallenge.ActivityLevel DeserializeValue(Dictionary<string, object> obj)
|
||||
{
|
||||
RequiredActivityChallenge.ActivityLevel activityLevel = default(RequiredActivityChallenge.ActivityLevel);
|
||||
activityLevel.Deserialize(obj);
|
||||
return activityLevel;
|
||||
}
|
||||
|
||||
// Token: 0x17000906 RID: 2310
|
||||
// (get) Token: 0x06015B6E RID: 88942 RVA: 0x00606DB4 File Offset: 0x00604FB4
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.RequiredActivityChallenge;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x02000B24 RID: 2852
|
||||
public struct ActivityLevel : INMKELLJKBO, EBHIILNPABI
|
||||
{
|
||||
// Token: 0x06015B6F RID: 88943 RVA: 0x00606DB8 File Offset: 0x00604FB8
|
||||
public bool Match(RequiredActivityChallenge.ActivityLevel activityLevel)
|
||||
{
|
||||
bool flag = this.Activity == activityLevel.Activity;
|
||||
bool flag2 = this.Level == KANCFPONEKJ.ANY_LEVEL || this.Level == activityLevel.Level;
|
||||
return flag && flag2;
|
||||
}
|
||||
|
||||
// Token: 0x06015B70 RID: 88944 RVA: 0x00606E00 File Offset: 0x00605000
|
||||
public Dictionary<string, object> Serialize()
|
||||
{
|
||||
return new Dictionary<string, object>
|
||||
{
|
||||
{
|
||||
"a",
|
||||
(int)this.Activity
|
||||
},
|
||||
{
|
||||
"l",
|
||||
(int)this.Level
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// Token: 0x06015B71 RID: 88945 RVA: 0x00606E40 File Offset: 0x00605040
|
||||
public void Deserialize(Dictionary<string, object> dict)
|
||||
{
|
||||
this.Activity = (PGOPAPIFECA)OFPFHHLNHIC.KOFIKGFMMKD<int>("a", dict);
|
||||
this.Level = (KANCFPONEKJ)OFPFHHLNHIC.KOFIKGFMMKD<int>("l", dict);
|
||||
}
|
||||
|
||||
// Token: 0x04003CAA RID: 15530
|
||||
public PGOPAPIFECA Activity;
|
||||
|
||||
// Token: 0x04003CAB RID: 15531
|
||||
public KANCFPONEKJ Level;
|
||||
|
||||
// Token: 0x04003CAC RID: 15532
|
||||
public const string ACTIVITY_KEY = "a";
|
||||
|
||||
// Token: 0x04003CAD RID: 15533
|
||||
public const string LEVEL_KEY = "l";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B26 RID: 2854
|
||||
public class RequiredEnemyTypeChallenge : RequiredObjectChallenge<DJGJNJMJDHF, int>
|
||||
{
|
||||
// Token: 0x06015B74 RID: 88948 RVA: 0x00606E7C File Offset: 0x0060507C
|
||||
public RequiredEnemyTypeChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B75 RID: 88949 RVA: 0x00606E84 File Offset: 0x00605084
|
||||
public RequiredEnemyTypeChallenge(DJGJNJMJDHF[] requiredValues)
|
||||
: this(true, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B76 RID: 88950 RVA: 0x00606E90 File Offset: 0x00605090
|
||||
public RequiredEnemyTypeChallenge(DJGJNJMJDHF requiredValue, params DJGJNJMJDHF[] requiredValues)
|
||||
: this(true, requiredValue, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B77 RID: 88951 RVA: 0x00606E9C File Offset: 0x0060509C
|
||||
public RequiredEnemyTypeChallenge(bool inclusive, DJGJNJMJDHF requiredValue, params DJGJNJMJDHF[] requiredValues)
|
||||
: this(inclusive, requiredValues.Union(new DJGJNJMJDHF[] { requiredValue }).ToArray<DJGJNJMJDHF>())
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B78 RID: 88952 RVA: 0x00606EBC File Offset: 0x006050BC
|
||||
public RequiredEnemyTypeChallenge(bool inclusive, DJGJNJMJDHF[] requiredValues)
|
||||
: base(inclusive, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B79 RID: 88953 RVA: 0x00606EC8 File Offset: 0x006050C8
|
||||
protected override DJGJNJMJDHF? GetValueFromData(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
return (DJGJNJMJDHF?)challengeEventData.GetVar("e_t");
|
||||
}
|
||||
|
||||
// Token: 0x06015B7A RID: 88954 RVA: 0x00606EE8 File Offset: 0x006050E8
|
||||
protected override int SerializeValue(DJGJNJMJDHF enemy)
|
||||
{
|
||||
return (int)enemy;
|
||||
}
|
||||
|
||||
// Token: 0x06015B7B RID: 88955 RVA: 0x00606EEC File Offset: 0x006050EC
|
||||
protected override DJGJNJMJDHF DeserializeValue(int obj)
|
||||
{
|
||||
return (DJGJNJMJDHF)obj;
|
||||
}
|
||||
|
||||
// Token: 0x17000907 RID: 2311
|
||||
// (get) Token: 0x06015B7C RID: 88956 RVA: 0x00606EF0 File Offset: 0x006050F0
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.RequiredEnemyTypeChallenge;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B22 RID: 2850
|
||||
public class RequiredEventTypeChallenge : RequiredObjectChallenge<ChallengeEvents.ChallengeEventTypes, int>
|
||||
{
|
||||
// Token: 0x06015B5C RID: 88924 RVA: 0x00606C60 File Offset: 0x00604E60
|
||||
public RequiredEventTypeChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B5D RID: 88925 RVA: 0x00606C68 File Offset: 0x00604E68
|
||||
public RequiredEventTypeChallenge(ChallengeEvents.ChallengeEventTypes[] requiredValues)
|
||||
: this(true, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B5E RID: 88926 RVA: 0x00606C74 File Offset: 0x00604E74
|
||||
public RequiredEventTypeChallenge(ChallengeEvents.ChallengeEventTypes requiredValue, params ChallengeEvents.ChallengeEventTypes[] requiredValues)
|
||||
: this(true, requiredValue, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B5F RID: 88927 RVA: 0x00606C80 File Offset: 0x00604E80
|
||||
public RequiredEventTypeChallenge(bool inclusive, ChallengeEvents.ChallengeEventTypes requiredValue, params ChallengeEvents.ChallengeEventTypes[] requiredValues)
|
||||
: this(inclusive, requiredValues.Union(new ChallengeEvents.ChallengeEventTypes[] { requiredValue }).ToArray<ChallengeEvents.ChallengeEventTypes>())
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B60 RID: 88928 RVA: 0x00606CA0 File Offset: 0x00604EA0
|
||||
public RequiredEventTypeChallenge(bool inclusive, ChallengeEvents.ChallengeEventTypes[] requiredValues)
|
||||
: base(inclusive, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B61 RID: 88929 RVA: 0x00606CAC File Offset: 0x00604EAC
|
||||
protected override ChallengeEvents.ChallengeEventTypes? GetValueFromData(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
return new ChallengeEvents.ChallengeEventTypes?(challengeEventData.ChallengeEventType);
|
||||
}
|
||||
|
||||
// Token: 0x06015B62 RID: 88930 RVA: 0x00606CBC File Offset: 0x00604EBC
|
||||
protected override int SerializeValue(ChallengeEvents.ChallengeEventTypes equipment)
|
||||
{
|
||||
return (int)equipment;
|
||||
}
|
||||
|
||||
// Token: 0x06015B63 RID: 88931 RVA: 0x00606CC0 File Offset: 0x00604EC0
|
||||
protected override ChallengeEvents.ChallengeEventTypes DeserializeValue(int obj)
|
||||
{
|
||||
return (ChallengeEvents.ChallengeEventTypes)obj;
|
||||
}
|
||||
|
||||
// Token: 0x17000905 RID: 2309
|
||||
// (get) Token: 0x06015B64 RID: 88932 RVA: 0x00606CC4 File Offset: 0x00604EC4
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.RequiredEventTypeChallenge;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B29 RID: 2857
|
||||
public class RequiredGameModeActivityChallenge : VarEqualsChallenge<IEFCMNJDPII, int>
|
||||
{
|
||||
// Token: 0x06015B88 RID: 88968 RVA: 0x00606F88 File Offset: 0x00605188
|
||||
public RequiredGameModeActivityChallenge()
|
||||
: base("gameMode")
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B89 RID: 88969 RVA: 0x00606F98 File Offset: 0x00605198
|
||||
public RequiredGameModeActivityChallenge(IEFCMNJDPII required)
|
||||
: base("gameMode", required, new IEFCMNJDPII[0])
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B8A RID: 88970 RVA: 0x00606FAC File Offset: 0x006051AC
|
||||
protected override IEFCMNJDPII? GetValueFromData(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
return (IEFCMNJDPII?)challengeEventData.GetVar(this.VarKey);
|
||||
}
|
||||
|
||||
// Token: 0x06015B8B RID: 88971 RVA: 0x00606FC0 File Offset: 0x006051C0
|
||||
protected override int SerializeValue(IEFCMNJDPII value)
|
||||
{
|
||||
return (int)value;
|
||||
}
|
||||
|
||||
// Token: 0x06015B8C RID: 88972 RVA: 0x00606FC4 File Offset: 0x006051C4
|
||||
protected override IEFCMNJDPII DeserializeValue(int obj)
|
||||
{
|
||||
return (IEFCMNJDPII)obj;
|
||||
}
|
||||
|
||||
// Token: 0x1700090A RID: 2314
|
||||
// (get) Token: 0x06015B8D RID: 88973 RVA: 0x00606FC8 File Offset: 0x006051C8
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.RequiredGameModeActivityChallenge;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using System;
|
||||
using RecRoom.Core.Gestures;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B2A RID: 2858
|
||||
public class RequiredGestureChallenge : VarEqualsChallenge<PlayerHandGestures.DMPPGHHPHGO, int>
|
||||
{
|
||||
// Token: 0x06015B8E RID: 88974 RVA: 0x00606FCC File Offset: 0x006051CC
|
||||
public RequiredGestureChallenge()
|
||||
: base("hg")
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B8F RID: 88975 RVA: 0x00606FDC File Offset: 0x006051DC
|
||||
protected override PlayerHandGestures.DMPPGHHPHGO? GetValueFromData(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
return (PlayerHandGestures.DMPPGHHPHGO?)challengeEventData.GetVar(this.VarKey);
|
||||
}
|
||||
|
||||
// Token: 0x06015B90 RID: 88976 RVA: 0x00606FF0 File Offset: 0x006051F0
|
||||
protected override int SerializeValue(PlayerHandGestures.DMPPGHHPHGO value)
|
||||
{
|
||||
return (int)value;
|
||||
}
|
||||
|
||||
// Token: 0x06015B91 RID: 88977 RVA: 0x00606FF4 File Offset: 0x006051F4
|
||||
protected override PlayerHandGestures.DMPPGHHPHGO DeserializeValue(int obj)
|
||||
{
|
||||
return (PlayerHandGestures.DMPPGHHPHGO)obj;
|
||||
}
|
||||
|
||||
// Token: 0x1700090B RID: 2315
|
||||
// (get) Token: 0x06015B92 RID: 88978 RVA: 0x00606FF8 File Offset: 0x006051F8
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.RequiredGestureChallenge;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using RecNet;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B1F RID: 2847
|
||||
public abstract class RequiredObjectChallenge<T, SerializedT> : ChallengeBase where T : struct
|
||||
{
|
||||
// Token: 0x06015B3D RID: 88893 RVA: 0x0060692C File Offset: 0x00604B2C
|
||||
public RequiredObjectChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B3E RID: 88894 RVA: 0x00606950 File Offset: 0x00604B50
|
||||
public RequiredObjectChallenge(T[] requiredValues)
|
||||
: this(true, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B3F RID: 88895 RVA: 0x0060695C File Offset: 0x00604B5C
|
||||
public RequiredObjectChallenge(T requiredValue, params T[] requiredValues)
|
||||
: this(true, requiredValue, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B40 RID: 88896 RVA: 0x00606968 File Offset: 0x00604B68
|
||||
public RequiredObjectChallenge(bool inclusive, T requiredValue, params T[] requiredValues)
|
||||
: this(inclusive, requiredValues.Union(new T[] { requiredValue }).ToArray<T>())
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B41 RID: 88897 RVA: 0x0060698C File Offset: 0x00604B8C
|
||||
public RequiredObjectChallenge(bool inclusive, T[] requiredValues)
|
||||
{
|
||||
this.Inclusive = inclusive;
|
||||
this.values.AddRange(requiredValues);
|
||||
}
|
||||
|
||||
// Token: 0x06015B42 RID: 88898 RVA: 0x006069C0 File Offset: 0x00604BC0
|
||||
protected override bool EvaluateInternal(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
T? valueFromData = this.GetValueFromData(challengeEventData);
|
||||
if (this.Inclusive)
|
||||
{
|
||||
return valueFromData != null && this.Matches(valueFromData.Value);
|
||||
}
|
||||
if (valueFromData == null)
|
||||
{
|
||||
return this.ExclusiveIncludesNull;
|
||||
}
|
||||
return !this.Matches(valueFromData.Value);
|
||||
}
|
||||
|
||||
// Token: 0x06015B43 RID: 88899 RVA: 0x00606A28 File Offset: 0x00604C28
|
||||
protected virtual bool Matches(T value)
|
||||
{
|
||||
return this.values.Contains(value);
|
||||
}
|
||||
|
||||
// Token: 0x06015B44 RID: 88900
|
||||
protected abstract T? GetValueFromData(ChallengeEvents.IChallengeEventData challengeEventData);
|
||||
|
||||
// Token: 0x06015B45 RID: 88901
|
||||
protected abstract SerializedT SerializeValue(T value);
|
||||
|
||||
// Token: 0x06015B46 RID: 88902
|
||||
protected abstract T DeserializeValue(SerializedT obj);
|
||||
|
||||
// Token: 0x06015B47 RID: 88903 RVA: 0x00606A38 File Offset: 0x00604C38
|
||||
public override Dictionary<string, object> Serialize()
|
||||
{
|
||||
Dictionary<string, object> dictionary = base.Serialize();
|
||||
if (this.values.Count > 0)
|
||||
{
|
||||
dictionary["vs"] = this.values.Select((T _) => this.SerializeValue(_)).ToList<SerializedT>();
|
||||
}
|
||||
ChallengeBase.SerializeOptionalField<bool>("in", this.Inclusive, true, dictionary);
|
||||
ChallengeBase.SerializeOptionalField<bool>("ex", this.ExclusiveIncludesNull, true, dictionary);
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
// Token: 0x06015B48 RID: 88904 RVA: 0x00606AAC File Offset: 0x00604CAC
|
||||
protected override void DeserializeInternal(Dictionary<string, object> jsonDict)
|
||||
{
|
||||
if (jsonDict.ContainsKey("vs"))
|
||||
{
|
||||
this.values = (from _ in OFPFHHLNHIC.NGILNLCIOJM<SerializedT>("vs", jsonDict)
|
||||
select this.DeserializeValue(_)).ToList<T>();
|
||||
}
|
||||
else
|
||||
{
|
||||
this.values.Clear();
|
||||
}
|
||||
this.ExclusiveIncludesNull = ChallengeParser.GetOptionalKey<bool>("ex", jsonDict, true);
|
||||
this.Inclusive = ChallengeParser.GetOptionalKey<bool>("in", jsonDict, true);
|
||||
}
|
||||
|
||||
// Token: 0x04003CA2 RID: 15522
|
||||
public bool Inclusive = true;
|
||||
|
||||
// Token: 0x04003CA3 RID: 15523
|
||||
private const bool ExclusiveIncludesNullDefault = true;
|
||||
|
||||
// Token: 0x04003CA4 RID: 15524
|
||||
public bool ExclusiveIncludesNull = true;
|
||||
|
||||
// Token: 0x04003CA5 RID: 15525
|
||||
protected List<T> values = new List<T>();
|
||||
|
||||
// Token: 0x04003CA6 RID: 15526
|
||||
private const string VALUES_KEY = "vs";
|
||||
|
||||
// Token: 0x04003CA7 RID: 15527
|
||||
private const string INCLUSIVE_KEY = "in";
|
||||
|
||||
// Token: 0x04003CA8 RID: 15528
|
||||
private const string EXCLUSIVE_INCLUDES_NULL_KEY = "ex";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B21 RID: 2849
|
||||
public class RequiredToolChallenge : RequiredObjectChallenge<EEOOHEGOBKD, int>
|
||||
{
|
||||
// Token: 0x06015B53 RID: 88915 RVA: 0x00606BE8 File Offset: 0x00604DE8
|
||||
public RequiredToolChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B54 RID: 88916 RVA: 0x00606BF0 File Offset: 0x00604DF0
|
||||
public RequiredToolChallenge(EEOOHEGOBKD[] requiredValues)
|
||||
: this(true, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B55 RID: 88917 RVA: 0x00606BFC File Offset: 0x00604DFC
|
||||
public RequiredToolChallenge(EEOOHEGOBKD requiredValue, params EEOOHEGOBKD[] requiredValues)
|
||||
: this(true, requiredValue, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B56 RID: 88918 RVA: 0x00606C08 File Offset: 0x00604E08
|
||||
public RequiredToolChallenge(bool inclusive, EEOOHEGOBKD requiredValue, params EEOOHEGOBKD[] requiredValues)
|
||||
: this(inclusive, requiredValues.Union(new EEOOHEGOBKD[] { requiredValue }).ToArray<EEOOHEGOBKD>())
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B57 RID: 88919 RVA: 0x00606C28 File Offset: 0x00604E28
|
||||
public RequiredToolChallenge(bool inclusive, EEOOHEGOBKD[] requiredValues)
|
||||
: base(inclusive, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B58 RID: 88920 RVA: 0x00606C34 File Offset: 0x00604E34
|
||||
protected override EEOOHEGOBKD? GetValueFromData(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
return (EEOOHEGOBKD?)challengeEventData.GetVar("t_t");
|
||||
}
|
||||
|
||||
// Token: 0x06015B59 RID: 88921 RVA: 0x00606C54 File Offset: 0x00604E54
|
||||
protected override int SerializeValue(EEOOHEGOBKD equipment)
|
||||
{
|
||||
return (int)equipment;
|
||||
}
|
||||
|
||||
// Token: 0x06015B5A RID: 88922 RVA: 0x00606C58 File Offset: 0x00604E58
|
||||
protected override EEOOHEGOBKD DeserializeValue(int obj)
|
||||
{
|
||||
return (EEOOHEGOBKD)obj;
|
||||
}
|
||||
|
||||
// Token: 0x17000904 RID: 2308
|
||||
// (get) Token: 0x06015B5B RID: 88923 RVA: 0x00606C5C File Offset: 0x00604E5C
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.RequiredToolChallenge;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,367 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using RecNet;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B1A RID: 2842
|
||||
[HMFEEFDKPLO]
|
||||
public class TimedBufferChallenge : Challenge
|
||||
{
|
||||
// Token: 0x06015B21 RID: 88865 RVA: 0x0060601C File Offset: 0x0060421C
|
||||
public TimedBufferChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B22 RID: 88866 RVA: 0x00606074 File Offset: 0x00604274
|
||||
public TimedBufferChallenge(IChallenge challengeToCount, int count, float interval)
|
||||
: this(new IChallenge[] { challengeToCount }, count, interval)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B23 RID: 88867 RVA: 0x00606088 File Offset: 0x00604288
|
||||
public TimedBufferChallenge(IChallenge challengeToCount, int count, float interval, Func<float> getCurrentTimeFunc)
|
||||
: this(new IChallenge[] { challengeToCount }, count, interval, getCurrentTimeFunc)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B24 RID: 88868 RVA: 0x006060A0 File Offset: 0x006042A0
|
||||
public TimedBufferChallenge(IChallenge[] challengesToCount, int count, float interval)
|
||||
: this(challengesToCount, count, interval, TimedBufferChallenge.UnityTimeFunc)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B25 RID: 88869 RVA: 0x006060B0 File Offset: 0x006042B0
|
||||
public TimedBufferChallenge(IChallenge[] challengesToCount, int count, float interval, Func<float> getCurrentTimeFunc)
|
||||
{
|
||||
this.challengesToCount = new List<IChallenge>(challengesToCount);
|
||||
this.total = count;
|
||||
this.interval = interval;
|
||||
this.getCurrentTimeFunc = getCurrentTimeFunc;
|
||||
this.Initialize();
|
||||
}
|
||||
|
||||
// Token: 0x17000901 RID: 2305
|
||||
// (get) Token: 0x06015B26 RID: 88870 RVA: 0x00606130 File Offset: 0x00604330
|
||||
public int BufferSize
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.entryBuffer.Count;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015B27 RID: 88871 RVA: 0x00606140 File Offset: 0x00604340
|
||||
protected override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
this.WithConditions.Clear();
|
||||
using (List<IChallenge>.Enumerator enumerator = this.challengesToCount.GetEnumerator())
|
||||
{
|
||||
while (enumerator.MoveNext())
|
||||
{
|
||||
IChallenge challengeToCount = enumerator.Current;
|
||||
TimedBufferChallenge $this = this;
|
||||
challengeToCount.SkipSerialization = true;
|
||||
challengeToCount.ChallengeCompleteEvent += delegate(IChallenge challenge, ChallengeEvents.IChallengeEventData data)
|
||||
{
|
||||
TimedBufferChallenge.TimedBufferEntry timedBufferEntry = new TimedBufferChallenge.TimedBufferEntry
|
||||
{
|
||||
Time = $this.getCurrentTimeFunc(),
|
||||
EventData = data
|
||||
};
|
||||
$this.entryBuffer.Add(timedBufferEntry);
|
||||
challengeToCount.Reset();
|
||||
};
|
||||
this.WithConditions.Add(challengeToCount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015B28 RID: 88872 RVA: 0x006061EC File Offset: 0x006043EC
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
this.entryBuffer.Clear();
|
||||
}
|
||||
|
||||
// Token: 0x06015B29 RID: 88873 RVA: 0x00606200 File Offset: 0x00604400
|
||||
protected override bool EvaluateInternal(ChallengeEvents.IChallengeEventData challengeEventData)
|
||||
{
|
||||
base.EvaluateInternal(challengeEventData);
|
||||
IEnumerable<TimedBufferChallenge.TimedBufferEntry> enumerable = this.entryBuffer;
|
||||
if (this.interval > 0f)
|
||||
{
|
||||
enumerable = this.entryBuffer.Where((TimedBufferChallenge.TimedBufferEntry entry) => entry.Time > this.getCurrentTimeFunc() - this.interval);
|
||||
}
|
||||
int num = this.currentCount;
|
||||
this.currentCount = 0;
|
||||
switch (this.BufferCountMethod)
|
||||
{
|
||||
case TimedBufferChallenge.BufferCountMethods.UniqueToolCount:
|
||||
enumerable = (from _ in enumerable
|
||||
group _ by _.EventData.GetVar("t_vid")).Select(new Func<IGrouping<object, TimedBufferChallenge.TimedBufferEntry>, TimedBufferChallenge.TimedBufferEntry>(Enumerable.FirstOrDefault<TimedBufferChallenge.TimedBufferEntry>));
|
||||
this.currentCount = enumerable.Count<TimedBufferChallenge.TimedBufferEntry>();
|
||||
break;
|
||||
case TimedBufferChallenge.BufferCountMethods.UniqueAttackerCount:
|
||||
enumerable = (from _ in enumerable
|
||||
group _ by _.EventData.GetVar("ap_pid")).Select(new Func<IGrouping<object, TimedBufferChallenge.TimedBufferEntry>, TimedBufferChallenge.TimedBufferEntry>(Enumerable.FirstOrDefault<TimedBufferChallenge.TimedBufferEntry>));
|
||||
this.currentCount = enumerable.Count<TimedBufferChallenge.TimedBufferEntry>();
|
||||
break;
|
||||
case TimedBufferChallenge.BufferCountMethods.UniqueDefenderCount:
|
||||
enumerable = (from _ in enumerable
|
||||
group _ by _.EventData.GetVar("dp_pid")).Select(new Func<IGrouping<object, TimedBufferChallenge.TimedBufferEntry>, TimedBufferChallenge.TimedBufferEntry>(Enumerable.FirstOrDefault<TimedBufferChallenge.TimedBufferEntry>));
|
||||
this.currentCount = enumerable.Count<TimedBufferChallenge.TimedBufferEntry>();
|
||||
break;
|
||||
case TimedBufferChallenge.BufferCountMethods.GroupedToolMaxCount:
|
||||
{
|
||||
IEnumerable<IGrouping<object, TimedBufferChallenge.TimedBufferEntry>> enumerable2 = from entry in enumerable
|
||||
group entry by entry.EventData.GetVar("t_vid");
|
||||
int num2;
|
||||
if (enumerable2.Count<IGrouping<object, TimedBufferChallenge.TimedBufferEntry>>() > 0)
|
||||
{
|
||||
num2 = enumerable2.Max(new Func<IGrouping<object, TimedBufferChallenge.TimedBufferEntry>, int>(Enumerable.Count<TimedBufferChallenge.TimedBufferEntry>));
|
||||
}
|
||||
else
|
||||
{
|
||||
num2 = 0;
|
||||
}
|
||||
this.currentCount = num2;
|
||||
break;
|
||||
}
|
||||
case TimedBufferChallenge.BufferCountMethods.UniqueGameCount:
|
||||
enumerable = (from _ in enumerable
|
||||
group _ by _.EventData.GetVar("gid")).Select(new Func<IGrouping<object, TimedBufferChallenge.TimedBufferEntry>, TimedBufferChallenge.TimedBufferEntry>(Enumerable.FirstOrDefault<TimedBufferChallenge.TimedBufferEntry>));
|
||||
this.currentCount = enumerable.Count<TimedBufferChallenge.TimedBufferEntry>();
|
||||
break;
|
||||
default:
|
||||
this.currentCount = enumerable.Count<TimedBufferChallenge.TimedBufferEntry>();
|
||||
break;
|
||||
}
|
||||
this.entryBuffer = enumerable.ToList<TimedBufferChallenge.TimedBufferEntry>();
|
||||
if (num != this.currentCount)
|
||||
{
|
||||
if (this.notificationCounts.Contains(this.currentCount))
|
||||
{
|
||||
base.Notify(this.currentCount, this.total);
|
||||
}
|
||||
base.Dirty = true;
|
||||
}
|
||||
return this.currentCount >= this.total;
|
||||
}
|
||||
|
||||
// Token: 0x17000902 RID: 2306
|
||||
// (get) Token: 0x06015B2A RID: 88874 RVA: 0x006064A4 File Offset: 0x006046A4
|
||||
public override ChallengeProgress Progress
|
||||
{
|
||||
get
|
||||
{
|
||||
TimedBufferChallenge.ProgressModes progressMode = this.ProgressMode;
|
||||
if (progressMode != TimedBufferChallenge.ProgressModes.Count)
|
||||
{
|
||||
return base.Progress;
|
||||
}
|
||||
return new ChallengeProgress
|
||||
{
|
||||
Count = this.currentCount,
|
||||
Total = this.total
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015B2B RID: 88875 RVA: 0x006064F0 File Offset: 0x006046F0
|
||||
public override Dictionary<string, object> Serialize()
|
||||
{
|
||||
Dictionary<string, object> dictionary = base.Serialize();
|
||||
dictionary["ccc"] = this.challengesToCount.Select((IChallenge _) => _.Serialize()).ToList<Dictionary<string, object>>();
|
||||
dictionary["t"] = this.total;
|
||||
dictionary["i"] = this.interval.ToString("F2", CultureInfo.InvariantCulture);
|
||||
dictionary["pm"] = (int)this.ProgressMode;
|
||||
if (this.notificationCounts.Count > 0)
|
||||
{
|
||||
dictionary["n"] = this.notificationCounts;
|
||||
}
|
||||
dictionary["pb"] = this.PersistBuffer;
|
||||
if (this.BufferCountMethod != TimedBufferChallenge.BufferCountMethods.Count)
|
||||
{
|
||||
dictionary["m"] = (int)this.BufferCountMethod;
|
||||
}
|
||||
if (this.entryBuffer.Count > 0 && this.PersistBuffer)
|
||||
{
|
||||
dictionary["b"] = this.entryBuffer.Select((TimedBufferChallenge.TimedBufferEntry _) => _.Serialize()).ToList<Dictionary<string, object>>();
|
||||
}
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
// Token: 0x06015B2C RID: 88876 RVA: 0x00606638 File Offset: 0x00604838
|
||||
protected override void DeserializeInternal(Dictionary<string, object> jsonDict)
|
||||
{
|
||||
base.DeserializeInternal(jsonDict);
|
||||
List<Dictionary<string, object>> list = OFPFHHLNHIC.NGILNLCIOJM<Dictionary<string, object>>("ccc", jsonDict);
|
||||
IEnumerable<IChallenge> enumerable = from _ in list.Select(new Func<Dictionary<string, object>, IChallenge>(ChallengeParser.FromJsonDict))
|
||||
where _ != null
|
||||
select _;
|
||||
this.challengesToCount = new List<IChallenge>(enumerable);
|
||||
this.total = OFPFHHLNHIC.KOFIKGFMMKD<int>("t", jsonDict);
|
||||
this.interval = OFPFHHLNHIC.EDMLGIIJCED("i", jsonDict);
|
||||
this.ProgressMode = (TimedBufferChallenge.ProgressModes)ChallengeParser.GetOptionalKey<int>("pm", jsonDict, 0);
|
||||
this.PersistBuffer = ChallengeParser.GetOptionalKey<bool>("pb", jsonDict, true);
|
||||
this.BufferCountMethod = (TimedBufferChallenge.BufferCountMethods)ChallengeParser.GetOptionalKey<int>("m", jsonDict, 0);
|
||||
if (jsonDict.ContainsKey("b"))
|
||||
{
|
||||
this.entryBuffer = OFPFHHLNHIC.NGILNLCIOJM<Dictionary<string, object>>("b", jsonDict).Select(new Func<Dictionary<string, object>, TimedBufferChallenge.TimedBufferEntry>(TimedBufferChallenge.TimedBufferEntry.DeserializeFromDict)).ToList<TimedBufferChallenge.TimedBufferEntry>();
|
||||
}
|
||||
if (jsonDict.ContainsKey("n"))
|
||||
{
|
||||
this.notificationCounts = OFPFHHLNHIC.NGILNLCIOJM<int>("n", jsonDict);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x17000903 RID: 2307
|
||||
// (get) Token: 0x06015B2D RID: 88877 RVA: 0x0060676C File Offset: 0x0060496C
|
||||
public override ChallengeTypes ChallengeType
|
||||
{
|
||||
get
|
||||
{
|
||||
return ChallengeTypes.TimedBufferChallenge;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x04003C6D RID: 15469
|
||||
public TimedBufferChallenge.BufferCountMethods BufferCountMethod;
|
||||
|
||||
// Token: 0x04003C6E RID: 15470
|
||||
public TimedBufferChallenge.ProgressModes ProgressMode;
|
||||
|
||||
// Token: 0x04003C6F RID: 15471
|
||||
protected static readonly Func<float> UnityTimeFunc = new Func<float>(Time.get_realtimeSinceStartup);
|
||||
|
||||
// Token: 0x04003C70 RID: 15472
|
||||
private Func<float> getCurrentTimeFunc = new Func<float>(Time.get_realtimeSinceStartup);
|
||||
|
||||
// Token: 0x04003C71 RID: 15473
|
||||
public const float IGNORE_INTERVAL = -1f;
|
||||
|
||||
// Token: 0x04003C72 RID: 15474
|
||||
protected float interval;
|
||||
|
||||
// Token: 0x04003C73 RID: 15475
|
||||
protected int total;
|
||||
|
||||
// Token: 0x04003C74 RID: 15476
|
||||
private int currentCount;
|
||||
|
||||
// Token: 0x04003C75 RID: 15477
|
||||
private List<TimedBufferChallenge.TimedBufferEntry> entryBuffer = new List<TimedBufferChallenge.TimedBufferEntry>();
|
||||
|
||||
// Token: 0x04003C76 RID: 15478
|
||||
public bool PersistBuffer;
|
||||
|
||||
// Token: 0x04003C77 RID: 15479
|
||||
protected List<IChallenge> challengesToCount = new List<IChallenge>();
|
||||
|
||||
// Token: 0x04003C78 RID: 15480
|
||||
[HEFNGMICCHG]
|
||||
public List<int> notificationCounts = new List<int>();
|
||||
|
||||
// Token: 0x04003C79 RID: 15481
|
||||
public const string CHALLENGES_COUNT_CHALLENGE_KEY = "ccc";
|
||||
|
||||
// Token: 0x04003C7A RID: 15482
|
||||
public const string INTERVAL_KEY = "i";
|
||||
|
||||
// Token: 0x04003C7B RID: 15483
|
||||
public const string COUNT_KEY = "t";
|
||||
|
||||
// Token: 0x04003C7C RID: 15484
|
||||
public const string METHOD_KEY = "m";
|
||||
|
||||
// Token: 0x04003C7D RID: 15485
|
||||
public const string BUFFER_KEY = "b";
|
||||
|
||||
// Token: 0x04003C7E RID: 15486
|
||||
public const string PERSIST_BUFFER_KEY = "pb";
|
||||
|
||||
// Token: 0x04003C7F RID: 15487
|
||||
public const string PROGRESS_MODE_KEY = "pm";
|
||||
|
||||
// Token: 0x04003C80 RID: 15488
|
||||
public const string NOTIFICATIONS_KEY = "n";
|
||||
|
||||
// Token: 0x02000B1B RID: 2843
|
||||
public enum BufferCountMethods
|
||||
{
|
||||
// Token: 0x04003C93 RID: 15507
|
||||
Count,
|
||||
// Token: 0x04003C94 RID: 15508
|
||||
UniqueToolCount,
|
||||
// Token: 0x04003C95 RID: 15509
|
||||
UniqueAttackerCount,
|
||||
// Token: 0x04003C96 RID: 15510
|
||||
UniqueDefenderCount,
|
||||
// Token: 0x04003C97 RID: 15511
|
||||
GroupedToolMaxCount,
|
||||
// Token: 0x04003C98 RID: 15512
|
||||
UniqueGameCount
|
||||
}
|
||||
|
||||
// Token: 0x02000B1C RID: 2844
|
||||
public enum ProgressModes
|
||||
{
|
||||
// Token: 0x04003C9A RID: 15514
|
||||
Complete,
|
||||
// Token: 0x04003C9B RID: 15515
|
||||
Count
|
||||
}
|
||||
|
||||
// Token: 0x02000B1D RID: 2845
|
||||
public struct TimedBufferEntry : OBFEFLHKHJJ, INMKELLJKBO, EBHIILNPABI
|
||||
{
|
||||
// Token: 0x06015B38 RID: 88888 RVA: 0x00606838 File Offset: 0x00604A38
|
||||
public void Deserialize(Dictionary<string, object> dict)
|
||||
{
|
||||
this.Time = OFPFHHLNHIC.EDMLGIIJCED("t", dict);
|
||||
this.EventData = ChallengeEvents.ChallengeEventData.Parse(OFPFHHLNHIC.KOFIKGFMMKD<Dictionary<string, object>>("e", dict));
|
||||
}
|
||||
|
||||
// Token: 0x06015B39 RID: 88889 RVA: 0x00606864 File Offset: 0x00604A64
|
||||
public Dictionary<string, object> Serialize()
|
||||
{
|
||||
return new Dictionary<string, object>
|
||||
{
|
||||
{
|
||||
"t",
|
||||
this.Time.ToString("F2", CultureInfo.InvariantCulture)
|
||||
},
|
||||
{
|
||||
"e",
|
||||
this.EventData.Serialize()
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// Token: 0x06015B3A RID: 88890 RVA: 0x006068B0 File Offset: 0x00604AB0
|
||||
public static TimedBufferChallenge.TimedBufferEntry DeserializeFromDict(Dictionary<string, object> dict)
|
||||
{
|
||||
TimedBufferChallenge.TimedBufferEntry timedBufferEntry = default(TimedBufferChallenge.TimedBufferEntry);
|
||||
timedBufferEntry.Deserialize(dict);
|
||||
return timedBufferEntry;
|
||||
}
|
||||
|
||||
// Token: 0x04003C9C RID: 15516
|
||||
public float Time;
|
||||
|
||||
// Token: 0x04003C9D RID: 15517
|
||||
public ChallengeEvents.IChallengeEventData EventData;
|
||||
|
||||
// Token: 0x04003C9E RID: 15518
|
||||
private const string TIME_KEY = "t";
|
||||
|
||||
// Token: 0x04003C9F RID: 15519
|
||||
private const string EVENT_DATA_KEY = "e";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
using System;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B11 RID: 2833
|
||||
// (Invoke) Token: 0x06015AF6 RID: 88822
|
||||
public delegate void UpdateChallenge(IChallenge challenge);
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using RecNet;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B20 RID: 2848
|
||||
public abstract class VarEqualsChallenge<T, SerializedT> : RequiredObjectChallenge<T, SerializedT> where T : struct
|
||||
{
|
||||
// Token: 0x06015B4B RID: 88907 RVA: 0x00606B3C File Offset: 0x00604D3C
|
||||
public VarEqualsChallenge()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B4C RID: 88908 RVA: 0x00606B44 File Offset: 0x00604D44
|
||||
public VarEqualsChallenge(string varKey)
|
||||
{
|
||||
this.VarKey = varKey;
|
||||
}
|
||||
|
||||
// Token: 0x06015B4D RID: 88909 RVA: 0x00606B54 File Offset: 0x00604D54
|
||||
public VarEqualsChallenge(string varKey, T[] requiredValues)
|
||||
: this(varKey, true, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B4E RID: 88910 RVA: 0x00606B60 File Offset: 0x00604D60
|
||||
public VarEqualsChallenge(string varKey, T requiredValue, params T[] requiredValues)
|
||||
: this(varKey, true, requiredValue, requiredValues)
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B4F RID: 88911 RVA: 0x00606B6C File Offset: 0x00604D6C
|
||||
public VarEqualsChallenge(string varKey, bool inclusive, T requiredValue, params T[] requiredValues)
|
||||
: this(varKey, inclusive, requiredValues.Union(new T[] { requiredValue }).ToArray<T>())
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015B50 RID: 88912 RVA: 0x00606B90 File Offset: 0x00604D90
|
||||
public VarEqualsChallenge(string varKey, bool inclusive, T[] requiredValues)
|
||||
: base(inclusive, requiredValues)
|
||||
{
|
||||
this.VarKey = varKey;
|
||||
}
|
||||
|
||||
// Token: 0x06015B51 RID: 88913 RVA: 0x00606BA4 File Offset: 0x00604DA4
|
||||
public override Dictionary<string, object> Serialize()
|
||||
{
|
||||
Dictionary<string, object> dictionary = base.Serialize();
|
||||
dictionary["v"] = this.VarKey;
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
// Token: 0x06015B52 RID: 88914 RVA: 0x00606BCC File Offset: 0x00604DCC
|
||||
protected override void DeserializeInternal(Dictionary<string, object> jsonDict)
|
||||
{
|
||||
base.DeserializeInternal(jsonDict);
|
||||
this.VarKey = OFPFHHLNHIC.KOFIKGFMMKD<string>("v", jsonDict);
|
||||
}
|
||||
|
||||
// Token: 0x04003CA9 RID: 15529
|
||||
[DBGMDIHCPIN]
|
||||
public string VarKey;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using RecNet;
|
||||
|
||||
namespace RecRoom.Challenges
|
||||
{
|
||||
// Token: 0x02000B3A RID: 2874
|
||||
public class VarNumResolver<T> : NumResolver<T> where T : struct, IConvertible
|
||||
{
|
||||
// Token: 0x06015BCA RID: 89034 RVA: 0x0060726C File Offset: 0x0060546C
|
||||
public VarNumResolver()
|
||||
{
|
||||
}
|
||||
|
||||
// Token: 0x06015BCB RID: 89035 RVA: 0x00607274 File Offset: 0x00605474
|
||||
public VarNumResolver(string VarKey)
|
||||
{
|
||||
this.VarKey = VarKey;
|
||||
}
|
||||
|
||||
// Token: 0x1700091E RID: 2334
|
||||
// (get) Token: 0x06015BCC RID: 89036 RVA: 0x00607284 File Offset: 0x00605484
|
||||
public override NumResolverTypes NumResolverType
|
||||
{
|
||||
get
|
||||
{
|
||||
return NumResolverTypes.Var;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06015BCD RID: 89037 RVA: 0x00607288 File Offset: 0x00605488
|
||||
public override T? GetValue(ChallengeEvents.IChallengeEventData eventData)
|
||||
{
|
||||
object var = eventData.GetVar(this.VarKey);
|
||||
if (var != null)
|
||||
{
|
||||
T t = (T)((object)var);
|
||||
return new T?(t);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// Token: 0x06015BCE RID: 89038 RVA: 0x006072C0 File Offset: 0x006054C0
|
||||
public override Dictionary<string, object> Serialize()
|
||||
{
|
||||
Dictionary<string, object> dictionary = base.Serialize();
|
||||
dictionary["vk"] = this.VarKey;
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
// Token: 0x06015BCF RID: 89039 RVA: 0x006072E8 File Offset: 0x006054E8
|
||||
public override void Deserialize(Dictionary<string, object> jsonDict)
|
||||
{
|
||||
this.VarKey = OFPFHHLNHIC.KOFIKGFMMKD<string>("vk", jsonDict);
|
||||
}
|
||||
|
||||
// Token: 0x04003CC7 RID: 15559
|
||||
[DBGMDIHCPIN]
|
||||
public string VarKey;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user