public void PopFrame() { FrameMeta ffe = EnviromentFrameStack.Pop(); ffe.NotifyFramePop(); FramePopped?.Invoke(ffe, this); }
public void IntroduceFrame(FrameMeta frameMeta) { do { PushFrame(frameMeta); PopFrame(); }while (frameMeta.Frame.FrameRepeating && frameMeta.Frame.RepeatCondition()); }
/// <summary> /// Use this method if you want priority over the FramePush event. /// </summary> /// <param name="_frameElement"></param> public void PushFrame(FrameMeta _frameElement) { EnviromentFrameStack.Push(_frameElement); // The only time this method should EVER be called. _frameElement.NotifyFramePush(); FramePushed?.Invoke(this); YieldFocuser(); }