Exemplo n.º 1
0
        /// <summary>
        /// Update animation for the model.
        /// </summary>
        /// <param name="gameTime"></param>
        public void Update(float elapsedSec)
        {
            finalPlayer.InitTransform();

            for (int i = 0; i < players.Count;)
            {
                if (players[i].Update(elapsedSec))
                {
                    players.RemoveAt(i);
                }
                else
                {
                    if (i > 0)
                    {
                        players[i].player.Blend(players[i - 1].player, 1 - players[i - 1].blend);
                    }
                    i++;
                }
            }

            finalPlayer.Update(elapsedSec);

            if (players.Count > 0)
            {
                finalPlayer.Blend(players[players.Count - 1].player, 1 - players[players.Count - 1].blend);
            }

            finalPlayer.ApplyCompleteTransform();


            //if (player1 != null)
            //{
            //    player1.InitTransform();

            //    if (player2 != null)
            //    {
            //        clipBlend += blendSpeed;
            //        if (clipBlend >= 1)
            //        {
            //            clipBlend = 0;
            //            player1 = player2;
            //            player2 = null;
            //        }
            //        else
            //        {
            //            player2.Update(elapsedSec);
            //        }
            //    }

            //    player1.Update(elapsedSec);

            //    if (player2 != null)
            //        player1.Blend(player2, clipBlend); //blend player2 on player1

            //    player1.ApplyCompleteTransform();
            //}
        }