Opimalisation
This commit is contained in:
parent
a4ded26038
commit
56787b13b8
|
@ -51,7 +51,7 @@ func GetFontCharset(language string) string {
|
|||
}
|
||||
|
||||
// modificators for labels (used in string tables
|
||||
func getModificators() map[string]int {
|
||||
func getModifiers() map[string]int {
|
||||
return map[string]int{
|
||||
"ENG": 0, // (English) // checked
|
||||
"ESP": 0, // (Spanish)
|
||||
|
@ -69,8 +69,8 @@ func getModificators() map[string]int {
|
|||
}
|
||||
|
||||
// GetFontCharset returns modificator for language
|
||||
func GetLabelModificator(language string) int {
|
||||
mod := getModificators()
|
||||
func GetLabelModifier(language string) int {
|
||||
mod := getModifiers()
|
||||
|
||||
return mod[language]
|
||||
}
|
||||
|
|
|
@ -278,44 +278,27 @@ func (am *AssetManager) LoadStringTable(tablePath string) (d2tbl.TextDictionary,
|
|||
return table, err
|
||||
}
|
||||
|
||||
// TranslateString returns the translation of the given string. The string is retrieved from
|
||||
// the loaded string tables.
|
||||
func (am *AssetManager) TranslateString(key string) string {
|
||||
func (am *AssetManager) TranslateString(input interface{}) string {
|
||||
var key string
|
||||
|
||||
switch s := input.(type) {
|
||||
case string:
|
||||
key = s
|
||||
case fmt.Stringer:
|
||||
key = s.String()
|
||||
}
|
||||
|
||||
for idx := range am.tables {
|
||||
if value, found := am.tables[idx][key]; found {
|
||||
return value
|
||||
}
|
||||
}
|
||||
|
||||
// Fix to allow v.setDescLabels("#123") to be bypassed for a patch in issue #360. Reenable later.
|
||||
// log.Panicf("Could not find a string for the key '%s'", key)
|
||||
return key
|
||||
}
|
||||
|
||||
// TranslateHeroClass translates her class given to game locale
|
||||
func (am *AssetManager) TranslateHeroClass(h d2enum.Hero) string {
|
||||
switch h {
|
||||
case d2enum.HeroBarbarian:
|
||||
return am.TranslateString("Barbarian")
|
||||
case d2enum.HeroNecromancer:
|
||||
return am.TranslateString("Necromancer")
|
||||
case d2enum.HeroPaladin:
|
||||
return am.TranslateString("Paladin")
|
||||
case d2enum.HeroAssassin:
|
||||
return am.TranslateString("Assassin")
|
||||
case d2enum.HeroSorceress:
|
||||
return am.TranslateString("Sorceress")
|
||||
case d2enum.HeroAmazon:
|
||||
return am.TranslateString("Amazon")
|
||||
case d2enum.HeroDruid:
|
||||
return am.TranslateString("Druid")
|
||||
default:
|
||||
am.Error("Unknown Hero Class")
|
||||
}
|
||||
|
||||
// should not be reached
|
||||
return "---"
|
||||
}
|
||||
|
||||
// LoadPaletteTransform loads a palette transform file
|
||||
func (am *AssetManager) LoadPaletteTransform(path string) (*d2pl2.PL2, error) {
|
||||
if pl2, found := am.transforms.Retrieve(path); found {
|
||||
|
|
|
@ -349,7 +349,7 @@ func (v *CharacterSelect) updateCharacterBoxes() {
|
|||
|
||||
heroName := v.gameStates[idx].HeroName
|
||||
heroInfo := v.asset.TranslateString("level") + " " + strconv.FormatInt(int64(v.gameStates[idx].Stats.Level), 10) +
|
||||
" " + v.asset.TranslateHeroClass(v.gameStates[idx].HeroType)
|
||||
" " + v.asset.TranslateString(v.gameStates[idx].HeroType.String())
|
||||
|
||||
v.characterNameLabel[i].SetText(d2ui.ColorTokenize(heroName, d2ui.ColorTokenGold))
|
||||
v.characterStatsLabel[i].SetText(d2ui.ColorTokenize(heroInfo, d2ui.ColorTokenWhite))
|
||||
|
|
|
@ -282,7 +282,7 @@ func (v *MainMenu) loadBackgroundSprites() {
|
|||
}
|
||||
|
||||
func translateLabel(label int, lng string, asset *d2asset.AssetManager) string {
|
||||
return asset.TranslateString(fmt.Sprintf("#%d", baseLabelNumbers(label+d2resource.GetLabelModificator(lng))))
|
||||
return asset.TranslateString(fmt.Sprintf("#%d", baseLabelNumbers(label+d2resource.GetLabelModifier(lng))))
|
||||
}
|
||||
|
||||
func (v *MainMenu) createLabels(loading d2screen.LoadingState) {
|
||||
|
|
|
@ -254,7 +254,7 @@ func (s *HeroStatsPanel) renderStaticLabels(target d2interface.Surface) {
|
|||
centerAlign bool
|
||||
}{
|
||||
{labelHeroNameX, labelHeroNameY, s.heroName, d2resource.Font16, true},
|
||||
{labelHeroClassX, labelHeroClassY, s.asset.TranslateHeroClass(s.heroClass), d2resource.Font16, true},
|
||||
{labelHeroClassX, labelHeroClassY, s.asset.TranslateString(s.heroClass.String()), d2resource.Font16, true},
|
||||
|
||||
{labelLevelX, labelLevelY, s.asset.TranslateString("strchrlvl"), d2resource.Font6, true},
|
||||
{labelExperienceX, labelExperienceY, s.asset.TranslateString("strchrexp"), d2resource.Font6, true},
|
||||
|
|
Loading…
Reference in New Issue