|
|
StrengthMainView = StrengthMainView or BaseClass(BaseItem)
|
|
|
|
StrengthMainView.Grade = {
|
|
[1] = "SSS",
|
|
[2] = "SS",
|
|
[3] = "S",
|
|
[4] = "A",
|
|
[5] = "B",
|
|
[6] = "C",
|
|
[7] = "D",
|
|
}
|
|
|
|
function StrengthMainView:__init()
|
|
self.base_file = "strength"
|
|
self.layout_file = "StrengthMainView"
|
|
self.layer_name = "UI"
|
|
|
|
self.model = StrengthModel:getInstance()
|
|
self.mainRoleVo = RoleManager.Instance.mainRoleInfo
|
|
self.item_list = {}
|
|
self.is_load_model = false
|
|
-- self.use_local_view = true
|
|
|
|
self:Load()
|
|
end
|
|
|
|
function StrengthMainView:Load_callback()
|
|
self.content,
|
|
self.npcCon
|
|
= GetChildTransforms(self.transform,
|
|
{
|
|
"ScrollView/Viewport/Content",
|
|
"rolePanel/npcCon",
|
|
})
|
|
|
|
self.now_combat,
|
|
self.ideal_combat,
|
|
self.mark
|
|
= GetChildTexts(self.transform,
|
|
{
|
|
"nowCombat",
|
|
"idealCombat",
|
|
"markText",
|
|
})
|
|
|
|
self.girlImg,
|
|
self.markImg,
|
|
self.bg,
|
|
self.title_img
|
|
= GetChildImages(self.transform,
|
|
{
|
|
"girlImg",
|
|
"markImg",
|
|
"bg",
|
|
"title",
|
|
})
|
|
lua_resM:setOutsideImageSprite(self,self.bg,GameResPath.GetJpgImage("bqui_bg.jpg"), false)
|
|
-- lua_resM:setOutsideImageSprite(self,self.scroll_title_bg,GameResPath.GetJpgImage("mys_buy_bg.jpg"),false)
|
|
lua_resM:setOutsideImageSprite(self, self.girlImg, GameResPath.GetCommonImage("bqui_rw"), false)
|
|
lua_resM:setOutsideImageSprite(self, self.title_img, GameResPath.GetStrengthImage("bqui_pfbg"), false)
|
|
if self.need_refreshData then
|
|
self:SetData(self.index)
|
|
end
|
|
self:InitEvent()
|
|
end
|
|
|
|
function StrengthMainView:InitEvent()
|
|
local function onExpUpdate()
|
|
self:SetPropData()
|
|
end
|
|
self.exp_update_id = self.mainRoleVo:BindOne("exp",onExpUpdate)
|
|
|
|
local function onUpdateView() --刷新界面 现在VIP特殊 有个标签领取完后消失
|
|
if self.index then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
self.update_view_id = self.model:Bind(StrengthModel.UPDATE_VIEW_AFTER_CLICK, onUpdateView)
|
|
end
|
|
|
|
function StrengthMainView:SetData(index)
|
|
self.index = index
|
|
|
|
if self.is_loaded then
|
|
self:UpdateView()
|
|
self:SetPropData()
|
|
if not self.is_load_model then
|
|
self:LoadNPCModel()
|
|
end
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function StrengthMainView:UpdateView()
|
|
self.item_info = self.model:GetItemListByIndex(self.index)
|
|
|
|
if self.index == 1 then
|
|
self.type_id = 1 --进度条
|
|
else
|
|
self.type_id = 2 --星星
|
|
end
|
|
local len = TableSize(self.item_info)
|
|
for i,v in ipairs(self.item_list) do
|
|
v:SetVisible(false)
|
|
end
|
|
self.content.sizeDelta = Vector2(self.content.sizeDelta.x, len*97)
|
|
for i=1, len do
|
|
local item = self.item_list[i]
|
|
if item == nil then
|
|
item = StrengthMainItem.New(self.content)
|
|
self.item_list[i] = item
|
|
end
|
|
item:SetPosition(0,-(i-1)*97)
|
|
item:SetData(self.type_id, self.item_info[i], i)
|
|
item:SetVisible(true)
|
|
end
|
|
end
|
|
|
|
function StrengthMainView:SetPropData()
|
|
local cur_level = self.mainRoleVo.level
|
|
local min_lv = 100
|
|
local max_lv = 105
|
|
-- local conf_len = TableSize(self.model.fight_model)
|
|
-- local max_lev_conf = 99 + conf_len --因为配置表是从100级开始的 所以表的最后一个数据的等级是表长+99
|
|
-- if cur_level >= max_lev_conf then
|
|
-- cur_level = max_lev_conf
|
|
-- end
|
|
-- for i,v in ipairs(self.model.fight_model) do
|
|
-- if cur_level >= v.lv_min then
|
|
-- min_lv = v.lv_min
|
|
-- max_lv = v.lv_max
|
|
-- end
|
|
-- end
|
|
|
|
local cur_fightnum = self.mainRoleVo.fighting
|
|
local id = 1
|
|
local have_power = false
|
|
for i,v in pairs(self.model.fight_model) do
|
|
if cur_level >= v.lv_min and cur_level <= v.lv_max then
|
|
id = v.lv_min
|
|
have_power = true
|
|
break
|
|
end
|
|
end
|
|
if have_power == false then
|
|
-- self.mark.text = ""
|
|
self.markImg.gameObject:SetActive(false)
|
|
return
|
|
end
|
|
-- if not self.model.fight_model[cur_level] then
|
|
-- self.mark.text = ""
|
|
-- return
|
|
-- end
|
|
local rec_fightnum = self.model.fight_model[id].fight_num
|
|
local per = cur_fightnum / rec_fightnum
|
|
per = per * 100
|
|
local grade = 5 --战力等级
|
|
local config = Config.Improvefightcondition
|
|
local all_level = #config
|
|
if per < config[all_level].condition then
|
|
grade = config[all_level].icon
|
|
else
|
|
grade = 1
|
|
for i=0,all_level do
|
|
if config[all_level-i] then
|
|
if per > config[all_level-i].condition then
|
|
grade = config[all_level-i].icon
|
|
else
|
|
break
|
|
end
|
|
else
|
|
break
|
|
end
|
|
end
|
|
end
|
|
self.model.grade = grade
|
|
|
|
self.now_combat.text = self.mainRoleVo.fighting
|
|
-- self.ideal_combat.text = cur_level.."级推荐战力:"..rec_fightnum
|
|
self.ideal_combat.text = rec_fightnum
|
|
-- self.mark.text = StrengthMainView.Grade[grade]
|
|
lua_resM:setImageSprite(self, self.markImg,"strength_asset", "icon_"..grade, true)
|
|
end
|
|
|
|
function StrengthMainView:LoadNPCModel()
|
|
-- local model_id = 201039 --npc
|
|
-- lua_resM:SetRoleModel(self, self.npcCon, nil, nil, model_id, nil,
|
|
-- nil, SceneBaseType.Npc, self.layer_name, Vector3(10,175,0), {"idle"}, false, 250, Vector3(0,-220,0),nil,nil,nil,nil,nil,nil,nil)
|
|
self.is_load_model = true
|
|
end
|
|
|
|
function StrengthMainView:__delete()
|
|
for k,v in pairs(self.item_list) do
|
|
v:DeleteMe()
|
|
v = nil
|
|
end
|
|
self.item_list = {}
|
|
if self.exp_update_id then
|
|
self.mainRoleVo:UnBind(self.exp_update_id)
|
|
self.exp_update_id = nil
|
|
end
|
|
|
|
if self.update_view_id then
|
|
self.model:UnBind(self.update_view_id)
|
|
self.update_view_id = nil
|
|
end
|
|
end
|