Class BranchedItem
- Namespace
- RandomizerCore.LogicItems
- Assembly
- RandomizerCore.dll
public sealed record BranchedItem : LogicItem, ILogicItem, ILogicItemTemplate, IEquatable<LogicItem>, IConditionalItem, IEquatable<BranchedItem>
- Inheritance
-
BranchedItem
- Implements
- Inherited Members
Constructors
BranchedItem(string, LogicDef, LogicItem?, LogicItem?)
public BranchedItem(string Name, LogicDef Logic, LogicItem? TrueItem, LogicItem? FalseItem)
Parameters
Properties
FalseItem
public LogicItem? FalseItem { get; init; }
Property Value
Logic
public LogicDef Logic { get; init; }
Property Value
TrueItem
public LogicItem? TrueItem { get; init; }
Property Value
Methods
AddTo(ProgressionManager)
Directly adds the item to the pm. This does not invoke the pm events, so it is best to implement this explicitly and use pm.Add instead.
public override void AddTo(ProgressionManager pm)
Parameters
CheckForEffect(ProgressionManager)
Returns false if AddTo(ProgressionManager) will not modify the ProgressionManager, otherwise returns true.
public bool CheckForEffect(ProgressionManager pm)
Parameters
Returns
GetAffectedTerms()
Returns the terms potentially modified by the item.
public override IEnumerable<Term> GetAffectedTerms()
Returns
TryAddTo(ProgressionManager)
Equivalent to calling CheckForEffect(ProgressionManager), then AddTo(ProgressionManager), and returning the result of the former.
public bool TryAddTo(ProgressionManager pm)