public Sprite GetMoodSprite(CharacterMood mood)
    {
        switch (mood)
        {
        case CharacterMood.Fine:
            return(Fine);

        case CharacterMood.Sad:
            return(Sad ?? Fine);

        case CharacterMood.SadHappy:
            return(SadHappy ?? Fine);

        case CharacterMood.Upset:
            return(Upset ?? Fine);

        case CharacterMood.Serious:
            return(Serious ?? Fine);

        case CharacterMood.Surprised:
            return(Surprised ?? Fine);

        case CharacterMood.Crying:
            return(Crying ?? Fine);

        case CharacterMood.Uncomfortable:
            return(Uncomfortable ?? Fine);

        default:
            Debug.Log($"Didn't find Sprite for character: {Name}, mood: {mood}");
            return(Fine);
        }
    }
    public void Init(CharacterName name, CharacterPosition position, CharacterMood mood, CharacterMoods moods)
    {
        Name     = name;
        Position = position;
        Mood     = mood;

        _moods = moods;

        Show();
    }
Ejemplo n.º 3
0
    public void ChangeMood(CharacterName name, CharacterMood mood)
    {
        var character = _characters.FirstOrDefault(x => x.Name == name);

        if (character?.IsShowing != true)
        {
            Debug.LogWarning($"Character {name} is not currently shown. Can't change the mood.");
            return;
        }
        else
        {
            character.ChangeMood(mood);
        }
    }
Ejemplo n.º 4
0
    public void ShowCharacter(CharacterName name, CharacterPosition position, CharacterMood mood)
    {
        var character = _characters.FirstOrDefault(x => x.Name == name);

        if (character == null)
        {
            var characterObject = Instantiate(_characterPrefab, gameObject.transform, false);
            character = characterObject.GetComponent <Character>();

            _characters.Add(character);
        }
        else if (character.IsShowing)
        {
            Debug.LogWarning($"Failed to show character {name}. Character already showing");
            return;
        }

        character.Init(name, position, mood, GetMoodSetForCharacter(name));
    }
 public void ChangeMood(CharacterMood mood)
 {
     Mood = mood;
     UpdateSprite();
 }