SchemeSz.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package scheme
  2. import (
  3. "Server-Core/Server/Base"
  4. "reflect"
  5. "strconv"
  6. )
  7. // ds,weight,playerNum,finialPlane,finialArea,finialPoint
  8. type SzItem struct {
  9. Ds int32 //点数
  10. Weight int32 //权重
  11. PlayerNum int32 //游戏人数(是否是4个人玩,1是,2否)
  12. FinialPlane int32 //是否最后一架飞机(1是,2否)
  13. FinialArea int32 //是否到达终点区(1是,2否)
  14. FinialPoint int32 //到达终点区所需要的点数
  15. }
  16. type Sz struct {
  17. DataList []*SzItem
  18. }
  19. func (scp *Sz) Load() {
  20. //var dataList = []*SzItem{}
  21. // scp.dataList = make(map[int32]*SzItem)
  22. //records := base.LoadCsvCfg("../Scp/Level.csv").Records
  23. //records := base.LoadCsvCfg("E://ChatGameService2/Bin/Scp/Level.csv").Records
  24. var path string = ""
  25. if ip == "192.168.1.122" {
  26. //path = "E://ChatGameService2/Bin/Scp/Level.csv"
  27. path = "E://ChatGameService2/Bin/Scp/Sz.csv"
  28. } else {
  29. // records := base.LoadCsvCfg("E://ChatGameService2/Bin/Scp/Level.csv").Records
  30. path = "../Scp/Sz.csv"
  31. }
  32. records := base.LoadCsvCfg(path).Records
  33. for i := 4; i < len(records); i++ {
  34. item := new(SzItem)
  35. cr := reflect.ValueOf(item).Elem()
  36. for k, v := range records[i].Record {
  37. k = base.StrFirstToUpper(k)
  38. a := cr.FieldByName(k)
  39. /* switch a.Type().String() {
  40. case "string":
  41. a.Set(reflect.ValueOf(v))
  42. case "int32":
  43. i, _ := strconv.Atoi(v)
  44. a.Set(reflect.ValueOf(int32(i)))
  45. case "float64":
  46. f, _ := strconv.ParseFloat(v, 64)
  47. a.Set(reflect.ValueOf(f))
  48. }*/
  49. i, _ := strconv.Atoi(v)
  50. // log.Info("i", i)
  51. a.Set(reflect.ValueOf(int32(i)))
  52. }
  53. //scp.dataList[item.Level] = item
  54. scp.DataList = append(scp.DataList, item)
  55. //log.Info("item", item)
  56. }
  57. }
  58. func (scp *Sz) Get(key int32) (interface{}, error) {
  59. /*data, ok := scp.dataList[key]
  60. if ok {
  61. return data, nil
  62. } else {
  63. return nil, errors.New("not find")
  64. }*/
  65. return nil, nil
  66. }
  67. func (scp *Sz) LoadData() {
  68. var dataList = []*SzItem{}
  69. //var sz =Sz{};
  70. // scp.dataList = make(map[int32]*SzItem)
  71. //records := base.LoadCsvCfg("../Scp/Level.csv").Records
  72. //records := base.LoadCsvCfg("E://ChatGameService2/Bin/Scp/Level.csv").Records
  73. var path string = ""
  74. if ip == "192.168.1.122" {
  75. //path = "E://ChatGameService2/Bin/Scp/Level.csv"
  76. path = "E://ChatGameService2/Bin/Scp/Sz.csv"
  77. } else {
  78. // records := base.LoadCsvCfg("E://ChatGameService2/Bin/Scp/Level.csv").Records
  79. path = "../Scp/Sz.csv"
  80. }
  81. records := base.LoadCsvCfg(path).Records
  82. for i := 4; i < len(records); i++ {
  83. item := new(SzItem)
  84. cr := reflect.ValueOf(item).Elem()
  85. for k, v := range records[i].Record {
  86. k = base.StrFirstToUpper(k)
  87. a := cr.FieldByName(k)
  88. /* switch a.Type().String() {
  89. case "string":
  90. a.Set(reflect.ValueOf(v))
  91. case "int32":
  92. i, _ := strconv.Atoi(v)
  93. a.Set(reflect.ValueOf(int32(i)))
  94. case "float64":
  95. f, _ := strconv.ParseFloat(v, 64)
  96. a.Set(reflect.ValueOf(f))
  97. }*/
  98. i1, _ := strconv.Atoi(v)
  99. // log.Info("i", i)
  100. a.Set(reflect.ValueOf(int32(i1)))
  101. }
  102. //scp.dataList[item.Level] = item
  103. dataList = append(dataList, item)
  104. //log.Info("item", item)
  105. }
  106. scp.DataList = dataList
  107. //return sz
  108. }