extend_lord_name.go 1003 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package data
  2. import "math/rand"
  3. var (
  4. lastNameList []string
  5. maleNameList []string
  6. femaleNameList []string
  7. )
  8. func (p *lordNameConfig) OnAfterLoad(_ bool) {
  9. var (
  10. loadLastNames []string
  11. loadMaleNames []string
  12. loadFemaleNames []string
  13. )
  14. for _, row := range p.List() {
  15. if len(row.LastName) > 0 {
  16. loadLastNames = append(loadLastNames, row.LastName)
  17. }
  18. if len(row.MaleName) > 0 {
  19. loadMaleNames = append(loadMaleNames, row.MaleName)
  20. }
  21. if len(row.FemaleName) > 0 {
  22. loadFemaleNames = append(loadFemaleNames, row.FemaleName)
  23. }
  24. }
  25. lastNameList = loadLastNames
  26. maleNameList = loadMaleNames
  27. femaleNameList = loadFemaleNames
  28. }
  29. func (p *lordNameConfig) RandomName(isMale bool) string {
  30. var (
  31. lastName string
  32. firstName string
  33. )
  34. lastName = lastNameList[rand.Intn(len(lastNameList))]
  35. if isMale {
  36. firstName = maleNameList[rand.Intn(len(maleNameList))]
  37. } else {
  38. firstName = femaleNameList[rand.Intn(len(femaleNameList))]
  39. }
  40. return lastName + firstName
  41. }