autoImport("ShopDressingView") HairDressingView = class("HairDressingView",ShopDressingView) HairDressingView.ViewType = UIViewType.NormalLayer autoImport("HairCutPage") autoImport("HairDyePage") local shoptype = ShopDressingProxy.Instance:GetShopType() local shopID = ShopDressingProxy.Instance:GetShopId() function HairDressingView:FindObjs() HairDressingView.super.FindObjs(self) self.pageDragScrollView = self:FindGO("page"):GetComponent(UIDragScrollView) self.cutPage = self:FindGO("cutPage") self.cutScrollView = self.cutPage:GetComponent(UIScrollView) self.dyePage = self:FindGO("dyePage") self.dyeScrollView = self.dyePage:GetComponent(UIScrollView) self.hairCutLabel = self:FindGO("HairCutLabel"):GetComponent(UILabel) self.hairDyeLabel = self:FindGO("HairDyeLabel"):GetComponent(UILabel) self.headgearToggle = self:FindGO("headgearToggle"):GetComponent(UIToggle) self.HideHeadgearLabel = self:FindGO("HideHeadgearLabel"):GetComponent(UILabel) self.hairCutToggle = self:FindGO("hairCutToggle") self.hairDyeToggle = self:FindGO("hairDyeToggle") self:Hide(self.dyePage); end function HairDressingView:InitUIView() self.super.InitUIView(self) self.HairCutPage = self:AddSubView("HairCutPage" ,HairCutPage); self.HairDyePage = self:AddSubView("HairDyePage" ,HairDyePage); self.hairCutLabel.text = ZhString.HairDressingView_HairCutPageTitle; self.hairDyeLabel.text = ZhString.HairDressingView_HairDyePageTitle; self.HideHeadgearLabel.text = ZhString.HairDressingView_HideHeadgear; self.pageType = 1; end function HairDressingView:AddEvts() self.super.AddEvts(self) self:AddClickEvent(self.headgearToggle.gameObject,function (g) self:ClickHeadGearToggle() end) self:AddTabChangeEvent(self.hairCutToggle,self.cutPage,PanelConfig.HairCutPage) self:AddTabChangeEvent(self.hairDyeToggle,self.dyePage,PanelConfig.HairDyePage) end local args = {} function HairDressingView:TabChangeHandler(key) HairDressingView.super.TabChangeHandler(self, key); if(self.pageType==key)then return end self.pageType = key; if(key==1) then self.pageDragScrollView.scrollView=self.cutScrollView; self.cutScrollView:ResetPosition(); self.chargeTitle.text = ZhString.HairdressingView_cost; if(self.HairDyePage.chooseCtl)then self.HairDyePage.chooseCtl:UnChoose(); self.HairDyePage.chooseCtl=nil; end self.HairCutPage:InitPageView() elseif(key==2) then self.pageDragScrollView.scrollView=self.dyeScrollView self.dyeScrollView:ResetPosition(); self.chargeTitle.text = ZhString.HairDressingView_consume; if(self.HairCutPage.chooseCtl)then self.HairCutPage.chooseCtl:UnChoose(); self.HairCutPage.chooseCtl=nil; end self.HairCutPage:Hide(self.HairCutPage.desc); self.HairCutPage:Hide(self.HairCutPage.menuDes); self.HairDyePage:InitPageView() end ShopDressingProxy.Instance.chooseData={}; args[1]=nil args[2]=nil args[3]=nil ShopDressingProxy.Instance:SetQueryData(args); self:DisableState(); self:RefreshModel(); end function HairDressingView:ClickHeadGearToggle() self:RefreshModel(); end function HairDressingView:ClickReplaceBtn() local queryData = ShopDressingProxy.Instance:GetQueryData() local hasTicket = false shoptype = ShopDressingProxy.Instance:GetShopType() shopID = ShopDressingProxy.Instance:GetShopId() if(queryData.type==ShopDressingProxy.DressingType.HAIR) then if(not queryData.id) then return end local choosedata = ShopDressingProxy.Instance.chooseData; if(nil == choosedata)then return end -- 是否是同一髮型 if(ShopDressingProxy.Instance:bSameItem(ShopDressingProxy.DressingType.HAIR))then MsgManager.FloatMsgTableParam(nil,ZhString.HairDressingView_bSameHair) return; end local tempcsv = ShopProxy.Instance:GetShopItemDataByTypeId(shoptype,shopID,choosedata.id) if(tempcsv:CheckCanRemove())then MsgManager.FloatMsgTableParam(nil,ZhString.HappyShop_overtime) return end local tempId = tempcsv.goodsID; local hairID = ShopDressingProxy.Instance:GetHairStyleIDByItemID(tempId); if(not hairID or not ShopDressingProxy.Instance:bActived(hairID,ShopDressingProxy.DressingType.HAIR))then local lockmsg = tempcsv:GetQuestLockDes() if(lockmsg)then MsgManager.FloatMsgTableParam(nil,lockmsg) end return end -- 是否有體驗券 local preCost = tempcsv.PreCost hasTicket=self:_bHasTicket(preCost) -- 錢夠不夠 if(not hasTicket)then local moneyID = choosedata.ItemID; local itemNum = choosedata.ItemCount*choosedata.Discount*0.01; local curMoney=ShopDressingProxy.Instance:GetCurMoneyByID(moneyID); if(curMoney0 else return false end end function HairDressingView:RefreshSelectedROB(type,precost,constID,costCount,hairID) self:Show(self.chargeNum) self:RefreshMoney(); local hasTicket=false if(type==1) then self.chargeNum.text = costCount; self.chargeTitle.text = ZhString.HairdressingView_cost; local curCount = ShopDressingProxy.Instance:GetCurMoneyByID(constID); if(curCount>=costCount)then self.chargeNum.color = ColorUtil.ButtonLabelBlue; else ColorUtil.RedLabel(self.chargeWidget) end hasTicket=self:_bHasTicket(precost) local flag = (curCount >= costCount) and ShopDressingProxy.Instance:bActived(hairID,ShopDressingProxy.DressingType.HAIR) self:SetReplaceBtnState(hasTicket and true or flag) local itemStaticData = Table_Item[constID] if(itemStaticData and itemStaticData.Icon) then IconManager:SetItemIcon(itemStaticData.Icon,self.itemIcon) end elseif (type==2) then local itemData = Table_Item[constID]; local iconName = itemData.NameZh or "" self.chargeNum.text = iconName .." x "..costCount local bEnough = false; local bagItem = BagProxy.Instance:GetItemByStaticID(constID); if(bagItem and bagItem.num>=costCount) then bEnough=true; self.chargeNum.color = ColorUtil.ButtonLabelBlue; else bEnough=false; ColorUtil.RedLabel(self.chargeWidget) end hasTicket=self:_bHasTicket(precost) self:SetReplaceBtnState(hasTicket and true or bEnough) self.chargeTitle.text = ZhString.HairDressingView_consume; IconManager:SetItemIcon(itemData.Icon,self.itemIcon) end self:Show(self.itemIcon) end function HairDressingView:RecvUseDressing(note) local id=note.body.id; local usetype=note.body.type; if(ShopDressingProxy.DressingType.HAIR == usetype) then ShopDressingProxy.Instance.originalHair = id; elseif(ShopDressingProxy.DressingType.HAIRCOLOR == usetype) then ShopDressingProxy.Instance.originalHairColor = id; elseif(ShopDressingProxy.DressingType.ClothColor == usetype)then ShopDressingProxy.Instance.originalBodyColor = id; end self:RefreshModel() end function HairDressingView:OnEnter() self.super.OnEnter(self) self:CameraRotateToMe() end