Compare commits

...

2 Commits

Author SHA1 Message Date
ALIENJACK\alien
84d7112c90 增加滤镜预览功能 2024-11-28 10:08:49 +08:00
ALIENJACK\alien
d05b2018eb 滤镜设置UI添加,修复bug 2024-11-27 13:30:56 +08:00
25 changed files with 4275 additions and 242 deletions

6
.gitignore vendored
View File

@ -13,7 +13,5 @@
/AxibugEmuOnline.Client/ProjectSettings/ProjectVersion.txt /AxibugEmuOnline.Client/ProjectSettings/ProjectVersion.txt
/AxibugEmuOnline.Client/ProjectSettings/AutoStreamingSettings.asset /AxibugEmuOnline.Client/ProjectSettings/AutoStreamingSettings.asset
/AxibugEmuOnline.Client/Logs /AxibugEmuOnline.Client/Logs
/virtuanessrc097-master/save
/virtuanessrc097-master/.vs /virtuanessrc097-master
/virtuanessrc097-master/Debug
/virtuanessrc097-master/VirtuaNES.ini

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 3ecc1c637c161184099b69c3d7a0f354
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,822 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &29419265480821815
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8126322204359135913}
- component: {fileID: 2718916271043989317}
- component: {fileID: 3380485461544738227}
m_Layer: 5
m_Name: Descript
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8126322204359135913
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 29419265480821815}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 8789823129857705082}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 33}
m_Pivot: {x: 0, y: 1}
--- !u!222 &2718916271043989317
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 29419265480821815}
m_CullTransparentMesh: 1
--- !u!114 &3380485461544738227
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 29419265480821815}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 20
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 300
m_Alignment: 0
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: DESCRIBTIONDESCRIBTIONDESCRIBTIONDESCRIBTIONDESCRIBTIONDESCRIBTIONDESCRIBTIONDESCRIBTIONDESCRIBTIONDESCRIBTIONDESCRIBTION
--- !u!1 &734025543935719296
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1323634865265500141}
- component: {fileID: 5792146190930927166}
- component: {fileID: 2619187604372594158}
- component: {fileID: 1779247868001543556}
- component: {fileID: 4496630961732192070}
- component: {fileID: 2059277597780235898}
m_Layer: 5
m_Name: shadowIcon
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1323634865265500141
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 734025543935719296}
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_Children: []
m_Father: {fileID: 8754483333502849411}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &5792146190930927166
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 734025543935719296}
m_CullTransparentMesh: 1
--- !u!114 &2619187604372594158
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 734025543935719296}
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.4577373, 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: 21300000, guid: 8706af46c93329b4da3c86c0b13b886e, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 0
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &1779247868001543556
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 734025543935719296}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f8b2ed11d675446c5a49da1ea296d490, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Version: 300
m_EffectMaterial: {fileID: 21305736874167728, guid: aee96bc531e6eba468ec405e536f515f, type: 2}
m_EffectFactor: 0
m_ColorFactor: 0
m_BlurFactor: 0
m_EffectMode: 0
m_ColorMode: 1
m_BlurMode: 3
m_AdvancedBlur: 1
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!114 &4496630961732192070
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 734025543935719296}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0848bff101191904ead4bb831f7084db, type: 3}
m_Name:
m_EditorClassIdentifier:
m_BlurFactor: 1
m_Style: 3
m_AdditionalShadows: []
m_EffectColor: {r: 1, g: 1, b: 1, a: 0}
m_EffectDistance: {x: 8, y: 8}
m_UseGraphicAlpha: 0
--- !u!95 &2059277597780235898
Animator:
serializedVersion: 3
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 734025543935719296}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: 0b3ccf7414d2ead43be0cd33b6e1b53c, type: 2}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorControllerStateOnDisable: 0
--- !u!1 &1776357407830023228
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6087025893861054323}
- component: {fileID: 7036072602178187444}
- component: {fileID: 6771349210554360888}
m_Layer: 5
m_Name: Icon
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6087025893861054323
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1776357407830023228}
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_Children: []
m_Father: {fileID: 8754483333502849411}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -200, y: 0}
m_SizeDelta: {x: -396, y: 4}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7036072602178187444
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1776357407830023228}
m_CullTransparentMesh: 1
--- !u!114 &6771349210554360888
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1776357407830023228}
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: 21300000, guid: 8706af46c93329b4da3c86c0b13b886e, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 0
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &3189920797946144379
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1998281097548910301}
- component: {fileID: 5700455559359757662}
- component: {fileID: 1719219194513122235}
m_Layer: 5
m_Name: FilterItemTemplate
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1998281097548910301
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3189920797946144379}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 8754483333502849411}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 500, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &5700455559359757662
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3189920797946144379}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 0
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: 200
m_PreferredHeight: 230
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!114 &1719219194513122235
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3189920797946144379}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 267dda362a6090d42b48e3cced57ae9c, type: 3}
m_Name:
m_EditorClassIdentifier:
Icon: {fileID: 6771349210554360888}
Txt: {fileID: 991446423622995247}
SubTitle: {fileID: 6534898873012636952}
spline: {fileID: 4812759387377418448}
Descript: {fileID: 3380485461544738227}
Root: {fileID: 8754483333502849411}
ShadowIcon: {fileID: 2619187604372594158}
InfoNode: {fileID: 6788248266412682264}
SubMenuItemGroup: {fileID: 0}
SelectScale: 1
UnSelectScale: 0.85
--- !u!1 &3993825260653792697
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8789823129857705082}
- component: {fileID: 3252398029444565139}
- component: {fileID: 6788248266412682264}
- component: {fileID: 8081109478688381999}
- component: {fileID: 6660646139021869069}
m_Layer: 5
m_Name: InfoNode
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8789823129857705082
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3993825260653792697}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 6095356919362338847}
- {fileID: 6797116381500671839}
- {fileID: 6673031368290035463}
- {fileID: 8126322204359135913}
m_Father: {fileID: 8754483333502849411}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 100, y: 0}
m_SizeDelta: {x: 600, y: 0}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &3252398029444565139
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3993825260653792697}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 20
m_Right: 0
m_Top: 13
m_Bottom: 0
m_ChildAlignment: 0
m_Spacing: 0
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 1
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!225 &6788248266412682264
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3993825260653792697}
m_Enabled: 1
m_Alpha: 1
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!222 &8081109478688381999
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3993825260653792697}
m_CullTransparentMesh: 1
--- !u!114 &6660646139021869069
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3993825260653792697}
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: 0}
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!1 &5340761592919397836
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6095356919362338847}
- component: {fileID: 7651669947470814669}
- component: {fileID: 991446423622995247}
- component: {fileID: 8545526122445709124}
m_Layer: 5
m_Name: Name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6095356919362338847
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5340761592919397836}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 8986746042327041630}
m_Father: {fileID: 8789823129857705082}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 33}
m_Pivot: {x: 0, y: 1}
--- !u!222 &7651669947470814669
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5340761592919397836}
m_CullTransparentMesh: 1
--- !u!114 &991446423622995247
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5340761592919397836}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 30
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 300
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: NAME
--- !u!114 &8545526122445709124
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5340761592919397836}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3}
m_Name:
m_EditorClassIdentifier:
m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
m_EffectDistance: {x: 1.5, y: 1.5}
m_UseGraphicAlpha: 1
--- !u!1 &5468696000904882177
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8986746042327041630}
- component: {fileID: 952406696262539679}
- component: {fileID: 6534898873012636952}
m_Layer: 5
m_Name: subTitle
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8986746042327041630
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5468696000904882177}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 6095356919362338847}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 580, y: 33}
m_Pivot: {x: 1, y: 0.5}
--- !u!222 &952406696262539679
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5468696000904882177}
m_CullTransparentMesh: 1
--- !u!114 &6534898873012636952
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5468696000904882177}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData:
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
m_FontSize: 25
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 300
m_Alignment: 5
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 1
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text: 4324234
--- !u!1 &6688216270065609628
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6797116381500671839}
- component: {fileID: 5682159953164052307}
- component: {fileID: 4812759387377418448}
m_Layer: 5
m_Name: spline
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6797116381500671839
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6688216270065609628}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 8789823129857705082}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 4}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5682159953164052307
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6688216270065609628}
m_CullTransparentMesh: 1
--- !u!114 &4812759387377418448
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6688216270065609628}
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!1 &8290338740711049006
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8754483333502849411}
m_Layer: 5
m_Name: Root
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8754483333502849411
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8290338740711049006}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1323634865265500141}
- {fileID: 6087025893861054323}
- {fileID: 8789823129857705082}
m_Father: {fileID: 1998281097548910301}
m_RootOrder: 0
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!1 &9036340599819825964
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6673031368290035463}
m_Layer: 5
m_Name: space
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6673031368290035463
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9036340599819825964}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 8789823129857705082}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 10}
m_Pivot: {x: 0.5, y: 0.5}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 52fd21b2efaed0c4fa5229087906809a
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -39,7 +39,7 @@ namespace AxibugEmuOnline.Client.ClientCore
#else #else
public static string PersistentDataPath => Application.persistentDataPath; public static string PersistentDataPath => Application.persistentDataPath;
#endif #endif
public static void Init(PostProcessVolume filterVolume) public static void Init(Initer initer)
{ {
settings = new AppSettings(); settings = new AppSettings();
@ -55,7 +55,7 @@ namespace AxibugEmuOnline.Client.ClientCore
nesRomLib = new RomLib(EnumPlatform.NES); nesRomLib = new RomLib(EnumPlatform.NES);
CacheMgr = new CacheManager(); CacheMgr = new CacheManager();
roomMgr = new AppRoom(); roomMgr = new AppRoom();
filter = new FilterManager(filterVolume); filter = new FilterManager(initer.m_filterVolume, initer.m_filterPreview,initer.m_xmbBg);
var go = new GameObject("[AppAxibugEmuOnline]"); var go = new GameObject("[AppAxibugEmuOnline]");
GameObject.DontDestroyOnLoad(go); GameObject.DontDestroyOnLoad(go);
tickLoop = go.AddComponent<TickLoop>(); tickLoop = go.AddComponent<TickLoop>();

View File

@ -13,6 +13,8 @@ namespace AxibugEmuOnline.Client
public IReadOnlyCollection<EditableParamerter> EditableParam => m_editableParamList.AsReadOnly(); public IReadOnlyCollection<EditableParamerter> EditableParam => m_editableParamList.AsReadOnly();
public abstract string Name { get; }
public FilterEffect() public FilterEffect()
{ {
GetEditableFilterParamters(); GetEditableFilterParamters();

View File

@ -8,6 +8,8 @@ using UnityEngine.Rendering.PostProcessing;
[PostProcess(typeof(FixingPixelArtGrilleRenderer), PostProcessEvent.BeforeStack, "Filter/FixingPixelArtGrille")] [PostProcess(typeof(FixingPixelArtGrilleRenderer), PostProcessEvent.BeforeStack, "Filter/FixingPixelArtGrille")]
public sealed class FixingPixelArtGrille : FilterEffect public sealed class FixingPixelArtGrille : FilterEffect
{ {
public override string Name => nameof(FixingPixelArtGrille);
public ParameterOverride<EnumMaskStyle> MaskStyle = new ParameterOverride<EnumMaskStyle> { value = EnumMaskStyle.ApertureGrille }; public ParameterOverride<EnumMaskStyle> MaskStyle = new ParameterOverride<EnumMaskStyle> { value = EnumMaskStyle.ApertureGrille };
[Tooltip("Emulated input resolution\nOptimize for resize")] [Tooltip("Emulated input resolution\nOptimize for resize")]

View File

@ -6,12 +6,13 @@ namespace AxibugEmuOnline.Client
{ {
public class Initer : MonoBehaviour public class Initer : MonoBehaviour
{ {
[SerializeField] public PostProcessVolume m_filterVolume;
PostProcessVolume m_filterVolume; public CanvasGroup m_filterPreview;
public CanvasGroup m_xmbBg;
private void Awake() private void Awake()
{ {
App.Init(m_filterVolume); App.Init(this);
} }
} }
} }

View File

@ -1,6 +1,4 @@
using DG.Tweening; using System.Collections.Generic;
using System;
using System.Collections.Generic;
using UnityEngine; using UnityEngine;
namespace AxibugEmuOnline.Client namespace AxibugEmuOnline.Client

View File

@ -1,6 +1,8 @@
using System.Collections; using DG.Tweening;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using UnityEngine;
using UnityEngine.Rendering.PostProcessing; using UnityEngine.Rendering.PostProcessing;
using static AxibugEmuOnline.Client.FilterEffect; using static AxibugEmuOnline.Client.FilterEffect;
@ -10,27 +12,42 @@ namespace AxibugEmuOnline.Client
{ {
private PostProcessProfile m_filterPorfile; private PostProcessProfile m_filterPorfile;
private List<Filter> m_filters; private List<Filter> m_filters;
private Dictionary<EnumPlatform, Filter> m_filterPlatforms = new Dictionary<EnumPlatform, Filter>();
public FilterManager(PostProcessVolume filterVolume) private AlphaWraper m_previewFilterWraper;
{
m_filterPorfile = filterVolume.profile;
m_filters = m_filterPorfile.settings.Where(setting=>setting is FilterEffect).Select(setting => new Filter(setting as FilterEffect)).ToList();
ShutDownFilter();
}
/// <summary> /// <summary>
/// 滤镜列表 /// 滤镜列表
/// </summary> /// </summary>
public IReadOnlyList<Filter> Filters => m_filters; public IReadOnlyList<Filter> Filters => m_filters;
public FilterManager(PostProcessVolume filterVolume, CanvasGroup filterPreview, CanvasGroup mainBg)
{
m_filterPorfile = filterVolume.profile;
m_filters = m_filterPorfile.settings.Where(setting => setting is FilterEffect).Select(setting => new Filter(setting as FilterEffect)).ToList();
m_previewFilterWraper = new AlphaWraper(mainBg, filterPreview, false);
ShutDownFilterPreview();
ShutDownFilter();
}
/// <summary> 关闭滤镜预览 </summary>
public void ShutDownFilterPreview()
{
m_previewFilterWraper.On = false;
}
/// <summary> 开启滤镜预览 </summary>
public void EnableFilterPreview()
{
m_previewFilterWraper.On = true;
}
/// <summary> /// <summary>
/// 打开滤镜 /// 打开滤镜
/// </summary> /// </summary>
/// <param name="filter"></param> /// <param name="filter"></param>
public void EnableFilter(Filter filter) public void EnableFilter(Filter filter)
{ {
foreach(var selfFiler in Filters) foreach (var selfFiler in Filters)
{ {
if (selfFiler != filter) selfFiler.m_setting.enabled.Override(false); if (selfFiler != filter) selfFiler.m_setting.enabled.Override(false);
else selfFiler.m_setting.enabled.Override(true); else selfFiler.m_setting.enabled.Override(true);
@ -47,9 +64,9 @@ namespace AxibugEmuOnline.Client
setting.enabled.Override(false); setting.enabled.Override(false);
} }
public struct Filter public class Filter
{ {
public readonly string Name => m_setting.name; public string Name => m_setting.Name;
internal FilterEffect m_setting; internal FilterEffect m_setting;
@ -59,29 +76,6 @@ namespace AxibugEmuOnline.Client
} }
internal IReadOnlyCollection<EditableParamerter> Paramerters => m_setting.EditableParam; internal IReadOnlyCollection<EditableParamerter> Paramerters => m_setting.EditableParam;
public override readonly int GetHashCode()
{
return m_setting.GetHashCode();
}
public override readonly bool Equals(object obj)
{
if(obj == null) return false;
if (!(obj is Filter)) return false;
return ((Filter)obj).GetHashCode() == GetHashCode();
}
public static bool operator ==(Filter left, Filter right)
{
return left.GetHashCode() == right.GetHashCode();
}
public static bool operator !=(Filter left, Filter right)
{
return !(left == right);
}
} }
} }
} }

View File

@ -0,0 +1,93 @@
using DG.Tweening;
using DG.Tweening.Core;
using DG.Tweening.Plugins.Options;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace AxibugEmuOnline.Client
{
public class AlphaWraper
{
private bool m_on;
private CanvasGroup m_offUI;
private CanvasGroup m_onUI;
private TweenerCore<float, float, FloatOptions> m_onTween;
private TweenerCore<float, float, FloatOptions> m_offTween;
public bool On
{
get => m_on;
set
{
if (m_on == value) return;
m_on = value;
if (m_onTween != null)
{
m_onTween.Kill();
m_onTween = null;
}
if (m_offTween != null)
{
m_offTween.Kill();
m_offTween = null;
}
m_onUI.gameObject.SetActiveEx(true);
m_offUI.gameObject.SetActiveEx(true);
if (On)
{
float progress = 0f;
m_onTween = DOTween.To(() => progress, (x) =>
{
progress = x;
m_onUI.alpha = progress;
m_offUI.alpha = 1 - progress;
}, 1f, 0.3f);
m_onTween.onComplete = () =>
{
m_offUI.gameObject.SetActiveEx(false);
};
}
else
{
float progress = 0f;
m_offTween = DOTween.To(() => progress, (x) =>
{
progress = x;
m_onUI.alpha = 1 - progress;
m_offUI.alpha = progress;
}, 1f, 0.3f);
m_offTween.onComplete = () =>
{
m_onUI.gameObject.SetActiveEx(false);
};
}
}
}
public AlphaWraper(CanvasGroup offUI, CanvasGroup onUI, bool defaultOn)
{
m_offUI = offUI;
m_onUI = onUI;
m_on = defaultOn;
if (On)
{
onUI.alpha = 1;
onUI.gameObject.SetActiveEx(true);
offUI.alpha = 0;
offUI.gameObject.SetActiveEx(false);
}
else
{
onUI.alpha = 0;
onUI.gameObject.SetActiveEx(false);
offUI.alpha = 1;
offUI.gameObject.SetActiveEx(true);
}
}
}
}

View File

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

View File

@ -1,5 +1,3 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine; using UnityEngine;
namespace AxibugEmuOnline.Client namespace AxibugEmuOnline.Client

View File

@ -0,0 +1,32 @@
using AxibugEmuOnline.Client.ClientCore;
using System;
using System.Collections.Generic;
using System.Linq;
namespace AxibugEmuOnline.Client
{
public class GlobalFilterListMenuItem : VirtualSubMenuItem
{
public override bool OnEnterItem()
{
App.filter.EnableFilterPreview();
return base.OnEnterItem();
}
public override bool OnExitItem()
{
App.filter.ShutDownFilterPreview();
App.filter.ShutDownFilter();
return base.OnExitItem();
}
protected override void GetVirtualListDatas(Action<object> datas)
{
List<object> list = new List<object>();
list.AddRange(App.filter.Filters.Select(f => (object)f));
datas.Invoke(list);
}
}
}

View File

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

View File

@ -0,0 +1,47 @@
using AxibugEmuOnline.Client.ClientCore;
using AxibugEmuOnline.Client.UI;
namespace AxibugEmuOnline.Client
{
/// <summary>
/// ±³¾°ÑÕÉ«ÉèÖÃUI
/// </summary>
public class UI_FilterItem : MenuItem, IVirtualItem
{
public int Index { get; set; }
public FilterManager.Filter Datacontext { get; private set; }
public void SetData(object data)
{
Datacontext = data as FilterManager.Filter;
UpdateView();
}
private void UpdateView()
{
SetBaseInfo(Datacontext.Name, $"²ÎÊýÊýÁ¿:{Datacontext.Paramerters.Count}", null);
}
public void SetDependencyProperty(object data)
{
SetSelectState(data is ThirdMenuRoot tr && tr.SelectIndex == Index);
if (m_select)
{
App.filter.EnableFilterPreview();
App.filter.EnableFilter(Datacontext);
}
}
public void Release()
{
}
public override bool OnEnterItem()
{
return false;
}
}
}

View File

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

View File

@ -1,4 +1,5 @@
using AxibugEmuOnline.Client.ClientCore; using AxibugEmuOnline.Client.ClientCore;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
@ -48,6 +49,11 @@ namespace AxibugEmuOnline.Client
Instance = null; Instance = null;
} }
public bool IsRegisted(CommandExecuter commandExecuter)
{
return m_register.Contains(commandExecuter) || m_registerHigh.Contains(commandExecuter);
}
public void RegistController(CommandExecuter controller) public void RegistController(CommandExecuter controller)
{ {
if (!controller.AloneMode) if (!controller.AloneMode)
@ -125,7 +131,6 @@ namespace AxibugEmuOnline.Client
normal = m_register; normal = m_register;
alone = m_registerHigh; alone = m_registerHigh;
} }
#endif #endif
} }
} }

