Merge pull request 'master' (#85) from Alienjack/AxibugEmuOnline:master into master

Reviewed-on: sin365/AxibugEmuOnline#85
This commit is contained in:
sin365 2025-01-08 11:05:49 +08:00
commit 31da819ad0
28 changed files with 570 additions and 341 deletions

View File

@ -2,20 +2,24 @@
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000 --- !u!21 &2100000
Material: Material:
serializedVersion: 6 serializedVersion: 8
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: UI-Effect-Shiny m_Name: UI-Effect-Shiny
m_Shader: {fileID: 4800000, guid: 20ffe76c2439c403aabdd25bd94bf011, type: 3} m_Shader: {fileID: 4800000, guid: 20ffe76c2439c403aabdd25bd94bf011, type: 3}
m_ShaderKeywords: m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 1 m_LightmapFlags: 1
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
m_CustomRenderQueue: -1 m_CustomRenderQueue: -1
stringTagMap: {} stringTagMap: {}
disabledShaderPasses: [] disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties: m_SavedProperties:
serializedVersion: 3 serializedVersion: 3
m_TexEnvs: m_TexEnvs:
@ -27,6 +31,7 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats: m_Floats:
- _ColorMask: 15 - _ColorMask: 15
- _Stencil: 0 - _Stencil: 0
@ -38,3 +43,4 @@ Material:
m_Colors: m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: [] m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@ -275,7 +275,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0} m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0 m_ModifiedSerializedProperties: 0
m_ValidKeywords: [] m_ValidKeywords:
- DETAILBLUR
- FILL
m_InvalidKeywords: [] m_InvalidKeywords: []
m_LightmapFlags: 5 m_LightmapFlags: 5
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
@ -616,7 +618,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0} m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0 m_ModifiedSerializedProperties: 0
m_ValidKeywords: [] m_ValidKeywords:
- DETAILBLUR
- NEGA
m_InvalidKeywords: [] m_InvalidKeywords: []
m_LightmapFlags: 5 m_LightmapFlags: 5
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
@ -632,6 +636,10 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _ParamTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: [] m_Ints: []
m_Floats: m_Floats:
- _ColorMask: 15 - _ColorMask: 15
@ -3572,7 +3580,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0} m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0 m_ModifiedSerializedProperties: 0
m_ValidKeywords: [] m_ValidKeywords:
- DETAILBLUR
- SEPIA
m_InvalidKeywords: [] m_InvalidKeywords: []
m_LightmapFlags: 5 m_LightmapFlags: 5
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
@ -3588,6 +3598,10 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _ParamTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: [] m_Ints: []
m_Floats: m_Floats:
- _ColorMask: 15 - _ColorMask: 15
@ -4062,7 +4076,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0} m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0 m_ModifiedSerializedProperties: 0
m_ValidKeywords: [] m_ValidKeywords:
- DETAILBLUR
- SUBTRACT
m_InvalidKeywords: [] m_InvalidKeywords: []
m_LightmapFlags: 5 m_LightmapFlags: 5
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
@ -4078,6 +4094,10 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _ParamTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: [] m_Ints: []
m_Floats: m_Floats:
- _ColorMask: 15 - _ColorMask: 15
@ -4182,7 +4202,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0} m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0 m_ModifiedSerializedProperties: 0
m_ValidKeywords: [] m_ValidKeywords:
- ADD
- DETAILBLUR
m_InvalidKeywords: [] m_InvalidKeywords: []
m_LightmapFlags: 5 m_LightmapFlags: 5
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
@ -4270,7 +4292,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0} m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0 m_ModifiedSerializedProperties: 0
m_ValidKeywords: [] m_ValidKeywords:
- DETAILBLUR
- GRAYSCALE
m_InvalidKeywords: [] m_InvalidKeywords: []
m_LightmapFlags: 5 m_LightmapFlags: 5
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
@ -4286,6 +4310,10 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _ParamTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: [] m_Ints: []
m_Floats: m_Floats:
- _ColorMask: 15 - _ColorMask: 15
@ -4850,7 +4878,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0} m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0 m_ModifiedSerializedProperties: 0
m_ValidKeywords: [] m_ValidKeywords:
- DETAILBLUR
- PIXEL
m_InvalidKeywords: [] m_InvalidKeywords: []
m_LightmapFlags: 5 m_LightmapFlags: 5
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
@ -4866,6 +4896,10 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _ParamTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: [] m_Ints: []
m_Floats: m_Floats:
- _ColorMask: 15 - _ColorMask: 15
@ -5585,7 +5619,8 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3} m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0} m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0 m_ModifiedSerializedProperties: 0
m_ValidKeywords: [] m_ValidKeywords:
- MEDIUMBLUR
m_InvalidKeywords: [] m_InvalidKeywords: []
m_LightmapFlags: 5 m_LightmapFlags: 5
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0

View File

@ -190,7 +190,7 @@ namespace Coffee.UIExtensions
/// <summary> /// <summary>
/// Blur effect mode(readonly). /// Blur effect mode(readonly).
/// </summary> /// </summary>
public BlurMode blurMode { get { return m_BlurMode; } } public BlurMode blurMode { get { return m_BlurMode; }set { m_BlurMode = value; } }
/// <summary> /// <summary>
/// Color for the color effect. /// Color for the color effect.

View File

