public IEnumerable <ICharacterPropertyRenderer> BuildList(ICharacterTextures textures, ICharacterRenderProperties renderProperties) { bool shieldAdded = false, weaponAdded = false; if (IsShieldBehindCharacter(renderProperties)) { shieldAdded = true; yield return(new ShieldRenderer(renderProperties, textures.Shield)); } if (IsWeaponBehindCharacter(renderProperties)) { weaponAdded = true; yield return(new WeaponRenderer(renderProperties, textures.Weapon, EIFFile)); } yield return(new SkinRenderer(renderProperties, textures.Skin, EIFFile)); yield return(new FaceRenderer(renderProperties, textures.Face, EIFFile)); yield return(new EmoteRenderer(renderProperties, textures.Emote, EIFFile)); yield return(new BootsRenderer(renderProperties, textures.Boots, EIFFile)); yield return(new ArmorRenderer(renderProperties, textures.Armor, EIFFile)); if (!weaponAdded) { yield return(new WeaponRenderer(renderProperties, textures.Weapon, EIFFile)); } if (IsHairOnTopOfHat(renderProperties)) { yield return(new HatRenderer(renderProperties, textures.Hat, EIFFile)); yield return(new HairRenderer(renderProperties, textures.Hair, EIFFile)); } else { yield return(new HairRenderer(renderProperties, textures.Hair, EIFFile)); yield return(new HatRenderer(renderProperties, textures.Hat, EIFFile)); } if (!shieldAdded) { yield return(new ShieldRenderer(renderProperties, textures.Shield)); } }
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; }
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; }