コード例 #1
0
ファイル: Car.cs プロジェクト: JohnPaine/learning
        public void Accelerate(int delta)
        {
            // If this car is "dead," send dead message.
            carSpeedHandlers?.Invoke(CurrentSpeed);
            carNameHandlers?.Invoke(PetName);

            if (carIsDead)
            {
                listOfHandlers?.Invoke(this, new CarEventArgs("Sorry, this car is dead..."));
                Exploded?.Invoke(this, new CarEventArgs("BABAH!!!"));
            }
            else
            {
                CurrentSpeed += delta;

                // Is this car "almost dead"?
                if (10 == (MaxSpeed - CurrentSpeed))
                {
                    listOfHandlers?.Invoke(this, new CarEventArgs("Careful buddy! Gonna blow!"));
                    AboutToExplode?.Invoke(this, new CarEventArgs("ABOUT TO BABAH!!!!!!"));
                }
                if (CurrentSpeed >= MaxSpeed)
                {
                    carIsDead = true;
                }
                else
                {
                    Console.WriteLine("CurrentSpeed = {0}", CurrentSpeed);
                }
            }
        }