/// <summary> /// Set the avatar sprites to match the charactistics of this Avatar and the AvatarMood provided /// </summary> public void SetAvatar(Avatar avatar, AvatarMood mood) { SetAvatar(avatar); UpdateMood(mood); }
/// <summary> /// Load the images for each part of the avatar. /// </summary> private void SetAvatar(Avatar avatar) { _avatar = avatar; if (!_body) { _spriteParent = transform.FindRect(_avatarIconPrefix); _isIcon = true; if (!_spriteParent) { _spriteParent = transform.FindRect(_avatarPrefix); _isIcon = false; } _body = GetAvatarImage("Body"); _hairBack = GetAvatarImage("HairBack"); _hairFront = GetAvatarImage("HairFront"); _eyebrow = GetAvatarImage("Eyebrows"); _nose = GetAvatarImage("Nose"); _mouth = GetAvatarImage("Mouth"); _teeth = GetAvatarImage("Teeth"); _eyes = GetAvatarImage("Eyes"); _eyePupils = GetAvatarImage("Eye Pupils"); _outfit = GetAvatarImage("Outfit"); _outfitHighlight = GetAvatarImage("OutfitHighlight"); _outfitShadow = GetAvatarImage("OutfitShadow"); } _body.sprite = avatarSprites[avatar.BodyType]; _outfit.sprite = avatarSprites[avatar.OutfitBaseType]; if (avatarSprites.ContainsKey(avatar.OutfitHighlightType)) { _outfitHighlight.sprite = avatarSprites[avatar.OutfitHighlightType]; } if (avatarSprites.ContainsKey(avatar.OutfitShadowType)) { _outfitShadow.sprite = avatarSprites[avatar.OutfitShadowType]; } _nose.sprite = avatarSprites[avatar.NoseType]; _hairBack.sprite = avatarSprites[$"{avatar.HairType}_Back"]; _hairFront.sprite = avatarSprites[$"{avatar.HairType}_Front"]; // Set colors var skinColor = new Color32(avatar.SkinColor.R, avatar.SkinColor.G, avatar.SkinColor.B, 255); var eyeColor = new Color32(avatar.EyeColor.R, avatar.EyeColor.G, avatar.EyeColor.B, 255); var hairColor = new Color32(avatar.HairColor.R, avatar.HairColor.G, avatar.HairColor.B, 255); var eyebrowColor = new Color32(avatar.HairColor.R, avatar.HairColor.G, avatar.HairColor.B, _eyebrowAlpha); var primary = new Color32(avatar.PrimaryOutfitColor.R, avatar.PrimaryOutfitColor.G, avatar.PrimaryOutfitColor.B, avatar.PrimaryOutfitColor.A); var secondary = new Color32(avatar.SecondaryOutfitColor.R, avatar.SecondaryOutfitColor.G, avatar.SecondaryOutfitColor.B, avatar.SecondaryOutfitColor.A); _body.color = skinColor; _nose.color = skinColor; _mouth.color = avatar.IsMale ? skinColor : (Color32)Color.white; _eyePupils.color = eyeColor; _hairFront.color = hairColor; _hairBack.color = hairColor; _eyebrow.color = eyebrowColor; // Check the current outfit is not the casual one, we should not be changing the color of casual if (avatar.CustomOutfitColor) { _outfit.color = primary; _outfitHighlight.color = secondary; } else { _outfit.color = Color.white; _outfitHighlight.color = Color.white; } _outfitHighlight.gameObject.Active(avatar.CustomOutfitColor); _outfitShadow.gameObject.Active(avatar.CustomOutfitColor); if (_isIcon) { SetIconProperties(); } else { SetFullBodyProperties(); } }
/// <summary> /// Set the avatar sprites to match the charactistics of this Avatar and the mood value provided /// </summary> public void SetAvatar(Avatar avatar, float mood) { SetAvatar(avatar); UpdateMood(mood); }