public TopToRight() { this.PipeTopToRight = new Pipe.TopToRight(); this.PipeTopToRight.Container.AttachTo(this.Container); // if the animation has already been started or even if its already // complete this action should not be called again. this.SupportedOutput.Right = SupportedOutputMarker; this.Input.Top = delegate { Animate(this.PipeTopToRight.Water, this.Output.RaiseRight); }; this.SupportedOutput.Top = SupportedOutputMarker; this.Input.Right = delegate { Animate(this.PipeTopToRight.Water.Reverse(), this.Output.RaiseTop); }; this.PipeParts = new Pipe[] { this.PipeTopToRight }; }
public LeftToBottom() { this.PipeLeftToBottom = new Pipe.LeftToBottom(); this.PipeLeftToBottom.Container.AttachTo(this.Container); // if the animation has already been started or even if its already // complete this action should not be called again. this.SupportedOutput.Bottom = SupportedOutputMarker; this.Input.Left = delegate { Animate(this.PipeLeftToBottom.Water, this.Output.RaiseBottom); }; this.SupportedOutput.Left = SupportedOutputMarker; this.Input.Bottom = delegate { Animate(this.PipeLeftToBottom.Water.Reverse(), this.Output.RaiseLeft); }; this.PipeParts = new Pipe[] { this.PipeLeftToBottom }; }