示例#1
0
        public void TerminateNodes(IEnumerable <Guid> targetNodes)
        {
            HashSet <IEffectNode> nodes = new HashSet <IEffectNode>();

            foreach (var targetNode in targetNodes)
            {
                nodes.AddRange(CurrentEffects.Where(x => x.Effect.TargetNodes.Any(t => t.Id.Equals(targetNode))));
            }
            CurrentEffects.RemoveEffects(nodes);
        }
示例#2
0
        public void TerminateNode(Guid targetNode)
        {
            IEnumerable <IEffectNode> nodes = CurrentEffects.Where(x => x.Effect.TargetNodes.Any(t => t.Id.Equals(targetNode))).ToList();

            CurrentEffects.RemoveEffects(nodes);
        }
示例#3
0
 public IEnumerable <SideEffect> GetSideEffects()
 {
     return(CurrentEffects.Where(t => t is SideEffect).Cast <SideEffect>());
 }
示例#4
0
 public IEnumerable <PositiveEffect> GetPositiveEffects()
 {
     return(CurrentEffects.Where(e => e is PositiveEffect).Cast <PositiveEffect>());
 }