/// <summary> /// Initializes a new instance of the <see cref="BodypartRemover"/> class. /// </summary> /// <param name="appearance">The appearance that is being shifted.</param> /// <param name="descriptionBuilder">The description builder.</param> public BodypartRemover ( Appearance appearance, TransformationDescriptionBuilder descriptionBuilder ) : base(appearance) { _descriptionBuilder = descriptionBuilder; }
/// <summary> /// Initializes a new instance of the <see cref="PatternRemover"/> class. /// </summary> /// <param name="appearance">The appearance to shift.</param> /// <param name="descriptionBuilder">The description builder.</param> public PatternRemover ( Appearance appearance, TransformationDescriptionBuilder descriptionBuilder ) : base(appearance) { _descriptionBuilder = descriptionBuilder; }
/// <summary> /// Initializes a new instance of the <see cref="PatternRemover"/> class. /// </summary> /// <param name="appearance">The appearance to shift.</param> /// <param name="transformations">The transformation service.</param> /// <param name="descriptionBuilder">The description builder.</param> public PatternRemover ( [NotNull] Appearance appearance, [NotNull] TransformationService transformations, [NotNull] TransformationDescriptionBuilder descriptionBuilder ) : base(appearance) { _transformations = transformations; _descriptionBuilder = descriptionBuilder; }
/// <summary> /// Initializes a new instance of the <see cref="ColourShifter"/> class. /// </summary> /// <param name="appearance">The appearance to shift.</param> /// <param name="colour">The colour to shift into.</param> /// <param name="descriptionBuilder">The description builder.</param> public ColourShifter ( [NotNull] Appearance appearance, [NotNull] Colour colour, [NotNull] TransformationDescriptionBuilder descriptionBuilder ) : base(appearance) { _colour = colour; _descriptionBuilder = descriptionBuilder; }
/// <summary> /// Initializes a new instance of the <see cref="PatternColourShifter"/> class. /// </summary> /// <param name="appearance">The appearance to shift.</param> /// <param name="colour">The colour to shift into.</param> /// <param name="descriptionBuilder">The description builder.</param> public PatternColourShifter ( Appearance appearance, Colour colour, TransformationDescriptionBuilder descriptionBuilder ) : base(appearance) { _colour = colour; _descriptionBuilder = descriptionBuilder; }
public void ReplacesFluentTokensCorrectly() { var character = new Character ( new User(0), new Server(0), "Amby", string.Empty, string.Empty, string.Empty, string.Empty, pronounProviderFamily: "Feminine" ); var hairColour = new Colour(Shade.White, ShadeModifier.Fluorescent); var hairTransformation = new Transformation ( new Species("dummy", "dummy", "dummy"), "dummy", hairColour, "dummy", "dummy", SampleFluentText ) { Part = Bodypart.Hair, }; var hairComponent = AppearanceComponent.CreateFrom(hairTransformation); var appearance = new Appearance(character); appearance.Components.Add(hairComponent); var pronounService = new PronounService(); pronounService.WithPronounProvider(new FemininePronounProvider()); var characterService = new CharacterService(null !, null !, null !, pronounService); var serviceProvider = new ServiceCollection() .AddSingleton(pronounService) .AddSingleton(characterService) .BuildServiceProvider(); var descriptionBuilder = new TransformationDescriptionBuilder(serviceProvider, new TransformationText()); var result = descriptionBuilder.ReplaceTokensWithContent(SampleFluentText, appearance, hairComponent); Assert.Equal(ExpectedText, result); }
/// <summary> /// Initializes a new instance of the <see cref="PatternColourShifter"/> class. /// </summary> /// <param name="appearance">The appearance to shift.</param> /// <param name="colour">The colour to shift into.</param> /// <param name="transformations">The transformation service.</param> /// <param name="descriptionBuilder">The description builder.</param> public PatternColourShifter ( [NotNull] Appearance appearance, [NotNull] Colour colour, [NotNull] TransformationService transformations, [NotNull] TransformationDescriptionBuilder descriptionBuilder ) : base(appearance) { _colour = colour; _transformations = transformations; _descriptionBuilder = descriptionBuilder; }
/// <summary> /// Initializes a new instance of the <see cref="PatternShifter"/> class. /// </summary> /// <param name="appearance">The appearance to shift.</param> /// <param name="pattern">The colour to shift into.</param> /// <param name="patternColour">The colour of the pattern to shift into.</param> /// <param name="descriptionBuilder">The description builder.</param> public PatternShifter ( [NotNull] Appearance appearance, Pattern pattern, [NotNull] Colour patternColour, [NotNull] TransformationDescriptionBuilder descriptionBuilder ) : base(appearance) { _pattern = pattern; _patternColour = patternColour; _descriptionBuilder = descriptionBuilder; }
/// <summary> /// Initializes a new instance of the <see cref="SpeciesShifter"/> class. /// </summary> /// <param name="appearance">The appearance that is being shifted.</param> /// <param name="species">The species to shift into.</param> /// <param name="transformations">The transformation service.</param> /// <param name="descriptionBuilder">The description builder.</param> public SpeciesShifter ( Appearance appearance, Species species, TransformationService transformations, TransformationDescriptionBuilder descriptionBuilder ) : base(appearance) { _species = species; _transformations = transformations; _descriptionBuilder = descriptionBuilder; }
/// <summary> /// Initializes a new instance of the <see cref="TransformationService"/> class. /// </summary> /// <param name="content">The content service.</param> /// <param name="users">The user service.</param> /// <param name="servers">The server service.</param> /// <param name="database">The database.</param> /// <param name="descriptionBuilder">The description builder.</param> public TransformationService ( ContentService content, UserService users, ServerService servers, TransformationsDatabaseContext database, TransformationDescriptionBuilder descriptionBuilder ) { _content = content; _users = users; _servers = servers; _database = database; _descriptionBuilder = descriptionBuilder; }
public void ReplacesFluentTokensCorrectly() { var hairColour = new Colour { Shade = Shade.White, Modifier = ShadeModifier.Fluorescent }; var hairTransformation = new Transformation { DefaultBaseColour = hairColour, Part = Bodypart.Hair, SingleDescription = SampleFluentText }; var hairComponent = AppearanceComponent.CreateFrom(hairTransformation); var appearance = new Appearance { Components = new List <AppearanceComponent> { hairComponent } }; var character = new Character { Name = "Amby", CurrentAppearance = appearance, PronounProviderFamily = "Feminine" }; var characterService = new CharacterService(null, null, null, null) .WithPronounProvider(new FemininePronounProvider()); var serviceProvider = new ServiceCollection() .AddSingleton(characterService) .BuildServiceProvider(); var descriptionBuilder = new TransformationDescriptionBuilder(serviceProvider); var result = descriptionBuilder.ReplaceTokensWithContent(SampleFluentText, character, hairComponent); Assert.Equal(ExpectedText, result); }
public TransformationService WithDescriptionBuilder(TransformationDescriptionBuilder descriptionBuilder) { this.DescriptionBuilder = descriptionBuilder; return(this); }