68 lines
1.7 KiB
C#
68 lines
1.7 KiB
C#
using System.Xml.Linq;
|
|
|
|
public class IsClassAvailableRebirth : TargetedCompareRequirementBase
|
|
{
|
|
public override bool IsValid(MinEventParams _params)
|
|
{
|
|
//Log.Out("IsClassAvailableRebirth-IsValid START");
|
|
|
|
if (!base.IsValid(_params))
|
|
{
|
|
//Log.Out("IsClassAvailableRebirth-IsValid 1");
|
|
return false;
|
|
}
|
|
|
|
if (RebirthUtilities.ScenarioSkip() || _params.Self.world.IsEditor() || GameUtils.IsWorldEditor())
|
|
{
|
|
return false;
|
|
}
|
|
|
|
bool flag = false;
|
|
|
|
foreach (string classID in this.classID.Split(','))
|
|
{
|
|
flag = RebirthUtilities.IsClassActive(_params.Self, StringParsers.ParseFloat(classID));
|
|
//Log.Out("IsClassAvailableRebirth-IsValid flag: " + flag);
|
|
if (flag)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Log.Out("IsClassAvailableRebirth-IsValid flag: " + flag);
|
|
|
|
if (this.invert)
|
|
{
|
|
return !flag;
|
|
}
|
|
|
|
return flag;
|
|
}
|
|
|
|
public override bool ParseXAttribute(XAttribute _attribute)
|
|
{
|
|
bool flag = base.ParseXAttribute(_attribute);
|
|
if (!flag)
|
|
{
|
|
string name = _attribute.Name.LocalName;
|
|
if (name != null)
|
|
{
|
|
if (name == "perkName")
|
|
{
|
|
this.perkName = _attribute.Value;
|
|
return true;
|
|
}
|
|
if (name == "classID")
|
|
{
|
|
this.classID = _attribute.Value;
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
return flag;
|
|
}
|
|
|
|
private string perkName;
|
|
private string classID;
|
|
}
|