Main/resources/[voice]/saltychat/client/models/VoiceClient.lua

29 lines
1 KiB
Lua
Raw Permalink Normal View History

2025-06-07 08:51:21 +02:00
---@class VoiceClient
---@field ServerId integer
---@field Player ClientPlayer
---@field TeamSpeakName string
---@field VoiceRange number
---@field IsAlive boolean
---@field IsUsingMegaphone boolean
---@field LastPosition TSVector
---@field DistanceCulled boolean
VoiceClient = {}
VoiceClient.__index = VoiceClient
function VoiceClient.new(serverId, teamSpeakName, voiceRange, isAlive)
local self = setmetatable({}, VoiceClient)
self.ServerId = serverId
self.Player = ClientPlayer.new(GetPlayerFromServerId(serverId))
self.TeamSpeakName = teamSpeakName
self.VoiceRange = voiceRange
self.IsAlive = isAlive
self.IsUsingMegaphone = nil
self.LastPosition = nil
self.DistanceCulled = nil
return self
end
---@param voiceManager VoiceManager
function VoiceClient:SendPlayerStateUpdate(voiceManager)
voiceManager:ExecutePluginCommand(PluginCommand.new(Command.PlayerStateUpdate, voiceManager.Configuration.ServerUniqueIdentifier, PlayerState.new(self.TeamSpeakName, self.LastPosition, self.VoiceRange, self.IsAlive, self.DistanceCulled)));
end