347 lines
11 KiB
Plaintext
347 lines
11 KiB
Plaintext
autoImport("ItemCell");
|
|
AdventrueItemCell = class("AdventrueItemCell", ItemCell)
|
|
|
|
function AdventrueItemCell:Init()
|
|
self.itemObj = self:LoadPreferb("cell/AdventureSimpleItemCell", self.gameObject);
|
|
self.itemObj.transform.localPosition = Vector3.zero
|
|
AdventrueItemCell.super.Init(self);
|
|
self:AddCellClickEvent();
|
|
self.mvpMonster = self:FindGO("mvpMonster"):GetComponent(UISprite)
|
|
self.unlockClient = self:FindGO("unlockClient"):GetComponent(UISprite)
|
|
self.BagChooseSymbol = self:FindGO("BagChooseSymbol")
|
|
self.starIcon =self:FindGO("starIcon"):GetComponent(UISprite)
|
|
self.effectContainer = self:FindGO("EffectContainer");
|
|
self.packageStoreState = self:FindComponent("packageStoreState",UISprite)
|
|
self.canMakeDress = self:FindGO("canMakeDress")
|
|
end
|
|
|
|
function AdventrueItemCell:setIsSelected( isSelected )
|
|
-- body
|
|
if(self.isSelected ~= isSelected)then
|
|
self.isSelected = isSelected
|
|
if(isSelected)then
|
|
self:Show(self.BagChooseSymbol)
|
|
else
|
|
self:Hide(self.BagChooseSymbol)
|
|
end
|
|
end
|
|
end
|
|
|
|
function AdventrueItemCell:SetEvent(evtObj,event,hideSound)
|
|
local hideType = {hideClickSound = true,hideClickEffect = true}
|
|
self:AddClickEvent(evtObj,event,hideType)
|
|
end
|
|
|
|
local tempColor = LuaColor.white
|
|
function AdventrueItemCell:SetData(data)
|
|
-- self:PassEvent(AdventureNormalList.UpdateCellRedTip, self);
|
|
self:PassEvent(AdventureNormalList.UpdateCellRedTip,{ctrl = self,ret = false})
|
|
self.data = data
|
|
self:Hide(self.mvpMonster.gameObject)
|
|
self:Hide(self.canMakeDress)
|
|
if(data and data.type == SceneManual_pb.EMANUALTYPE_NPC)then
|
|
self:Hide(self.itemObj)
|
|
self:initHeadImage()
|
|
else
|
|
self:removeHeadImage()
|
|
self:Show(self.itemObj)
|
|
AdventrueItemCell.super.SetData(self, data)
|
|
end
|
|
self:SetActive(self.invalid, false)
|
|
self:setIsSelected(false)
|
|
self:Hide(self.unlockClient.gameObject)
|
|
self:Hide(self.starIcon.gameObject)
|
|
self:Hide(self.packageStoreState.gameObject)
|
|
if(not data)then
|
|
return
|
|
end
|
|
self:setIsSelected(data.isSelected)
|
|
self:setItemIsLock(data)
|
|
self:setPackageStoreState()
|
|
self:setFashionMakeState()
|
|
if(data.status == SceneManual_pb.EMANUALSTATUS_UNLOCK_CLIENT )then
|
|
self:Show(self.unlockClient.gameObject)
|
|
self.unlockClient.spriteName = "com_icon_add2"
|
|
self.unlockClient:MakePixelPerfect();
|
|
-- elseif(data.status == SceneManual_pb.EMANUALSTATUS_UNLOCK_STEP)then
|
|
-- local canBeClick = data:canBeClick()
|
|
-- if(canBeClick)then
|
|
-- self:Show(self.unlockClient.gameObject)
|
|
-- self.unlockClient.spriteName = "com_icon_add3"
|
|
-- self.unlockClient:MakePixelPerfect();
|
|
-- end
|
|
-- end
|
|
elseif(data:canBeClick())then
|
|
self:Show(self.unlockClient.gameObject)
|
|
self.unlockClient.spriteName = "com_icon_add3"
|
|
self.unlockClient:MakePixelPerfect();
|
|
end
|
|
|
|
if(data.status ~= SceneManual_pb.EMANUALSTATUS_DISPLAY and data.status ~= SceneManual_pb.EMANUALSTATUS_UNLOCK_CLIENT )then
|
|
if(data.type == SceneManual_pb.EMANUALTYPE_NPC)then
|
|
if(self.targetCell)then
|
|
self.targetCell.frameSp.spriteName = "com_bg_head"
|
|
end
|
|
else
|
|
self.bg.spriteName = "com_icon_bottom3"
|
|
end
|
|
else
|
|
if(data.type == SceneManual_pb.EMANUALTYPE_NPC)then
|
|
if(self.targetCell)then
|
|
self.targetCell.frameSp.spriteName = "com_icon_bottom6"
|
|
end
|
|
else
|
|
self.bg.spriteName = "com_icon_bottom6"
|
|
end
|
|
-- self:Hide(self.bg.gameObject)
|
|
-- self:Show(self.empty)
|
|
end
|
|
|
|
if(data.type == SceneManual_pb.EMANUALTYPE_MONSTER or data.type == SceneManual_pb.EMANUALTYPE_PET)then
|
|
if(data.staticData.Icon and data.staticData.Icon ~= "")then
|
|
self:Show(self.icon.gameObject)
|
|
local sus = IconManager:SetFaceIcon(data.staticData.Icon,self.icon)
|
|
if(not sus)then
|
|
IconManager:SetFaceIcon("boli",self.icon)
|
|
end
|
|
if(data.staticData.Type == "MVP")then
|
|
local bossData = Table_Boss[self.data.staticId]
|
|
self:Show(self.mvpMonster.gameObject)
|
|
if(bossData and bossData.Type == 3)then
|
|
IconManager:SetUIIcon("ui_mvp_dead11_JM",self.mvpMonster)
|
|
else
|
|
IconManager:SetUIIcon("ui_HP_1",self.mvpMonster)
|
|
end
|
|
-- self.mvpMonster.spriteName = "ui_HP_1"
|
|
elseif(data.staticData.Type == "MINI")then
|
|
self:Show(self.mvpMonster.gameObject)
|
|
IconManager:SetUIIcon("ui_HP_2",self.mvpMonster)
|
|
-- self.mvpMonster.spriteName = "ui_HP_2"
|
|
end
|
|
|
|
if(data.staticData.IsStar and data.staticData.IsStar == 1)then
|
|
self:Show(self.starIcon.gameObject)
|
|
IconManager:SetUIIcon("icon_40",self.starIcon)
|
|
-- self.starIcon.spriteName = "icon_40"
|
|
self.starIcon:MakePixelPerfect()
|
|
else
|
|
self:Hide(self.starIcon.gameObject)
|
|
end
|
|
|
|
self.icon:MakePixelPerfect();
|
|
-- self.icon.transform.localScale = Vector3(0.7,0.7,1)
|
|
else
|
|
self:Hide(self.icon.gameObject)
|
|
end
|
|
else
|
|
self:Hide(self.starIcon.gameObject)
|
|
local type = data.staticData.Type
|
|
if(type and AdventureDataProxy.Instance:isCard(type))then
|
|
if(data.status ~= SceneManual_pb.EMANUALSTATUS_DISPLAY and data.status ~= SceneManual_pb.EMANUALSTATUS_UNLOCK_CLIENT)then
|
|
-- self:SetTextureColor(self.bg,Color(1/255,2/255,3/255,160/255),true)
|
|
-- self:SetTextureColor(self.cardItem, Color(1,1,1,1), true)
|
|
-- self.cardItem:SetCardWhite()
|
|
else
|
|
self.cardItem:SetCardGrey();
|
|
-- self:SetTextureColor(self.cardItem,Color(1/255,2/255,3/255,160/255),true)
|
|
-- self:SetTextureColor(self.bg, Color(1,1,1,1), true)
|
|
end
|
|
elseif(type and type == 1210)then
|
|
self:Hide(self.bg.gameObject)
|
|
if(data.status ~= SceneManual_pb.EMANUALSTATUS_DISPLAY and data.status ~= SceneManual_pb.EMANUALSTATUS_UNLOCK_CLIENT)then
|
|
self:SetTextureColor(self.frameItem, Color(1,1,1,1), true)
|
|
else
|
|
self:SetTextureColor(self.frameItem,Color(1/255,2/255,3/255,160/255),true)
|
|
end
|
|
elseif(data.type == SceneManual_pb.EMANUALTYPE_COLLECTION)then
|
|
local atlas = RO.AtlasMap.GetAtlas("NewCom")
|
|
if(atlas and data.status == SceneManual_pb.EMANUALSTATUS_DISPLAY)then
|
|
self.icon.atlas = atlas
|
|
self.icon.spriteName = "Adventure_icon_03"
|
|
self.icon:MakePixelPerfect();
|
|
end
|
|
end
|
|
end
|
|
|
|
local RedTipCell = self:FindGO("RedTipCell")
|
|
|
|
if(self.data:isCollectionGroup())then
|
|
if(self.data:isTotalComplete())then
|
|
self.bg.spriteName = "com_icon_bottom3"
|
|
elseif(self.data:isTotalUnComplete())then
|
|
local atlas = RO.AtlasMap.GetAtlas("NewCom")
|
|
self.icon.atlas = atlas
|
|
self.icon.spriteName = "Adventure_icon_03"
|
|
self.icon:MakePixelPerfect();
|
|
self.bg.spriteName = "com_icon_bottom6"
|
|
else
|
|
local atlas = RO.AtlasMap.GetAtlas("NewCom")
|
|
-- self.icon.atlas = atlas
|
|
-- self.icon.spriteName = "Adventure_icon_03"
|
|
-- self.icon:MakePixelPerfect();
|
|
-- self.bg.spriteName = "com_icon_bottom6"
|
|
tempColor:Set(1.0/255.0,2.0/255.0,3.0/255.0,160/255)
|
|
self.icon.color = tempColor
|
|
self:Show(self.unlockClient.gameObject)
|
|
self.unlockClient.spriteName = "Adventure_icon_03"
|
|
self.unlockClient:MakePixelPerfect();
|
|
self:PassEvent(AdventureNormalList.UpdateCellRedTip,{ctrl = self,ret = true})
|
|
if(RedTipCell)then
|
|
self:Show(RedTipCell)
|
|
end
|
|
end
|
|
else
|
|
if(RedTipCell)then
|
|
self:Hide(RedTipCell)
|
|
end
|
|
end
|
|
end
|
|
|
|
function AdventrueItemCell:setItemIsLock( data )
|
|
-- body
|
|
-- printRed("data.status:")
|
|
-- print(data.status)
|
|
if(data.status ~= SceneManual_pb.EMANUALSTATUS_DISPLAY and data.status ~= SceneManual_pb.EMANUALSTATUS_UNLOCK_CLIENT)then
|
|
-- self.bg.color = Color(1/255,2/255,3/255,4/255)
|
|
-- self.quality.color = Color(1/255,2/255,3/255,4/255)
|
|
|
|
tempColor:Set(1,1,1,1)
|
|
self.mvpMonster.color = tempColor
|
|
self.icon.color = tempColor
|
|
self.starIcon.color = tempColor
|
|
if(self.targetCell)then
|
|
self.targetCell:SetActive(true)
|
|
end
|
|
else
|
|
tempColor:Set(1.0/255.0,2.0/255.0,3.0/255.0,160/255)
|
|
if(self.targetCell)then
|
|
self.targetCell:SetActive(false)
|
|
end
|
|
self.mvpMonster.color = tempColor
|
|
self.icon.color = tempColor
|
|
self.starIcon.color = tempColor
|
|
-- self.bg.color = Color(1,1,1,1)
|
|
-- local qInt = data.staticData.Quality;
|
|
-- if(qInt and qInt~=0)then
|
|
-- self.quality.color = CustomColor.ItemFrameColor[qInt];
|
|
-- end
|
|
end
|
|
end
|
|
|
|
-- function AdventrueItemCell:( )
|
|
-- -- body
|
|
-- end
|
|
|
|
function AdventrueItemCell:removeHeadImage( )
|
|
if(self.targetCell)then
|
|
GameObject.Destroy(self.targetCell.gameObject)
|
|
-- Game.GOLuaPoolManager:AddToUIPool(AdventrueItemCell.headResId , self.targetCell.gameObject)
|
|
self.targetCell = nil
|
|
end
|
|
end
|
|
--[[
|
|
function AdventrueItemCell:setFashionMakeState( )
|
|
if(self.data.type ~= SceneManual_pb.EMANUALTYPE_FASHION)then
|
|
return
|
|
end
|
|
local islock = not self.data.store and self.data.status == SceneManual_pb.EMANUALSTATUS_DISPLAY
|
|
if(AdventureDataProxy.Instance:CheckFashionCanMake(self.data.staticId) and islock)then
|
|
self:Show(self.canMakeDress)
|
|
else
|
|
self:Hide(self.canMakeDress)
|
|
end
|
|
end
|
|
|
|
function AdventrueItemCell:setPackageStoreState( )
|
|
if(self.data.type ~= SceneManual_pb.EMANUALTYPE_CARD and self.data.type ~= SceneManual_pb.EMANUALTYPE_FASHION)then
|
|
return
|
|
end
|
|
if(self.data and self.data.store)then
|
|
self:Show(self.packageStoreState.gameObject)
|
|
self.packageStoreState.spriteName = "Adventure_icon_02"
|
|
elseif(self.data and AdventureDataProxy.Instance:checkFashionCanStore(self.data))then
|
|
self:Show(self.packageStoreState.gameObject)
|
|
self.packageStoreState.spriteName = "Adventure_icon_01"
|
|
else
|
|
self:Hide(self.packageStoreState.gameObject)
|
|
end
|
|
end
|
|
--]]
|
|
|
|
|
|
function AdventrueItemCell:setFashionMakeState( )
|
|
if(self.data.type ~= SceneManual_pb.EMANUALTYPE_FASHION ) then
|
|
return
|
|
end
|
|
local islock = not self.data.store and self.data.status == SceneManual_pb.EMANUALSTATUS_DISPLAY
|
|
if(AdventureDataProxy.Instance:CheckFashionCanMake(self.data.staticId) and islock)then
|
|
self:Show(self.canMakeDress)
|
|
else
|
|
self:Hide(self.canMakeDress)
|
|
end
|
|
end
|
|
|
|
function AdventrueItemCell:setPackageStoreState( )
|
|
if(self.data.type ~= SceneManual_pb.EMANUALTYPE_CARD and self.data.type ~= SceneManual_pb.EMANUALTYPE_FASHION) then
|
|
return
|
|
end
|
|
if(self.data and self.data.store)then
|
|
self:Show(self.packageStoreState.gameObject)
|
|
self.packageStoreState.spriteName = "Adventure_icon_02"
|
|
elseif(self.data and AdventureDataProxy.Instance:checkFashionCanStore(self.data))then
|
|
self:Show(self.packageStoreState.gameObject)
|
|
self.packageStoreState.spriteName = "Adventure_icon_01"
|
|
else
|
|
self:Hide(self.packageStoreState.gameObject)
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function AdventrueItemCell:initHeadImage( )
|
|
-- body
|
|
if(not self.targetCell)then
|
|
-- local headCellObj = self:FindGO("PortraitCell")
|
|
-- local headCellObj = Game.AssetManager_UI:CreateAsset(AdventrueItemCell.headResId , self.gameObject)
|
|
|
|
self.targetCell = HeadIconCell.new()
|
|
self.targetCell:CreateSelf(self.gameObject)
|
|
self.targetCell:SetScale(0.65)
|
|
self.targetCell:SetMinDepth(3)
|
|
|
|
-- headCellObj.transform.localPosition = Vector3.zero
|
|
-- headCellObj.transform.localScale = Vector3(0.675,0.675,0.675)
|
|
-- self.targetCell = PlayerFaceCell.new()
|
|
-- self.targetCell:Hide(self.targetCell.hp.gameObject)
|
|
-- self.targetCell:Hide(self.targetCell.mp.gameObject)
|
|
-- self.targetCell:HideLevel()
|
|
-- self.targetCell:HideHpMp()
|
|
end
|
|
|
|
-- local headData = HeadImageData.new();
|
|
-- headData:TransByNpcData(self.data.staticData);
|
|
-- -- 臨時處理
|
|
-- headData.frame = nil;
|
|
local npcdata = self.data.staticData
|
|
local data = ReusableTable.CreateTable()
|
|
if(npcdata.Icon == "")then
|
|
data.bodyID = npcdata.Body or 0
|
|
data.hairID = npcdata.Hair or 0
|
|
data.haircolor = npcdata.HeadDefaultColor or 0
|
|
data.gender = npcdata.Gender or -1
|
|
data.eyeID = npcdata.Eye or 0
|
|
self.targetCell:SetData(data)
|
|
else
|
|
self.targetCell:SetSimpleIcon(npcdata.Icon)
|
|
end
|
|
|
|
ReusableTable.DestroyTable(data)
|
|
end
|
|
|
|
function AdventrueItemCell:PlayUnlockEffect()
|
|
self:PlayUIEffect(EffectMap.UI.Activation,self.effectContainer,true)
|
|
end
|
|
|