Example #1
0
// 更新玩家信息
// playerObj:玩家对象
// name:玩家名称
// unionId:玩家公会Id
// extraMsg:玩家透传信息
func UpdateInfo(playerObj *player.Player, name, unionId, extraMsg string) error {
	playerObj.Name = name
	playerObj.UnionId = unionId
	playerObj.ExtraMsg = extraMsg

	return playerDAL.UpdateInfo(playerObj)
}
Example #2
0
// 更新登录信息
// playerObj:玩家对象
// clientObj:客户端对象
// isNewPlayer:是否是新玩家
func UpdateLoginInfo(playerObj *player.Player, clientObj *client.Client, isNewPlayer bool) error {
	playerObj.ClientId = clientObj.Id()
	playerObj.LoginTime = time.Now()

	// 如果不是新玩家则更新登录时间,否则使用创建时指定的登录时间
	if !isNewPlayer {
		if err := playerDAL.UpdateLoginTime(playerObj); err != nil {
			return err
		}
	}

	return nil
}
Example #3
0
// 更新玩家的封号状态
// playerObj:玩家对象
// isForbidden:是否封号
func UpdateForbidStatus(playerObj *player.Player, isForbidden bool) error {
	playerObj.IsForbidden = isForbidden
	if err := playerDAL.UpdateForbiddenStatus(playerObj); err != nil {
		return err
	}

	// 断开客户端连接
	if isForbidden {
		disconnectByPlayer(playerObj, disconnectType.FromForbid)
	}

	return nil
}
Example #4
0
// 更新玩家的禁言状态
// playerObj:玩家对象
// silentEndTime:禁言结束时间
func UpdateSilentStatus(playerObj *player.Player, silentEndTime time.Time) error {
	playerObj.SilentEndTime = silentEndTime
	return playerDAL.UpdateSilentEndTime(playerObj)
}