public CharacterRendererFactory(IEndlessGameProvider gameProvider,
                                 IRenderTargetFactory renderTargetFactory,
                                 ICharacterProvider characterProvider,
                                 IRenderOffsetCalculator renderOffsetCalculator,
                                 ICharacterPropertyRendererBuilder characterPropertyRendererBuilder,
                                 ICharacterTextures characterTextures,
                                 ICharacterSpriteCalculator characterSpriteCalculator)
 {
     _gameProvider                     = gameProvider;
     _renderTargetFactory              = renderTargetFactory;
     _characterProvider                = characterProvider;
     _renderOffsetCalculator           = renderOffsetCalculator;
     _characterPropertyRendererBuilder = characterPropertyRendererBuilder;
     _characterTextures                = characterTextures;
     _characterSpriteCalculator        = characterSpriteCalculator;
 }
Пример #2
0
        private static int FigureOutTopPixel(ICharacterSpriteCalculator spriteCalculator, ICharacterRenderProperties renderProperties)
        {
            var spriteForSkin = spriteCalculator.GetSkinTexture(renderProperties);
            var skinData      = spriteForSkin.GetSourceTextureData <Color>();

            int i = 0;

            while (i < skinData.Length && skinData[i].A == 0)
            {
                i++;
            }

            var firstPixelHeight = i == skinData.Length - 1 ? 0 : i / spriteForSkin.SourceRectangle.Height;
            var genderOffset     = renderProperties.Gender == 0 ? 12 : 13;

            return(genderOffset + firstPixelHeight);
        }
Пример #3
0
 public CharacterRenderer(Game game,
                          IRenderTargetFactory renderTargetFactory,
                          ICharacterProvider characterProvider,
                          IRenderOffsetCalculator renderOffsetCalculator,
                          ICharacterPropertyRendererBuilder characterPropertyRendererBuilder,
                          ICharacterTextures characterTextures,
                          ICharacterSpriteCalculator characterSpriteCalculator,
                          ICharacterRenderProperties renderProperties)
     : base(game)
 {
     _renderTargetFactory              = renderTargetFactory;
     _characterProvider                = characterProvider;
     _renderOffsetCalculator           = renderOffsetCalculator;
     _characterPropertyRendererBuilder = characterPropertyRendererBuilder;
     _characterTextures                = characterTextures;
     _characterSpriteCalculator        = characterSpriteCalculator;
     RenderProperties = renderProperties;
 }
Пример #4
0
 public CharacterTextures(ICharacterSpriteCalculator characterSpriteCalculator)
 {
     _characterSpriteCalculator = characterSpriteCalculator;
 }