diff --git a/AxibugEmuOnline.Client/Assets/Editors/CommandDispatcherEditor.cs b/AxibugEmuOnline.Client/Assets/Editors/CommandDispatcherEditor.cs index 87843fb..b4b4da7 100644 --- a/AxibugEmuOnline.Client/Assets/Editors/CommandDispatcherEditor.cs +++ b/AxibugEmuOnline.Client/Assets/Editors/CommandDispatcherEditor.cs @@ -1,4 +1,4 @@ -using AxibugEmuOnline.Client; +using AxibugEmuOnline.Client; using UnityEditor; using UnityEngine; namespace AxibugEmuOnline.Editors @@ -10,6 +10,8 @@ namespace AxibugEmuOnline.Editors { base.OnInspectorGUI(); + if (!Application.isPlaying) return; + var dispacather = target as CommandDispatcher; dispacather.GetRegisters(out var normal, out var solo); diff --git a/AxibugEmuOnline.Client/Assets/PS3XMB.png b/AxibugEmuOnline.Client/Assets/PS3XMB.png deleted file mode 100644 index ecf4edf..0000000 Binary files a/AxibugEmuOnline.Client/Assets/PS3XMB.png and /dev/null differ diff --git a/AxibugEmuOnline.Client/Assets/PSPXMB.png b/AxibugEmuOnline.Client/Assets/PSPXMB.png deleted file mode 100644 index 7b966ed..0000000 Binary files a/AxibugEmuOnline.Client/Assets/PSPXMB.png and /dev/null differ diff --git a/AxibugEmuOnline.Client/Assets/PSPXMB.png.meta b/AxibugEmuOnline.Client/Assets/PSPXMB.png.meta deleted file mode 100644 index f7f94fa..0000000 --- a/AxibugEmuOnline.Client/Assets/PSPXMB.png.meta +++ /dev/null @@ -1,130 +0,0 @@ -fileFormatVersion: 2 -guid: 6a7227a83e2f7984c8b78c2b3c92ceba -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 13 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - flipGreenChannel: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 0 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 4 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - customData: - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spriteCustomMetadata: - entries: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Resources/Icons/PreviewFilter.bmp b/AxibugEmuOnline.Client/Assets/Resources/Icons/PreviewFilter.bmp new file mode 100644 index 0000000..f43a7b6 Binary files /dev/null and b/AxibugEmuOnline.Client/Assets/Resources/Icons/PreviewFilter.bmp differ diff --git a/AxibugEmuOnline.Client/Assets/PS3XMB.png.meta b/AxibugEmuOnline.Client/Assets/Resources/Icons/PreviewFilter.bmp.meta similarity index 83% rename from AxibugEmuOnline.Client/Assets/PS3XMB.png.meta rename to AxibugEmuOnline.Client/Assets/Resources/Icons/PreviewFilter.bmp.meta index b34f345..6908801 100644 --- a/AxibugEmuOnline.Client/Assets/PS3XMB.png.meta +++ b/AxibugEmuOnline.Client/Assets/Resources/Icons/PreviewFilter.bmp.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b72aa2a0d75a95d4a964f345982bcacf +guid: e043954733c440645ba43b09301ee4a6 TextureImporter: internalIDToNameTable: [] externalObjects: {} @@ -34,7 +34,7 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: 1 + filterMode: 0 aniso: 1 mipBias: 0 wrapU: 1 @@ -69,10 +69,10 @@ TextureImporter: platformSettings: - serializedVersion: 4 buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 + maxTextureSize: 256 resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 + textureFormat: 4 + textureCompression: 2 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 @@ -93,19 +93,6 @@ TextureImporter: ignorePlatformSupport: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] diff --git a/AxibugEmuOnline.Client/Assets/Scene/AxibugEmuOnline.Client.unity b/AxibugEmuOnline.Client/Assets/Scene/AxibugEmuOnline.Client.unity index 44ff18a..5f46b7d 100644 --- a/AxibugEmuOnline.Client/Assets/Scene/AxibugEmuOnline.Client.unity +++ b/AxibugEmuOnline.Client/Assets/Scene/AxibugEmuOnline.Client.unity @@ -201,7 +201,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1924338507, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.y - value: -183.7 + value: -183.70001 objectReference: {fileID: 0} - target: {fileID: 16705587872320209, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchorMax.y @@ -911,6 +911,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 433493635188225987, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 433493635188225987, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -1035,6 +1039,14 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 515101244734287703, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 515101244734287703, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 515101244734287703, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -1055,6 +1067,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 560833136917821499, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 560833136917821499, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -2075,6 +2091,14 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 1300422839782230715, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300422839782230715, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 1300422839782230715, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -2707,6 +2731,14 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 1617432139679373121, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1617432139679373121, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 1617432139679373121, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -2727,6 +2759,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 1629246332396699693, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 1629246332396699693, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -2859,6 +2895,14 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 1646705603364066293, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1646705603364066293, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 1646705603364066293, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -2899,6 +2943,14 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 1671938443312096518, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1671938443312096518, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 1671938443312096518, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -3943,6 +3995,14 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 2242378001832588895, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2242378001832588895, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 2242378001832588895, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -3983,6 +4043,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 2298948418585052454, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 2298948418585052454, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -4023,6 +4087,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 2301618648506114355, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 2301618648506114355, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -4415,6 +4483,14 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 2555636614651084257, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2555636614651084257, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 2555636614651084257, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -5087,6 +5163,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 2835547163257332666, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 2835547163257332666, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -5435,6 +5515,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 3047448863496350514, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3047448863496350514, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -5883,6 +5967,14 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 3458823717128710587, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3458823717128710587, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3458823717128710587, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -6063,6 +6155,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 3500112734021331024, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3500112734021331024, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -6311,6 +6407,14 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 3612790534640125431, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3612790534640125431, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3612790534640125431, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -6335,6 +6439,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 3631393560901342767, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3631393560901342767, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -6359,6 +6467,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 3635022460874666554, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3635022460874666554, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -6403,6 +6515,14 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 3642064278729834819, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3642064278729834819, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3642064278729834819, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -6555,6 +6675,14 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 3740321830857163510, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3740321830857163510, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3740321830857163510, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -6827,6 +6955,10 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 3956080153857384719, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 3956080153857384719, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -7395,6 +7527,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 4260109152942166820, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4260109152942166820, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -7447,6 +7583,14 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 4273905905144980713, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4273905905144980713, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4273905905144980713, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -7979,6 +8123,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 4575683635464055717, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4575683635464055717, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -7999,6 +8147,10 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 4578492792357404689, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4578492792357404689, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -8875,6 +9027,10 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 5049760705468783806, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 5049760705468783806, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -9455,6 +9611,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 5434949057039797168, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 5434949057039797168, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -11387,6 +11547,10 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 6719905869711622945, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} - target: {fileID: 6719905869711622945, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -12031,6 +12195,10 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 7102897325704768026, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7208367513489156942, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchorMax.y value: 0 @@ -12271,6 +12439,14 @@ PrefabInstance: propertyPath: m_SizeDelta.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 7362106881215994835, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7362106881215994835, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7362106881215994835, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -12987,6 +13163,14 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 7770431731865515504, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7770431731865515504, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} - target: {fileID: 7770431731865515504, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} propertyPath: m_AnchoredPosition.x value: 0 @@ -14977,6 +15161,81 @@ CanvasGroup: m_CorrespondingSourceObject: {fileID: 3025550092845034426, guid: 450328d5a907c8249a60bc3980ba66f6, type: 3} m_PrefabInstance: {fileID: 730698711} m_PrefabAsset: {fileID: 0} +--- !u!1 &802786938 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 802786939} + - component: {fileID: 802786941} + - component: {fileID: 802786940} + m_Layer: 5 + m_Name: Image2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &802786939 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 802786938} + 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: 1124446957} + 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!114 &802786940 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 802786938} + 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: e043954733c440645ba43b09301ee4a6, 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!222 &802786941 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 802786938} + m_CullTransparentMesh: 1 --- !u!224 &939125854 stripped RectTransform: m_CorrespondingSourceObject: {fileID: 3531919739338806919, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3} @@ -15015,6 +15274,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1471857115} + - {fileID: 802786939} m_Father: {fileID: 1335662459} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -15157,81 +15417,6 @@ MonoBehaviour: m_xmbBg: {fileID: 730698712} bTest: 0 mTestSrvIP: 192.168.0.47 ---- !u!1 &1377074979 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1377074980} - - component: {fileID: 1377074982} - - component: {fileID: 1377074981} - m_Layer: 5 - m_Name: Image - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1377074980 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1377074979} - 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: 1599240741} - 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!114 &1377074981 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1377074979} - 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.40392157} - 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: b72aa2a0d75a95d4a964f345982bcacf, 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!222 &1377074982 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1377074979} - m_CullTransparentMesh: 1 --- !u!1 &1427887268 GameObject: m_ObjectHideFlags: 0 @@ -15294,7 +15479,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &1471857115 RectTransform: m_ObjectHideFlags: 0 @@ -15530,6 +15715,8 @@ MonoBehaviour: Culture=neutral, PublicKeyToken=null - assemblyQualifiedName: MattiasCRT, AxibugEmuOnline.Client, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + - assemblyQualifiedName: LCDPostEffect, AxibugEmuOnline.Client, Version=0.0.0.0, + Culture=neutral, PublicKeyToken=null m_AfterStackBundles: [] --- !u!1 &1498586261 GameObject: @@ -15672,7 +15859,6 @@ RectTransform: - {fileID: 1983793178} - {fileID: 939125854} - {fileID: 1318590597} - - {fileID: 1377074980} m_Father: {fileID: 1335662459} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -16218,6 +16404,18 @@ PrefabInstance: propertyPath: m_SizeDelta.y value: 0 objectReference: {fileID: 0} + - target: {fileID: 3502527855892815924, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3502527855892815924, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3502527855892815924, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3} + propertyPath: m_AnchoredPosition.y + value: -108 + objectReference: {fileID: 0} - target: {fileID: 3531919738411886375, guid: 1de15a80c8c1aa94486563740a15d91c, type: 3} propertyPath: m_SizeDelta.x value: 0 diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/FixingPixelArtGrille/FixingPixelArtGrille.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/FixingPixelArtGrille/FixingPixelArtGrille.cs index 098722d..5fb1d04 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/FixingPixelArtGrille/FixingPixelArtGrille.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/FixingPixelArtGrille/FixingPixelArtGrille.cs @@ -1,106 +1,106 @@ -using AxibugEmuOnline.Client; -using UnityEngine; -using UnityEngine.Rendering.PostProcessing; - -[System.Serializable] -[PostProcess(typeof(FixingPixelArtGrilleRenderer), PostProcessEvent.BeforeStack, "Filter/FixingPixelArtGrille")] -public sealed class FixingPixelArtGrille : FilterEffect -{ - public override string Name => nameof(FixingPixelArtGrille); - - public ParameterOverride MaskStyle = new ParameterOverride { value = EnumMaskStyle.ApertureGrille }; - - [Tooltip("Emulated input resolution\nOptimize for resize")] - public Vector2Parameter DrawResolution = new Vector2Parameter - { - value = new Vector2(272, 240) - }; - - [Tooltip("Hardness of scanline")] - [Range(-32, 0)] - public FloatParameter HardScan = new FloatParameter { value = -10 }; - - [Tooltip("Hardness of pixels in scanline")] - [Range(-6, 0)] - public FloatParameter HardPix = new FloatParameter { value = -2 }; - - [Tooltip("Hardness of short vertical bloom")] - [Range(-8, 0)] - public FloatParameter HardBloomScan = new FloatParameter { value = -4.0f }; - - [Tooltip("Hardness of short horizontal bloom")] - [Range(-4, 0)] - public FloatParameter HardBloomPix = new FloatParameter { value = -1.5f }; - - [Tooltip("Amount of small bloom effect")] - [Range(0, 1)] - public FloatParameter BloomAmount = new FloatParameter { value = 1 / 16f }; - - [Tooltip("Display warp")] - public Vector2Parameter Warp = new Vector2Parameter { value = new Vector2(1f / 64f, 1f / 24f) }; - - [Tooltip("Amount of shadow mask Light")] - [Range(1, 3)] - public FloatParameter MaskLight = new FloatParameter { value = 1.5f }; - [Range(0.1f, 1)] - [Tooltip("Amount of shadow mask Dark")] - public FloatParameter MaskDrak = new FloatParameter { value = 0.5f }; - - public enum EnumMaskStyle - { - TVStyle, - ApertureGrille, - StretchedVGA, - VGAStyle - } -} - -public sealed class FixingPixelArtGrilleRenderer : PostProcessEffectRenderer -{ - private Shader shader; - private Material material; - - public override void Init() - { - shader = Shader.Find("PostEffect/FixingPixcelArtGrille"); - material = new Material(shader); - } - - public override void Render(PostProcessRenderContext context) - { - material.SetVector("_iResolution", new Vector4(Screen.width, Screen.height, 0, 0)); - var res = settings.DrawResolution; - material.SetVector("_res", new Vector4(res.value.x, res.value.y, 0, 0)); - material.SetFloat("_hardScan", settings.HardScan.value); - material.SetFloat("_hardPix", settings.HardPix.value); - material.SetFloat("_hardBloomScan", settings.HardBloomScan.value); - material.SetFloat("_hardBloomPix", settings.HardBloomPix.value); - material.SetFloat("_bloomAmount", settings.BloomAmount.value); - material.SetVector("_warp", settings.Warp.value); - material.SetFloat("_maskDark", settings.MaskDrak.value); - material.SetFloat("_maskLight", settings.MaskLight.value); - - material.DisableKeyword("_MASKSTYLE_VGASTYLE"); - material.DisableKeyword("_MASKSTYLE_TVSTYLE"); - material.DisableKeyword("_MASKSTYLE_APERTUREGRILLE"); - material.DisableKeyword("_MASKSTYLE_STRETCHEDVGA"); - - switch (settings.MaskStyle.value) - { - case FixingPixelArtGrille.EnumMaskStyle.VGAStyle: - material.EnableKeyword("_MASKSTYLE_VGASTYLE"); - break; - case FixingPixelArtGrille.EnumMaskStyle.TVStyle: - material.EnableKeyword("_MASKSTYLE_TVSTYLE"); - break; - case FixingPixelArtGrille.EnumMaskStyle.ApertureGrille: - material.EnableKeyword("_MASKSTYLE_APERTUREGRILLE"); - break; - case FixingPixelArtGrille.EnumMaskStyle.StretchedVGA: - material.EnableKeyword("_MASKSTYLE_STRETCHEDVGA"); - break; - } - - context.command.Blit(context.source, context.destination, material); - } +using AxibugEmuOnline.Client; +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + +[System.Serializable] +[PostProcess(typeof(FixingPixelArtGrilleRenderer), PostProcessEvent.BeforeStack, "Filter/FixingPixelArtGrille")] +public sealed class FixingPixelArtGrille : FilterEffect +{ + public override string Name => nameof(FixingPixelArtGrille); + + public ParameterOverride MaskStyle = new ParameterOverride { value = EnumMaskStyle.ApertureGrille }; + + [Tooltip("Emulated input resolution\nOptimize for resize")] + public Vector2Parameter DrawResolution = new Vector2Parameter + { + value = new Vector2(272, 240) + }; + + [Tooltip("Hardness of scanline")] + [Range(-32, 0)] + public FloatParameter HardScan = new FloatParameter { value = -10 }; + + [Tooltip("Hardness of pixels in scanline")] + [Range(-6, 0)] + public FloatParameter HardPix = new FloatParameter { value = -2 }; + + [Tooltip("Hardness of short vertical bloom")] + [Range(-8, 0)] + public FloatParameter HardBloomScan = new FloatParameter { value = -4.0f }; + + [Tooltip("Hardness of short horizontal bloom")] + [Range(-4, 0)] + public FloatParameter HardBloomPix = new FloatParameter { value = -1.5f }; + + [Tooltip("Amount of small bloom effect")] + [Range(0, 1)] + public FloatParameter BloomAmount = new FloatParameter { value = 1 / 16f }; + + [Tooltip("Display warp")] + public Vector2Parameter Warp = new Vector2Parameter { value = new Vector2(1f / 64f, 1f / 24f) }; + + [Tooltip("Amount of shadow mask Light")] + [Range(1, 3)] + public FloatParameter MaskLight = new FloatParameter { value = 1.5f }; + [Range(0.1f, 1)] + [Tooltip("Amount of shadow mask Dark")] + public FloatParameter MaskDrak = new FloatParameter { value = 0.5f }; + + public enum EnumMaskStyle + { + TVStyle, + ApertureGrille, + StretchedVGA, + VGAStyle + } +} + +public sealed class FixingPixelArtGrilleRenderer : PostProcessEffectRenderer +{ + private Shader shader; + private Material material; + + public override void Init() + { + shader = Shader.Find("PostEffect/FixingPixcelArtGrille"); + material = new Material(shader); + } + + public override void Render(PostProcessRenderContext context) + { + material.SetVector("_iResolution", new Vector4(Screen.width, Screen.height, 0, 0)); + var res = settings.DrawResolution; + material.SetVector("_res", new Vector4(res.value.x, res.value.y, 0, 0)); + material.SetFloat("_hardScan", settings.HardScan.value); + material.SetFloat("_hardPix", settings.HardPix.value); + material.SetFloat("_hardBloomScan", settings.HardBloomScan.value); + material.SetFloat("_hardBloomPix", settings.HardBloomPix.value); + material.SetFloat("_bloomAmount", settings.BloomAmount.value); + material.SetVector("_warp", settings.Warp.value); + material.SetFloat("_maskDark", settings.MaskDrak.value); + material.SetFloat("_maskLight", settings.MaskLight.value); + + material.DisableKeyword("_MASKSTYLE_VGASTYLE"); + material.DisableKeyword("_MASKSTYLE_TVSTYLE"); + material.DisableKeyword("_MASKSTYLE_APERTUREGRILLE"); + material.DisableKeyword("_MASKSTYLE_STRETCHEDVGA"); + + switch (settings.MaskStyle.value) + { + case FixingPixelArtGrille.EnumMaskStyle.VGAStyle: + material.EnableKeyword("_MASKSTYLE_VGASTYLE"); + break; + case FixingPixelArtGrille.EnumMaskStyle.TVStyle: + material.EnableKeyword("_MASKSTYLE_TVSTYLE"); + break; + case FixingPixelArtGrille.EnumMaskStyle.ApertureGrille: + material.EnableKeyword("_MASKSTYLE_APERTUREGRILLE"); + break; + case FixingPixelArtGrille.EnumMaskStyle.StretchedVGA: + material.EnableKeyword("_MASKSTYLE_STRETCHEDVGA"); + break; + } + + context.command.Blit(context.source, context.destination, material); + } } \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/GameCamera Profile.asset b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/GameCamera Profile.asset index be645b5..fb1eeac 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/GameCamera Profile.asset +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/GameCamera Profile.asset @@ -31,6 +31,7 @@ MonoBehaviour: settings: - {fileID: 117625959343581733} - {fileID: -2985742813244632235} + - {fileID: 2118329037781486242} --- !u!114 &117625959343581733 MonoBehaviour: m_ObjectHideFlags: 3 @@ -77,3 +78,19 @@ MonoBehaviour: MaskDrak: overrideState: 0 value: 0.5 +--- !u!114 &2118329037781486242 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2a0a5286ac74b734ba8d1e0cfdfb9c8d, type: 3} + m_Name: LCDPostEffect + m_EditorClassIdentifier: + active: 1 + enabled: + overrideState: 1 + value: 1 diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect.meta new file mode 100644 index 0000000..1f5b2cd --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4dd75525302f9a648a39c0a68823c746 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect/LCDPostEffect.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect/LCDPostEffect.cs new file mode 100644 index 0000000..db3d4f5 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect/LCDPostEffect.cs @@ -0,0 +1,28 @@ +using AxibugEmuOnline.Client; +using UnityEngine; +using UnityEngine.Rendering.PostProcessing; + +[System.Serializable] +[PostProcess(typeof(LCDPostEffectRenderer), PostProcessEvent.BeforeStack, "Filter/LCDPostEffect")] +public sealed class LCDPostEffect : FilterEffect +{ + public override string Name => nameof(LCDPostEffect); +} + +public sealed class LCDPostEffectRenderer : PostProcessEffectRenderer +{ + private Shader shader; + private Material material; + + public override void Init() + { + shader = Shader.Find("Filter/LCDPostEffect"); + material = new Material(shader); + } + + public override void Render(PostProcessRenderContext context) + { + material.SetVector("_iResolution", new Vector4(Screen.width, Screen.height, 0, 0)); + context.command.Blit(context.source, context.destination, material); + } +} \ No newline at end of file diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect/LCDPostEffect.cs.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect/LCDPostEffect.cs.meta new file mode 100644 index 0000000..39ac44a --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect/LCDPostEffect.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2a0a5286ac74b734ba8d1e0cfdfb9c8d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect/LCDPostEffect.shader b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect/LCDPostEffect.shader new file mode 100644 index 0000000..e6f9459 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect/LCDPostEffect.shader @@ -0,0 +1,68 @@ + +Shader "Filter/LCDPostEffect" +{ + Properties + { + _MainTex ("Base (RGB)", 2D) = "white" {} + } + SubShader + { + Pass + { + CGPROGRAM + + #pragma vertex vert_img + #pragma fragment frag + #include "UnityCG.cginc" + + sampler2D _MainTex; + float4 _MainTex_TexelSize; + float2 _iResolution; + + float4 mainImage( float2 fragCoord ) + { + float4 fragColor; + // Get pos relative to 0-1 screen space + float2 uv = fragCoord.xy / _iResolution.xy;; + + // Map texture to 0-1 space + float4 texColor = tex2D(_MainTex,uv); + + // Default lcd colour (affects brightness) + float pb = 0.4; + float4 lcdColor = float4(pb,pb,pb,1.0); + + // Change every 1st, 2nd, and 3rd vertical strip to RGB respectively + int px = fragCoord.x%3.0; + if (px == 1) lcdColor.r = 1.0; + else if (px == 2) lcdColor.g = 1.0; + else lcdColor.b = 1.0; + + // Darken every 3rd horizontal strip for scanline + float sclV = 0.25; + if (fragCoord.y%3.0 == 0) lcdColor.rgb = float3(sclV,sclV,sclV); + + fragColor = texColor*lcdColor; + + return fragColor; + } + + struct v2f + { + float4 pos : POSITION; + float2 uv : TEXCOORD0; + }; + + fixed4 frag (v2f i) : SV_Target + { + float2 pos = _iResolution.xy*i.uv; + fixed4 col = mainImage(pos); + return col; + } + ENDCG + } + } +} + + + diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect/LCDPostEffect.shader.meta b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect/LCDPostEffect.shader.meta new file mode 100644 index 0000000..135138d --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/Filter/LCDPostEffect/LCDPostEffect.shader.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: bab7d8f2e62367743930d118a37e824a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/GlobalFilterListMenuItem.cs b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/GlobalFilterListMenuItem.cs index 139c83d..d116295 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/GlobalFilterListMenuItem.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/GlobalFilterListMenuItem.cs @@ -1,4 +1,4 @@ -using AxibugEmuOnline.Client.ClientCore; +using AxibugEmuOnline.Client.ClientCore; using System; using System.Collections.Generic; using System.Linq; @@ -25,6 +25,7 @@ namespace AxibugEmuOnline.Client protected override void GetVirtualListDatas(Action datas) { List list = new List(); + list.Add(null); list.AddRange(App.filter.Filters.Select(f => (object)f)); datas.Invoke(list); } 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 92e5c10..ad20700 100644 --- a/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/UI_FilterItem.cs +++ b/AxibugEmuOnline.Client/Assets/Script/AppMain/UI/BgSettingsUI/UI_FilterItem.cs @@ -1,4 +1,4 @@ -using AxibugEmuOnline.Client.ClientCore; +using AxibugEmuOnline.Client.ClientCore; using AxibugEmuOnline.Client.UI; using System; using System.Collections.Generic; @@ -9,7 +9,7 @@ using static AxibugEmuOnline.Client.FilterManager; namespace AxibugEmuOnline.Client { /// - /// ɫUI + /// 背景颜色设置UI /// public class UI_FilterItem : MenuItem, IVirtualItem { @@ -25,7 +25,10 @@ namespace AxibugEmuOnline.Client private void UpdateView() { - SetBaseInfo(Datacontext.Name, $":{Datacontext.Paramerters.Count}", null); + if (Datacontext == null) + SetBaseInfo("无", null, null); + else + SetBaseInfo(Datacontext.Name, $"参数数量:{Datacontext.Paramerters.Count}", null); } public void SetDependencyProperty(object data) @@ -35,7 +38,10 @@ namespace AxibugEmuOnline.Client if (m_select) { App.filter.EnableFilterPreview(); - App.filter.EnableFilter(Datacontext); + if (App.filter != null) + App.filter.EnableFilter(Datacontext); + else + App.filter.ShutDownFilter(); } } @@ -43,16 +49,19 @@ namespace AxibugEmuOnline.Client public override bool OnEnterItem() { - var opts = new List(); - opts.Add(new Opt_CreatePreset(Datacontext)); - opts.AddRange(Datacontext.Presets.Select(p => new Opt_Presets(Datacontext, p))); - - OverlayManager.PopSideBar(opts, onClose: () => - { - App.filter.EnableFilterPreview(); - Datacontext.ResetPreset(); - App.filter.EnableFilter(Datacontext); - }); + if (Datacontext != null && Datacontext.Paramerters.Count > 0) + { + var opts = new List(); + opts.Add(new Opt_CreatePreset(Datacontext)); + opts.AddRange(Datacontext.Presets.Select(p => new Opt_Presets(Datacontext, p))); + + OverlayManager.PopSideBar(opts, onClose: () => + { + App.filter.EnableFilterPreview(); + Datacontext.ResetPreset(); + App.filter.EnableFilter(Datacontext); + }); + } return false; } @@ -61,7 +70,7 @@ namespace AxibugEmuOnline.Client { private Filter m_filter; - public Opt_CreatePreset(Filter filter) : base("˾Ԥ", Resources.LoadAll("Icons/XMB-Icons/misc")[0]) + public Opt_CreatePreset(Filter filter) : base("创建滤镜预设", Resources.LoadAll("Icons/XMB-Icons/misc")[0]) { m_filter = filter; } @@ -81,7 +90,7 @@ namespace AxibugEmuOnline.Client var result = m_filter.CreatePreset(presetName, out var newPreset); if (!result) OverlayManager.PopTip(result); else optionUI.AddOptionMenuWhenPoping(new Opt_Presets(m_filter, newPreset)); - }, "ΪԤһ", string.Empty); + }, "为预设设置一个名称", string.Empty); } } public class Opt_Presets : ExpandMenu @@ -170,7 +179,7 @@ namespace AxibugEmuOnline.Client private Filter m_filter; private FilterPreset m_preset; - public Opt_Delete(Filter filter, FilterPreset preset) : base("ɾԤ", null) + public Opt_Delete(Filter filter, FilterPreset preset) : base("删除预设", null) { m_filter = filter; m_preset = preset;