@ -139,6 +139,123 @@ MonoBehaviour:
SubMenus: [] SubMenus: []
HoriRollSpd: 1500 HoriRollSpd: 1500
InitSelect: 1 InitSelect: 1
--- !u!1 &1551260616775499633
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8030738230415871255}
- component: {fileID: 1749614979705703043}
- component: {fileID: 2831564238218273703}
- component: {fileID: 6913951815547872457}
- component: {fileID: 968819366492627815}
m_Layer: 5
m_Name: RomPreview
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &8030738230415871255
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1551260616775499633}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1639091784002085428}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0.00012207031, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1749614979705703043
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1551260616775499633}
m_CullTransparentMesh: 1
--- !u!114 &2831564238218273703
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1551260616775499633}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!225 &6913951815547872457
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1551260616775499633}
m_Enabled: 1
m_Alpha: 1
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!114 &968819366492627815
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1551260616775499633}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f8b2ed11d675446c5a49da1ea296d490, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Version: 300
m_EffectMaterial: {fileID: 21563344409783084, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
m_EffectFactor: 1
m_ColorFactor: 1
m_BlurFactor: 1
m_EffectMode: 0
m_ColorMode: 0
m_BlurMode: 1
m_AdvancedBlur: 0
m_ShadowBlur: 1
m_ShadowStyle: 0
m_ShadowColor: {r: 0, g: 0, b: 0, a: 1}
m_EffectDistance: {x: 1, y: -1}
m_UseGraphicAlpha: 1
m_EffectColor: {r: 1, g: 1, b: 1, a: 1}
m_AdditionalShadows: []
--- !u!1 &1639091783724093882 --- !u!1 &1639091783724093882
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -153,7 +270,7 @@ GameObject:
- component: {fileID: 3473513813641582791} - component: {fileID: 3473513813641582791}
- component: {fileID: 3025550092845034426} - component: {fileID: 3025550092845034426}
m_Layer: 5 m_Layer: 5
m_Name: bg m_Name: XMBBackground
m_TagString: Untagged m_TagString: Untagged
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
@ -171,12 +288,12 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 1639091784002085428} m_Father: {fileID: 3978167929173065121}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0.00012207031, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1639091783724093861 --- !u!222 &1639091783724093861
CanvasRenderer: CanvasRenderer:
@ -270,7 +387,8 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
- {fileID: 1639091783724093883} - {fileID: 3978167929173065121}
- {fileID: 8030738230415871255}
- {fileID: 1924338507} - {fileID: 1924338507}
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -293,7 +411,9 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
MainMenuRoot: {fileID: 1924338507} MainMenuRoot: {fileID: 1924338507}
MainMenu: {fileID: 4533431376032812611} MainMenu: {fileID: 4533431376032812611}
BG: {fileID: 1639091783724093860} XMBBackground: {fileID: 1639091783724093860}
RomPreviewBigPic: {fileID: 2831564238218273703}
XMBCG_For_RomPreviewBigPic: {fileID: 1747598380906379634}
m_detailLayoutPosition_x: 55 m_detailLayoutPosition_x: 55
m_LayoutChangeSpeed: 1000 m_LayoutChangeSpeed: 1000
--- !u!1 &3732356966700017678 --- !u!1 &3732356966700017678
@ -376,6 +496,55 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_HorizontalFit: 2 m_HorizontalFit: 2
m_VerticalFit: 2 m_VerticalFit: 2
--- !u!1 &5147744065509886959
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3978167929173065121}
- component: {fileID: 1747598380906379634}
m_Layer: 5
m_Name: romPreviewOpp
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3978167929173065121
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5147744065509886959}
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1639091783724093883}
m_Father: {fileID: 1639091784002085428}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!225 &1747598380906379634
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5147744065509886959}
m_Enabled: 1
m_Alpha: 1
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!1001 &799626603263598074 --- !u!1001 &799626603263598074
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1935,7 +2104,7 @@ PrefabInstance:
- target: {fileID: 2619187604372594158, guid: 98ac562d730eabc42b9a3b12c715d114, type: 3} - target: {fileID: 2619187604372594158, guid: 98ac562d730eabc42b9a3b12c715d114, type: 3}
propertyPath: m_Sprite propertyPath: m_Sprite
value: value:
objectReference: {fileID: 21300000, guid: 8b2d1bdf739173c40bb205540b308d02, type: 3} objectReference: {fileID: 8228730565043098574, guid: d518d00d4940e854bbe45d9ef891401a, type: 3}
- target: {fileID: 3189920797946144379, guid: 98ac562d730eabc42b9a3b12c715d114, type: 3} - target: {fileID: 3189920797946144379, guid: 98ac562d730eabc42b9a3b12c715d114, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: "\u753B\u9762\u6BD4\u4F8B" value: "\u753B\u9762\u6BD4\u4F8B"
@ -2003,7 +2172,7 @@ PrefabInstance:
- target: {fileID: 6771349210554360888, guid: 98ac562d730eabc42b9a3b12c715d114, type: 3} - target: {fileID: 6771349210554360888, guid: 98ac562d730eabc42b9a3b12c715d114, type: 3}
propertyPath: m_Sprite propertyPath: m_Sprite
value: value:
objectReference: {fileID: 21300000, guid: 8b2d1bdf739173c40bb205540b308d02, type: 3} objectReference: {fileID: 8228730565043098574, guid: d518d00d4940e854bbe45d9ef891401a, type: 3}
- target: {fileID: 8126322204359135913, guid: 98ac562d730eabc42b9a3b12c715d114, type: 3} - target: {fileID: 8126322204359135913, guid: 98ac562d730eabc42b9a3b12c715d114, type: 3}
propertyPath: m_AnchorMax.y propertyPath: m_AnchorMax.y
value: 0 value: 0

View File

@ -353,7 +353,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!224 &88397014911048519 --- !u!224 &88397014911048519
RectTransform: RectTransform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -595,7 +595,7 @@ RectTransform:
m_Father: {fileID: 4825215963562112837} m_Father: {fileID: 4825215963562112837}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0} m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 10, y: 0} m_SizeDelta: {x: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
@ -673,6 +673,81 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -10, y: 0} m_SizeDelta: {x: -10, y: 0}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &2970190240800710577
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1123244137077354552}
- component: {fileID: 196912998120336165}
- component: {fileID: 2537658034304089639}
m_Layer: 5
m_Name: Star
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1123244137077354552
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2970190240800710577}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -2}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8105925540140519754}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 8.2, y: -10.1}
m_SizeDelta: {x: 48.319504, y: 40.7695}
m_Pivot: {x: 0, y: 1}
--- !u!222 &196912998120336165
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2970190240800710577}
m_CullTransparentMesh: 1
--- !u!114 &2537658034304089639
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2970190240800710577}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 0, b: 0, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 7637870703528583553, guid: a8e14774cb9b81d4799116466bc09437, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &3095305487988041719 --- !u!1 &3095305487988041719
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -813,6 +888,8 @@ MonoBehaviour:
DownloadingFlag: {fileID: 1252956242765037133} DownloadingFlag: {fileID: 1252956242765037133}
DownProgress: {fileID: 1484915906009859069} DownProgress: {fileID: 1484915906009859069}
FileReadyFlag: {fileID: 6316945668089981796} FileReadyFlag: {fileID: 6316945668089981796}
DownloadComplete: {fileID: 6633045760783967661}
Star: {fileID: 0}
--- !u!114 &5700455559359757662 --- !u!114 &5700455559359757662
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -998,6 +1075,7 @@ GameObject:
- component: {fileID: 8105925540140519754} - component: {fileID: 8105925540140519754}
- component: {fileID: 1377401926964550360} - component: {fileID: 1377401926964550360}
- component: {fileID: 67125096702760250} - component: {fileID: 67125096702760250}
- component: {fileID: 6633045760783967661}
m_Layer: 5 m_Layer: 5
m_Name: RomImage m_Name: RomImage
m_TagString: Untagged m_TagString: Untagged
@ -1019,6 +1097,7 @@ RectTransform:
m_Children: m_Children:
- {fileID: 6087025893861054323} - {fileID: 6087025893861054323}
- {fileID: 1361359478345282377} - {fileID: 1361359478345282377}
- {fileID: 1123244137077354552}
- {fileID: 88397014911048519} - {fileID: 88397014911048519}
m_Father: {fileID: 8754483333502849411} m_Father: {fileID: 8754483333502849411}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -1065,6 +1144,39 @@ MonoBehaviour:
m_FillOrigin: 0 m_FillOrigin: 0
m_UseSpriteMesh: 0 m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1 m_PixelsPerUnitMultiplier: 1
--- !u!114 &6633045760783967661
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4643603390456494410}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f19b7e2285c104f6ca47d583f3e5444f, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Version: 300
m_EffectMaterial: {fileID: 2100000, guid: 9dc7e810a87b444ab96919f3215c2fe5, type: 2}
m_EffectFactor: 0
m_Width: 0.25
m_Rotation: -41
m_Softness: 1
m_Brightness: 1
m_Gloss: 1
m_EffectArea: 0
m_Player:
play: 0
initialPlayDelay: 0
duration: 0.5
loop: 0
loopDelay: 1
updateMode: 0
m_Play: 0
m_Loop: 0
m_Duration: 1
m_LoopDelay: 1
m_UpdateMode: 0
--- !u!1 &5340761592919397836 --- !u!1 &5340761592919397836
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -79,6 +79,16 @@
/// 当本机手柄渴望插入时触发 /// 当本机手柄渴望插入时触发
/// <para>参数: <see cref="int"/> 本地手柄序号[0,3]</para> /// <para>参数: <see cref="int"/> 本地手柄序号[0,3]</para>
/// </summary> /// </summary>
OnLocalJoyDesireInvert OnLocalJoyDesireInvert,
/// <summary>
/// 当Rom文件下载完毕时触发
/// <para><see cref="int"/>RomID</para>
/// </summary>
OnRomFileDownloaded,
/// <summary>
/// 当Rom收藏状态变化时触发
/// <para><see cref="int"/>RomID</para>
/// </summary>
OnRomStarStateChanged, //TODO 实现这个事件
} }
} }

