public void GenerateTechnologyCharacterProperty(ref TechnologyCharacterViewModel technologyCharacterViewModel, ushort userHashValue, UserViewModel userViewModel) { if (userHashValue >= RequiredThreshold) { technologyCharacterViewModel.CharacterTraits.Add(CharacterTrait); } }
public void GenerateTechnologyCharacterProperty(ref TechnologyCharacterViewModel technologyCharacterViewModel, ushort userHashValue, UserViewModel userViewModel) { var characterName = userViewModel?.Name?.Split(' ')?.FirstOrDefault(); var suffix = _characterNameSuffixes[userHashValue]; technologyCharacterViewModel.CharacterName = $"{characterName} the {suffix}"; }
public void GenerateTechnologyCharacterProperty(ref TechnologyCharacterViewModel technologyCharacterViewModel, ushort userHashValue, UserViewModel userViewModel) { var value = ConvertHashValueToPropertyValue(userHashValue); if (PropertyExpression.Body is MemberExpression memberSelectorExpression) { var property = memberSelectorExpression.Member as PropertyInfo; if (property != null) { property.SetValue(technologyCharacterViewModel, value, null); } } }
public TechnologyCharacterViewModel GenerateTechnologyCharacter(UserViewModel userViewModel) { var user = JsonConvert.SerializeObject(userViewModel); _logger.LogInformation($"Generating Hash of {user}"); var userHashArray = CreateUserHashArray(user); var technologyCharacter = new TechnologyCharacterViewModel { CharacterTraits = new List <string>(), TechnologyCharacterAvatar = new TechnologyCharacterAvatarModel(), UserHash = string.Join(string.Empty, userHashArray) }; _logger.LogInformation($"Hash = \"{technologyCharacter.UserHash}\" ({string.Join(", ", userHashArray)})"); foreach (var technologyCharacterPropertyGenerator in _technologyCharacterPropertyGenerator) { if (userHashArray.Length <= technologyCharacterPropertyGenerator.UserHashIndex) { _logger.LogError( $"Index ({technologyCharacterPropertyGenerator.UserHashIndex}) for {technologyCharacterPropertyGenerator.GetType().Name} " + $"is outside of the length of the hash ({userHashArray.Length})"); continue; } ; var hashValue = ushort.Parse(userHashArray[technologyCharacterPropertyGenerator.UserHashIndex], NumberStyles.HexNumber); _logger.LogInformation($"Value for the HashArray at ({technologyCharacterPropertyGenerator.UserHashIndex}) " + $"is ({userHashArray[technologyCharacterPropertyGenerator.UserHashIndex]}) or ({hashValue})"); technologyCharacterPropertyGenerator.GenerateTechnologyCharacterProperty(ref technologyCharacter, hashValue, userViewModel); } return(technologyCharacter); }
public void GenerateTechnologyCharacterProperty(ref TechnologyCharacterViewModel technologyCharacterViewModel, ushort userHashValue, UserViewModel userViewModel) { technologyCharacterViewModel.TechnologyCharacterAvatar.AccentColor = $"#{technologyCharacterViewModel.UserHash.Substring(25, 6)}"; }
public void GenerateTechnologyCharacterProperty(ref TechnologyCharacterViewModel technologyCharacterViewModel, ushort userHashValue, UserViewModel userViewModel) { technologyCharacterViewModel.TechnologyCharacterAvatar.HairColor = HairColors[userHashValue]; }