TipManager = class("TipManager"); autoImport("BubbleTip"); autoImport("ItemFloatTip"); autoImport("ItemScoreTip"); autoImport("MonsterScoreTip"); autoImport("NpcScoreTip"); autoImport("MonthScoreTip"); autoImport("CollectScoreTip"); autoImport("PetScoreTip"); autoImport("CollectGroupScoreTip"); autoImport("NormalTip"); autoImport("ItemFormulaTip"); autoImport("RecommendPetTip") autoImport("AstrolabeTipView"); autoImport("HireCatTip"); autoImport("TitlePropTip") autoImport("TitleTip") autoImport("FoodRecipeTip"); autoImport("SkipAnimationTip") autoImport("EquipChooseTip"); autoImport("PetFashionChooseTip"); autoImport("PetSkillTip"); autoImport("TutorFindTip") autoImport("PreQuestTip") autoImport("GvgQuestTip") autoImport("GvgFinalFightTip") autoImport("HRefineAddEffectTip") autoImport("TaskQuestTip") autoImport("GuildBuildingTip") autoImport("ExchangeGoodsTip") autoImport("PetAdventureSpeicidTip") autoImport("PetAdventureEffTip") autoImport("PropTypeTip") autoImport("PetAdventureHeadTip") autoImport("EatFoodInfoTip") autoImport("FeedPetTip") autoImport("TabNameTip") TipManager.Instance = nil; function TipManager:ctor() self:Init(); TipManager.Instance = self; end function TipManager:Init() self.bubbleTips = {}; end function TipManager:ShowItemTip(data, funcConfig, stick, side, offset, tip, callback, hideGetPath) local sdata = { itemdata = data, tip = tip, callback = callback, hideGetPath = hideGetPath, funcConfig = funcConfig, }; side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(ItemFloatTip, sdata, side, stick, offset, "ItemFloatTip"); return TipsView.Me().currentTip; end function TipManager:ShowItemFloatTip(data, stick, side, offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(ItemFloatTip, data, side, stick, offset, "ItemFloatTip"); return TipsView.Me().currentTip; end function TipManager:ShowSkipAnimationTip(data, stick, side, offset) side = side or NGUIUtil.AnchorSide.TopRight offset = offset or {0,0} local _TipsView = TipsView.Me() _TipsView:ShowStickTip(SkipAnimationTip, data, side, stick, offset, "SkipAnimationTip") return _TipsView.currentTip end function TipManager:ShowTutorFindTip(data, stick, side, offset) side = side or NGUIUtil.AnchorSide.TopRight offset = offset or {0,0} local _TipsView = TipsView.Me() _TipsView:ShowStickTip(TutorFindTip, data, side, stick, offset, "TutorFindTip") return _TipsView.currentTip end -- 升級/製作配方 Tips function TipManager:ShowFormulaTip(itemData,stick,side,offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; if(self.formularTip~=nil)then self.formularTip:CloseSelf(); end local path = ResourcePathHelper.UICell("ItemFormulaTip"); local obj = Game.AssetManager_UI:CreateAsset(path, TipsView.Me().gameObject); self.formularTip = ItemFormulaTip.new(obj) self.formularTip:SetData(itemData); local pos = NGUIUtil.GetAnchorPoint(nil,stick,side,offset) self.formularTip:SetPos(pos); return self.formularTip; end -- 推薦寵物Tips function TipManager:ShowRecommendTip(data,stick,side,offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(RecommendPetTip,data,side,stick,offset,"RecommendPetTip") local recommendPetTip = TipsView.Me().currentTip return recommendPetTip end -- 稱號屬性Tips function TipManager:ShowTitlePropTip(propdata,stick,side,offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(TitlePropTip,propdata,side,stick,offset,"TitlePropTip") end -- 稱號Tips function TipManager:ShowTitleTip(data,stick,side,offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(TitleTip,data,side,stick,offset,"TitleTip") local titleTip = TipsView.Me().currentTip; -- if(not Slua.IsNull(stick))then -- titleTip:AddIgnoreBounds(stick); -- end return titleTip; end -- 公會設施Tips function TipManager:ShowGuildBuildingTip(data,stick,side,offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(GuildBuildingTip,data,side,stick,offset,"GuildBuildingTip") local tip = TipsView.Me().currentTip; return tip; end function TipManager:HideExchangeGoodsTip() local currentTipType = TipsView.Me().currentTipType if(currentTipType == ExchangeGoodsTip)then TipsView.Me():HideCurrent(); end end -- 追蹤商店Tips function TipManager:ShowExchangeGoodsTip(data,stick,side,offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(ExchangeGoodsTip,data,side,stick,offset,"ExchangeGoodsTip") local tip = TipsView.Me().currentTip; return tip; end -- 寵物餵食 function TipManager:ShowFeedPetTip(data,stick,side,offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(FeedPetTip,data,side,stick,offset,"FeedPetTip") local tip = TipsView.Me().currentTip; return tip; end -- 寵物冒險選擇指定魔物 function TipManager:ShowPetSpeicMonsterTip(data,stick,side,offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(PetAdventureSpeicidTip,data,side,stick,offset,"PetAdventureSpeicidTip") local tip = TipsView.Me().currentTip return tip end function TipManager:HidePetSpecTip() local currentTipType = TipsView.Me().currentTipType if(currentTipType == PetAdventureSpeicidTip)then TipsView.Me():HideCurrent(); end end -- 寵物冒險效率值 function TipManager:ShowPetAdventureEffDetail(data,stick,side,offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(PetAdventureEffTip,data,side,stick,offset,"PetAdventureEffTip") local tip = TipsView.Me().currentTip return tip end function TipManager:HidePetEffTip() local currentTipType = TipsView.Me().currentTipType if(currentTipType == PetAdventureEffTip)then TipsView.Me():HideCurrent(); end end function TipManager:HideTitleTip() local currentTipType = TipsView.Me().currentTipType if(currentTipType == TitleTip)then TipsView.Me():HideCurrent(); end end -- 星盤Tips function TipManager:ShowAstrobeTip(data,stick,side,offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(AstrolabeTipView,data,side,stick,offset,"AstrolabeTipView") return TipsView.Me().currentTip; end -- 最多出現三個Tips function TipManager:ShowCompItemTip(data, compdatas, funcConfig, stick, side, offset, callback) local sdata = { itemdata = data, funcConfig = funcConfig, compdata1 = compdatas[1], compdata2 = compdatas[2], callback = callback, }; side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(ItemFloatTip, sdata, side, stick, offset, "ItemFloatTip"); return TipsView.Me().currentTip; end function TipManager:ShowCatTipById(id, stick, side, offset) local sData = Table_MercenaryCat[id]; local tempData = { staticData = sData, }; return self:ShowCatTip(tempData, stick, side, offset); end function TipManager:ShowCatTip(data, stick, side, offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(HireCatTip, data, side, stick, offset, "HireCatTip"); local hireCatTip = TipsView.Me().currentTip; hireCatTip:AddAutoCloseEvent(); if(not Slua.IsNull(stick))then hireCatTip:AddIgnoreBounds(stick); end return hireCatTip; end function TipManager:HideCatTip() local currentTipType = TipsView.Me().currentTipType if(currentTipType == HireCatTip)then TipsView.Me():HideCurrent(); end end function TipManager:DestroyChildren(obj) local objNil = GameObjectUtil.Instance:ObjectIsNULL(obj); if(not objNil)then local childCount = obj.transform.childCount; if(childCount>0)then for i=0,childCount-1 do GameObject.DestroyImmediate(obj.transform:GetChild(i).gameObject); end end end return not objNil; end function TipManager:ShowPicMakeTip(data) TipsView.Me():ShowStickTip(data); end function TipManager:ShowBubbleTipById(id, stick, side, offset, closecallback) local cathchTip = self.bubbleTips[id]; if(cathchTip)then self:CloseBubbleTip(id); end local bubbleData = Table_BubbleID[id]; if(bubbleData and bubbleData.Offset)then offset = offset or {}; offset[1] = offset[1] or 0; offset[2] = offset[2] or 0; offset[1] = offset[1] + (bubbleData.Offset[1] or 0); offset[2] = offset[2] + (bubbleData.Offset[2] or 0); end self.bubbleTips[id] = BubbleTip.new("BubbleTip", stick, side, offset); local data = { bubbleid = id, closecallback = closecallback, }; self.bubbleTips[id]:SetData(data); self.bubbleTips[id]:OnEnter(); return self.bubbleTips[id]; end function TipManager:CloseBubbleTip(bubbleid) if(bubbleid)then if(self.bubbleTips[bubbleid])then self.bubbleTips[bubbleid]:OnExit(); self.bubbleTips[bubbleid] = nil; end else for _,tip in pairs(self.bubbleTips)do tip:OnExit(); end self.bubbleTips = {}; end end function TipManager:CloseItemTip() TipManager.CloseTip() end function TipManager:ShowNormalTip(text, stick, side, offset, closecallback, ignoreBounds) self:CloseNormalTip(); self.normalTip = NormalTip.new("NormalTip", stick, side, offset); self.normalTip:SetData(text); self.normalTip:OnEnter(); if(ignoreBounds)then for _,obj in pairs(ignoreBounds)do self.normalTip:AddIgnoreBounds(obj); end end return self.normalTip; end function TipManager:CloseNormalTip() if(self.normalTip)then self.normalTip:OnExit(); self.normalTip:DestroySelf(); self.normalTip = nil; end end function TipManager:ShowEatFoodInfoTip(text, textTime, stick, side, offset, closecallback, ignoreBounds) self:CloseEatFoodInfoTip(); self.eatFoodInfoTip = EatFoodInfoTip.new("EatFoodInfoTip", stick, side, offset); self.eatFoodInfoTip:SetData(text, textTime); self.eatFoodInfoTip:OnEnter(); if(ignoreBounds)then for _,obj in pairs(ignoreBounds)do self.eatFoodInfoTip:AddIgnoreBounds(obj); end end return self.eatFoodInfoTip; end function TipManager:CloseEatFoodInfoTip() if(self.eatFoodInfoTip)then self.eatFoodInfoTip:OnExit(); self.eatFoodInfoTip:DestroySelf(); self.eatFoodInfoTip = nil; end end function TipManager:ShowRewardListTip( data, stick, side, offset ) self:CloseRewardListTip(); TipsView.Me():ShowStickTip(RewardListTip, data, side, stick, offset, "RewardListTip"); return TipsView.Me().currentTip; end function TipManager:CloseRewardListTip() TipsView.Me():HideCurrent(); end function TipManager:CloseTip() TipsView.Me():HideCurrent(); end function TipManager:ShowFoodRecipeTip(recipeData, stick, side, offset) self:CloseRecipeTip(); TipsView.Me():ShowStickTip(FoodRecipeTip, recipeData, side, stick, offset, "FoodRecipeTip"); return TipsView.Me().currentTip; end function TipManager:CloseRecipeTip() TipsView.Me():HideCurrent(); end function TipManager:ShowEquipChooseTip( datas, stick, offset, closecall, closeCallParam) self:CloseTip(); TipsView.Me():ShowStickTip(EquipChooseTip, datas, side, stick, offset, "EquipChooseTip"); return TipsView.Me().currentTip; end function TipManager:ShowPetFashionChooseTip( datas, stick, side, offset, closecall, closeCallParam) self:CloseTip(); TipsView.Me():ShowStickTip(PetFashionChooseTip, datas, side, stick, offset, "PetFashionChooseTip"); local tip = TipsView.Me().currentTip; tip:SetCloseCall(closecall, closeCallParam); return tip; end function TipManager:ShowPetSkillTip(data, stick, side, offset) TipsView.Me():ShowStickTip(PetSkillTip, {data=data}, side, stick, offset, "SkillTip"); return TipsView.Me().currentTip; end function TipManager:ShowTaskQuestTip(stick,side,offset) TipsView.Me():ShowStickTip(TaskQuestTip,nil,side,stick,offset) end function TipManager:ShowGvgQuestTip(stick,side,offset) TipsView.Me():ShowStickTip(GvgQuestTip,nil,side,stick,offset) end function TipManager:ShowGvgFinalFightTip(stick,side,offset) TipsView.Me():ShowStickTip(GvgFinalFightTip,nil,side,stick,offset) end function TipManager:ShowPreQuestTip(preDatas,stick,side,offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(PreQuestTip,preDatas,side,stick,offset,"PreQuestTip") local titleTip = TipsView.Me().currentTip; return titleTip end function TipManager:ShowPropTypeTip(preDatas,stick,side,offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(PropTypeTip,preDatas,side,stick,offset,"PropTypeTip") local titleTip = TipsView.Me().currentTip; return titleTip end function TipManager:ShowPetAdventureHeadTip(data, stick, side, offset) side = side or NGUIUtil.AnchorSide.TopRight; offset = offset or {0,0}; TipsView.Me():ShowStickTip(PetAdventureHeadTip,data,side,stick,offset,"PetAdventureHeadTip") local tip = TipsView.Me().currentTip; return tip end function TipManager:ShowHRefineAddEffectTip(stick, side, offset) TipsView.Me():ShowStickTip(HRefineAddEffectTip,nil,side,stick,offset,"HRefineAddEffectTip") end function TipManager:ShowTabNameTip( data, stick, side, offset ) self:CloseTabNameTip(); TipsView.Me():ShowStickTip(TabNameTip, data, side, stick, offset, "TabNameTip"); return TipsView.Me().currentTip; end function TipManager:CloseTabNameTip() TipsView.Me():HideCurrent(); end