View File

@ -106,7 +106,7 @@ namespace AxibugEmuOnline.Client
switch (platform) switch (platform)
{ {
case RomPlatformType.Nes: return new Vector2Int(256, 240); case RomPlatformType.Nes: return new Vector2Int(256, 240);
default: return new Vector2Int(256, 240); default: throw new System.NotImplementedException($"未实现的平台:{platform}");
} }
} }

View File

@ -184,6 +184,7 @@ namespace AxibugEmuOnline.Client
public string imgUrl; public string imgUrl;
public string hash; public string hash;
public int stars; public int stars;
public int isStar;//TODO 实现收藏标记
} }
[Serializable] [Serializable]
public class Resp_CheckStandInfo public class Resp_CheckStandInfo

View File

@ -1,4 +1,5 @@
using AxibugEmuOnline.Client.ClientCore; using AxibugEmuOnline.Client.ClientCore;
using AxibugEmuOnline.Client.Event;
using AxibugProtobuf; using AxibugProtobuf;
using ICSharpCode.SharpZipLib.Zip; using ICSharpCode.SharpZipLib.Zip;
using System; using System;
@ -54,8 +55,18 @@ namespace AxibugEmuOnline.Client
public int Index { get; private set; } public int Index { get; private set; }
/// <summary> 在查询结果中的所在页 </summary> /// <summary> 在查询结果中的所在页 </summary>
public int Page { get; private set; } public int Page { get; private set; }
public string Hash => webData != null ? webData.hash : string.Empty; public string Hash => webData != null ? webData.hash : string.Empty;
/// <summary> 标记是否收藏 </summary>
public bool Star
{
get { return webData != null ? webData.isStar > 0 : false; }
set
{
if (webData == null) return;
webData.isStar = value ? 1 : 0;
}
}
public event Action<RomFile> OnDownloadOver; public event Action<RomFile> OnDownloadOver;
public event Action OnInfoFilled; public event Action OnInfoFilled;
@ -79,6 +90,8 @@ namespace AxibugEmuOnline.Client
File.WriteAllBytes(LocalFilePath, bytes); File.WriteAllBytes(LocalFilePath, bytes);
hasLocalFile = true; hasLocalFile = true;
Eventer.Instance.PostEvent(EEvent.OnRomFileDownloaded, ID);
} }
OnDownloadOver?.Invoke(this); OnDownloadOver?.Invoke(this);
})); }));

View File

