Example #1
0
    /// <summary>
    /// Update the avatar's facial expression based on the AvatarMood value provided
    /// </summary>
    public void UpdateMood(AvatarMood mood)
    {
        var moodStr = mood.ToString();

        if (avatarSprites.ContainsKey($"{_avatar.EyeType}_Brown_{moodStr}"))
        {
            _eyes.sprite = avatarSprites[$"{_avatar.EyeType}_Brown_{moodStr}"];
        }
        else if (avatarSprites.ContainsKey($"{_avatar.EyeType}_{moodStr}"))
        {
            _eyes.sprite = avatarSprites[$"{_avatar.EyeType}_{moodStr}"];
        }
        else
        {
            // No disagree eyes, so default to neutral
            _eyes.sprite = avatarSprites[$"{_avatar.EyeType}_Brown_Neutral"];
        }

        _eyePupils.sprite  = _eyes.sprite.name.Contains("Brown") ? avatarSprites.ContainsKey(_eyes.sprite.name.Replace("Brown", "Pupil")) ? avatarSprites[_eyes.sprite.name.Replace("Brown", "Pupil")] : null : null;
        _eyebrow.sprite    = avatarSprites[$"{_avatar.EyebrowType}_{moodStr}"];
        _mouth.sprite      = avatarSprites[$"{_avatar.MouthType}_{moodStr}"];
        _teeth.sprite      = avatarSprites.ContainsKey($"{_avatar.TeethType}_{moodStr}") ? avatarSprites[$"{_avatar.TeethType}_{moodStr}"] : null;
        _eyePupils.enabled = _eyePupils.sprite != null;
        _teeth.enabled     = _teeth.sprite != null;
        _lastMood          = mood;
    }
Example #2
0
    /// <summary>
    /// Get the color for the AvatarMood provided
    /// </summary>
    public static Color MoodColor(AvatarMood avatarMood)
    {
        switch (avatarMood)
        {
        case AvatarMood.StronglyAgree:
            return(_veryGood);

        case AvatarMood.Agree:
            return(_good);

        case AvatarMood.Disagree:
            return(_bad);

        case AvatarMood.StronglyDisagree:
            return(_veryBad);

        default:
            return(_neutral);
        }
    }
Example #3
0
 /// <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);
 }