225 lines
6.2 KiB
Plaintext
225 lines
6.2 KiB
Plaintext
PlayerBottomView = class("PlayerBottomView", SubView)
|
|
autoImport("GuildPictureManager");
|
|
|
|
function PlayerBottomView:Init()
|
|
self:initData()
|
|
self:AddViewEvents()
|
|
end
|
|
|
|
function PlayerBottomView:initData( )
|
|
--遮蔽數據
|
|
self.selectedRoleId = nil
|
|
end
|
|
|
|
function PlayerBottomView:AddViewEvents( )
|
|
-- body
|
|
self:AddListenEvt(MyselfEvent.SelectTargetChange, self.HandlerSelectTargetChange)
|
|
|
|
self:AddListenEvt(ServiceEvent.UserEventDamageNpcUserEvent, self.HandlerHit)
|
|
self:AddListenEvt(MyselfEvent.BeHited, self.HandlerBeHit)
|
|
|
|
self:AddListenEvt(ServiceEvent.GuildCmdGuildInfoNtf, self.HandlerPlayerFactionChange)
|
|
|
|
self:AddListenEvt(TeamEvent.MemberEnterTeam, self.HandlerMemberDataChange)
|
|
self:AddListenEvt(TeamEvent.MemberExitTeam, self.HandlerMemberDataChange)
|
|
|
|
self:AddListenEvt(SetEvent.ShowOtherName, self.HandleSettingMask)
|
|
|
|
self:AddListenEvt(SceneUIEvent.SceneUIEnable, self.HandleSceneUIEnable)
|
|
self:AddListenEvt(SceneUIEvent.SceneUIDisable, self.HandleSceneUIDisable)
|
|
|
|
self:AddListenEvt(SceneUIEvent.RemoveMonsterNamePre, self.RemoveMonsterNamePre)
|
|
self:AddListenEvt(SceneUIEvent.AddMonsterNamePre, self.AddMonsterNamePre)
|
|
self:AddListenEvt(CreatureEvent.Name_Change, self.HandlerName_Change)
|
|
|
|
self:AddListenEvt(GuildPictureManager.ThumbnailDownloadCompleteCallback, self.HandleGuildIconDownloadComplete)
|
|
end
|
|
|
|
function PlayerBottomView:AddMonsterNamePre(note)
|
|
|
|
local questData = note.body
|
|
local groupID = questData.params.groupId
|
|
local npcID = questData.params.monster
|
|
local npcUID = questData.params.uniqueid
|
|
local targets
|
|
-- helplog("AddMonsterNamePre",groupID)
|
|
-- helplog("AddMonsterNamePre",npcID)
|
|
-- helplog("AddMonsterNamePre",npcUID)
|
|
if(npcID)then
|
|
targets = NSceneNpcProxy.Instance:FindNpcs(npcID)
|
|
end
|
|
if(not targets and groupID)then
|
|
targets = NSceneNpcProxy.Instance:FindNpcsByGroupID(groupID)
|
|
end
|
|
if(not targets and npcUID)then
|
|
targets = NSceneNpcProxy.Instance:FindNpcByUniqueId(npcUID)
|
|
end
|
|
if(not targets)then
|
|
return
|
|
end
|
|
|
|
for i=1,#targets do
|
|
|
|
local creature = targets[i]
|
|
local sceneUI = creature:GetSceneUI()
|
|
if(sceneUI and sceneUI.roleBottomUI)then
|
|
sceneUI.roleBottomUI:SetQuestPrefixVisible(creature,true)
|
|
end
|
|
end
|
|
end
|
|
|
|
function PlayerBottomView:RemoveMonsterNamePre(note)
|
|
local questData = note.body
|
|
local groupID = questData.params.groupId
|
|
local npcID = questData.params.monster
|
|
local npcUID = questData.params.uniqueid
|
|
local targets
|
|
if(npcID)then
|
|
targets = NSceneNpcProxy.Instance:FindNpcs(npcID)
|
|
end
|
|
if(not targets and groupID)then
|
|
targets = NSceneNpcProxy.Instance:FindNpcsByGroupID(groupID)
|
|
end
|
|
if(not targets and npcUID)then
|
|
targets = NSceneNpcProxy.Instance:FindNpcByUniqueId(npcUID)
|
|
end
|
|
if(not targets)then
|
|
return
|
|
end
|
|
for i=1,#targets do
|
|
local creature = targets[i]
|
|
local sceneUI = creature:GetSceneUI()
|
|
if(sceneUI and sceneUI.roleBottomUI)then
|
|
sceneUI.roleBottomUI:SetQuestPrefixVisible(creature,false)
|
|
end
|
|
end
|
|
end
|
|
|
|
function PlayerBottomView:HandlerSelectTargetChange(note)
|
|
local creature = note.body
|
|
local id = creature and creature.data.id or nil
|
|
if self.selectedRoleId ~= nil and self.selectedRoleId ~= id then
|
|
local creature = self:getCreature(self.selectedRoleId)
|
|
local sceneUI = creature and creature:GetSceneUI() or nil
|
|
if(sceneUI)then
|
|
sceneUI.roleBottomUI:SetIsSelected(false,creature)
|
|
end
|
|
self.selectedRoleId = nil
|
|
end
|
|
|
|
local creature = self:getCreature(id)
|
|
local sceneUI = creature and creature:GetSceneUI() or nil
|
|
if(sceneUI)then
|
|
sceneUI.roleBottomUI:SetIsSelected(true,creature)
|
|
self.selectedRoleId = id
|
|
end
|
|
end
|
|
|
|
function PlayerBottomView:HandlerPlayerFactionChange( note )
|
|
-- body
|
|
local data = note.body
|
|
if(data)then
|
|
local id = data.charid
|
|
local creature = self:getCreature(id)
|
|
local sceneUI = creature and creature:GetSceneUI() or nil
|
|
if(sceneUI)then
|
|
sceneUI.roleBottomUI:HandlerPlayerFactionChange(creature)
|
|
end
|
|
end
|
|
end
|
|
|
|
function PlayerBottomView:HandlerName_Change( note )
|
|
-- body
|
|
-- helplog("HandlerName_Change1")
|
|
local creature = note.body
|
|
if(creature)then
|
|
-- helplog("HandlerName_Change2")
|
|
local sceneUI = creature:GetSceneUI() or nil
|
|
if(sceneUI)then
|
|
sceneUI.roleBottomUI:HandleChangeTitle(creature)
|
|
end
|
|
end
|
|
end
|
|
|
|
function PlayerBottomView:HandleSettingMask( )
|
|
-- body
|
|
SceneCreatureProxy.ForEachCreature(self.HandleSettingMaskCreature)
|
|
end
|
|
|
|
function PlayerBottomView.HandleSettingMaskCreature(creature)
|
|
if(creature) then
|
|
creature:HandleSettingMask()
|
|
end
|
|
end
|
|
|
|
function PlayerBottomView:HandlerMemberDataChange(note)
|
|
local data = note.body
|
|
if(data)then
|
|
local id = data and data.id or nil
|
|
local creature = self:getCreature(id)
|
|
local sceneUI = creature and creature:GetSceneUI() or nil
|
|
if(sceneUI)then
|
|
sceneUI.roleBottomUI:HandlerMemberDataChange(creature)
|
|
end
|
|
end
|
|
end
|
|
|
|
function PlayerBottomView:HandlerBeHit( note )
|
|
-- body
|
|
if(LowBloodBlinkView.Instance)then
|
|
LowBloodBlinkView.ShowLowBloodBlinkWhenHit()
|
|
end
|
|
end
|
|
|
|
function PlayerBottomView:HandlerHit(note)
|
|
|
|
local data = note.body
|
|
local id = data.npcguid
|
|
local userid = data.userid
|
|
|
|
local creature = self:getCreature(id)
|
|
local sceneUI = creature and creature:GetSceneUI() or nil
|
|
if(sceneUI)then
|
|
sceneUI.roleBottomUI:SetIsBeHit(true,creature)
|
|
end
|
|
end
|
|
|
|
function PlayerBottomView:getCreature( guid )
|
|
-- body
|
|
if(not guid)then
|
|
return
|
|
end
|
|
return SceneCreatureProxy.FindCreature(guid)
|
|
end
|
|
|
|
function PlayerBottomView:HandleSceneUIEnable( )
|
|
-- body
|
|
local uiCm = NGUIUtil:GetCameraByLayername("SceneUI");
|
|
uiCm.enabled = true
|
|
end
|
|
|
|
function PlayerBottomView:HandleSceneUIDisable( )
|
|
-- body
|
|
local uiCm = NGUIUtil:GetCameraByLayername("SceneUI");
|
|
uiCm.enabled = false
|
|
end
|
|
|
|
local tempArray = {}
|
|
function PlayerBottomView:HandleGuildIconDownloadComplete(note)
|
|
local data = note.body
|
|
local guild = data.guild
|
|
local index = data.index
|
|
local time = data.time
|
|
NSceneUserProxy.Instance:FindCreateByGuild(guild,tempArray)
|
|
GuildPictureManager.Instance():log("PlayerBottomView HandleGuildIconDownloadComplete",guild,index, time)
|
|
if(tempArray and #tempArray>0)then
|
|
for i=1,#tempArray do
|
|
local creature = tempArray[i]
|
|
local sceneUI = creature and creature:GetSceneUI() or nil
|
|
if(sceneUI)then
|
|
sceneUI.roleBottomUI:HandlerPlayerFactionChange(creature)
|
|
end
|
|
end
|
|
end
|
|
TableUtility.ArrayClear(tempArray)
|
|
end |