newSkin method
Returns current Emoji with New requested skinTone
if modifiable, else Returns current Emoji
Implementation
Emoji newSkin(fitzpatrick skinTone){
if (modifiable){
switch(skinTone){
case fitzpatrick.light:
return Emoji(name: name + ', tone1', char: modify(char, skinTone), shortName: shortName + '_tone1',emojiGroup: emojiGroup, emojiSubgroup: emojiSubgroup, keywords: keywords, modifiable: true);
case fitzpatrick.mediumLight:
return Emoji(name: name + ', tone2', char: modify(char, skinTone), shortName: shortName + '_tone2',emojiGroup: emojiGroup, emojiSubgroup: emojiSubgroup, keywords: keywords, modifiable: true);
case fitzpatrick.medium:
return Emoji(name: name + ', tone3', char: modify(char, skinTone), shortName: shortName + '_tone3',emojiGroup: emojiGroup, emojiSubgroup: emojiSubgroup, keywords: keywords, modifiable: true);
case fitzpatrick.mediumDark:
return Emoji(name: name + ', tone4', char: modify(char, skinTone), shortName: shortName + '_tone4',emojiGroup: emojiGroup, emojiSubgroup: emojiSubgroup, keywords: keywords, modifiable: true);
case fitzpatrick.dark:
return Emoji(name: name + ', tone5', char: modify(char, skinTone), shortName: shortName + '_tone5',emojiGroup: emojiGroup, emojiSubgroup: emojiSubgroup, keywords: keywords, modifiable: true);
case fitzpatrick.None:
return Emoji.byChar(stabilize(char))!;
}
}
return this;
}