源战役客户端
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

209 lines
5.1 KiB

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