Exemplo n.º 1
0
        public void Update()
        {
            source      = stateMachine.getSource();
            destination = stateMachine.getDestination();

            /*
             * if (currentColor != stateMachine.getColor())
             * {
             *  changeColor(currentColor, stateMachine.getColor());
             * }
             */
            if (stateMachine.getColor() == LinkColor.Damaged && damageFrameCount <= 24)
            {
                if (damageFrameCount % 4 == 0)
                {
                    linkSpriteSheet = contentManager.Load <Texture2D>("LinkSpriteSheetBlack");
                }
                else if (damageFrameCount % 4 == 3)
                {
                    linkSpriteSheet = contentManager.Load <Texture2D>("LinkSpriteSheetRed");
                }
                else if (damageFrameCount % 4 == 2)
                {
                    linkSpriteSheet = contentManager.Load <Texture2D>("LinkSpriteSheetBlue");
                }
                else //damageFrameCount %4 == 1
                {
                    linkSpriteSheet = contentManager.Load <Texture2D>("LinkSpriteSheet");
                }
                if (damageFrameCount == 24)
                {
                    stateMachine.setOriginalColor();
                }
                damageFrameCount++;
            }
            else
            {
                damageFrameCount = 0;
                linkSpriteSheet  = contentManager.Load <Texture2D>("LinkSpriteSheet");
            }
            currentColor = stateMachine.getColor();
            stateMachine.Update();
        }