コード例 #1
0
        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";
        }
コード例 #2
0
 public void Update(MyObject myObject)
 {
     myObject.ChangeState(this);
 }
コード例 #3
0
 public void Restorer(ref MyObject myObject)
 {
     myObject.ChangeState(State);
 }