Files
7d2dXG/Mods/zzz_REBIRTH__Utils/Scripts/GameEvent/RequirementIsOptionValid.cs
Nathaniel Cosford e06f2bd282 Add All Mods
2025-05-29 23:33:28 +09:30

83 lines
3.1 KiB
C#

using UnityEngine.Scripting;
#nullable disable
namespace GameEvent.SequenceRequirements
{
[Preserve]
public class RequirementIsOptionValid : BaseRequirement
{
[PublicizedFrom(EAccessModifier.Protected)]
public string optionType = "";
[PublicizedFrom(EAccessModifier.Protected)]
public string optionName;
[PublicizedFrom(EAccessModifier.Protected)]
public string optionValue;
public static string PropOptionType = "option_type";
public static string PropOptionName = "option_name";
public static string PropOptionValue = "option_value";
[PublicizedFrom(EAccessModifier.Protected)]
public override void OnInit()
{
//Log.Out("RequirementIsOptionValid-OnInit START");
}
public override bool CanPerform(Entity target)
{
//Log.Out("RequirementIsOptionValid-CanPerform optionType: " + this.optionType);
//Log.Out("RequirementIsOptionValid-CanPerform optionName: " + this.optionName);
//Log.Out("RequirementIsOptionValid-CanPerform optionValue: " + this.optionValue);
bool result = RebirthUtilities.IsOptionAvailable(this.optionType, this.optionName, this.optionValue);
if (this.Invert)
{
result = !result;
}
//Log.Out("RequirementIsOptionValid-CanPerform result: " + result);
return result;
}
public override void ParseProperties(DynamicProperties properties)
{
//Log.Out("RequirementIsOptionValid-ParseProperties START");
base.ParseProperties(properties);
if (properties.Values.ContainsKey(RequirementIsOptionValid.PropOptionType))
{
//Log.Out("RequirementIsOptionValid-ParseProperties 1");
this.optionType = properties.Values[RequirementIsOptionValid.PropOptionType];
}
if (properties.Values.ContainsKey(RequirementIsOptionValid.PropOptionName))
{
//Log.Out("RequirementIsOptionValid-ParseProperties 2");
this.optionName = properties.Values[RequirementIsOptionValid.PropOptionName];
}
if (properties.Values.ContainsKey(RequirementIsOptionValid.PropOptionValue))
{
//Log.Out("RequirementIsOptionValid-ParseProperties 3");
this.optionValue = properties.Values[RequirementIsOptionValid.PropOptionValue];
}
}
[PublicizedFrom(EAccessModifier.Protected)]
public override BaseRequirement CloneChildSettings()
{
RequirementIsOptionValid RequirementIsOptionValid = new RequirementIsOptionValid();
RequirementIsOptionValid.optionType = this.optionType;
RequirementIsOptionValid.optionName = this.optionName;
RequirementIsOptionValid.optionValue = this.optionValue;
RequirementIsOptionValid.Invert = this.Invert;
return (BaseRequirement)RequirementIsOptionValid;
}
[PublicizedFrom(EAccessModifier.Private)]
static RequirementIsOptionValid()
{
}
}
}