@ -1,9 +1,11 @@
using AxibugEmuOnline.Client.ClientCore; using AxibugEmuOnline.Client.ClientCore;
using AxibugEmuOnline.Client.Common; using AxibugEmuOnline.Client.Common;
using AxibugEmuOnline.Client.Event;
using AxibugProtobuf; using AxibugProtobuf;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq;
using static AxibugEmuOnline.Client.HttpAPI; using static AxibugEmuOnline.Client.HttpAPI;
namespace AxibugEmuOnline.Client namespace AxibugEmuOnline.Client
@ -33,6 +35,16 @@ namespace AxibugEmuOnline.Client
m_romSearchFunc = App.httpAPI.SearchNesRomList; m_romSearchFunc = App.httpAPI.SearchNesRomList;
break; break;
} }
Eventer.Instance.RegisterEvent<int, bool>(EEvent.OnRomStarStateChanged, OnRomStarStateChanged);
}
private void OnRomStarStateChanged(int romID, bool star)
{
var targetRom = nesRomFetchList.FirstOrDefault(rom => rom.ID == romID);
if (targetRom == null) return;
targetRom.Star = star;
} }
public RomFile GetRomFile(string romFileName) public RomFile GetRomFile(string romFileName)
@ -42,8 +54,6 @@ namespace AxibugEmuOnline.Client
return romFile; return romFile;
} }
/// <summary> 清除所有下载的Rom文件 </summary> /// <summary> 清除所有下载的Rom文件 </summary>
public void ClearRomFile() public void ClearRomFile()
{ {

View File

@ -1,4 +1,4 @@
using AxibugEmuOnline.Client.ClientCore; using AxibugEmuOnline.Client.ClientCore;
using AxibugEmuOnline.Client.UI; using AxibugEmuOnline.Client.UI;
using DG.Tweening; using DG.Tweening;
using DG.Tweening.Core; using DG.Tweening.Core;
@ -9,7 +9,7 @@ using UnityEngine;
namespace AxibugEmuOnline.Client namespace AxibugEmuOnline.Client
{ {
/// <summary> /// <summary>
/// ąłž°ŃŐÉŤÉčÖĂUI /// 背景颜色设置UI
/// </summary> /// </summary>
public class UI_BgSettingItem_Color : MenuItem, IVirtualItem public class UI_BgSettingItem_Color : MenuItem, IVirtualItem
{ {
@ -34,7 +34,7 @@ namespace AxibugEmuOnline.Client
var color = Datacontext.CurrentColor; var color = Datacontext.CurrentColor;
Icon.GetMaterial().SetColor("_Color1", color.color1); Icon.GetMaterial().SetColor("_Color1", color.color1);
Icon.GetMaterial().SetColor("_Color2", color.color2); Icon.GetMaterial().SetColor("_Color2", color.color2);
SetBaseInfo("Ö÷ĚâÉŤ", "ÉčÖĂÖ÷ĚâÉŤ", color.Name); SetBaseInfo("主题色", "设置主题色", color.Name);
} }
public void SetDependencyProperty(object data) public void SetDependencyProperty(object data)
@ -58,8 +58,9 @@ namespace AxibugEmuOnline.Client
public class ColorOption : ExecuteMenu public class ColorOption : ExecuteMenu
{ {
public XMBColor Color; public XMBColor Color;
public override string Name => Color.Name;
public ColorOption(XMBColor color) : base(color.Name) public ColorOption(XMBColor color)
{ {
Color = color; Color = color;
} }

View File

@ -70,7 +70,9 @@ namespace AxibugEmuOnline.Client
{ {
private Filter m_filter; private Filter m_filter;
public Opt_CreatePreset(Filter filter) : base("创建滤镜预设", Resources.LoadAll<Sprite>("Icons/XMB-Icons/misc")[0]) public override string Name => "创建滤镜预设";
public override Sprite Icon => Resources.LoadAll<Sprite>("Icons/XMB-Icons/misc")[0];
public Opt_CreatePreset(Filter filter)
{ {
m_filter = filter; m_filter = filter;
} }
@ -101,7 +103,9 @@ namespace AxibugEmuOnline.Client
private OptionUI_MenuItem m_ui; private OptionUI_MenuItem m_ui;
private List<OptionMenu> m_menu; private List<OptionMenu> m_menu;
public Opt_Presets(Filter filter, FilterPreset preset) : base(preset.Name, null) public override string Name => m_preset.Name;
public Opt_Presets(Filter filter, FilterPreset preset)
{ {
m_filter = filter; m_filter = filter;
m_preset = preset; m_preset = preset;
@ -151,8 +155,8 @@ namespace AxibugEmuOnline.Client
public override bool Visible => m_param.ValueType.IsEnum || m_param.ValueType == typeof(float); public override bool Visible => m_param.ValueType.IsEnum || m_param.ValueType == typeof(float);
public override string Name => m_param.Name;
public Opt_ParamEditor(Filter filter, FilterEffect.EditableParamerter editParam, FilterPreset preset) public Opt_ParamEditor(Filter filter, FilterEffect.EditableParamerter editParam, FilterPreset preset)
: base(editParam.Name)
{ {
m_filter = filter; m_filter = filter;
m_param = editParam; m_param = editParam;
@ -179,8 +183,9 @@ namespace AxibugEmuOnline.Client
{ {
private Filter m_filter; private Filter m_filter;
private FilterPreset m_preset; private FilterPreset m_preset;
public override string Name => "删除预设";
public Opt_Delete(Filter filter, FilterPreset preset) : base("删除预设", null) public Opt_Delete(Filter filter, FilterPreset preset)
{ {
m_filter = filter; m_filter = filter;
m_preset = preset; m_preset = preset;

View File

@ -1,5 +1,8 @@
using AxibugEmuOnline.Client.ClientCore; using AxibugEmuOnline.Client.ClientCore;
using AxibugEmuOnline.Client.Event;
using AxibugEmuOnline.Client.UI; using AxibugEmuOnline.Client.UI;
using Coffee.UIExtensions;
using System;
using UnityEngine; using UnityEngine;
using UnityEngine.UI; using UnityEngine.UI;
@ -16,12 +19,45 @@ namespace AxibugEmuOnline.Client
Slider DownProgress; Slider DownProgress;
[SerializeField] [SerializeField]
GameObject FileReadyFlag; GameObject FileReadyFlag;
[SerializeField]
UIShiny DownloadComplete;
[SerializeField]
GameObject Star;
public int Index { get; set; } public int Index { get; set; }
private RomLib m_romlib => App.nesRomLib; public bool IsStar
{
get
{
return m_romfile != null && m_romfile.InfoReady ? m_romfile.Star : false;
}
}
public int RomID { get { return m_romfile != null && m_romfile.InfoReady ? m_romfile.ID : -1; } }
private RomLib m_romlib => App.nesRomLib;
public bool RomInfoReady => m_romfile != null && m_romfile.InfoReady;
private RomFile m_romfile; private RomFile m_romfile;
protected override void OnEnable()
{
Eventer.Instance.RegisterEvent<int>(EEvent.OnRomFileDownloaded, OnRomDownloaded);
}
protected override void OnDisable()
{
Eventer.Instance.UnregisterEvent<int>(EEvent.OnRomFileDownloaded, OnRomDownloaded);
}
private void OnRomDownloaded(int romID)
{
if (m_romfile == null || m_romfile.ID != romID) return;
DownloadComplete.Play();
}
public void SetData(object data) public void SetData(object data)
{ {
Reset(); Reset();
@ -45,6 +81,14 @@ namespace AxibugEmuOnline.Client
SetSelectState(data is ThirdMenuRoot && ((ThirdMenuRoot)data).SelectIndex == Index); SetSelectState(data is ThirdMenuRoot && ((ThirdMenuRoot)data).SelectIndex == Index);
} }
protected override void OnSelected(float progress)
{
base.OnSelected(progress);
if (m_romImage.sprite == null) LaunchUI.Instance.HideRomPreview();
else LaunchUI.Instance.SetRomPreview(m_romImage.sprite);
}
public void Release() public void Release()
{ {
m_romfile.OnInfoFilled -= OnRomInfoFilled; m_romfile.OnInfoFilled -= OnRomInfoFilled;
@ -69,7 +113,9 @@ namespace AxibugEmuOnline.Client
if (!m_romfile.InfoReady || url != m_romfile.ImageURL) return; if (!m_romfile.InfoReady || url != m_romfile.ImageURL) return;
m_romImage.sprite = img; m_romImage.sprite = img;
if (m_select) LaunchUI.Instance.SetRomPreview(img);
}); });
Star.SetActiveEx(m_romfile.Star);
} }
} }

View File

@ -34,6 +34,7 @@ namespace AxibugEmuOnline.Client
{ {
new OptMenu_Search(this), new OptMenu_Search(this),
new OptMenu_ShowAll(this), new OptMenu_ShowAll(this),
new OptMenu_Fav(this),
}; };
} }
@ -68,8 +69,9 @@ namespace AxibugEmuOnline.Client
public class OptMenu_Search : ExecuteMenu public class OptMenu_Search : ExecuteMenu
{ {
private RomListMenuItem m_romListUI; private RomListMenuItem m_romListUI;
public override string Name => "搜索";
public OptMenu_Search(RomListMenuItem romListUI, Sprite icon = null) : base("搜索", icon) public OptMenu_Search(RomListMenuItem romListUI)
{ {
m_romListUI = romListUI; m_romListUI = romListUI;
} }
@ -90,9 +92,10 @@ namespace AxibugEmuOnline.Client
{ {
private RomListMenuItem m_ui; private RomListMenuItem m_ui;
public override string Name => "显示全部";
public override bool Visible => !string.IsNullOrWhiteSpace(m_ui.SearchKey); public override bool Visible => !string.IsNullOrWhiteSpace(m_ui.SearchKey);
public OptMenu_ShowAll(RomListMenuItem romListUI, Sprite icon = null) : base("显示全部", icon) public OptMenu_ShowAll(RomListMenuItem romListUI)
{ {
m_ui = romListUI; m_ui = romListUI;
} }
@ -103,5 +106,32 @@ namespace AxibugEmuOnline.Client
m_ui.RefreshUI(); m_ui.RefreshUI();
} }
} }
public class OptMenu_Fav : ExecuteMenu
{
private RomListMenuItem m_romListUI;
private ThirdMenuRoot m_romListSub;
private RomItem m_currentSelect => m_romListSub.GetItemUIByIndex(m_romListSub.SelectIndex) as RomItem;
public override bool Visible => m_currentSelect.RomInfoReady;
public override string Name { get { return m_currentSelect.IsStar ? "取消收藏" : "收藏"; } }
public OptMenu_Fav(RomListMenuItem romListUI)
{
m_romListUI = romListUI;
m_romListSub = m_romListUI.SubMenuItemGroup as ThirdMenuRoot;
}
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
{
var romItem = m_currentSelect;
if (!romItem.IsStar)
App.share.SendGameStar(romItem.RomID, 0);
else
App.share.SendGameStar(romItem.RomID, 1);
}
}
} }
} }

View File

@ -8,8 +8,9 @@ namespace AxibugEmuOnline.Client
public class InGameUI_FilterSetting : ExpandMenu public class InGameUI_FilterSetting : ExpandMenu
{ {
private InGameUI m_gameUI; private InGameUI m_gameUI;
public override string Name => "滤镜";
public InGameUI_FilterSetting(InGameUI gameUI) : base("滤镜", null) public InGameUI_FilterSetting(InGameUI gameUI)
{ {
m_gameUI = gameUI; m_gameUI = gameUI;
} }
@ -26,12 +27,11 @@ namespace AxibugEmuOnline.Client
{ {
private RomFile m_rom; private RomFile m_rom;
public override string Name => "取消滤镜";
public override bool IsApplied => App.settings.Filter.GetFilterSetting(m_rom).filter == null; public override bool IsApplied => App.settings.Filter.GetFilterSetting(m_rom).filter == null;
public FilterNone(RomFile rom) : base("取消滤镜", null) public FilterNone(RomFile rom)
{ {
m_rom = rom; m_rom = rom;
var currentFilterSetting = App.settings.Filter.GetFilterSetting(m_rom);
} }
public override void OnExcute(OptionUI optionUI, ref bool cancelHide) public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
@ -58,8 +58,8 @@ namespace AxibugEmuOnline.Client
return false; return false;
} }
} }
public override string Name => m_filter.Name;
public FilterMenu(RomFile rom, Filter filter) : base(filter.Name, null) public FilterMenu(RomFile rom, Filter filter)
{ {
m_filter = filter; m_filter = filter;
m_presetsMenuItems = new List<OptionMenu> { new FilterPresetMenu(rom, m_filter, m_filter.DefaultPreset) }; m_presetsMenuItems = new List<OptionMenu> { new FilterPresetMenu(rom, m_filter, m_filter.DefaultPreset) };
@ -87,8 +87,8 @@ namespace AxibugEmuOnline.Client
} }
} }
public override string Name => m_preset.Name;
public FilterPresetMenu(RomFile rom, Filter filter, FilterPreset preset) : base(preset.Name, null) public FilterPresetMenu(RomFile rom, Filter filter, FilterPreset preset)
{ {
m_preset = preset; m_preset = preset;
m_rom = rom; m_rom = rom;

View File

@ -1,14 +1,12 @@
using AxibugEmuOnline.Client.ClientCore; namespace AxibugEmuOnline.Client
using System.Diagnostics;
namespace AxibugEmuOnline.Client
{ {
public class InGameUI_LoadState : ExecuteMenu public class InGameUI_LoadState : ExecuteMenu
{ {
private InGameUI m_gameUI; private InGameUI m_gameUI;
public override bool Visible => !m_gameUI.IsNetPlay; public override bool Visible => !m_gameUI.IsNetPlay;
public override string Name => "读取快照";
public InGameUI_LoadState(InGameUI gameUI) : base("뗍혤우亮", null) public InGameUI_LoadState(InGameUI gameUI)
{ {
m_gameUI = gameUI; m_gameUI = gameUI;
} }
@ -18,12 +16,9 @@ namespace AxibugEmuOnline.Client
if (m_gameUI.IsNetPlay) return; if (m_gameUI.IsNetPlay) return;
object state = m_gameUI.GetQuickState(); object state = m_gameUI.GetQuickState();
Stopwatch sw = Stopwatch.StartNew();
if (state != null) if (state != null)
{ {
m_gameUI.Core.LoadState(state); m_gameUI.Core.LoadState(state);
sw.Stop();
App.log.Info($"{m_gameUI.RomFile.Platform}====>우亮속潼봬珂:{sw.Elapsed.TotalMilliseconds}ms");
} }
} }
} }

View File

@ -1,11 +1,11 @@
namespace AxibugEmuOnline.Client namespace AxibugEmuOnline.Client
{ {
public class InGameUI_QuitGame : ExecuteMenu public class InGameUI_QuitGame : ExecuteMenu
{ {
private InGameUI m_gameUI; private InGameUI m_gameUI;
public override string Name => "退出";
public InGameUI_QuitGame(InGameUI gameUI)
public InGameUI_QuitGame(InGameUI gameUI) : base("退出", null)
{ {
m_gameUI = gameUI; m_gameUI = gameUI;
} }

View File

@ -1,14 +1,14 @@
using AxibugEmuOnline.Client.ClientCore; using AxibugEmuOnline.Client.ClientCore;
namespace AxibugEmuOnline.Client namespace AxibugEmuOnline.Client
{ {
public class InGameUI_Reset : ExecuteMenu public class InGameUI_Reset : ExecuteMenu
{ {
private InGameUI m_gameUI; private InGameUI m_gameUI;
public override string Name => "复位";
public override bool Visible => !m_gameUI.IsNetPlay || App.roomMgr.IsHost; public override bool Visible => !m_gameUI.IsNetPlay || App.roomMgr.IsHost;
public InGameUI_Reset(InGameUI gameUI) : base("复位", null) public InGameUI_Reset(InGameUI gameUI)
{ {
m_gameUI = gameUI; m_gameUI = gameUI;
} }

View File

@ -1,4 +1,4 @@
using AxibugEmuOnline.Client.ClientCore; using AxibugEmuOnline.Client.ClientCore;
using System.Diagnostics; using System.Diagnostics;
namespace AxibugEmuOnline.Client namespace AxibugEmuOnline.Client
@ -8,8 +8,9 @@ namespace AxibugEmuOnline.Client
private InGameUI m_gameUI; private InGameUI m_gameUI;
public override bool Visible => !m_gameUI.IsNetPlay; public override bool Visible => !m_gameUI.IsNetPlay;
public override string Name => "保存快照";
public InGameUI_SaveState(InGameUI gameUI) : base("괏닸우亮", null) public InGameUI_SaveState(InGameUI gameUI)
{ {
m_gameUI = gameUI; m_gameUI = gameUI;
} }
@ -23,7 +24,7 @@ namespace AxibugEmuOnline.Client
m_gameUI.SaveQuickState(state); m_gameUI.SaveQuickState(state);
sw.Stop(); sw.Stop();
App.log.Info($"{m_gameUI.RomFile.Platform}====>삿혤우亮봬珂:{sw.Elapsed.TotalMilliseconds}ms"); App.log.Info($"{m_gameUI.RomFile.Platform}====>获取快照耗时:{sw.Elapsed.TotalMilliseconds}ms");
} }
} }
} }

View File

@ -8,8 +8,8 @@ namespace AxibugEmuOnline.Client
public class InGameUI_Scaler : ExpandMenu public class InGameUI_Scaler : ExpandMenu
{ {
private List<OptionMenu> m_subMenus = new List<OptionMenu>(); private List<OptionMenu> m_subMenus = new List<OptionMenu>();
public override string Name => "屏幕比例";
public InGameUI_Scaler(InGameUI inGameUI) : base("屏幕比例", null) public InGameUI_Scaler(InGameUI inGameUI)
{ {
m_subMenus.Add(new Scale(inGameUI, null)); m_subMenus.Add(new Scale(inGameUI, null));
foreach (EnumScalerMode scaleModeValue in Enum.GetValues(typeof(EnumScalerMode))) foreach (EnumScalerMode scaleModeValue in Enum.GetValues(typeof(EnumScalerMode)))
@ -48,8 +48,8 @@ namespace AxibugEmuOnline.Client
else return false; else return false;
} }
} }
public override string Name => ModeToName(m_mode);
public Scale(InGameUI inGameUI, EnumScalerMode? mode) : base(ModeToName(mode), null) public Scale(InGameUI inGameUI, EnumScalerMode? mode)
{ {
m_mode = mode; m_mode = mode;
m_gameUI = inGameUI; m_gameUI = inGameUI;

View File

@ -1,5 +1,6 @@
using AxibugEmuOnline.Client.ClientCore; using AxibugEmuOnline.Client.ClientCore;
using AxibugEmuOnline.Client.UI; using AxibugEmuOnline.Client.UI;
using Coffee.UIExtensions;
using DG.Tweening; using DG.Tweening;
using DG.Tweening.Core; using DG.Tweening.Core;
using DG.Tweening.Plugins.Options; using DG.Tweening.Plugins.Options;
@ -14,7 +15,12 @@ namespace AxibugEmuOnline.Client
RectTransform MainMenuRoot; RectTransform MainMenuRoot;
[SerializeField] [SerializeField]
MainMenuController MainMenu; MainMenuController MainMenu;
public Image BG; [SerializeField]
Image XMBBackground;
[SerializeField]
Image RomPreviewBigPic;
[SerializeField]
CanvasGroup XMBCG_For_RomPreviewBigPic;
Vector2 m_mainLayoutPosition; Vector2 m_mainLayoutPosition;
[SerializeField] [SerializeField]
@ -25,12 +31,20 @@ namespace AxibugEmuOnline.Client
public static LaunchUI Instance { get; private set; } public static LaunchUI Instance { get; private set; }
TweenerCore<Vector2, Vector2, VectorOptions> m_layoutTween; TweenerCore<Vector2, Vector2, VectorOptions> m_layoutTween;
AlphaWraper romPreviewWraper;
private void Awake() private void Awake()
{ {
Instance = this; Instance = this;
m_mainLayoutPosition = MainMenuRoot.anchoredPosition; m_mainLayoutPosition = MainMenuRoot.anchoredPosition;
MainMenu.ListenControlAction = true; MainMenu.ListenControlAction = true;
romPreviewWraper = new AlphaWraper(XMBCG_For_RomPreviewBigPic, RomPreviewBigPic.GetComponent<CanvasGroup>(), false);
var uiEffect = RomPreviewBigPic.GetComponent<UIEffect>();
if (Application.platform == RuntimePlatform.PSP2)
uiEffect.blurMode = BlurMode.FastBlur;
else
uiEffect.blurMode = BlurMode.DetailBlur;
} }
private void Start() private void Start()
@ -46,14 +60,40 @@ namespace AxibugEmuOnline.Client
public void HideMainMenu() public void HideMainMenu()
{ {
BG.gameObject.SetActiveEx(false); XMBBackground.gameObject.SetActiveEx(false);
MainMenuRoot.gameObject.SetActiveEx(false); MainMenuRoot.gameObject.SetActiveEx(false);
RomPreviewBigPic.gameObject.SetActiveEx(false);
} }
public void ShowMainMenu() public void ShowMainMenu()
{ {
BG.gameObject.SetActiveEx(true); XMBBackground.gameObject.SetActiveEx(true);
MainMenuRoot.gameObject.SetActiveEx(true); MainMenuRoot.gameObject.SetActiveEx(true);
if (romPreviewWraper.On)
{
XMBCG_For_RomPreviewBigPic.gameObject.SetActive(false);
RomPreviewBigPic.gameObject.SetActive(true);
}
else if (!romPreviewWraper.On)
{
XMBCG_For_RomPreviewBigPic.gameObject.SetActive(true);
XMBCG_For_RomPreviewBigPic.alpha = 1;
RomPreviewBigPic.gameObject.SetActive(false);
}
}
public void HideRomPreview()
{
romPreviewWraper.On = false;
}
public void SetRomPreview(Sprite sp)
{
if (MainMenu.ListenControlAction) return;
RomPreviewBigPic.sprite = sp;
romPreviewWraper.On = true;
} }
public void ToDetailMenuLayout() public void ToDetailMenuLayout()
@ -89,6 +129,8 @@ namespace AxibugEmuOnline.Client
.SetSpeedBased(); .SetSpeedBased();
MainMenu.ListenControlAction = true; MainMenu.ListenControlAction = true;
MainMenu.ExitDetailState(); MainMenu.ExitDetailState();
HideRomPreview();
} }
} }
} }

View File

@ -42,7 +42,7 @@ namespace AxibugEmuOnline.Client
if (m_selectIndex == -1) SelectIndex = 0; if (m_selectIndex == -1) SelectIndex = 0;
} }
protected virtual MenuItem GetItemUIByIndex(int index) public virtual MenuItem GetItemUIByIndex(int index)
{ {
return m_runtimeMenuUI[SelectIndex]; return m_runtimeMenuUI[SelectIndex];
} }

