local PlayerInfoView = require("Game.View.PlayerInfoView") local PlayerInfoView_copy = require("Game.View.PlayerInfoView_copy") local M = {} function M.new(view, mainView) if mainView._room.room_config.people_num == 2 then setmetatable(M, { __index = PlayerInfoView_copy }) else setmetatable(M, { __index = PlayerInfoView }) end local self = setmetatable({}, { __index = M }) self._view = view self._main_view = mainView self:init() return self end function M:init() PlayerInfoView_copy.init(self) end function M:ShowInteraction(type,str) if type == 3 then Voice.DownLoad(str, function(clip) if (clip ) then self:ShowMaskVoice(clip.length) GameApplication.Instance:PlayVoice(clip) end end) elseif type == 4 then self:SetChat(str) elseif type == 2 then local chat_index = tonumber(str) self._main_view:PlayChatSound(self._player.self_user.sex,chat_index) local language, index = self._main_view:GetChatMsgLanguage(chat_index) self:SetChat(self._main_view.Fix_Msg_Chat[index]) elseif type == 1 then self:SetBiaoqing("ui://Chat/"..str) end end function M:UpdateRemainCard(card_num, hide) if hide then self._view:GetController("show_remain").selectedIndex = 0 else self._view:GetController("show_remain").selectedIndex = 1 end self._view:GetChild("com_remain"):GetChild("tex_remain").text = card_num end function M:FillData(player) PlayerInfoView_copy.FillData(self, player) end function M:UpdateScore() local score = self._player.total_score local room = DataManager.CurrenRoom if room:checkHpNonnegative() then score = d2ad(self._player.cur_hp) end if not score then score = 0 end if score < 0 then self._ct_score.selectedIndex = 1 self._tex_score2.text = score else self._ct_score.selectedIndex = 0 if not room:checkHpNonnegative() then score = "+" .. score end self._tex_score.text = score end end return M