挂机角色压缩

zhangjiannan 2024-11-06 15:28:47 +08:00
parent a7a29489a0
commit d34fc37a50
10 changed files with 860 additions and 482 deletions

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a4f0b09f10fb4104ea5e046158c8878d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,110 +0,0 @@
fileFormatVersion: 2
guid: f381e8bd95107894da9958c0b167a35c
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 9
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 2
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 65
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 57
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 4
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: ace900888ca4e3c44b2271589529d876
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,110 +0,0 @@
fileFormatVersion: 2
guid: 99b2487eaf921e848a61a991b4de7087
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 9
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 2
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 65
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 57
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 4
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: c1473225c9395064dada2c776b01d3bd
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,110 +0,0 @@
fileFormatVersion: 2
guid: 81edafdfcd068754f8b356ce1ee0b000
TextureImporter:
fileIDToRecycleName: {}
externalObjects: {}
serializedVersion: 9
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 2
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 65
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 57
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 4
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 0bca6b466821a124eab28cf0b0da81a5
vertices: []
indices:
edges: []
weights: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -188,6 +188,7 @@ function this:InitComponent(root, parent, battleSceneLogic, battleScene)
effect.transform:SetParent(this.effectRoot.transform)
effect.transform.localScale = Vector3.New(0.05, 0.05, 0.05)
effect.transform.localPosition = Vector3.New(0, 0, 0)
effect.transform.eulerAngles = Vector3.New(35, 0, 0)
effect:SetActive(false)
table.insert(this.moneyEffects, effect)
@ -532,6 +533,7 @@ function this.SetRoleSingleWithData(go, _heroconfigData, _pos, camp)
local liveNode = poolManager:LoadLive(liveName, go.transform, Vector3.New(0.05, 0.05, 0.05) * _scale,
Vector3.New(curPos[1], curPos[2], 0))
liveNode.transform.eulerAngles = Vector3.New(35, 0, 0)
if not liveNode then
LogError("liveNode = nil _heroconfigData.Id:" .. _heroconfigData.Id)
end
@ -817,6 +819,7 @@ function this:CheckSkillForoleEffect(isLeft, combat, _aObj, _bObj, type)
go.transform.localScale = type == 1 and Vector3.New(0.05, 0.05, 0.05) or Vector3.New(-0.05, 0.05, 0.05)
go.transform.localPosition = Vector3.zero + offset
go.transform.eulerAngles = Vector3.New(35, 0, 0)
go:SetActive(true)
self:AddDelayRecycleRes(path, go, 4)
end
@ -869,6 +872,7 @@ function this:CheckFullSceenSkill(isLeft, combat, _aObj, _bObj, type, livego)
go.transform:SetParent(battleSceneSkillTransform)
go.transform.localScale = type == 1 and Vector3.New(0.05, 0.05, 0.05) or Vector3.New(-0.05, 0.05, 0.05)
go.transform.localPosition = pos + offset
go.transform.eulerAngles = Vector3.New(35, 0, 0)
go:SetActive(true)
self:AddDelayRecycleRes(path, go, 4)
end
@ -1131,7 +1135,7 @@ function this:ShootBullet(combat, _aObj, _bObj, type)
local go = loadAssetForScene(bulletEffect)
go.transform:SetParent(battleSceneSkillTransform)
go.transform.localScale = type == 1 and Vector3.New(0.05, 0.05, 0.05) or Vector3.New(-0.05, 0.05, 0.05)
go.transform.eulerAngles = Vector3.New(35, 0, 0)
--开始位置
local startV3 = _aObj.position
local tempOffset = combat.Offset or Vector3.zero
@ -1475,6 +1479,7 @@ function this:CheckSkillHitEffect(livego, combat, turnIdx)
go2.transform:SetParent(livego.transform)
go2.transform.localScale = turnIdx == 4 and Vector3.New(-0.05, 0.05, 0.05) or Vector3.New(0.05, 0.05, 0.05)
go2.transform.localPosition = offset
go2.transform.eulerAngles = Vector3.New(35, 0, 0)
go2:SetActive(true)
self:AddDelayRecycleRes(combat.Hit, go2, 1)

View File

