예제 #1
0
        //public string _userColor
        //{ get { return _color; } set { _color = value; } }

        public void Upgrade()
        {
            SpeedChangingEventArgs speedArgs = new SpeedChangingEventArgs();
            int beforeSpeed = _speed;

            speedArgs.BeforeSpeed = _speed;
            speedArgs.AfterSpeed  = _speed + 50;
            OnSpeedChanging(speedArgs);

            if (speedArgs.Cancel)
            {
                return;
            }

            ColorChangingEventArgs colorArgs = new ColorChangingEventArgs();
            string defaultColor = "white";

            colorArgs.CurrentColor = _color;

            colorArgs.NewColor = colorArgs.UserColor;
            OnColorChanging(colorArgs);

            if (colorArgs.No)
            {
                return;
            }


            _color  = colorArgs.UserColor;
            _speed += 50;

            OnSpeedChanged(beforeSpeed, _speed);
            OnColorChanged(defaultColor, _color);
        }
예제 #2
0
 protected virtual void OnSpeedChanging(SpeedChangingEventArgs e)
 {
     if (SpeedChanging != null)
     {
         SpeedChanging(this, e);
     }
 }
예제 #3
0
        private SpeedChangingEventArgs OnSpeedChangingForOut()
        {
            SpeedChangingEventArgs args = new SpeedChangingEventArgs();

            OnSpeedChanging(args);

            return(args);
        }
예제 #4
0
        private SpeedChangingEventArgs OnSpeedChanging(int beforeSpeed, int afterSpeed, bool cancel)
        {
            SpeedChangingEventArgs args = new SpeedChangingEventArgs(beforeSpeed, afterSpeed, cancel);

            OnSpeedChanging(args);

            return(args);
        }