106 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Lua
		
	
			
		
		
	
	
			106 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Lua
		
	
require("Base/BasePanel")
 | 
						|
MapRoleInfoPopup = Inherit(BasePanel)
 | 
						|
local this = MapRoleInfoPopup
 | 
						|
--初始化组件(用于子类重写)
 | 
						|
function MapRoleInfoPopup:InitComponent()
 | 
						|
    this.spLoader = SpriteLoader.New()
 | 
						|
 | 
						|
    self.btnBack = Util.GetGameObject(self.gameObject, "bg/btnBack")
 | 
						|
    this.heroName = Util.GetGameObject(self.transform, "RoleName"):GetComponent("Text")
 | 
						|
    this.pos = Util.GetGameObject(self.transform, "PropImg2"):GetComponent("Image")
 | 
						|
    this.pro = Util.GetGameObject(self.transform, "PropImg1"):GetComponent("Image")
 | 
						|
    this.lv = Util.GetGameObject(self.transform, "RoleLevel"):GetComponent("Text")
 | 
						|
    this.starPre = Util.GetGameObject(self.transform, "StarPre")
 | 
						|
    this.starGrid= Util.GetGameObject(self.transform, "StarsRoot")
 | 
						|
 | 
						|
    this.atk = Util.GetGameObject(self.transform, "RoleInfo/pro/atk/proValue"):GetComponent("Text")
 | 
						|
    this.hp = Util.GetGameObject(self.transform, "RoleInfo/pro/hp/proValue"):GetComponent("Text")
 | 
						|
    this.phyDef = Util.GetGameObject(self.transform, "RoleInfo/pro/phyDef/proValue"):GetComponent("Text")
 | 
						|
    this.magDef = Util.GetGameObject(self.transform, "RoleInfo/pro/magDef/proValue"):GetComponent("Text")
 | 
						|
    this.speed = Util.GetGameObject(self.transform, "RoleInfo/pro/speed/proValue"):GetComponent("Text")
 | 
						|
    this.skillGrid=Util.GetGameObject(self.transform, "RoleInfo/skill")
 | 
						|
    this.power=Util.GetGameObject(self.transform, "RoleInfo/powerNum"):GetComponent("Text")
 | 
						|
    --this.xingDongExp=Util.GetGameObject(self.transform, "xingDongExp/expCurNum"):GetComponent("Text")
 | 
						|
end
 | 
						|
 | 
						|
--绑定事件(用于子类重写)
 | 
						|
function MapRoleInfoPopup:BindEvent()
 | 
						|
 | 
						|
    Util.AddClick(self.btnBack, function()
 | 
						|
        PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
 | 
						|
        self:ClosePanel()
 | 
						|
    end)
 | 
						|
end
 | 
						|
 | 
						|
--添加事件监听(用于子类重写)
 | 
						|
function MapRoleInfoPopup:AddListener()
 | 
						|
 | 
						|
end
 | 
						|
 | 
						|
--移除事件监听(用于子类重写)
 | 
						|
function MapRoleInfoPopup:RemoveListener()
 | 
						|
 | 
						|
end
 | 
						|
 | 
						|
--界面打开时调用(用于子类重写)
 | 
						|
function MapRoleInfoPopup:OnOpen(...)
 | 
						|
 | 
						|
    local arg = { ... }
 | 
						|
    local curHeroData = arg[1]
 | 
						|
    local allPropValue = arg[2]
 | 
						|
    --this.profession.sprite = this.spLoader:LoadSprite(GetResourcePath(curHeroData.ProfessionResourceId))
 | 
						|
    -- 角色属性图标
 | 
						|
    this.pos.sprite = this.spLoader:LoadSprite(curHeroData.professionIcon)
 | 
						|
    this.pro.sprite = this.spLoader:LoadSprite(GetProStrImageByProNum(curHeroData.changeProId))
 | 
						|
    this.lv.text =string.format(Language[11487],curHeroData.lv)
 | 
						|
    this.heroName.text = curHeroData.name
 | 
						|
    local star,starType = curHeroData.GetStar(1)
 | 
						|
    SetHeroStars(this.spLoader, this.starGrid, star,starType)
 | 
						|
    Util.SetParticleSortLayer(this.starGrid,self.sortingOrder + 1)
 | 
						|
    --计算战斗力
 | 
						|
    this.power.text =Language[10104] .. HeroPowerManager.GetHeroPower(curHeroData.dynamicId)
 | 
						|
    -- 计算属性
 | 
						|
    --显示队伍的属性数据
 | 
						|
    local allAddProVal=HeroPropManager.GetHeroProp(curHeroData.dynamicId)
 | 
						|
    local propList = FoodBuffManager.CalBuffPropValue(allPropValue)
 | 
						|
    this.atk.text = propList[4]
 | 
						|
    this.hp.text = propList[2]
 | 
						|
    this.phyDef.text = propList[5]
 | 
						|
    this.magDef.text = propList[6]
 | 
						|
    this.speed.text = propList[7]
 | 
						|
 | 
						|
    --技能
 | 
						|
   local allSkillDatas = HeroManager.GetCurHeroSidAndCurStarAllSkillDatas(curHeroData.id,curHeroData.star)
 | 
						|
    for i = 1, this.skillGrid.transform.childCount do
 | 
						|
        local go= this.skillGrid.transform:GetChild(i-1).gameObject
 | 
						|
        if #allSkillDatas>=i then
 | 
						|
            if  allSkillDatas[i] and allSkillDatas[i].skillConfig and  allSkillDatas[i].skillConfig.Name then
 | 
						|
                go:SetActive(true)
 | 
						|
                go.transform:GetComponent("Image").sprite=this.spLoader:LoadSprite(GetResourcePath(allSkillDatas[i].skillConfig.Icon))
 | 
						|
                Util.GetGameObject(go.transform,"Text"):GetComponent("Text").text="lv."..(allSkillDatas[i].skillId % 10)
 | 
						|
            else
 | 
						|
                go:SetActive(false)
 | 
						|
            end
 | 
						|
            Util.AddClick(go, function()
 | 
						|
                local maxLv= HeroManager.GetHeroSkillMaxLevel(curHeroData.heroConfig.Id, allSkillDatas[i].skillConfig.Type)
 | 
						|
                UIManager.OpenPanel(UIName.SkillInfoPopup,allSkillDatas[i],2,10,maxLv,i)
 | 
						|
            end)
 | 
						|
        else
 | 
						|
            go:SetActive(false)
 | 
						|
        end
 | 
						|
    end
 | 
						|
end
 | 
						|
--界面关闭时调用(用于子类重写)
 | 
						|
function MapRoleInfoPopup:OnClose()
 | 
						|
 | 
						|
end
 | 
						|
 | 
						|
--界面销毁时调用(用于子类重写)
 | 
						|
function MapRoleInfoPopup:OnDestroy()
 | 
						|
    this.spLoader:Destroy()
 | 
						|
 | 
						|
end
 | 
						|
 | 
						|
return MapRoleInfoPopup
 | 
						|
 |