@ -7,13 +7,13 @@ local _CurPageIndex = 0
local orginLayer
local redPointTypeList = {}
local subViewList = {}
local isEnter = 0 --是否开始拖动
local isEnter = 0 --是否开始拖动
local lastIndex = 0
--初始化组件(用于子类重写)
function RecruitMainPanel:InitComponent()
this.spLoader = SpriteLoader.New()
orginLayer = 0
this.mask = Util.GetGameObject(self.gameObject,"mask")
this.mask = Util.GetGameObject(self.gameObject, "mask")
this.mask:SetActive(false)
this.tabbox = Util.GetGameObject(self.gameObject, "bg/tabbox")
this.btnBack = Util.GetGameObject(self.gameObject, "bg/btnBack")
@ -29,53 +29,53 @@ function RecruitMainPanel:InitComponent()
this.select = Util.GetGameObject(this.tabbox, "select")
this.selectIma = Util.GetGameObject(this.select, "Image"):GetComponent("Image")
this.select.gameObject:SetActive(false)
this.upView = SubUIManager.Open(SubUIConfig.UpView,self.gameObject.transform)
this.upView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform)
this.itemList = {}
this.moveWidth = this.grid:GetComponent("RectTransform").rect.width
this.itemWidth = this.item:GetComponent("RectTransform").rect.width
this.off = 51
this.pos0 = Vector3.New(this.off * (0 - 2) + (0 - 1) * this.itemWidth - 186,28,0)
self.lastPage,self.curPage,self.nextPage = 0,0,0
this.pos0 = Vector3.New(this.off * (0 - 2) + (0 - 1) * this.itemWidth - 186, 28, 0)
self.lastPage, self.curPage, self.nextPage = 0, 0, 0
this.trigger = Util.GetEventTriggerListener(this.gameObject) --触摸事件
end
function this.RemoveTrigger()
function this.RemoveTrigger()
this.trigger.onBeginDrag = this.trigger.onBeginDrag - this.OnBeginDrag
this.trigger.onDrag = this.trigger.onDrag - this.OnDrag
this.trigger.onEndDrag = this.trigger.onEndDrag - this.OnEndDrag
end
function this.AddTrigger()
this.trigger.onBeginDrag = this.trigger.onBeginDrag + this.OnBeginDrag
this.trigger.onDrag = this.trigger.onDrag + this.OnDrag
this.trigger.onEndDrag = this.trigger.onEndDrag + this.OnEndDrag
this.trigger.onBeginDrag = this.trigger.onBeginDrag + this.OnBeginDrag
this.trigger.onDrag = this.trigger.onDrag + this.OnDrag
this.trigger.onEndDrag = this.trigger.onEndDrag + this.OnEndDrag
end
function this.SortItemList()
table.sort(this.itemList,function(a,b)
table.sort(this.itemList, function(a, b)
return a.index < b.index
end)
end
---设置拖动左右方向
function this.SetPos(v2)
if isEnter == 1 then
function this.SetPos(v2)
if isEnter == 1 then
if v2.x > 2 then
isEnter = 2 --右
isEnter = 2 --右
elseif v2.x < -2 then
isEnter = 3 --左
isEnter = 3 --左
end
end
end
---手指拖动结束 ui归位
function this.MoveTo(LOR,func)
function this.MoveTo(LOR, func)
if LOR < 2 then
return
end
this.select.gameObject:SetActive(false)
for i = 1,#this.itemList do
for i = 1, #this.itemList do
this.itemList[i].move = true
local targetPos = ""
if LOR == 2 then
@ -84,29 +84,29 @@ function this.MoveTo(LOR,func)
this.itemList[i].tran.anchoredPosition = this.pos0
else
targetPos = i + 1
end
end
elseif LOR == 3 then
if i - 1 < 1 then
targetPos = #this.itemList
this.itemList[i].tran.anchoredPosition = this.pos4
else
targetPos = i - 1
end
end
local targetPos1 = this.itemList[targetPos].pos
this.itemList[i].go.transform:DOAnchorPos(targetPos1, 0.2, false)
:OnStart(function()
end)
:OnUpdate(function()end)
:OnComplete(function ()
this.itemList[i].index = targetPos
this.itemList[i].pos = targetPos1
this.itemList[i].move = false
if func then
func()
targetPos = i - 1
end
end):SetEase(Ease.Linear)
end
end
local targetPos1 = this.itemList[targetPos].pos
this.itemList[i].go.transform:DOAnchorPos(targetPos1, 0.2, false)
:OnStart(function()
end)
:OnUpdate(function() end)
:OnComplete(function()
this.itemList[i].index = targetPos
this.itemList[i].pos = targetPos1
this.itemList[i].move = false
if func then
func()
end
end):SetEase(Ease.Linear)
end
end
function this.OnBeginDrag(Pointgo, data)
@ -114,11 +114,13 @@ function this.OnBeginDrag(Pointgo, data)
isEnter = 1
end
end
function this.OnDrag(Pointgo, data)
if isEnter == 1 then
this.SetPos(data.delta)
end
end
function this.OnEndDrag(Pointgo, data)
if isEnter < 1 then
return
@ -127,24 +129,24 @@ function this.OnEndDrag(Pointgo, data)
isEnter = 1
this.mask:SetActive(true)
local localIsenter = false
this.RemoveTrigger()
this.thread1 = coroutine.start(function()
this.MoveTo(ro)
this.RemoveTrigger()
this.thread1 = coroutine.start(function()
this.MoveTo(ro)
--coroutine.wait(0.2/(this.itemWidth + this.off))
while(not localIsenter) do
while (not localIsenter) do
local isfinish = true
for j = 1,#this.itemList do
for j = 1, #this.itemList do
if this.itemList[j].move then
isfinish = false
break
end
end
if isfinish then
end
if isfinish then
localIsenter = true
end
coroutine.wait(0.2/(this.itemWidth + this.off))
coroutine.wait(0.2 / (this.itemWidth + this.off))
end
this.SortItemList()
this.SortItemList()
if ro == 2 then
this:RightAction()
elseif ro == 3 then
@ -152,8 +154,8 @@ function this.OnEndDrag(Pointgo, data)
end
this.mask:SetActive(false)
this.AddTrigger()
isEnter = 0
end)
isEnter = 0
end)
end
--绑定事件(用于子类重写)
@ -166,27 +168,27 @@ function RecruitMainPanel:BindEvent()
local localIsenter = false
this.mask:SetActive(true)
this.RemoveTrigger()
self.thread = coroutine.start(function()
self.thread = coroutine.start(function()
this.MoveTo(3)
--coroutine.wait(0.2/(this.itemWidth + this.off))
while(not localIsenter) do
while (not localIsenter) do
local isfinish = true
for j = 1,#this.itemList do
for j = 1, #this.itemList do
if this.itemList[j].move then
isfinish = false
break
end
end
if isfinish then
end
if isfinish then
localIsenter = true
end
coroutine.wait(0.2/(this.itemWidth + this.off))
coroutine.wait(0.2 / (this.itemWidth + this.off))
end
this.SortItemList()
this:LeftAction()
this.mask:SetActive(false)
this.AddTrigger()
end)
this.AddTrigger()
end)
end)
Util.AddClick(this.rightBtn, function()
local localIsenter = false
@ -195,31 +197,31 @@ function RecruitMainPanel:BindEvent()
self.thread = coroutine.start(function()
this.MoveTo(2)
--coroutine.wait(0.2/(this.itemWidth + this.off))
while(not localIsenter) do
while (not localIsenter) do
local isfinish = true
for j = 1,#this.itemList do
for j = 1, #this.itemList do
if this.itemList[j].move then
isfinish = false
break
end
end
if isfinish then
end
if isfinish then
localIsenter = true
end
coroutine.wait(0.2/(this.itemWidth + this.off))
coroutine.wait(0.2 / (this.itemWidth + this.off))
end
this.SortItemList()
this:RightAction()
this.mask:SetActive(false)
this.AddTrigger()
coroutine.yield()
coroutine.yield()
end)
end)
Util.AddClick(this.jiantouyou , function()
Util.AddClick(this.jiantouyou, function()
this.mask:SetActive(true)
this.RemoveTrigger()
for i = self.curPage - 1,1,-1 do
for i = self.curPage - 1, 1, -1 do
if self.dicData[i].RpType and self.dicData[i].RpType > 0 then
if RecruitManager.GetAllRecruitBtnRedpoint(self.dicData[i].RpType) then
lastIndex = self.curPage
@ -227,16 +229,16 @@ function RecruitMainPanel:BindEvent()
break
end
end
end
end
self.CurRecruitId = self.dicData[self.curPage].ShopData[1][1]
self.lastPage = self.curPage - 1 > 0 and self.curPage - 1 or #self.dicData
self.nextPage = self.curPage + 1 > #self.dicData and 1 or self.curPage + 1
self.nextPage = self.curPage + 1 > #self.dicData and 1 or self.curPage + 1
this:SetIndex()
end)
Util.AddClick(this.jiantouzuo , function()
Util.AddClick(this.jiantouzuo, function()
this.mask:SetActive(true)
this.RemoveTrigger()
for i = self.curPage + 1,#self.dicData,1 do
for i = self.curPage + 1, #self.dicData, 1 do
if self.dicData[i].RpType and self.dicData[i].RpType > 0 then
if RecruitManager.GetAllRecruitBtnRedpoint(self.dicData[i].RpType) then
lastIndex = self.curPage
@ -244,53 +246,53 @@ function RecruitMainPanel:BindEvent()
break
end
end
end
end
self.CurRecruitId = self.dicData[self.curPage].ShopData[1][1]
self.lastPage = self.curPage - 1 > 0 and self.curPage - 1 or #self.dicData
self.nextPage = self.curPage + 1 > #self.dicData and 1 or self.curPage + 1
self.nextPage = self.curPage + 1 > #self.dicData and 1 or self.curPage + 1
this:SetIndex()
end)
end
function RecruitMainPanel:RefreshJianTou()
local index = 0
for i = self.curPage - 1,1,-1 do
for i = self.curPage - 1, 1, -1 do
if self.dicData[i].RpType and self.dicData[i].RpType > 0 then
if RecruitManager.GetAllRecruitBtnRedpoint(self.dicData[i].RpType) then
index = i
break
end
end
end
end
if index == 0 then
this.jiantouyou.gameObject:SetActive(false)
else
this.jiantouyou.gameObject:SetActive(true)
end
end
index = 0
for i = self.curPage + 1,#self.dicData,1 do
for i = self.curPage + 1, #self.dicData, 1 do
if self.dicData[i].RpType and self.dicData[i].RpType > 0 then
if RecruitManager.GetAllRecruitBtnRedpoint(self.dicData[i].RpType) then
index = i
break
end
end
end
end
if index == 0 then
this.jiantouzuo.gameObject:SetActive(false)
else
this.jiantouzuo.gameObject:SetActive(true)
end
end
end
--添加事件监听(用于子类重写)
function RecruitMainPanel:AddListener()
end
--移除事件监听(用于子类重写)
function RecruitMainPanel:RemoveListener()
end
local redSort = {
@ -302,23 +304,23 @@ local redSort = {
}
--界面打开时调用(用于子类重写)
function RecruitMainPanel:OnOpen(_index)
function RecruitMainPanel:OnOpen(_index)
if not _index then
if GuideManager.IsInMainGuide() and GuideManager.GetCurId(1) == 105 then
if GuideManager.IsInMainGuide() and GuideManager.GetCurId(1) == 105 then
self.CurRecruitId = TableRecruitType.Putong
elseif GuideManager.IsInMainGuide() and GuideManager.GetCurId(1) == 1003 then
self.CurRecruitId = TableRecruitType.Shenjiang
elseif GuideManager.IsFunctionGuideExist() and GuideManager.curId == 101402 then
elseif GuideManager.IsFunctionGuideExist() and GuideManager.curId == 101402 then
self.CurRecruitId = TableRecruitType.Siyuanzhen
elseif GuideManager.IsFunctionGuideExist() and GuideManager.curId == 103705 then
elseif GuideManager.IsFunctionGuideExist() and GuideManager.curId == 103705 then
self.CurRecruitId = TableRecruitType.Shenjiang
else
local data = RecruitManager.GetRecruitData()
local data = RecruitManager.GetRecruitData()
local isRed = 0
table.sort(data,function(a,b)
table.sort(data, function(a, b)
return redSort[a.Sort] < redSort[b.Sort]
end)
for i = 1,#data do
for i = 1, #data do
if data[i].RpType and data[i].RpType > 0 then
if RecruitManager.GetAllRecruitBtnRedpoint(data[i].RpType) then
isRed = data[i].ShopData[1][1]
@ -331,18 +333,18 @@ function RecruitMainPanel:OnOpen(_index)
else
self.CurRecruitId = TableRecruitType.Shenjiang
end
end
end
else
self.CurRecruitId = _index
end
end
-- 打开,重新打开时回调
function RecruitMainPanel:OnShow()
function RecruitMainPanel:OnShow()
orginLayer = self.sortingOrder
self.dicData = RecruitManager.GetRecruitData()
self.dicData = RecruitManager.GetRecruitData()
this:RefreshTabData()
for i = 1,#self.dicData do
for i = 1, #self.dicData do
if self.dicData[i].ShopData[1][1] == self.CurRecruitId then
self.curPage = i
break
@ -357,40 +359,40 @@ function RecruitMainPanel:OnShow()
end
function this:RefreshTabData()
--local curIndex = 0
--清除红点
for k,v in pairs(redPointTypeList) do
ClearRedPointObject(k,v)
--local curIndex = 0
--清除红点
for k, v in pairs(redPointTypeList) do
ClearRedPointObject(k, v)
end
redPointTypeList = {}
-- for i = 1,#this.itemList do
-- if i == 1 then
-- curIndex = self.lastPage
-- for i = 1,#this.itemList do
-- if i == 1 then
-- curIndex = self.lastPage
-- elseif i == 2 then
-- curIndex = self.curPage
-- else
-- curIndex = self.nextPage
-- end
-- end
-- this.itemList[i].img.sprite = this.spLoader:LoadSprite(self.dicData[curIndex].Icon[1])
-- BindRedPointObject(self.dicData[curIndex].RpType,this.itemList[i].redpot)
-- redPointTypeList[self.dicData[curIndex].RpType] = this.itemList[i].redpot
-- end
for i = 1,math.max(#this.itemList,#self.dicData) do
for i = 1, math.max(#this.itemList, #self.dicData) do
if not self.dicData[i] then
this.itemList[i].go.gameObject:SetActive(false)
else
if not this.itemList[i] then
this.itemList[i] = {}
this.itemList[i].move = false
this.itemList[i].go = newObjToParent(this.item,this.grid)
this.itemList[i].go.name = "tab_"..i
this.itemList[i].go = newObjToParent(this.item, this.grid)
this.itemList[i].go.name = "tab_" .. i
this.itemList[i].tran = this.itemList[i].go:GetComponent("RectTransform")
local vec = this.itemList[i].tran.anchoredPosition
if #self.dicData==1 then
vec.x=this.off * (#this.itemList - 1) + (#this.itemList) * this.itemWidth - 30
if #self.dicData == 1 then
vec.x = this.off * (#this.itemList - 1) + (#this.itemList) * this.itemWidth + 200
else
vec.x = this.off * (i - 2) + (i - 1) * this.itemWidth - 100
vec.x = this.off * (i - 2) + (i - 1) * this.itemWidth + 130
end
vec.y = 28
this.itemList[i].tran.anchoredPosition = vec
@ -398,46 +400,46 @@ function this:RefreshTabData()
this.itemList[i].index = i
--TODO /// 改了配置之后可以放开 2023 11、2
this.itemList[i].img = Util.GetGameObject(this.itemList[i].go, "img"):GetComponent("Image")
this.itemList[i].tipObj=Util.GetGameObject(this.itemList[i].go,"tipObj")
this.itemList[i].tipTxt=Util.GetGameObject(this.itemList[i].go,"tipObj/Text"):GetComponent("Text")
this.itemList[i].titleTxt=Util.GetGameObject(this.itemList[i].go,"Text"):GetComponent("Text")
this.itemList[i].redpot = Util.GetGameObject(this.itemList[i].go, "redpot")
this.itemList[i].tipObj = Util.GetGameObject(this.itemList[i].go, "tipObj")
this.itemList[i].tipTxt = Util.GetGameObject(this.itemList[i].go, "tipObj/Text"):GetComponent("Text")
this.itemList[i].titleTxt = Util.GetGameObject(this.itemList[i].go, "Text"):GetComponent("Text")
this.itemList[i].redpot = Util.GetGameObject(this.itemList[i].go, "redpot")
this.itemList[i].icon = Util.GetGameObject(this.itemList[i].go, "img/Image"):GetComponent("Image")
this.itemList[i].pageIndex = i
end
end
this.itemList[i].go.gameObject:SetActive(true)
this.itemList[i].tipObj:SetActive(false)
this.itemList[i].titleTxt.text=self.dicData[i].Sesc
this.itemList[i].icon.sprite=this.spLoader:LoadSprite(self.dicData[i].Icon[2])
this.itemList[i].titleTxt.text = self.dicData[i].Sesc
this.itemList[i].icon.sprite = this.spLoader:LoadSprite(self.dicData[i].Icon[2])
this.itemList[i].img.sprite = this.spLoader:LoadSprite(self.dicData[i].Icon[1])
local isOpen=true
local tip=""
if self.dicData[i].ActId==2 then
isOpen =CheckFunctionOpen(FUNCTION_OPEN_TYPE.EquipWish)
tip=GetFunctionOpenTip(FUNCTION_OPEN_TYPE.EquipWish)
elseif self.dicData[i].ActId==121 then
isOpen=CheckFunctionOpenClient(FUNCTION_OPEN_TYPE.ChouJiangRukou)
tip=GetFunctionOpenTipClient(FUNCTION_OPEN_TYPE.ChouJiangRukou)
local isOpen = true
local tip = ""
if self.dicData[i].ActId == 2 then
isOpen = CheckFunctionOpen(FUNCTION_OPEN_TYPE.EquipWish)
tip = GetFunctionOpenTip(FUNCTION_OPEN_TYPE.EquipWish)
elseif self.dicData[i].ActId == 121 then
isOpen = CheckFunctionOpenClient(FUNCTION_OPEN_TYPE.ChouJiangRukou)
tip = GetFunctionOpenTipClient(FUNCTION_OPEN_TYPE.ChouJiangRukou)
end
this.itemList[i].tipObj:SetActive(not isOpen)
this.itemList[i].tipTxt.text=tip
BindRedPointObject(self.dicData[i].RpType,this.itemList[i].redpot)
this.itemList[i].tipTxt.text = tip
BindRedPointObject(self.dicData[i].RpType, this.itemList[i].redpot)
redPointTypeList[self.dicData[i].RpType] = this.itemList[i].redpot
end
end
end
this.pos4 = Vector3.New(this.off * (#this.itemList - 1) + (#this.itemList) * this.itemWidth - 186,0,0)
this.pos4 = Vector3.New(this.off * (#this.itemList - 1) + (#this.itemList) * this.itemWidth - 186, 0, 0)
--print(tostring(this.pos4))
LogError(tostring(this.pos4))
end
function this:SetIndex()
for i = 1,#this.itemList do
for i = 1, #this.itemList do
if this.itemList[i].pageIndex == self.curPage then
if this.itemList[i].index == 2 then
if this.itemList[i].index == 2 then
this:RefreshJianTou()
this.AddTrigger()
this:PageOnChange(true)
this:PageOnChange(true)
this.mask:SetActive(false)
return
else
@ -450,31 +452,31 @@ function this:SetIndex()
local offSet = math.abs(this.itemList[i].index - 2)
local localIsenter = true
self.thread = coroutine.start(function()
while(offSet > 0) do
while (offSet > 0) do
if localIsenter then
localIsenter = false
this.MoveTo(LOY)
--coroutine.wait(0.2/(this.itemWidth + this.off))
while(not localIsenter) do
while (not localIsenter) do
local isfinish = true
for j = 1,#this.itemList do
for j = 1, #this.itemList do
if this.itemList[j].move then
isfinish = false
break
end
end
if isfinish then
end
if isfinish then
offSet = offSet - 1
this.SortItemList()
this.SortItemList()
localIsenter = true
end
coroutine.wait(0.2/(this.itemWidth + this.off))
end
coroutine.wait(0.2 / (this.itemWidth + this.off))
end
end
end
end
this:RefreshJianTou()
this.AddTrigger()
this:PageOnChange(true)
this:PageOnChange(true)
this.mask:SetActive(false)
end)
end
@ -485,17 +487,17 @@ end
function this:PageOnChange(isShow)
if isShow then
for i = 1,#this.itemList do
for i = 1, #this.itemList do
if this.itemList[i].pageIndex == self.curPage then
this.select.transform:SetParent(this.itemList[i].go.transform)
this.select.transform:GetComponent("RectTransform").anchoredPosition = Vector3.New(-15,0,0)
this.select.transform:GetComponent("RectTransform").anchoredPosition = Vector3.New(-15, 0, 0)
this.select.gameObject:SetActive(true)
this.selectIma.sprite = this.spLoader:LoadSprite(self.dicData[self.curPage].Icon[2])
this.itemList[i].tipObj.transform:SetAsLastSibling()
end
end
end
for k,v in pairs(subViewList) do
for k, v in pairs(subViewList) do
if k ~= self.curPage then
v.sub:OnClose()
end
@ -506,12 +508,17 @@ function this:PageOnChange(isShow)
subViewList[self.curPage] = {}
if self.dicData[self.curPage].UIName then
subViewList[self.curPage].config = SubUIConfig[self.dicData[self.curPage].UIName[1]]
subViewList[self.curPage].sub = SubUIManager.Open(subViewList[self.curPage].config,this.content.transform,self.dicData[self.curPage],self.curPage,this)
subViewList[self.curPage].sub = SubUIManager.Open(subViewList[self.curPage].config, this.content.transform,
self.dicData[self.curPage], self.curPage, this)
subViewList[self.curPage].sub:OnShow(orginLayer)
end
end
end
if self.dicData[self.curPage].UpView and #self.dicData[self.curPage].UpView > 0 then
this.upView:OnOpen({showType = self.dicData[self.curPage].UpView[1][1], panelType = self.dicData[self.curPage].UpView[2] })
this.upView:OnOpen({
showType = self.dicData[self.curPage].UpView[1][1],
panelType = self.dicData[self.curPage]
.UpView[2]
})
this.upView.gameObject:SetActive(true)
else
this.upView.gameObject:SetActive(false)
@ -519,7 +526,7 @@ function this:PageOnChange(isShow)
end
function this:LeftAction()
lastIndex = self.curPage
lastIndex = self.curPage
self.CurRecruitId = self.dicData[self.nextPage].ShopData[1][1]
self.lastPage = self.curPage
self.curPage = self.nextPage
@ -527,6 +534,7 @@ function this:LeftAction()
this:RefreshJianTou()
this:PageOnChange(true)
end
function this:RightAction()
lastIndex = self.curPage
self.CurRecruitId = self.dicData[self.lastPage].ShopData[1][1]
@ -539,14 +547,14 @@ end
function this:OnSortingOrderChange()
orginLayer = self.sortingOrder
for k,v in pairs(subViewList) do
for k, v in pairs(subViewList) do
v.sub:OnSortingOrderChange(self.sortingOrder)
end
end
--界面关闭时调用(用于子类重写)
function RecruitMainPanel:OnClose()
for k,v in pairs(subViewList) do
for k, v in pairs(subViewList) do
v.sub:OnClose()
end
--清除红点
@ -559,8 +567,8 @@ function RecruitMainPanel:OnClose()
coroutine.stop(this.thread1)
self.thread = nil
end
for k,v in pairs(redPointTypeList) do
ClearRedPointObject(k,v)
for k, v in pairs(redPointTypeList) do
ClearRedPointObject(k, v)
end
redPointTypeList = {}
ClearChild(this.grid)
@ -569,18 +577,18 @@ end
--界面销毁时调用(用于子类重写)
function RecruitMainPanel:OnDestroy()
--清除红点
for k,v in pairs(redPointTypeList) do
ClearRedPointObject(k,v)
--清除红点
for k, v in pairs(redPointTypeList) do
ClearRedPointObject(k, v)
end
redPointTypeList = {}
--关闭弹窗界面
for k,v in pairs(subViewList) do
for k, v in pairs(subViewList) do
--UIManager.ClosePanel(k)
v.sub:OnDestroy()
this.spLoader:Destroy()
this.spLoader:Destroy()
SubUIManager.Close(v.sub)
end
end
ClearChild(this.grid)
this.itemList = {}
subViewList = {}
@ -588,4 +596,5 @@ function RecruitMainPanel:OnDestroy()
SubUIManager.Close(this.upView)
this.upView = nil
end
return this
return this

View File

@ -0,0 +1,223 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using UnityEngine.UI;
/// <summary>
/// 文本控件,支持超链接
/// </summary>
public class HyperlinkText : Text, IPointerClickHandler
{
/// <summary>
/// 超链接信息类
/// </summary>
private class HyperlinkInfo
{
public int startIndex;
public int endIndex;
public string name;
public readonly List<Rect> boxes = new List<Rect>();
}
/// <summary>
/// 解析完最终的文本
/// </summary>
private string m_OutputText;
/// <summary>
/// 超链接信息列表
/// </summary>
private readonly List<HyperlinkInfo> m_HrefInfos = new List<HyperlinkInfo>();
/// <summary>
/// 文本构造器
/// </summary>
protected static readonly StringBuilder s_TextBuilder = new StringBuilder();
[Serializable]
public class HrefClickEvent : UnityEvent<string> { }
[SerializeField]
private HrefClickEvent m_OnHrefClick = new HrefClickEvent();
/// <summary>
/// 超链接点击事件
/// </summary>
public HrefClickEvent onHrefClick
{
get { return m_OnHrefClick; }
set { m_OnHrefClick = value; }
}
/// <summary>
/// 超链接正则
/// </summary>
private static readonly Regex s_HrefRegex = new Regex(@"<a href=([^>\n\s]+)>(.*?)(</a>)", RegexOptions.Singleline);
private HyperlinkText mHyperlinkText;
protected override void Awake()
{
base.Awake();
mHyperlinkText = GetComponent<HyperlinkText>();
}
protected override void OnEnable()
{
base.OnEnable();
mHyperlinkText.onHrefClick.AddListener(OnHyperlinkTextInfo);
}
protected override void OnDisable()
{
base.OnDisable();
mHyperlinkText.onHrefClick.RemoveListener(OnHyperlinkTextInfo);
}
public override void SetVerticesDirty()
{
base.SetVerticesDirty();
#if UNITY_EDITOR
if (UnityEditor.PrefabUtility.GetPrefabType(this) == UnityEditor.PrefabType.Prefab)
{
return;
}
#endif
m_OutputText = GetOutputText(text);
}
protected override void OnPopulateMesh(VertexHelper toFill)
{
var orignText = m_Text;
m_Text = m_OutputText;
base.OnPopulateMesh(toFill);
m_Text = orignText;
UIVertex vert = new UIVertex();
// 处理超链接包围框
foreach (var hrefInfo in m_HrefInfos)
{
hrefInfo.boxes.Clear();
if (hrefInfo.startIndex >= toFill.currentVertCount)
{
//continue;
}
// 将超链接里面的文本顶点索引坐标加入到包围框
toFill.PopulateUIVertex(ref vert, hrefInfo.startIndex);
var pos = vert.position;
var bounds = new Bounds(pos, Vector3.zero);
for (int i = hrefInfo.startIndex, m = hrefInfo.endIndex; i < m; i++)
{
if (i >= toFill.currentVertCount)
{
break;
}
toFill.PopulateUIVertex(ref vert, i);
pos = vert.position;
if (pos.x < bounds.min.x) // 换行重新添加包围框
{
hrefInfo.boxes.Add(new Rect(bounds.min, bounds.size));
bounds = new Bounds(pos, Vector3.zero);
}
else
{
bounds.Encapsulate(pos); // 扩展包围框
}
}
hrefInfo.boxes.Add(new Rect(bounds.min, bounds.size));
}
}
/// <summary>
/// 获取超链接解析后的最后输出文本
/// </summary>
/// <returns></returns>
protected virtual string GetOutputText(string outputText)
{
s_TextBuilder.Length = 0;
m_HrefInfos.Clear();
var indexText = 0;
foreach (Match match in s_HrefRegex.Matches(outputText))
{
s_TextBuilder.Append(outputText.Substring(indexText, match.Index - indexText));
string str = s_TextBuilder.ToString();
char[] array = str.ToCharArray(); //把字符串转化成字符数组
IEnumerator enumerator = array.GetEnumerator(); //得到枚举器
StringBuilder stringBuilder = new StringBuilder();
while (enumerator.MoveNext()) //开始枚举
{
if ((char)enumerator.Current != ' ') //向StringBuilder类对象添加非空格字符
stringBuilder.Append(enumerator.Current.ToString());
}
var group = match.Groups[1];
var hrefInfo = new HyperlinkInfo
{
startIndex = stringBuilder.Length * 4, // 超链接里的文本起始顶点索引
endIndex = (stringBuilder.Length + match.Groups[2].Length - 1) * 4 + 3,
name = group.Value
};
m_HrefInfos.Add(hrefInfo);
s_TextBuilder.Append("<color=blue>"); // 超链接颜色
s_TextBuilder.Append(match.Groups[2].Value);
s_TextBuilder.Append("</color>");
indexText = match.Index + match.Length;
}
s_TextBuilder.Append(outputText.Substring(indexText, outputText.Length - indexText));
return s_TextBuilder.ToString();
}
/// <summary>
/// 点击事件检测是否点击到超链接文本
/// </summary>
/// <param name="eventData"></param>
public void OnPointerClick(PointerEventData eventData)
{
Vector2 lp = Vector2.zero;
RectTransformUtility.ScreenPointToLocalPointInRectangle(rectTransform, eventData.position, eventData.pressEventCamera, out lp);
foreach (var hrefInfo in m_HrefInfos)
{
var boxes = hrefInfo.boxes;
for (var i = 0; i < boxes.Count; ++i)
{
if (boxes[i].Contains(lp))
{
m_OnHrefClick.Invoke(hrefInfo.name);
Debug.Log("sssssssssssssssssssss");
return;
}
}
}
}
/// <summary>
/// 当前点击超链接回调
/// </summary>
/// <param name="info">回调信息</param>
private void OnHyperlinkTextInfo(string info)
{
Debug.Log("超链接信息:" + info);
Application.OpenURL(info);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f6b87a2f8641da74f955d4c1a88f3da1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,445 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 3
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 0
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 10
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVRBounces: 2
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringMode: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ShowResolutionOverlay: 1
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &494844040
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 494844043}
- component: {fileID: 494844042}
- component: {fileID: 494844041}
m_Layer: 0
m_Name: EventSystem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &494844041
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 494844040}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalAxis: Horizontal
m_VerticalAxis: Vertical
m_SubmitButton: Submit
m_CancelButton: Cancel
m_InputActionsPerSecond: 10
m_RepeatDelay: 0.5
m_ForceModuleActive: 0
--- !u!114 &494844042
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 494844040}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_FirstSelected: {fileID: 0}
m_sendNavigationEvents: 1
m_DragThreshold: 10
--- !u!4 &494844043
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 494844040}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &704032569
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 704032570}
- component: {fileID: 704032572}
- component: {fileID: 704032571}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &704032570
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 704032569}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 799462027}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 289.86, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &704032571
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 704032569}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f6b87a2f8641da74f955d4c1a88f3da1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
m_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 14
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 10
m_MaxSize: 40
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u6587\u672C\u6D4B\u8BD5\uFF1A<a href=https://www.baidu.com/>[\u5C0FY\u535A\u5BA2psd228225ddisfgd]</a>"
m_OnHrefClick:
m_PersistentCalls:
m_Calls: []
m_TypeName: HyperlinkText+HrefClickEvent, Assembly-CSharp, Version=0.0.0.0, Culture=neutral,
PublicKeyToken=null
--- !u!222 &704032572
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 704032569}
m_CullTransparentMesh: 0
--- !u!1 &799462023
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 799462027}
- component: {fileID: 799462026}
- component: {fileID: 799462025}
- component: {fileID: 799462024}
m_Layer: 5
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &799462024
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 799462023}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &799462025
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 799462023}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
--- !u!223 &799462026
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 799462023}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 1
m_Camera: {fileID: 1276850123}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 0
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &799462027
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 799462023}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_Children:
- {fileID: 704032570}
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &1276850121
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1276850124}
- component: {fileID: 1276850123}
- component: {fileID: 1276850122}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &1276850122
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1276850121}
m_Enabled: 1
--- !u!20 &1276850123
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1276850121}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_GateFitMode: 2
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 1
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &1276850124
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1276850121}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: dd1621c2dd70c1e419a03371a477b480
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: