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