View File

@ -17,6 +17,7 @@ namespace AxibugEmuOnline.Client
public abstract bool Enable { get; } public abstract bool Enable { get; }
public virtual bool AloneMode { get; } public virtual bool AloneMode { get; }
public bool Registed => CommandDispatcher.Instance.IsRegisted(this);
protected virtual void Awake() protected virtual void Awake()
{ {
@ -32,10 +33,20 @@ namespace AxibugEmuOnline.Client
protected virtual void Update() protected virtual void Update()
{ {
m_pulsInvoker_Left.Update(Time.deltaTime); if (Registed)
m_pulsInvoker_Right.Update(Time.deltaTime); {
m_pulsInvoker_Up.Update(Time.deltaTime); m_pulsInvoker_Left.Update(Time.deltaTime);
m_pulsInvoker_Down.Update(Time.deltaTime); m_pulsInvoker_Right.Update(Time.deltaTime);
m_pulsInvoker_Up.Update(Time.deltaTime);
m_pulsInvoker_Down.Update(Time.deltaTime);
}
else
{
m_pulsInvoker_Left.DisActive();
m_pulsInvoker_Right.DisActive();
m_pulsInvoker_Up.DisActive();
m_pulsInvoker_Down.DisActive();
}
} }
@ -49,8 +60,7 @@ namespace AxibugEmuOnline.Client
public void ExecuteCommand(EnumCommand cmd, bool cancel) public void ExecuteCommand(EnumCommand cmd, bool cancel)
{ {
if(cmd == EnumCommand.NONE) return; if (cmd == EnumCommand.NONE) return;
if (!cancel) if (!cancel)
{ {
switch (cmd) switch (cmd)

View File

@ -14,8 +14,7 @@ namespace AxibugEmuOnline.Client
RectTransform MainMenuRoot; RectTransform MainMenuRoot;
[SerializeField] [SerializeField]
MainMenuController MainMenu; MainMenuController MainMenu;
[SerializeField] public Image BG;
Image BG;
Vector2 m_mainLayoutPosition; Vector2 m_mainLayoutPosition;
[SerializeField] [SerializeField]

View File

@ -103,9 +103,13 @@ namespace AxibugEmuOnline.Client.UI
if (InfoNode != null) InfoNode.alpha = m_progress; if (InfoNode != null) InfoNode.alpha = m_progress;
if (spline != null) spline.SetAlpha(m_progress); if (spline != null) spline.SetAlpha(m_progress);
Root.localScale = Vector3.one * Mathf.Lerp(UnSelectScale, SelectScale, m_progress); Root.localScale = Vector3.one * Mathf.Lerp(UnSelectScale, SelectScale, m_progress);
if (m_select) OnSelected(m_progress);
}); });
} }
protected virtual void OnSelected(float progress) { }
public virtual bool OnEnterItem() => true; public virtual bool OnEnterItem() => true;
public virtual bool OnExitItem() => true; public virtual bool OnExitItem() => true;

View File

@ -69,6 +69,8 @@ namespace AxibugEmuOnline.Client
protected override void Update() protected override void Update()
{ {
UpdateMenuState(); UpdateMenuState();
base.Update();
} }
private void UpdateMenuState() private void UpdateMenuState()