A Godot Engine app to help streamers organize Majority Judgment polls in their streams.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.1 KiB

extends Resource
class_name MajorityJudgmentGrade
A single grade, like 'Excellent' or 'To Reject'.
Could be just an int or a string,
but let's go full oriented object.
Each grade will also handle its color, I think.
Supports localization (l10n).
Default language is Esperanto. Videoludemuloj!
# Perhaps we'll drop these shenanigans
# and use tr() instead, we'll see.
export(Dictionary) var localized_names:Dictionary
# (WiP: perhaps not used right now, but it is set)
# This is set by the gradation this grade is included in
# 0: worst grade
# more: better grade (up to gradation size minus one)
export(int) var worth := 0
# We use a factory, since ResourceLoader won't like parameters in _init()
static func make(__name):
# var grade = MajorityJudgmentGrade.new() # cyclic :3
var grade = load("res://addons/majority_judgment/MajorityJudgmentGrade.gd").new()
return grade
func set_name(__name):
if __name is String:
__name = {'eo_EO': __name}
assert(__name is Dictionary)
self.localized_names = __name