Exemple #1
0
func (handler *HdlGdsSync) HandlePackage(buf []byte) {
	gdsSync := new(common.GdsSync)
	proto.Unmarshal(buf, gdsSync)
	fmt.Println(gdsSync.GetVersion())
	fmt.Println(gdsSync.GetWhat())
	buildingcsv := filepath.Join(handler.session.Server.Config.GdsPath, "buildings.csv")
	log.Println(buildingcsv)
	csvContent, _ := ioutil.ReadFile(buildingcsv)

	r2 := csv.NewReader(strings.NewReader(string(csvContent)))
	ss, _ := r2.ReadAll()
	sz := len(ss)
	buildingGds := new(gds.BuildingGds)
	buildingGds.Buildings = []*gds.Building{}
	for i := 0; i < sz; i++ {
		building := new(gds.Building)
		building.Name = &(ss[i][0])
		intVal, _ := strconv.Atoi(ss[i][1])
		v := uint32(intVal)
		building.Level = &v
		buildingGds.Buildings = append(buildingGds.Buildings, building)
	}

	bytes, _ := proto.Marshal(buildingGds)
	log.Println("xxxxx", len(bytes))
	handler.session.WriteToClient(ProtoBuildingsGds, bytes)
}