diff --git a/Assets/ManagedResources/BG/UI/1All/wenzi.meta b/Assets/ManagedResources/BG/UI/1All/wenzi.meta
new file mode 100644
index 0000000000..18c96fbd1c
--- /dev/null
+++ b/Assets/ManagedResources/BG/UI/1All/wenzi.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a4f0b09f10fb4104ea5e046158c8878d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ManagedResources/BG/UI/Guild/UI_hz_gonghui_10_2.png.meta b/Assets/ManagedResources/BG/UI/Guild/UI_hz_gonghui_10_2.png.meta
deleted file mode 100644
index 04bc2e6b66..0000000000
--- a/Assets/ManagedResources/BG/UI/Guild/UI_hz_gonghui_10_2.png.meta
+++ /dev/null
@@ -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:
diff --git a/Assets/ManagedResources/BG/UI/Guild/UI_hz_gonghui_10_3.png.meta b/Assets/ManagedResources/BG/UI/Guild/UI_hz_gonghui_10_3.png.meta
deleted file mode 100644
index aa22d07f4c..0000000000
--- a/Assets/ManagedResources/BG/UI/Guild/UI_hz_gonghui_10_3.png.meta
+++ /dev/null
@@ -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:
diff --git a/Assets/ManagedResources/BG/UI/Guild/UI_hz_gonghui_10_4.png.meta b/Assets/ManagedResources/BG/UI/Guild/UI_hz_gonghui_10_4.png.meta
deleted file mode 100644
index 177cd59487..0000000000
--- a/Assets/ManagedResources/BG/UI/Guild/UI_hz_gonghui_10_4.png.meta
+++ /dev/null
@@ -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:
diff --git a/Assets/ManagedResources/~Lua/Modules/Fight/View/FightPointMapOnHook.lua b/Assets/ManagedResources/~Lua/Modules/Fight/View/FightPointMapOnHook.lua
index ae5a8e9fdc..f7a4603e65 100644
--- a/Assets/ManagedResources/~Lua/Modules/Fight/View/FightPointMapOnHook.lua
+++ b/Assets/ManagedResources/~Lua/Modules/Fight/View/FightPointMapOnHook.lua
@@ -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)
diff --git a/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitMainPanel.lua b/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitMainPanel.lua
index 922721ea9e..81c2419e8b 100644
--- a/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitMainPanel.lua
+++ b/Assets/ManagedResources/~Lua/Modules/Recruit/RecruitMainPanel.lua
@@ -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
\ No newline at end of file
+
+return this
diff --git a/Assets/ztest/HyperlinkText.cs b/Assets/ztest/HyperlinkText.cs
new file mode 100644
index 0000000000..b9098a30d3
--- /dev/null
+++ b/Assets/ztest/HyperlinkText.cs
@@ -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;
+
+///
+/// 文本控件,支持超链接
+///
+public class HyperlinkText : Text, IPointerClickHandler
+{
+ ///
+ /// 超链接信息类
+ ///
+ private class HyperlinkInfo
+ {
+ public int startIndex;
+
+ public int endIndex;
+
+ public string name;
+
+ public readonly List boxes = new List();
+ }
+
+ ///
+ /// 解析完最终的文本
+ ///
+ private string m_OutputText;
+
+ ///
+ /// 超链接信息列表
+ ///
+ private readonly List m_HrefInfos = new List();
+
+ ///
+ /// 文本构造器
+ ///
+ protected static readonly StringBuilder s_TextBuilder = new StringBuilder();
+
+ [Serializable]
+ public class HrefClickEvent : UnityEvent { }
+
+ [SerializeField]
+ private HrefClickEvent m_OnHrefClick = new HrefClickEvent();
+
+ ///
+ /// 超链接点击事件
+ ///
+ public HrefClickEvent onHrefClick
+ {
+ get { return m_OnHrefClick; }
+ set { m_OnHrefClick = value; }
+ }
+
+
+ ///
+ /// 超链接正则
+ ///
+ private static readonly Regex s_HrefRegex = new Regex(@"\n\s]+)>(.*?)()", RegexOptions.Singleline);
+
+ private HyperlinkText mHyperlinkText;
+
+ protected override void Awake()
+ {
+ base.Awake();
+ mHyperlinkText = GetComponent();
+ }
+ 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));
+ }
+ }
+
+ ///
+ /// 获取超链接解析后的最后输出文本
+ ///
+ ///
+ 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(""); // 超链接颜色
+ s_TextBuilder.Append(match.Groups[2].Value);
+ s_TextBuilder.Append("");
+ indexText = match.Index + match.Length;
+ }
+ s_TextBuilder.Append(outputText.Substring(indexText, outputText.Length - indexText));
+ return s_TextBuilder.ToString();
+ }
+
+ ///
+ /// 点击事件检测是否点击到超链接文本
+ ///
+ ///
+ 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;
+ }
+ }
+ }
+ }
+ ///
+ /// 当前点击超链接回调
+ ///
+ /// 回调信息
+ private void OnHyperlinkTextInfo(string info)
+ {
+ Debug.Log("超链接信息:" + info);
+ Application.OpenURL(info);
+ }
+}
+
diff --git a/Assets/ztest/HyperlinkText.cs.meta b/Assets/ztest/HyperlinkText.cs.meta
new file mode 100644
index 0000000000..61023517af
--- /dev/null
+++ b/Assets/ztest/HyperlinkText.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f6b87a2f8641da74f955d4c1a88f3da1
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ztest/ztest.unity b/Assets/ztest/ztest.unity
new file mode 100644
index 0000000000..a952418b9e
--- /dev/null
+++ b/Assets/ztest/ztest.unity
@@ -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[\u5C0FY\u535A\u5BA2psd228225ddisfgd]"
+ 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}
diff --git a/Assets/ztest/ztest.unity.meta b/Assets/ztest/ztest.unity.meta
new file mode 100644
index 0000000000..8fa4066462
--- /dev/null
+++ b/Assets/ztest/ztest.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: dd1621c2dd70c1e419a03371a477b480
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant: