diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Shiny.mat b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Shiny.mat
index 5ddad0b0..45a05a66 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Shiny.mat
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect-Shiny.mat
@@ -2,20 +2,24 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
- serializedVersion: 6
+ serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: UI-Effect-Shiny
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_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
+ m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@@ -27,6 +31,7 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ m_Ints: []
m_Floats:
- _ColorMask: 15
- _Stencil: 0
@@ -38,3 +43,4 @@ Material:
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []
+ m_AllowLocking: 1
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat
index 75ab7d09..ea1b985d 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Materials/UI-Effect.mat
@@ -275,7 +275,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
+ m_ValidKeywords:
+ - DETAILBLUR
+ - FILL
m_InvalidKeywords: []
m_LightmapFlags: 5
m_EnableInstancingVariants: 0
@@ -616,7 +618,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
+ m_ValidKeywords:
+ - DETAILBLUR
+ - NEGA
m_InvalidKeywords: []
m_LightmapFlags: 5
m_EnableInstancingVariants: 0
@@ -632,6 +636,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
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_Floats:
- _ColorMask: 15
@@ -3572,7 +3580,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
+ m_ValidKeywords:
+ - DETAILBLUR
+ - SEPIA
m_InvalidKeywords: []
m_LightmapFlags: 5
m_EnableInstancingVariants: 0
@@ -3588,6 +3598,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
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_Floats:
- _ColorMask: 15
@@ -4062,7 +4076,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
+ m_ValidKeywords:
+ - DETAILBLUR
+ - SUBTRACT
m_InvalidKeywords: []
m_LightmapFlags: 5
m_EnableInstancingVariants: 0
@@ -4078,6 +4094,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
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_Floats:
- _ColorMask: 15
@@ -4182,7 +4202,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
+ m_ValidKeywords:
+ - ADD
+ - DETAILBLUR
m_InvalidKeywords: []
m_LightmapFlags: 5
m_EnableInstancingVariants: 0
@@ -4270,7 +4292,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
+ m_ValidKeywords:
+ - DETAILBLUR
+ - GRAYSCALE
m_InvalidKeywords: []
m_LightmapFlags: 5
m_EnableInstancingVariants: 0
@@ -4286,6 +4310,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
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_Floats:
- _ColorMask: 15
@@ -4850,7 +4878,9 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
+ m_ValidKeywords:
+ - DETAILBLUR
+ - PIXEL
m_InvalidKeywords: []
m_LightmapFlags: 5
m_EnableInstancingVariants: 0
@@ -4866,6 +4896,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
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_Floats:
- _ColorMask: 15
@@ -5585,7 +5619,8 @@ Material:
m_Shader: {fileID: 4800000, guid: b868e81d0156245e08c8646b4fb68d7a, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
- m_ValidKeywords: []
+ m_ValidKeywords:
+ - MEDIUMBLUR
m_InvalidKeywords: []
m_LightmapFlags: 5
m_EnableInstancingVariants: 0
diff --git a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs
index badda376..f0490ca8 100644
--- a/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs
+++ b/AxibugEmuOnline.Client/Assets/Plugins/Coffee/UIExtensions/UIEffect/Scripts/UIEffect.cs
@@ -190,7 +190,7 @@ namespace Coffee.UIExtensions
///
/// Blur effect mode(readonly).
///
- public BlurMode blurMode { get { return m_BlurMode; } }
+ public BlurMode blurMode { get { return m_BlurMode; }set { m_BlurMode = value; } }
///
/// Color for the color effect.
diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LaunchUI.prefab b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LaunchUI.prefab
index 1c85858e..48a28adb 100644
--- a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LaunchUI.prefab
+++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/LaunchUI.prefab
@@ -139,6 +139,123 @@ MonoBehaviour:
SubMenus: []
HoriRollSpd: 1500
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
GameObject:
m_ObjectHideFlags: 0
@@ -153,7 +270,7 @@ GameObject:
- component: {fileID: 3473513813641582791}
- component: {fileID: 3025550092845034426}
m_Layer: 5
- m_Name: bg
+ m_Name: XMBBackground
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -171,12 +288,12 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
- m_Father: {fileID: 1639091784002085428}
+ m_Father: {fileID: 3978167929173065121}
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_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1639091783724093861
CanvasRenderer:
@@ -270,7 +387,8 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- - {fileID: 1639091783724093883}
+ - {fileID: 3978167929173065121}
+ - {fileID: 8030738230415871255}
- {fileID: 1924338507}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -293,7 +411,9 @@ MonoBehaviour:
m_EditorClassIdentifier:
MainMenuRoot: {fileID: 1924338507}
MainMenu: {fileID: 4533431376032812611}
- BG: {fileID: 1639091783724093860}
+ XMBBackground: {fileID: 1639091783724093860}
+ RomPreviewBigPic: {fileID: 2831564238218273703}
+ XMBCG_For_RomPreviewBigPic: {fileID: 1747598380906379634}
m_detailLayoutPosition_x: 55
m_LayoutChangeSpeed: 1000
--- !u!1 &3732356966700017678
@@ -376,6 +496,55 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_HorizontalFit: 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
PrefabInstance:
m_ObjectHideFlags: 0
@@ -1935,7 +2104,7 @@ PrefabInstance:
- target: {fileID: 2619187604372594158, guid: 98ac562d730eabc42b9a3b12c715d114, type: 3}
propertyPath: m_Sprite
value:
- objectReference: {fileID: 21300000, guid: 8b2d1bdf739173c40bb205540b308d02, type: 3}
+ objectReference: {fileID: 8228730565043098574, guid: d518d00d4940e854bbe45d9ef891401a, type: 3}
- target: {fileID: 3189920797946144379, guid: 98ac562d730eabc42b9a3b12c715d114, type: 3}
propertyPath: m_Name
value: "\u753B\u9762\u6BD4\u4F8B"
@@ -2003,7 +2172,7 @@ PrefabInstance:
- target: {fileID: 6771349210554360888, guid: 98ac562d730eabc42b9a3b12c715d114, type: 3}
propertyPath: m_Sprite
value:
- objectReference: {fileID: 21300000, guid: 8b2d1bdf739173c40bb205540b308d02, type: 3}
+ objectReference: {fileID: 8228730565043098574, guid: d518d00d4940e854bbe45d9ef891401a, type: 3}
- target: {fileID: 8126322204359135913, guid: 98ac562d730eabc42b9a3b12c715d114, type: 3}
propertyPath: m_AnchorMax.y
value: 0
diff --git a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/VirtualItemTemplates/RomItemTemplate.prefab b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/VirtualItemTemplates/RomItemTemplate.prefab
index 85316e28..fe81f02f 100644
--- a/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/VirtualItemTemplates/RomItemTemplate.prefab
+++ b/AxibugEmuOnline.Client/Assets/Resources/UIPrefabs/VirtualItemTemplates/RomItemTemplate.prefab
@@ -353,7 +353,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
- m_IsActive: 1
+ m_IsActive: 0
--- !u!224 &88397014911048519
RectTransform:
m_ObjectHideFlags: 0
@@ -595,7 +595,7 @@ RectTransform:
m_Father: {fileID: 4825215963562112837}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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_SizeDelta: {x: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@@ -673,6 +673,81 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -10, y: 0}
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
GameObject:
m_ObjectHideFlags: 0
@@ -813,6 +888,8 @@ MonoBehaviour:
DownloadingFlag: {fileID: 1252956242765037133}
DownProgress: {fileID: 1484915906009859069}
FileReadyFlag: {fileID: 6316945668089981796}
+ DownloadComplete: {fileID: 6633045760783967661}
+ Star: {fileID: 0}
--- !u!114 &5700455559359757662
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -998,6 +1075,7 @@ GameObject:
- component: {fileID: 8105925540140519754}
- component: {fileID: 1377401926964550360}
- component: {fileID: 67125096702760250}
+ - component: {fileID: 6633045760783967661}
m_Layer: 5
m_Name: RomImage
m_TagString: Untagged
@@ -1019,6 +1097,7 @@ RectTransform:
m_Children:
- {fileID: 6087025893861054323}
- {fileID: 1361359478345282377}
+ - {fileID: 1123244137077354552}
- {fileID: 88397014911048519}
m_Father: {fileID: 8754483333502849411}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -1065,6 +1144,39 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
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
GameObject:
m_ObjectHideFlags: 0
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Event/EEvent.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Event/EEvent.cs
index 2814d838..ce00a72c 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Event/EEvent.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Event/EEvent.cs
@@ -79,6 +79,16 @@
/// 当本机手柄渴望插入时触发
/// 参数: 本地手柄序号[0,3]
///
- OnLocalJoyDesireInvert
+ OnLocalJoyDesireInvert,
+ ///
+ /// 当Rom文件下载完毕时触发
+ /// RomID
+ ///
+ OnRomFileDownloaded,
+ ///
+ /// 当Rom收藏状态变化时触发
+ /// RomID
+ ///
+ OnRomStarStateChanged, //TODO 实现这个事件
}
}
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/ScreenScaler.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/ScreenScaler.cs
index 228542ab..41af7649 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/ScreenScaler.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/AppSettings/ScreenScaler.cs
@@ -106,7 +106,7 @@ namespace AxibugEmuOnline.Client
switch (platform)
{
case RomPlatformType.Nes: return new Vector2Int(256, 240);
- default: return new Vector2Int(256, 240);
+ default: throw new System.NotImplementedException($"未实现的平台:{platform}");
}
}
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/HttpAPI.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/HttpAPI.cs
index d3e3bbc2..6a59e5d4 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/HttpAPI.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/HttpAPI.cs
@@ -184,6 +184,7 @@ namespace AxibugEmuOnline.Client
public string imgUrl;
public string hash;
public int stars;
+ public int isStar;//TODO 实现收藏标记
}
[Serializable]
public class Resp_CheckStandInfo
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/RomLib/RomFile.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/RomLib/RomFile.cs
index 425828bd..e1f9c464 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/RomLib/RomFile.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/RomLib/RomFile.cs
@@ -1,4 +1,5 @@
using AxibugEmuOnline.Client.ClientCore;
+using AxibugEmuOnline.Client.Event;
using AxibugProtobuf;
using ICSharpCode.SharpZipLib.Zip;
using System;
@@ -54,8 +55,18 @@ namespace AxibugEmuOnline.Client
public int Index { 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;
+ /// 标记是否收藏
+ public bool Star
+ {
+ get { return webData != null ? webData.isStar > 0 : false; }
+ set
+ {
+ if (webData == null) return;
+ webData.isStar = value ? 1 : 0;
+ }
+ }
+
public event Action OnDownloadOver;
public event Action OnInfoFilled;
@@ -79,6 +90,8 @@ namespace AxibugEmuOnline.Client
File.WriteAllBytes(LocalFilePath, bytes);
hasLocalFile = true;
+
+ Eventer.Instance.PostEvent(EEvent.OnRomFileDownloaded, ID);
}
OnDownloadOver?.Invoke(this);
}));
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/RomLib/RomLib.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/RomLib/RomLib.cs
index fef19578..1a499722 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/RomLib/RomLib.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Manager/RomLib/RomLib.cs
@@ -1,9 +1,11 @@
using AxibugEmuOnline.Client.ClientCore;
using AxibugEmuOnline.Client.Common;
+using AxibugEmuOnline.Client.Event;
using AxibugProtobuf;
using System;
using System.Collections.Generic;
using System.IO;
+using System.Linq;
using static AxibugEmuOnline.Client.HttpAPI;
namespace AxibugEmuOnline.Client
@@ -33,6 +35,16 @@ namespace AxibugEmuOnline.Client
m_romSearchFunc = App.httpAPI.SearchNesRomList;
break;
}
+
+ Eventer.Instance.RegisterEvent(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)
@@ -42,8 +54,6 @@ namespace AxibugEmuOnline.Client
return romFile;
}
-
-
/// 清除所有下载的Rom文件
public void ClearRomFile()
{
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/UI_BgSettingItem_Color.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/UI_BgSettingItem_Color.cs
index 2676a2d4..ee7b52bd 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/UI_BgSettingItem_Color.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/UI_BgSettingItem_Color.cs
@@ -1,4 +1,4 @@
-using AxibugEmuOnline.Client.ClientCore;
+using AxibugEmuOnline.Client.ClientCore;
using AxibugEmuOnline.Client.UI;
using DG.Tweening;
using DG.Tweening.Core;
@@ -9,7 +9,7 @@ using UnityEngine;
namespace AxibugEmuOnline.Client
{
///
- /// ɫUI
+ /// 背景颜色设置UI
///
public class UI_BgSettingItem_Color : MenuItem, IVirtualItem
{
@@ -34,7 +34,7 @@ namespace AxibugEmuOnline.Client
var color = Datacontext.CurrentColor;
Icon.GetMaterial().SetColor("_Color1", color.color1);
Icon.GetMaterial().SetColor("_Color2", color.color2);
- SetBaseInfo("ɫ", "ɫ", color.Name);
+ SetBaseInfo("主题色", "设置主题色", color.Name);
}
public void SetDependencyProperty(object data)
@@ -58,8 +58,9 @@ namespace AxibugEmuOnline.Client
public class ColorOption : ExecuteMenu
{
public XMBColor Color;
+ public override string Name => Color.Name;
- public ColorOption(XMBColor color) : base(color.Name)
+ public ColorOption(XMBColor color)
{
Color = color;
}
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/UI_FilterItem.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/UI_FilterItem.cs
index 548702f9..e7dd6ab2 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/UI_FilterItem.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/UI_FilterItem.cs
@@ -70,7 +70,9 @@ namespace AxibugEmuOnline.Client
{
private Filter m_filter;
- public Opt_CreatePreset(Filter filter) : base("创建滤镜预设", Resources.LoadAll("Icons/XMB-Icons/misc")[0])
+ public override string Name => "创建滤镜预设";
+ public override Sprite Icon => Resources.LoadAll("Icons/XMB-Icons/misc")[0];
+ public Opt_CreatePreset(Filter filter)
{
m_filter = filter;
}
@@ -101,7 +103,9 @@ namespace AxibugEmuOnline.Client
private OptionUI_MenuItem m_ui;
private List 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_preset = preset;
@@ -151,8 +155,8 @@ namespace AxibugEmuOnline.Client
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)
- : base(editParam.Name)
{
m_filter = filter;
m_param = editParam;
@@ -179,8 +183,9 @@ namespace AxibugEmuOnline.Client
{
private Filter m_filter;
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_preset = preset;
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/GamesUI/RomItem.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/GamesUI/RomItem.cs
index df913641..480858c8 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/GamesUI/RomItem.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/GamesUI/RomItem.cs
@@ -1,5 +1,8 @@
using AxibugEmuOnline.Client.ClientCore;
+using AxibugEmuOnline.Client.Event;
using AxibugEmuOnline.Client.UI;
+using Coffee.UIExtensions;
+using System;
using UnityEngine;
using UnityEngine.UI;
@@ -16,12 +19,45 @@ namespace AxibugEmuOnline.Client
Slider DownProgress;
[SerializeField]
GameObject FileReadyFlag;
+ [SerializeField]
+ UIShiny DownloadComplete;
+ [SerializeField]
+ GameObject Star;
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;
+ protected override void OnEnable()
+ {
+ Eventer.Instance.RegisterEvent(EEvent.OnRomFileDownloaded, OnRomDownloaded);
+ }
+
+ protected override void OnDisable()
+ {
+ Eventer.Instance.UnregisterEvent(EEvent.OnRomFileDownloaded, OnRomDownloaded);
+ }
+
+ private void OnRomDownloaded(int romID)
+ {
+ if (m_romfile == null || m_romfile.ID != romID) return;
+
+ DownloadComplete.Play();
+ }
+
public void SetData(object data)
{
Reset();
@@ -45,6 +81,14 @@ namespace AxibugEmuOnline.Client
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()
{
m_romfile.OnInfoFilled -= OnRomInfoFilled;
@@ -69,7 +113,9 @@ namespace AxibugEmuOnline.Client
if (!m_romfile.InfoReady || url != m_romfile.ImageURL) return;
m_romImage.sprite = img;
+ if (m_select) LaunchUI.Instance.SetRomPreview(img);
});
+ Star.SetActiveEx(m_romfile.Star);
}
}
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/GamesUI/RomListMenuItem.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/GamesUI/RomListMenuItem.cs
index 5a7241fa..79d49980 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/GamesUI/RomListMenuItem.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/GamesUI/RomListMenuItem.cs
@@ -34,6 +34,7 @@ namespace AxibugEmuOnline.Client
{
new OptMenu_Search(this),
new OptMenu_ShowAll(this),
+ new OptMenu_Fav(this),
};
}
@@ -68,8 +69,9 @@ namespace AxibugEmuOnline.Client
public class OptMenu_Search : ExecuteMenu
{
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;
}
@@ -90,9 +92,10 @@ namespace AxibugEmuOnline.Client
{
private RomListMenuItem m_ui;
+ public override string Name => "显示全部";
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;
}
@@ -103,5 +106,32 @@ namespace AxibugEmuOnline.Client
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);
+ }
+ }
}
}
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_FilterSetting.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_FilterSetting.cs
index 31bd1d14..14c684f2 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_FilterSetting.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_FilterSetting.cs
@@ -8,8 +8,9 @@ namespace AxibugEmuOnline.Client
public class InGameUI_FilterSetting : ExpandMenu
{
private InGameUI m_gameUI;
+ public override string Name => "滤镜";
- public InGameUI_FilterSetting(InGameUI gameUI) : base("滤镜", null)
+ public InGameUI_FilterSetting(InGameUI gameUI)
{
m_gameUI = gameUI;
}
@@ -26,12 +27,11 @@ namespace AxibugEmuOnline.Client
{
private RomFile m_rom;
+ public override string Name => "取消滤镜";
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;
-
- var currentFilterSetting = App.settings.Filter.GetFilterSetting(m_rom);
}
public override void OnExcute(OptionUI optionUI, ref bool cancelHide)
@@ -58,8 +58,8 @@ namespace AxibugEmuOnline.Client
return false;
}
}
-
- public FilterMenu(RomFile rom, Filter filter) : base(filter.Name, null)
+ public override string Name => m_filter.Name;
+ public FilterMenu(RomFile rom, Filter filter)
{
m_filter = filter;
m_presetsMenuItems = new List { new FilterPresetMenu(rom, m_filter, m_filter.DefaultPreset) };
@@ -87,8 +87,8 @@ namespace AxibugEmuOnline.Client
}
}
-
- public FilterPresetMenu(RomFile rom, Filter filter, FilterPreset preset) : base(preset.Name, null)
+ public override string Name => m_preset.Name;
+ public FilterPresetMenu(RomFile rom, Filter filter, FilterPreset preset)
{
m_preset = preset;
m_rom = rom;
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_LoadState.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_LoadState.cs
index c6ddd582..9aa0d1b5 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_LoadState.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_LoadState.cs
@@ -1,14 +1,12 @@
-using AxibugEmuOnline.Client.ClientCore;
-using System.Diagnostics;
-
-namespace AxibugEmuOnline.Client
+namespace AxibugEmuOnline.Client
{
public class InGameUI_LoadState : ExecuteMenu
{
private InGameUI m_gameUI;
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;
}
@@ -18,12 +16,9 @@ namespace AxibugEmuOnline.Client
if (m_gameUI.IsNetPlay) return;
object state = m_gameUI.GetQuickState();
- Stopwatch sw = Stopwatch.StartNew();
if (state != null)
{
m_gameUI.Core.LoadState(state);
- sw.Stop();
- App.log.Info($"{m_gameUI.RomFile.Platform}====>ռغʱ:{sw.Elapsed.TotalMilliseconds}ms");
}
}
}
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_QuitGame.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_QuitGame.cs
index 03ed5166..1c05924b 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_QuitGame.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_QuitGame.cs
@@ -1,11 +1,11 @@
-namespace AxibugEmuOnline.Client
+namespace AxibugEmuOnline.Client
{
public class InGameUI_QuitGame : ExecuteMenu
{
private InGameUI m_gameUI;
+ public override string Name => "退出";
-
- public InGameUI_QuitGame(InGameUI gameUI) : base("˳", null)
+ public InGameUI_QuitGame(InGameUI gameUI)
{
m_gameUI = gameUI;
}
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_Reset.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_Reset.cs
index 02cbbaf7..a804dd66 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_Reset.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_Reset.cs
@@ -1,14 +1,14 @@
-using AxibugEmuOnline.Client.ClientCore;
+using AxibugEmuOnline.Client.ClientCore;
namespace AxibugEmuOnline.Client
{
public class InGameUI_Reset : ExecuteMenu
{
private InGameUI m_gameUI;
-
+ public override string Name => "复位";
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;
}
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_SaveState.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_SaveState.cs
index 8c44d1ee..c6cbee4d 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_SaveState.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_SaveState.cs
@@ -1,4 +1,4 @@
-using AxibugEmuOnline.Client.ClientCore;
+using AxibugEmuOnline.Client.ClientCore;
using System.Diagnostics;
namespace AxibugEmuOnline.Client
@@ -8,8 +8,9 @@ namespace AxibugEmuOnline.Client
private InGameUI m_gameUI;
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;
}
@@ -23,7 +24,7 @@ namespace AxibugEmuOnline.Client
m_gameUI.SaveQuickState(state);
sw.Stop();
- App.log.Info($"{m_gameUI.RomFile.Platform}====>ȡպʱ:{sw.Elapsed.TotalMilliseconds}ms");
+ App.log.Info($"{m_gameUI.RomFile.Platform}====>获取快照耗时:{sw.Elapsed.TotalMilliseconds}ms");
}
}
}
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_Scaler.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_Scaler.cs
index 2fc9d92c..4eb06201 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_Scaler.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/InGameUI/InGameUI_Scaler.cs
@@ -8,8 +8,8 @@ namespace AxibugEmuOnline.Client
public class InGameUI_Scaler : ExpandMenu
{
private List m_subMenus = new List();
-
- public InGameUI_Scaler(InGameUI inGameUI) : base("屏幕比例", null)
+ public override string Name => "屏幕比例";
+ public InGameUI_Scaler(InGameUI inGameUI)
{
m_subMenus.Add(new Scale(inGameUI, null));
foreach (EnumScalerMode scaleModeValue in Enum.GetValues(typeof(EnumScalerMode)))
@@ -48,8 +48,8 @@ namespace AxibugEmuOnline.Client
else return false;
}
}
-
- public Scale(InGameUI inGameUI, EnumScalerMode? mode) : base(ModeToName(mode), null)
+ public override string Name => ModeToName(m_mode);
+ public Scale(InGameUI inGameUI, EnumScalerMode? mode)
{
m_mode = mode;
m_gameUI = inGameUI;
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/LaunchUI.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/LaunchUI.cs
index ec562ffb..999f503b 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/LaunchUI.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/LaunchUI.cs
@@ -1,5 +1,6 @@
-using AxibugEmuOnline.Client.ClientCore;
+using AxibugEmuOnline.Client.ClientCore;
using AxibugEmuOnline.Client.UI;
+using Coffee.UIExtensions;
using DG.Tweening;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
@@ -14,7 +15,12 @@ namespace AxibugEmuOnline.Client
RectTransform MainMenuRoot;
[SerializeField]
MainMenuController MainMenu;
- public Image BG;
+ [SerializeField]
+ Image XMBBackground;
+ [SerializeField]
+ Image RomPreviewBigPic;
+ [SerializeField]
+ CanvasGroup XMBCG_For_RomPreviewBigPic;
Vector2 m_mainLayoutPosition;
[SerializeField]
@@ -25,12 +31,20 @@ namespace AxibugEmuOnline.Client
public static LaunchUI Instance { get; private set; }
TweenerCore m_layoutTween;
+ AlphaWraper romPreviewWraper;
private void Awake()
{
Instance = this;
m_mainLayoutPosition = MainMenuRoot.anchoredPosition;
MainMenu.ListenControlAction = true;
+ romPreviewWraper = new AlphaWraper(XMBCG_For_RomPreviewBigPic, RomPreviewBigPic.GetComponent(), false);
+
+ var uiEffect = RomPreviewBigPic.GetComponent();
+ if (Application.platform == RuntimePlatform.PSP2)
+ uiEffect.blurMode = BlurMode.FastBlur;
+ else
+ uiEffect.blurMode = BlurMode.DetailBlur;
}
private void Start()
@@ -46,14 +60,40 @@ namespace AxibugEmuOnline.Client
public void HideMainMenu()
{
- BG.gameObject.SetActiveEx(false);
+ XMBBackground.gameObject.SetActiveEx(false);
MainMenuRoot.gameObject.SetActiveEx(false);
+ RomPreviewBigPic.gameObject.SetActiveEx(false);
}
public void ShowMainMenu()
{
- BG.gameObject.SetActiveEx(true);
+ XMBBackground.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()
@@ -89,6 +129,8 @@ namespace AxibugEmuOnline.Client
.SetSpeedBased();
MainMenu.ListenControlAction = true;
MainMenu.ExitDetailState();
+
+ HideRomPreview();
}
}
}
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/MenuItemController.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/MenuItemController.cs
index 841bad89..90b0ae00 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/MenuItemController.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/MenuItemController.cs
@@ -42,7 +42,7 @@ namespace AxibugEmuOnline.Client
if (m_selectIndex == -1) SelectIndex = 0;
}
- protected virtual MenuItem GetItemUIByIndex(int index)
+ public virtual MenuItem GetItemUIByIndex(int index)
{
return m_runtimeMenuUI[SelectIndex];
}
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/OptionUI/OptionUI.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/OptionUI/OptionUI.cs
index 4de0cb41..c208606f 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/OptionUI/OptionUI.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/OptionUI/OptionUI.cs
@@ -35,18 +35,20 @@ namespace AxibugEmuOnline.Client
value = Mathf.Clamp(value, 0, m_runtimeMenuItems.Count - 1);
if (m_selectIndex == value) return;
- var gap = value - m_selectIndex;
-
+ var gap = value - m_selectIndex;
+
+ var temp = value;
while (!m_runtimeMenuItems[value].Visible)
{
- var temp = value;
if (gap > 0)
{
- temp++;
+ temp++;
+ if (temp >= m_runtimeMenuItems.Count) return;
}
else
{
temp--;
+ if (temp < 0) return;
}
if (temp >= 0 && temp < m_runtimeMenuItems.Count)
@@ -386,7 +388,6 @@ namespace AxibugEmuOnline.Client
{
/// 设置这个值以控制菜单中显示"已应用"标记
public virtual bool IsApplied { get; }
- protected ExecuteMenu(string name, Sprite icon = null) : base(name, icon) { }
public abstract void OnExcute(OptionUI optionUI, ref bool cancelHide);
}
@@ -396,7 +397,7 @@ namespace AxibugEmuOnline.Client
///
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)
{
@@ -411,7 +412,7 @@ namespace AxibugEmuOnline.Client
///
public abstract class ValueSetMenu : OptionMenu
{
- protected ValueSetMenu(string name) : base(name) { }
+ protected ValueSetMenu() : base() { }
public abstract Type ValueType { get; }
public abstract object ValueRaw { get; }
@@ -423,17 +424,11 @@ namespace AxibugEmuOnline.Client
/// 不要直接继承这个类
public abstract class OptionMenu
{
- public string Name { get; protected set; }
- public Sprite Icon { get; protected set; }
+ public abstract string Name { get; }
+ public virtual Sprite Icon { get; }
public virtual bool Visible => true;
public virtual bool Enable => true;
- protected OptionMenu(string name, Sprite icon = null)
- {
- Name = name;
- Icon = icon;
- }
-
public virtual void OnFocus() { }
public virtual void OnShow(OptionUI_MenuItem ui) { }
public virtual void OnHide() { }
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/RoomUI/RoomItem.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/RoomUI/RoomItem.cs
index aeb938f0..08ed2334 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/RoomUI/RoomItem.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/RoomUI/RoomItem.cs
@@ -3,6 +3,7 @@ using AxibugEmuOnline.Client.Event;
using AxibugEmuOnline.Client.Manager;
using AxibugEmuOnline.Client.UI;
using AxibugProtobuf;
+using Sony.Vita.Dialog;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
@@ -48,6 +49,14 @@ namespace AxibugEmuOnline.Client
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()
{
if (m_romFile == null) return false;
@@ -128,8 +137,9 @@ namespace AxibugEmuOnline.Client
{
if (m_romFile == null) return;
if (m_romFile.ImageURL != url) return;
-
SetIcon(sprite);
+
+ if (m_select) LaunchUI.Instance.SetRomPreview(sprite);
}
public void SetDependencyProperty(object data)
diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/ThirdMenuRoot.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/ThirdMenuRoot.cs
index 0a615d61..f8bd88ac 100644
--- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/ThirdMenuRoot.cs
+++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/ThirdMenuRoot.cs
@@ -45,7 +45,7 @@ namespace AxibugEmuOnline.Client
SelectIndex = selectIndex;
}
- protected override MenuItem GetItemUIByIndex(int index)
+ public override MenuItem GetItemUIByIndex(int index)
{
return itemGroup.GetItemUIByDataIndex(index)?.GetComponent