Beispiel #1
0
        /// <summary>
        /// Moves the raindrop to a new position according to the gravity.
        /// </summary>
        public bool Animate(RainyDay rainyday, CanvasDrawingSession context)
        {
            if (terminate)
            {
                return false;
            }
            var stopped = rainyday.Gravity(context, this);
            if (!stopped)
            {
                rainyday.Trail(context, this);
            }
            if (rainyday.EnableCollisions)
            {
                var collisions = rainyday.Matrix.Update(this, stopped);
                if (collisions != null)
                {
                    rainyday.Collision(context, this, collisions);
                }
            }
            return !stopped || terminate;

        }