void ResolveStack() { CheckStateBasedEffects(); resolving_stack = true; while (stack.Count > 0) { IStackEffect effect = stack[stack.Count - 1]; stack.RemoveAt(stack.Count - 1); effect.Resolve(); if (selecting_card) { return; } CheckStateBasedEffects(); } resolving_stack = false; }
void AddToStack(IStackEffect stack_effect) { stack.Add(stack_effect); }