View File

@ -35,18 +35,20 @@ namespace AxibugEmuOnline.Client
value = Mathf.Clamp(value, 0, m_runtimeMenuItems.Count - 1); value = Mathf.Clamp(value, 0, m_runtimeMenuItems.Count - 1);
if (m_selectIndex == value) return; if (m_selectIndex == value) return;
var gap = value - m_selectIndex; var gap = value - m_selectIndex;
var temp = value;
while (!m_runtimeMenuItems[value].Visible) while (!m_runtimeMenuItems[value].Visible)
{ {
var temp = value;
if (gap > 0) if (gap > 0)
{ {
temp++; temp++;
if (temp >= m_runtimeMenuItems.Count) return;
} }
else else
{ {
temp--; temp--;
if (temp < 0) return;
} }
if (temp >= 0 && temp < m_runtimeMenuItems.Count) if (temp >= 0 && temp < m_runtimeMenuItems.Count)
@ -386,7 +388,6 @@ namespace AxibugEmuOnline.Client
{ {
/// <summary> 设置这个值以控制菜单中显示"已应用"标记 </summary> /// <summary> 设置这个值以控制菜单中显示"已应用"标记 </summary>
public virtual bool IsApplied { get; } public virtual bool IsApplied { get; }
protected ExecuteMenu(string name, Sprite icon = null) : base(name, icon) { }
public abstract void OnExcute(OptionUI optionUI, ref bool cancelHide); public abstract void OnExcute(OptionUI optionUI, ref bool cancelHide);
} }
@ -396,7 +397,7 @@ namespace AxibugEmuOnline.Client
/// </summary> /// </summary>
public abstract class ExpandMenu : ExecuteMenu public abstract class ExpandMenu : ExecuteMenu
{ {
protected ExpandMenu(string name, Sprite icon = null) : base(name, icon) { } protected ExpandMenu() : base() { }
public sealed override void OnExcute(OptionUI optionUI, ref bool cancelHide) public sealed override void OnExcute(OptionUI optionUI, ref bool cancelHide)
{ {
@ -411,7 +412,7 @@ namespace AxibugEmuOnline.Client
/// </summary> /// </summary>
public abstract class ValueSetMenu : OptionMenu public abstract class ValueSetMenu : OptionMenu
{ {
protected ValueSetMenu(string name) : base(name) { } protected ValueSetMenu() : base() { }
public abstract Type ValueType { get; } public abstract Type ValueType { get; }
public abstract object ValueRaw { get; } public abstract object ValueRaw { get; }
@ -423,17 +424,11 @@ namespace AxibugEmuOnline.Client
/// <summary> 不要直接继承这个类 </summary> /// <summary> 不要直接继承这个类 </summary>
public abstract class OptionMenu public abstract class OptionMenu
{ {
public string Name { get; protected set; } public abstract string Name { get; }
public Sprite Icon { get; protected set; } public virtual Sprite Icon { get; }
public virtual bool Visible => true; public virtual bool Visible => true;
public virtual bool Enable => true; public virtual bool Enable => true;
protected OptionMenu(string name, Sprite icon = null)
{
Name = name;
Icon = icon;
}
public virtual void OnFocus() { } public virtual void OnFocus() { }
public virtual void OnShow(OptionUI_MenuItem ui) { } public virtual void OnShow(OptionUI_MenuItem ui) { }
public virtual void OnHide() { } public virtual void OnHide() { }

View File

@ -3,6 +3,7 @@ using AxibugEmuOnline.Client.Event;
using AxibugEmuOnline.Client.Manager; using AxibugEmuOnline.Client.Manager;
using AxibugEmuOnline.Client.UI; using AxibugEmuOnline.Client.UI;
using AxibugProtobuf; using AxibugProtobuf;
using Sony.Vita.Dialog;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using UnityEngine.UI; using UnityEngine.UI;
@ -48,6 +49,14 @@ namespace AxibugEmuOnline.Client
UpdateUI(roomInfo); UpdateUI(roomInfo);
} }
protected override void OnSelected(float progress)
{
base.OnSelected(progress);
if (Icon.sprite == null) LaunchUI.Instance.HideRomPreview();
else LaunchUI.Instance.SetRomPreview(Icon.sprite);
}
public override bool OnEnterItem() public override bool OnEnterItem()
{ {
if (m_romFile == null) return false; if (m_romFile == null) return false;
@ -128,8 +137,9 @@ namespace AxibugEmuOnline.Client
{ {
if (m_romFile == null) return; if (m_romFile == null) return;
if (m_romFile.ImageURL != url) return; if (m_romFile.ImageURL != url) return;
SetIcon(sprite); SetIcon(sprite);
if (m_select) LaunchUI.Instance.SetRomPreview(sprite);
} }
public void SetDependencyProperty(object data) public void SetDependencyProperty(object data)

View File

@ -45,7 +45,7 @@ namespace AxibugEmuOnline.Client
SelectIndex = selectIndex; SelectIndex = selectIndex;
} }
protected override MenuItem GetItemUIByIndex(int index) public override MenuItem GetItemUIByIndex(int index)
{ {
return itemGroup.GetItemUIByDataIndex(index)?.GetComponent<MenuItem>(); return itemGroup.GetItemUIByDataIndex(index)?.GetComponent<MenuItem>();
} }

View File

@ -5,12 +5,6 @@
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
_Color ("Tint", Color) = (1,1,1,1) _Color ("Tint", Color) = (1,1,1,1)
_StencilComp ("Stencil Comparison", Float) = 8
_Stencil ("Stencil ID", Float) = 0
_StencilOp ("Stencil Operation", Float) = 0
_StencilWriteMask ("Stencil Write Mask", Float) = 255
_StencilReadMask ("Stencil Read Mask", Float) = 255
_ColorMask ("Color Mask", Float) = 15 _ColorMask ("Color Mask", Float) = 15
[Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0 [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
@ -45,15 +39,6 @@
"CanUseSpriteAtlas"="True" "CanUseSpriteAtlas"="True"
} }
Stencil
{
Ref [_Stencil]
Comp [_StencilComp]
Pass [_StencilOp]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
}
Cull Off Cull Off
Lighting Off Lighting Off
ZWrite Off ZWrite Off
@ -72,9 +57,6 @@
#include "UnityCG.cginc" #include "UnityCG.cginc"
#include "UnityUI.cginc" #include "UnityUI.cginc"
#pragma multi_compile_local _ UNITY_UI_CLIP_RECT
#pragma multi_compile_local _ UNITY_UI_ALPHACLIP
struct appdata_t struct appdata_t
{ {
float4 vertex : POSITION; float4 vertex : POSITION;
@ -94,12 +76,7 @@
}; };
fixed4 _Color; fixed4 _Color;
fixed4 _TextureSampleAdd;
float4 _ClipRect;
sampler2D _MainTex; sampler2D _MainTex;
float4 _MainTex_ST;
float _UIMaskSoftnessX;
float _UIMaskSoftnessY;
float wave(float x, float frequency, float speed, float midHeight, float maxHeight) float wave(float x, float frequency, float speed, float midHeight, float maxHeight)
{ {
@ -128,10 +105,7 @@
float2 pixelSize = vPosition.w; float2 pixelSize = vPosition.w;
pixelSize /= float2(1, 1) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy)); pixelSize /= float2(1, 1) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy));
float4 clampedRect = clamp(_ClipRect, -2e10, 2e10); OUT.texcoord = v.texcoord.xy;
float2 maskUV = (v.vertex.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy);
OUT.texcoord = TRANSFORM_TEX(v.texcoord.xy, _MainTex);
OUT.mask = float4(v.vertex.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_UIMaskSoftnessX, _UIMaskSoftnessY) + abs(pixelSize.xy)));
OUT.color = v.color * _Color; OUT.color = v.color * _Color;
return OUT; return OUT;
@ -187,15 +161,6 @@
// Output to screen // Output to screen
fixed4 fragColor = float4(col,1.0)*IN.color; fixed4 fragColor = float4(col,1.0)*IN.color;
#ifdef UNITY_UI_CLIP_RECT
half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw);
fragColor.a *= m.x * m.y;
#endif
#ifdef UNITY_UI_ALPHACLIP
clip (fragColor.a - 0.001);
#endif
return fragColor; return fragColor;
} }

View File

@ -1,207 +0,0 @@
Shader "AxibugEmuOnline/XMBBackGroundPreview"
{
Properties
{
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
_Color ("Tint", Color) = (1,1,1,1)
_StencilComp ("Stencil Comparison", Float) = 8
_Stencil ("Stencil ID", Float) = 0
_StencilOp ("Stencil Operation", Float) = 0
_StencilWriteMask ("Stencil Write Mask", Float) = 255
_StencilReadMask ("Stencil Read Mask", Float) = 255
_ColorMask ("Color Mask", Float) = 15
[Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
[Space(10)]
_Color1("Color1",Color) = (0,0.4,1,1)
_Color2("Color2",Color) = (0,0.7,1,1)
[Header(Wave1)]
_MidHeight1("MidHeight",Float) = 0.4
_MaxHeight1("MaxHeigh",Float) = 0.5
_Power1("Power",Float)=50.0
_Frequency1("Frequency",Float)=2.0
_Speed1("Speed",Float)=0.4
[Header(Wave2)]
_MidHeight2("MidHeight",Float) = 0.42
_MaxHeight2("MaxHeigh",Float) = 0.54
_Power2("Power",Float)=50.0
_Frequency2("Frequency",Float)=2.1
_Speed2("Speed",Float)=0.3
}
SubShader
{
Tags
{
"Queue"="Transparent"
"IgnoreProjector"="True"
"RenderType"="Transparent"
"PreviewType"="Plane"
"CanUseSpriteAtlas"="True"
}
Stencil
{
Ref [_Stencil]
Comp [_StencilComp]
Pass [_StencilOp]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
}
Cull Off
Lighting Off
ZWrite Off
ZTest [unity_GUIZTestMode]
Blend SrcAlpha OneMinusSrcAlpha
ColorMask [_ColorMask]
Pass
{
Name "Default"
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 2.0
#include "UnityCG.cginc"
#include "UnityUI.cginc"
#pragma multi_compile_local _ UNITY_UI_CLIP_RECT
#pragma multi_compile_local _ UNITY_UI_ALPHACLIP
struct appdata_t
{
float4 vertex : POSITION;
float4 color : COLOR;
float2 texcoord : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2f
{
float4 vertex : SV_POSITION;
fixed4 color : COLOR;
float2 texcoord : TEXCOORD0;
float4 worldPosition : TEXCOORD1;
float4 mask : TEXCOORD2;
UNITY_VERTEX_OUTPUT_STEREO
};
fixed4 _Color;
fixed4 _TextureSampleAdd;
float4 _ClipRect;
sampler2D _MainTex;
float4 _MainTex_ST;
float _UIMaskSoftnessX;
float _UIMaskSoftnessY;
float wave(float x, float frequency, float speed, float midHeight, float maxHeight)
{
return (sin(frequency * (x + speed * (((1. - (pow(cos(0.002 * (_Time.y + 400.)), 2.) + 1.) / 2.) + .1) * 2048.))) * (maxHeight - midHeight)) + midHeight;
}
float percentHigh(float currentY, float waveHeight, float maxHeight, float power)
{
float percentWave = max(waveHeight - currentY, 0.0) / maxHeight;
return pow(1.0 - percentWave, power);
}
float waveColor(float2 uv, float waveHeight, float maxHeight, float frequency, float power)
{
float percentWave = percentHigh(uv.y, waveHeight, maxHeight, power);
return clamp(percentWave + 0.8, 0.0, 1.0);
}
v2f vert(appdata_t v)
{
v2f OUT;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
float4 vPosition = UnityObjectToClipPos(v.vertex);
OUT.worldPosition = v.vertex;
OUT.vertex = vPosition;
float2 pixelSize = vPosition.w;
pixelSize /= float2(1, 1) * abs(mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy));
float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
float2 maskUV = (v.vertex.xy - clampedRect.xy) / (clampedRect.zw - clampedRect.xy);
OUT.texcoord = TRANSFORM_TEX(v.texcoord.xy, _MainTex);
OUT.mask = float4(v.vertex.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_UIMaskSoftnessX, _UIMaskSoftnessY) + abs(pixelSize.xy)));
OUT.color = v.color * _Color;
return OUT;
}
float3 _Color1;
float3 _Color2;
float _MidHeight1;
float _MaxHeight1;
float _Power1;
float _Frequency1;
float _Speed1;
float _MidHeight2;
float _MaxHeight2;
float _Power2;
float _Frequency2;
float _Speed2;
fixed4 frag(v2f IN) : SV_Target
{
float2 uv= IN.texcoord;
// Lerped background
float amount = (uv.x + uv.y) / 2.0;
float3 bg = lerp(_Color2, _Color1, amount);
// Overlayed sine waves
float maxHeight1 = _MaxHeight1 + wave(0, 4.0,0.02, 0.0, 0.02);
float power1 = _Power1; //Higher power means thinner line
float frequency1 = _Frequency1 + wave(0.0, 3.0, 0.03, 0.0, 0.02);
float speed1 = _Speed1 + wave(0.0, 2.2, 0.04, 0.0, 0.01);
float waveHeight1 = wave(uv.x, frequency1, speed1, _MidHeight1, maxHeight1);
float waveCol1 = waveColor(uv, waveHeight1, maxHeight1, frequency1, power1);
float midHeight2 = _MidHeight2;
float maxHeight2 = _MaxHeight2 + wave(0.0, 3.0, 0.04, 0.0, 0.02);
float power2 = _Power2; //Higher power means thinner line
float frequency2 = _Frequency2 + wave(0.0, 4.0, 0.05, 0.0, 0.02);
float speed2 = _Speed2 + wave(0.0, 2.0, 0.02, 0.0, 0.01);
float waveHeight2 = wave(uv.x, frequency2, speed2, midHeight2, maxHeight2);
float waveCol2 = waveColor(uv, waveHeight2, maxHeight2, frequency2, power2);
float3 col = bg;
float3 waveCol1_temp=col/waveCol1;
col = lerp(col,waveCol1_temp, step(uv.y, waveHeight1));
float3 waveCol2_temp=col/waveCol2;
col = lerp(col,waveCol2_temp, step(uv.y, waveHeight2));
// Output to screen
fixed4 fragColor = float4(col,1.0)*IN.color;
#ifdef UNITY_UI_CLIP_RECT
half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw);
fragColor.a *= m.x * m.y;
#endif
#ifdef UNITY_UI_ALPHACLIP
clip (fragColor.a - 0.001);
#endif
return fragColor;
}
ENDCG
}
}
}

View File

@ -1,10 +0,0 @@
fileFormatVersion: 2
guid: 424d88aff12857f4aab1911fdb6e02e9
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
preprocessorOverride: 0
userData:
assetBundleName:
assetBundleVariant: