mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 11:56:30 +00:00
Display conditions - Seperate list conditions into their own type
This commit is contained in:
1 parent
c0e1e60e5e
commit
0516ccc658
22 files changed
+692
-218
No files matched your search
@@ -12,19 +12,21 @@ namespace Artemis.Core.Models.Profile.Conditions
|
||||
public DisplayConditionGroup(DisplayConditionPart parent)
|
||||
{
|
||||
Parent = parent;
|
||||
DisplayConditionGroupEntity = new DisplayConditionGroupEntity();
|
||||
Entity = new DisplayConditionGroupEntity();
|
||||
}
|
||||
|
||||
public DisplayConditionGroup(DisplayConditionPart parent, DisplayConditionGroupEntity entity)
|
||||
{
|
||||
Parent = parent;
|
||||
DisplayConditionGroupEntity = entity;
|
||||
BooleanOperator = (BooleanOperator) DisplayConditionGroupEntity.BooleanOperator;
|
||||
Entity = entity;
|
||||
BooleanOperator = (BooleanOperator) Entity.BooleanOperator;
|
||||
|
||||
foreach (var childEntity in DisplayConditionGroupEntity.Children)
|
||||
foreach (var childEntity in Entity.Children)
|
||||
{
|
||||
if (childEntity is DisplayConditionGroupEntity groupEntity)
|
||||
AddChild(new DisplayConditionGroup(this, groupEntity));
|
||||
else if (childEntity is DisplayConditionListEntity listEntity)
|
||||
AddChild(new DisplayConditionList(this, listEntity));
|
||||
else if (childEntity is DisplayConditionPredicateEntity predicateEntity)
|
||||
AddChild(new DisplayConditionPredicate(this, predicateEntity));
|
||||
else if (childEntity is DisplayConditionListPredicateEntity listPredicateEntity)
|
||||
@@ -33,7 +35,7 @@ namespace Artemis.Core.Models.Profile.Conditions
|
||||
}
|
||||
|
||||
public BooleanOperator BooleanOperator { get; set; }
|
||||
public DisplayConditionGroupEntity DisplayConditionGroupEntity { get; set; }
|
||||
public DisplayConditionGroupEntity Entity { get; set; }
|
||||
|
||||
public override bool Evaluate()
|
||||
{
|
||||
@@ -80,10 +82,10 @@ namespace Artemis.Core.Models.Profile.Conditions
|
||||
|
||||
internal override void ApplyToEntity()
|
||||
{
|
||||
DisplayConditionGroupEntity.BooleanOperator = (int) BooleanOperator;
|
||||
Entity.BooleanOperator = (int) BooleanOperator;
|
||||
|
||||
DisplayConditionGroupEntity.Children.Clear();
|
||||
DisplayConditionGroupEntity.Children.AddRange(Children.Select(c => c.GetEntity()));
|
||||
Entity.Children.Clear();
|
||||
Entity.Children.AddRange(Children.Select(c => c.GetEntity()));
|
||||
foreach (var child in Children)
|
||||
child.ApplyToEntity();
|
||||
}
|
||||
@@ -96,7 +98,7 @@ namespace Artemis.Core.Models.Profile.Conditions
|
||||
|
||||
internal override DisplayConditionPartEntity GetEntity()
|
||||
{
|
||||
return DisplayConditionGroupEntity;
|
||||
return Entity;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user