GmAction.go 745 Bytes
package action

import (
	"pro2d/common"
	"pro2d/common/components"
	"pro2d/common/logger"
	"pro2d/models"
	"strconv"
)

type GmAction struct {
}

func (gm *GmAction) AddExp(properties map[string]interface{}) int {
	r := properties[common.Role_]
	c := properties[common.Conn_]

	role := r.(*models.RoleModel)
	var conn components.IConnection
	if c == nil {
		conn = nil
	} else {
		conn = c.(components.IConnection)
	}

	logger.Debug(properties)
	exp, _ := strconv.Atoi(properties["exp"].(string))
	logger.Debug("update before id: %s, exp: %d", role.Role.Id, role.Role.Exp)
	role.Role.Exp += int64(exp)
	role.UpdateProperty(conn, "exp", role.Role.Exp, true)
	logger.Debug("update after id: %s, exp: %d", role.Role.Id, role.Role.Exp)
	return 0
}