/// <summary>
    /// Returns the portrait sprite asscoaited with the given expression.
    /// </summary>
    /// <param name="expressionArg"></param>
    /// <returns></returns>
    public Sprite GetAppropriatePortrait(CharacterDialogueExpressionType expressionArg)
    {
        // get matching data based on the given expression
        SerializableDataCharacterDialogueExpressionTypeAndSprite matchingData =
            GetSerialDataFromExpression(expressionArg);

        // if no matching data was found
        if (matchingData == null)
        {
            // get matching data based on the default expression
            matchingData = GetSerialDataFromExpression(defaultExpression);
        }

        // if matching data WAS found
        if (matchingData != null)
        {
            // return the data's sprite
            return(matchingData.valueSprite);
        }
        // else NO match was ever found
        else
        {
            // return a NULL sprite
            return(null);
        }
    }
 private void Setup(SerializableDataCharacterDialogueExpressionTypeAndSprite templateArg)
 {
     valueExpression = templateArg.valueExpression;
     valueSprite     = templateArg.valueSprite;
 }
 public SerializableDataCharacterDialogueExpressionTypeAndSprite(
     SerializableDataCharacterDialogueExpressionTypeAndSprite templateArg)
 {
     Setup(templateArg);
 }