private void ChangeObjectState(object sender, System.Windows.RoutedEventArgs e) { IObjectState objectState; if (_flag) { objectState = new FlyingState(); } else { objectState = new JumpingState(); } _flag = !_flag; _myObject.ChangeState(objectState); ExampleBlock.Text += "State changed.\n"; }
public void Update(MyObject myObject) { myObject.ChangeState(this); }
public void Restorer(ref MyObject myObject) { myObject.ChangeState(State); }