Upload from upload_mods.ps1
This commit is contained in:
33
Scripts/Requirements/HoldingFireModeIs.cs
Normal file
33
Scripts/Requirements/HoldingFireModeIs.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using KFCommonUtilityLib;
|
||||
using KFCommonUtilityLib.Scripts.StaticManagers;
|
||||
using System;
|
||||
using System.Xml.Linq;
|
||||
|
||||
public class HoldingFireModeIs : RequirementBase
|
||||
{
|
||||
protected int index;
|
||||
public override bool IsValid(MinEventParams _params)
|
||||
{
|
||||
bool res = false;
|
||||
if (_params.Self && _params.Self?.inventory?.holdingItemData?.actionData[MultiActionManager.GetActionIndexForEntity(_params.Self)] is IModuleContainerFor<ActionModuleFireModeSelector.FireModeData> dataModule)
|
||||
{
|
||||
res = dataModule.Instance.currentFireMode == index;
|
||||
}
|
||||
return invert ? !res : res;
|
||||
}
|
||||
|
||||
public override bool ParamsValid(MinEventParams _params)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public override bool ParseXAttribute(XAttribute _attribute)
|
||||
{
|
||||
if (_attribute.Name == "index")
|
||||
{
|
||||
index = Math.Max(int.Parse(_attribute.Value), 0);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user