From 11e1d6dbe1e998b55c32d4f7d4bd5b6990515912 Mon Sep 17 00:00:00 2001 From: KINDNICK <68893236+KINDNICK@users.noreply.github.com> Date: Tue, 7 Oct 2025 00:18:29 +0900 Subject: [PATCH] =?UTF-8?q?ADD=20=20:=20=EC=9C=A0=EB=8B=88=ED=8B=B0=20?= =?UTF-8?q?=EB=B2=84=EC=A0=84=20=EC=97=85=20=EB=B0=8F=20=EC=97=90=EC=85=8B?= =?UTF-8?q?=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AmplifyShaderEditor.asmdef | 2 +- .../AmplifyShaderEditor.asmdef.meta | 6 +- .../AmplifyShaderEditor/ChangeLog.txt | 4 +- .../AmplifyShaderEditor/ChangeLog.txt.meta | 6 +- .../Examples/Credits.txt.meta | 6 +- .../Examples/README Samples.txt.meta | 6 +- .../Plugins/Editor/Actions/ActionData.cs.meta | 6 +- .../Plugins/Editor/Actions/ActionLog.cs.meta | 6 +- .../Editor/Actions/ActionSequence.cs.meta | 6 +- .../Plugins/Editor/Constants.cs | 9 +- .../Plugins/Editor/Constants.cs.meta | 6 +- .../CustomDrawers/ASEEndDecorator.cs.meta | 6 +- .../Editor/CustomDrawers/EditableIf.cs | 23 +- .../Editor/CustomDrawers/EditableIf.cs.meta | 6 +- .../CustomDrawers/NoKeywordToggle.cs.meta | 6 +- .../Editor/CustomDrawers/RemapSliders.cs.meta | 6 +- .../CustomDrawers/RemapSlidersFull.cs.meta | 6 +- .../CustomDrawers/SingleLineTexture.cs.meta | 6 +- .../Plugins/Editor/DoCreateFunction.cs | 4 + .../Plugins/Editor/DoCreateFunction.cs.meta | 6 +- .../Plugins/Editor/DoCreateShader.cs.meta | 6 +- .../Plugins/Editor/EditorOptions.cs.meta | 6 +- .../Plugins/Editor/Graphs/NodeGrid.cs.meta | 6 +- .../Plugins/Editor/Graphs/ParentGraph.cs | 33 +- .../Plugins/Editor/Graphs/ParentGraph.cs.meta | 6 +- .../Editor/Menu/AmplifyShaderEditorWindow.cs | 101 +- .../Menu/AmplifyShaderEditorWindow.cs.meta | 6 +- .../Editor/Menu/AmplifyShaderFunction.cs.meta | 6 +- .../Menu/AmplifyShaderFunctionEditor.cs | 63 +- .../Menu/AmplifyShaderFunctionEditor.cs.meta | 6 +- .../Plugins/Editor/Menu/AutoPanData.cs.meta | 6 +- .../Plugins/Editor/Menu/Clipboard.cs.meta | 6 +- .../Editor/Menu/ConfirmationWindow.cs.meta | 6 +- .../Editor/Menu/ConsoleLogWindow.cs.meta | 6 +- .../Editor/Menu/ContextMenuItem.cs.meta | 6 +- .../Editor/Menu/CustomStylesContainer.cs.meta | 6 +- .../Editor/Menu/DebugConsoleWindow.cs.meta | 6 +- .../Editor/Menu/DragAndDropTool.cs.meta | 6 +- .../Editor/Menu/DuplicatePreventionBuffer.cs | 7 +- .../Menu/DuplicatePreventionBuffer.cs.meta | 6 +- .../Editor/Menu/GraphContextMenu.cs.meta | 6 +- .../Plugins/Editor/Menu/MenuParent.cs.meta | 6 +- .../Editor/Menu/NodeParametersWindow.cs.meta | 6 +- .../Menu/NodeWireReferencesUtils.cs.meta | 6 +- .../Menu/Palette/ContextPalette.cs.meta | 6 +- .../Editor/Menu/Palette/PaletteParent.cs | 132 +- .../Editor/Menu/Palette/PaletteParent.cs.meta | 6 +- .../Editor/Menu/Palette/PalettePopUp.cs.meta | 6 +- .../Editor/Menu/Palette/PaletteWindow.cs.meta | 6 +- .../Plugins/Editor/Menu/PortLegendInfo.cs | 1 + .../Editor/Menu/PortLegendInfo.cs.meta | 6 +- .../Editor/Menu/SceneSaveCallback.cs.meta | 6 +- .../Menu/ShaderEditorModeWindow.cs.meta | 6 +- .../Plugins/Editor/Menu/ShaderLibrary.cs.meta | 6 +- .../Editor/Menu/Tools/ToolsMenuButton.cs.meta | 6 +- .../Menu/Tools/ToolsMenuButtonParent.cs.meta | 6 +- .../Menu/Tools/ToolsMenuButtonSep.cs.meta | 6 +- .../Editor/Menu/Tools/ToolsWindow.cs.meta | 6 +- .../Editor/Native/FallbackColor.cs.meta | 6 +- .../Editor/Native/FallbackFloat.cs.meta | 6 +- .../Plugins/Editor/Native/FallbackInt.cs.meta | 6 +- .../Editor/Native/FallbackMatrix4x4.cs.meta | 6 +- .../Editor/Native/FallbackString.cs.meta | 6 +- .../Editor/Native/FallbackTexture.cs.meta | 6 +- .../Editor/Native/FallbackVariable.cs.meta | 6 +- .../Editor/Native/FallbackVector2.cs.meta | 6 +- .../Editor/Native/FallbackVector3.cs.meta | 6 +- .../Editor/Native/FallbackVector4.cs.meta | 6 +- .../Editor/Native/IFallbackVars.cs.meta | 6 +- .../Plugins/Editor/Nodes/CommentaryNode.cs | 14 +- .../Editor/Nodes/CommentaryNode.cs.meta | 6 +- .../Editor/Nodes/Constants/ColorNode.cs | 19 +- .../Editor/Nodes/Constants/ColorNode.cs.meta | 6 +- .../Editor/Nodes/Constants/GlobalArrayNode.cs | 16 +- .../Nodes/Constants/GlobalArrayNode.cs.meta | 6 +- .../Nodes/Constants/GradientNode.cs.meta | 6 +- .../Plugins/Editor/Nodes/Constants/IntNode.cs | 6 +- .../Editor/Nodes/Constants/IntNode.cs.meta | 6 +- .../Editor/Nodes/Constants/Matrix2X2Node.cs | 259 + .../Nodes/Constants/Matrix2X2Node.cs.meta | 19 + .../Editor/Nodes/Constants/Matrix3X3Node.cs | 12 +- .../Nodes/Constants/Matrix3X3Node.cs.meta | 6 +- .../Editor/Nodes/Constants/Matrix4X4Node.cs | 4 +- .../Nodes/Constants/Matrix4X4Node.cs.meta | 6 +- .../Nodes/Constants/MatrixParentNode.cs.meta | 6 +- .../Editor/Nodes/Constants/PiNode.cs.meta | 6 +- .../Editor/Nodes/Constants/PropertyNode.cs | 34 +- .../Nodes/Constants/PropertyNode.cs.meta | 6 +- .../Editor/Nodes/Constants/RangedFloatNode.cs | 11 +- .../Nodes/Constants/RangedFloatNode.cs.meta | 6 +- .../CameraAndScreen/CameraDirection.cs | 19 + .../CameraAndScreen/CameraDirection.cs.meta | 19 + .../CameraProjectionNode.cs.meta | 6 +- .../CameraWorldClipPlanes.cs.meta | 6 +- .../CameraAndScreen/EyeIndex.cs | 19 + .../CameraAndScreen/EyeIndex.cs.meta | 19 + .../CameraAndScreen/OrthoParams.cs.meta | 6 +- .../CameraAndScreen/ProjectionParams.cs.meta | 6 +- .../CameraAndScreen/ScreenParams.cs | 2 + .../CameraAndScreen/ScreenParams.cs.meta | 6 +- .../CameraAndScreen/WorldSpaceCameraPos.cs | 2 +- .../WorldSpaceCameraPos.cs.meta | 6 +- .../CameraAndScreen/ZBufferParams.cs.meta | 6 +- .../ShaderVariables/ConstVecShaderVariable.cs | 26 +- .../ConstVecShaderVariable.cs.meta | 6 +- .../ConstantShaderVariable.cs.meta | 6 +- .../FogAndAmbientColorsNode.cs.meta | 6 +- .../FogAndAmbient/FogParamsNode.cs.meta | 6 +- .../Lighting/CustomStandardSurface.cs.meta | 6 +- .../Lighting/IndirectDiffuseLighting.cs | 56 +- .../Lighting/IndirectDiffuseLighting.cs.meta | 6 +- .../Lighting/IndirectSpecularLight.cs | 12 +- .../Lighting/IndirectSpecularLight.cs.meta | 6 +- .../Lighting/LightAttenuation.cs | 25 +- .../Lighting/LightAttenuation.cs.meta | 6 +- .../Lighting/LightColorNode.cs | 2 +- .../Lighting/LightColorNode.cs.meta | 6 +- .../Lighting/WorldSpaceLightPos.cs | 2 +- .../Lighting/WorldSpaceLightPos.cs.meta | 6 +- .../ShaderVariablesNode.cs.meta | 6 +- .../Constants/ShaderVariables/Time/CosTime.cs | 2 +- .../ShaderVariables/Time/CosTime.cs.meta | 6 +- .../ShaderVariables/Time/DeltaTime.cs | 2 +- .../ShaderVariables/Time/DeltaTime.cs.meta | 6 +- .../ShaderVariables/Time/SimpleTimeNode.cs | 2 +- .../Time/SimpleTimeNode.cs.meta | 6 +- .../ShaderVariables/Time/SinTimeNode.cs | 2 +- .../ShaderVariables/Time/SinTimeNode.cs.meta | 6 +- .../ShaderVariables/Time/TimeNode.cs | 2 +- .../ShaderVariables/Time/TimeNode.cs.meta | 6 +- .../Transform/CameraToWorldMatrix.cs.meta | 6 +- .../Transform/IMMatrixNode.cs.meta | 6 +- .../InverseProjectionMatrixNode.cs.meta | 6 +- .../InverseTranspMVMatrixNode.cs.meta | 6 +- .../Transform/InverseViewMatrixNode.cs.meta | 6 +- .../InverseViewProjectionMatrixNode.cs.meta | 6 +- .../ShaderVariables/Transform/MMatrixNode.cs | 2 + .../Transform/MMatrixNode.cs.meta | 6 +- .../Transform/MVMatrixNode.cs.meta | 6 +- .../Transform/MVPMatrixNode.cs.meta | 6 +- .../Transform/ObjectToWorldMatrixNode.cs.meta | 6 +- .../Transform/ProjectionMatrixNode.cs.meta | 6 +- .../Transform/Texture0MatrixNode.cs.meta | 6 +- .../Transform/Texture1MatrixNode.cs.meta | 6 +- .../Transform/Texture2MatrixNode.cs.meta | 6 +- .../Transform/Texture3MatrixNode.cs.meta | 6 +- .../Transform/TransformDirectionNode.cs.meta | 6 +- .../Transform/TransformPositionNode.cs | 22 +- .../Transform/TransformPositionNode.cs.meta | 6 +- .../Transform/TransformVariables.cs.meta | 6 +- .../Transform/TransposeMVMatrix.cs.meta | 6 +- .../UnityProjectorClipMatrixNode.cs.meta | 6 +- .../UnityProjectorMatrixNode.cs.meta | 6 +- .../Transform/UnityScaleMatrix.cs.meta | 6 +- .../Transform/ViewMatrixNode.cs.meta | 6 +- .../ViewProjectionMatrixNode.cs.meta | 6 +- .../Transform/WorldToCameraMatrix.cs.meta | 6 +- .../Transform/WorldToObjectMatrix.cs.meta | 6 +- .../Transform/WorldToTangentMatrix.cs.meta | 6 +- .../Various/ColorSpaceDouble.cs.meta | 6 +- .../Various/FaceVariableNode.cs | 6 +- .../Various/FaceVariableNode.cs.meta | 6 +- .../Various/InstanceIdNode.cs.meta | 6 +- .../Various/LODFadeNode.cs.meta | 6 +- .../Various/PrimitiveIdVariableNode.cs.meta | 6 +- .../Various/SwitchByFaceNode.cs | 8 +- .../Various/SwitchByFaceNode.cs.meta | 6 +- .../Various/SwitchBySRPVersionNode.cs | 16 +- .../Various/SwitchBySRPVersionNode.cs.meta | 6 +- .../Various/TwoSidedSignNode.cs | 6 +- .../Various/TwoSidedSignNode.cs.meta | 6 +- .../Various/VertexIdVariableNode.cs.meta | 6 +- .../Various/WorldTransformParams.cs.meta | 6 +- .../Editor/Nodes/Constants/StaticSwitch.cs | 93 +- .../Nodes/Constants/StaticSwitch.cs.meta | 6 +- .../Plugins/Editor/Nodes/Constants/TauNode.cs | 3 +- .../Editor/Nodes/Constants/TauNode.cs.meta | 6 +- .../Nodes/Constants/TextureArrayNode.cs | 23 +- .../Nodes/Constants/TextureArrayNode.cs.meta | 6 +- .../Editor/Nodes/Constants/Vector2Node.cs | 21 +- .../Nodes/Constants/Vector2Node.cs.meta | 6 +- .../Editor/Nodes/Constants/Vector3Node.cs | 13 +- .../Nodes/Constants/Vector3Node.cs.meta | 6 +- .../Editor/Nodes/Constants/Vector4Node.cs | 17 +- .../Nodes/Constants/Vector4Node.cs.meta | 6 +- .../Editor/Nodes/CustomAddNode.cs.meta | 6 +- .../Plugins/Editor/Nodes/CustomNode.cs.meta | 6 +- .../Plugins/Editor/Nodes/DrawInfo.cs.meta | 6 +- .../Plugins/Editor/Nodes/DynamicTypeNode.cs | 69 +- .../Editor/Nodes/DynamicTypeNode.cs.meta | 6 +- .../Nodes/HelperFuncs/CameraDepthFade.cs.meta | 6 +- .../ComputeGrabScreenPosHlpNode.cs.meta | 6 +- .../ComputeScreenPosHlpNode.cs.meta | 6 +- .../HelperFuncs/DecodeDepthNormalNode.cs.meta | 6 +- .../DecodeFloatRGBAHlpNode.cs.meta | 6 +- .../HelperFuncs/DecodeFloatRGHlpNode.cs.meta | 6 +- .../HelperFuncs/DecodeLightmapHlpNode.cs.meta | 6 +- .../DecodeViewNormalStereoHlpNode.cs.meta | 6 +- .../Editor/Nodes/HelperFuncs/DepthFade.cs | 2 +- .../Nodes/HelperFuncs/DepthFade.cs.meta | 6 +- ...DiffuseAndSpecularFromMetallicNode.cs.meta | 6 +- .../Editor/Nodes/HelperFuncs/DitheringNode.cs | 17 +- .../Nodes/HelperFuncs/DitheringNode.cs.meta | 6 +- .../HelperFuncs/EncodeDepthNormalNode.cs.meta | 6 +- .../EncodeFloatRGBAHlpNode.cs.meta | 6 +- .../HelperFuncs/EncodeFloatRGHlpNode.cs.meta | 6 +- .../EncodeViewNormalStereoHlpNode.cs.meta | 6 +- .../HelperFuncs/GammaToLinearNode.cs.meta | 6 +- .../HelperFuncs/HelperParentNode.cs.meta | 6 +- .../HelperFuncs/LinearToGammaNode.cs.meta | 6 +- .../HelperFuncs/LuminanceHlpNode.cs.meta | 6 +- .../ObjSpaceLightDirHlpNode.cs.meta | 6 +- .../ObjSpaceViewDirHlpNode.cs.meta | 6 +- .../HelperFuncs/ParallaxMappingNode.cs.meta | 6 +- .../ParallaxOcclusionMappingNode.cs | 12 +- .../ParallaxOcclusionMappingNode.cs.meta | 6 +- .../HelperFuncs/ParallaxOffsetHlpNode.cs.meta | 6 +- .../ShadeVertexLightsHlpNode.cs.meta | 6 +- .../HelperFuncs/SurfaceDepthNode.cs.meta | 6 +- .../Editor/Nodes/HelperFuncs/TriplanarNode.cs | 174 +- .../Nodes/HelperFuncs/TriplanarNode.cs.meta | 6 +- .../UnityObjToClipPosHlpNode.cs.meta | 6 +- .../UnityObjToViewPosHlpNode.cs.meta | 6 +- .../WorldSpaceLightDirHlpNode.cs.meta | 6 +- .../WorldSpaceViewDirHlpNode.cs.meta | 6 +- .../Editor/Nodes/ISignalGenerator.cs.meta | 6 +- .../Editor/Nodes/ImageEffects/BlendOpsNode.cs | 6 +- .../Nodes/ImageEffects/BlendOpsNode.cs.meta | 6 +- .../ImageEffects/DesaturateOpNode.cs.meta | 6 +- .../Nodes/ImageEffects/HSVToRGBNode.cs.meta | 6 +- .../Nodes/ImageEffects/LuminanceNode.cs.meta | 6 +- .../ImageEffects/NoiseGeneratorNode.cs.meta | 6 +- .../Nodes/ImageEffects/PosterizeNode.cs.meta | 6 +- .../Nodes/ImageEffects/RGBToHSVNode.cs.meta | 6 +- .../ImageEffects/SimpleContrastOpNode.cs.meta | 6 +- .../ImageEffects/SimplexNoiseNode.cs.meta | 6 +- .../Nodes/ImageEffects/TFHCGrayscale.cs | 6 +- .../Nodes/ImageEffects/TFHCGrayscale.cs.meta | 6 +- .../Editor/Nodes/ImageEffects/VoronoiNode.cs | 46 +- .../Nodes/ImageEffects/VoronoiNode.cs.meta | 6 +- .../Nodes/LogicalOperators/AllOpNode.cs.meta | 6 +- .../Nodes/LogicalOperators/AnyOpNode.cs.meta | 6 +- .../Nodes/LogicalOperators/Compare.cs.meta | 6 +- .../ConditionalIfNode.cs.meta | 6 +- .../Editor/Nodes/LogicalOperators/FlipNode.cs | 1 + .../Nodes/LogicalOperators/FlipNode.cs.meta | 6 +- .../LogicalOperators/IsInfiniteNode.cs.meta | 6 +- .../Nodes/LogicalOperators/IsNaNNode.cs.meta | 6 +- .../KeywordSwitchNode.cs.meta | 6 +- .../Editor/Nodes/LogicalOperators/NaNNode.cs | 31 + .../Nodes/LogicalOperators/NaNNode.cs.meta | 19 + .../Nodes/LogicalOperators/NandNode.cs.meta | 6 +- .../Editor/Nodes/LogicalOperators/NotNode.cs | 4 +- .../Nodes/LogicalOperators/NotNode.cs.meta | 6 +- .../LogicalOperators/TFHCCompareEqual.cs.meta | 6 +- .../TFHCCompareGreater.cs.meta | 6 +- .../TFHCCompareGreaterEqual.cs.meta | 6 +- .../LogicalOperators/TFHCCompareLower.cs.meta | 6 +- .../TFHCCompareLowerEqual.cs.meta | 6 +- .../TFHCCompareNotEqual.cs.meta | 6 +- .../TFHCCompareWithRange.cs.meta | 6 +- .../Nodes/LogicalOperators/TFHCIf.cs.meta | 6 +- .../Nodes/LogicalOperators/TFHCStub.cs.meta | 6 +- .../Master/AdditionalDefinesHelper.cs.meta | 6 +- .../Master/AdditionalIncludesHelper.cs.meta | 6 +- .../Master/AdditionalPragmasHelper.cs.meta | 6 +- .../AdditionalSurfaceOptionsHelper.cs.meta | 6 +- .../Editor/Nodes/Master/BillboardOpHelper.cs | 22 +- .../Nodes/Master/BillboardOpHelper.cs.meta | 6 +- .../Nodes/Master/BlendOpsHelper.cs.meta | 6 +- .../Nodes/Master/CodeGenerationData.cs.meta | 6 +- .../Nodes/Master/ColorMaskHelper.cs.meta | 6 +- .../Nodes/Master/CustomTagsHelper.cs.meta | 6 +- .../Nodes/Master/DependenciesHelper.cs.meta | 6 +- .../Nodes/Master/FallbackPickerHelper.cs | 9 +- .../Nodes/Master/FallbackPickerHelper.cs.meta | 6 +- .../Editor/Nodes/Master/FunctionInput.cs | 66 +- .../Editor/Nodes/Master/FunctionInput.cs.meta | 6 +- .../Editor/Nodes/Master/FunctionNode.cs | 26 +- .../Editor/Nodes/Master/FunctionNode.cs.meta | 6 +- .../Editor/Nodes/Master/FunctionOutput.cs | 4 +- .../Nodes/Master/FunctionOutput.cs.meta | 6 +- .../Nodes/Master/FunctionSubtitle.cs.meta | 6 +- .../Editor/Nodes/Master/FunctionSwitch.cs | 145 +- .../Nodes/Master/FunctionSwitch.cs.meta | 6 +- .../Master/FunctionSwitchByPipeline.cs.meta | 6 +- .../Editor/Nodes/Master/LogNode.cs.meta | 6 +- .../Plugins/Editor/Nodes/Master/MasterNode.cs | 8 +- .../Editor/Nodes/Master/MasterNode.cs.meta | 6 +- .../Nodes/Master/MasterNodeDataCollector.cs | 38 +- .../Master/MasterNodeDataCollector.cs.meta | 6 +- .../Editor/Nodes/Master/OutlineOpHelper.cs | 7 +- .../Nodes/Master/OutlineOpHelper.cs.meta | 6 +- .../Editor/Nodes/Master/OutputNode.cs.meta | 6 +- .../Master/RenderingOptionsOpHelper.cs.meta | 6 +- .../Master/RenderingPlatformsOpHelper.cs.meta | 6 +- .../Editor/Nodes/Master/StandardSurface.cs | 207 +- .../Nodes/Master/StandardSurface.cs.meta | 6 +- .../Master/StencilBufferOpHelper.cs.meta | 6 +- .../Master/TerrainDrawInstancedHelper.cs | 38 +- .../Master/TerrainDrawInstancedHelper.cs.meta | 6 +- .../Nodes/Master/TessellationOpHelper.cs | 6 +- .../Nodes/Master/TessellationOpHelper.cs.meta | 6 +- .../Editor/Nodes/Master/UsePassHelper.cs | 11 +- .../Editor/Nodes/Master/UsePassHelper.cs.meta | 6 +- .../Nodes/Master/ZBufferOpHelper.cs.meta | 6 +- .../Plugins/Editor/Nodes/Misc/AppendNode.cs | 3 + .../Editor/Nodes/Misc/AppendNode.cs.meta | 6 +- .../Nodes/Misc/BreakToComponentsNode.cs | 19 +- .../Nodes/Misc/BreakToComponentsNode.cs.meta | 6 +- .../Editor/Nodes/Misc/CustomExpressionNode.cs | 108 +- .../Nodes/Misc/CustomExpressionNode.cs.meta | 6 +- .../Nodes/Misc/DynamicAppendNode.cs.meta | 6 +- .../Editor/Nodes/Misc/FresnelNode.cs.meta | 6 +- .../Editor/Nodes/Misc/GetLocalVarNode.cs | 2 +- .../Editor/Nodes/Misc/GetLocalVarNode.cs.meta | 6 +- .../Nodes/Misc/LayeredBlendNode.cs.meta | 6 +- .../Editor/Nodes/Misc/LinearDepthNode.cs.meta | 6 +- .../Editor/Nodes/Misc/MatrixFromVectors.cs | 122 +- .../Nodes/Misc/MatrixFromVectors.cs.meta | 6 +- .../Plugins/Editor/Nodes/Misc/MatrixSplit.cs | 153 + .../Editor/Nodes/Misc/MatrixSplit.cs.meta | 19 + .../Nodes/Misc/PosFromTransformMatrix.cs.meta | 6 +- .../Nodes/Misc/RegisterLocalVarNode.cs.meta | 6 +- .../Editor/Nodes/Misc/RelayNode.cs.meta | 6 +- .../Nodes/Misc/RotateAboutAxisNode.cs.meta | 6 +- .../Editor/Nodes/Misc/SummedBlendNode.cs.meta | 6 +- .../Plugins/Editor/Nodes/Misc/SwitchNode.cs | 4 +- .../Editor/Nodes/Misc/SwitchNode.cs.meta | 6 +- .../Plugins/Editor/Nodes/Misc/SwizzleNode.cs | 6 + .../Editor/Nodes/Misc/SwizzleNode.cs.meta | 6 +- .../Editor/Nodes/Misc/ToggleSwitchNode.cs | 330 +- .../Nodes/Misc/ToggleSwitchNode.cs.meta | 6 +- .../ObjectToWorldTransfNode.cs.meta | 6 +- .../Transformation/ParentTransfNode.cs.meta | 6 +- .../WorldToObjectTransfNode.cs.meta | 6 +- .../Editor/Nodes/Misc/VectorFromMatrixNode.cs | 47 +- .../Nodes/Misc/VectorFromMatrixNode.cs.meta | 6 +- .../Editor/Nodes/Misc/WeightedAvgNode.cs | 5 +- .../Editor/Nodes/Misc/WeightedAvgNode.cs.meta | 6 +- .../Nodes/Misc/WeightedBlendNode.cs.meta | 6 +- .../Plugins/Editor/Nodes/Misc/WireNode.cs | 4 +- .../Editor/Nodes/Misc/WireNode.cs.meta | 6 +- .../Editor/Nodes/NodeAttributes.cs.meta | 6 +- .../Editor/Nodes/NodeRestrictions.cs.meta | 6 +- .../Plugins/Editor/Nodes/NodeUsageRegister.cs | 1 + .../Editor/Nodes/NodeUsageRegister.cs.meta | 6 +- .../Plugins/Editor/Nodes/NodeUtils.cs.meta | 6 +- .../Editor/Nodes/Operators/ACosOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/ASinOpNode.cs.meta | 6 +- .../Nodes/Operators/ATan2OpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/ATanOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/AbsOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/CeilOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/ClampOpNode.cs | 1 + .../Nodes/Operators/ClampOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/ClipNode.cs.meta | 6 +- .../Nodes/Operators/ComponentMaskNode.cs | 4 + .../Nodes/Operators/ComponentMaskNode.cs.meta | 6 +- .../Editor/Nodes/Operators/CosOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/CoshOpNode.cs.meta | 6 +- .../Operators/CrossProductOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/DdxOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/DdyOpNode.cs.meta | 6 +- .../Nodes/Operators/DegreesOpNode.cs.meta | 6 +- .../Nodes/Operators/DeterminantOpNode.cs | 3 +- .../Nodes/Operators/DeterminantOpNode.cs.meta | 6 +- .../Nodes/Operators/DistanceOpNode.cs.meta | 6 +- .../Nodes/Operators/DotProductOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/Exp2OpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/ExpOpNode.cs.meta | 6 +- .../Nodes/Operators/FWidthOpNode.cs.meta | 6 +- .../Nodes/Operators/FloorOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/FmodOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/FractNode.cs.meta | 6 +- .../Operators/GradientSampleNode.cs.meta | 6 +- .../Editor/Nodes/Operators/InverseOpNode.cs | 10 +- .../Nodes/Operators/InverseOpNode.cs.meta | 6 +- .../Nodes/Operators/LengthOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/LerpOp.cs.meta | 6 +- .../Nodes/Operators/Log10OpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/Log2OpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/LogOpNode.cs.meta | 6 +- .../Operators/MultipleInputOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/NegateNode.cs.meta | 6 +- .../Editor/Nodes/Operators/NormalizeNode.cs | 1 + .../Nodes/Operators/NormalizeNode.cs.meta | 6 +- .../Nodes/Operators/OneMinusNode.cs.meta | 6 +- .../Editor/Nodes/Operators/PowerNode.cs.meta | 6 +- .../Nodes/Operators/RSqrtOpNode.cs.meta | 6 +- .../Nodes/Operators/RadiansOpNode.cs.meta | 6 +- .../Nodes/Operators/ReciprocalOpNode.cs.meta | 6 +- .../Nodes/Operators/ReflectOpNode.cs.meta | 6 +- .../Nodes/Operators/RefractOpVec.cs.meta | 6 +- .../Nodes/Operators/RoundOpNode.cs.meta | 6 +- .../Nodes/Operators/SaturateNode.cs.meta | 6 +- .../Operators/ScaleAndOffsetNode.cs.meta | 6 +- .../Editor/Nodes/Operators/ScaleNode.cs | 4 +- .../Editor/Nodes/Operators/ScaleNode.cs.meta | 6 +- .../Editor/Nodes/Operators/SignOpNode.cs.meta | 6 +- .../Operators/SimplifiedFModOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/SinOpNode.cs.meta | 6 +- .../Nodes/Operators/SingleInputOp.cs.meta | 6 +- .../Editor/Nodes/Operators/SinhOpNode.cs.meta | 6 +- .../Nodes/Operators/SmoothstepOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/SqrtOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/StepOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/TFHCRemapNode.cs | 2 +- .../Nodes/Operators/TFHCRemapNode.cs.meta | 6 +- .../Editor/Nodes/Operators/TanOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/TanhOpNode.cs.meta | 6 +- .../Operators/TransformVectorOpNode.cs.meta | 6 +- .../Editor/Nodes/Operators/TransposeOpNode.cs | 3 +- .../Nodes/Operators/TransposeOpNode.cs.meta | 6 +- .../Nodes/Operators/TruncOpNode.cs.meta | 6 +- .../Operators/VariablePortTypeOpNode.cs.meta | 6 +- .../Plugins/Editor/Nodes/ParentNode.cs | 99 +- .../Plugins/Editor/Nodes/ParentNode.cs.meta | 6 +- .../Editor/Nodes/ReordenatorNode.cs.meta | 6 +- .../Plugins/Editor/Nodes/SRP/BakedGINode.cs | 12 +- .../Editor/Nodes/SRP/BakedGINode.cs.meta | 6 +- .../Plugins/Editor/Nodes/SRP/ExposureNode.cs | 2 +- .../Editor/Nodes/SRP/ExposureNode.cs.meta | 6 +- .../SRP/HDRP/ASEDiffusionProfile.cs.meta | 6 +- .../SRP/HDRP/DiffusionProfileNode.cs.meta | 6 +- .../Nodes/SRP/HDRP/HDEmissionNode.cs.meta | 6 +- .../Nodes/SRP/MaterialQualityNode.cs.meta | 6 +- .../Nodes/SRP/URP/ReflectionProbeNode.cs | 9 +- .../Nodes/SRP/URP/ReflectionProbeNode.cs.meta | 6 +- .../Editor/Nodes/SignalGeneratorNode.cs.meta | 6 +- .../Nodes/SimpleNodes/SimpleAddOpNode.cs | 1 + .../Nodes/SimpleNodes/SimpleAddOpNode.cs.meta | 6 +- .../Nodes/SimpleNodes/SimpleDivideOpNode.cs | 1 + .../SimpleNodes/SimpleDivideOpNode.cs.meta | 6 +- .../Nodes/SimpleNodes/SimpleMaxOpNode.cs.meta | 6 +- .../Nodes/SimpleNodes/SimpleMinOpNode.cs.meta | 6 +- .../Nodes/SimpleNodes/SimpleMultiplyOpNode.cs | 233 +- .../SimpleNodes/SimpleMultiplyOpNode.cs.meta | 6 +- .../Nodes/SimpleNodes/SimpleRemainderNode.cs | 1 + .../SimpleNodes/SimpleRemainderNode.cs.meta | 6 +- .../Nodes/SimpleNodes/SimpleSubtractOpNode.cs | 1 + .../SimpleNodes/SimpleSubtractOpNode.cs.meta | 6 +- .../Plugins/Editor/Nodes/StickyNoteNode.cs | 2 +- .../Editor/Nodes/StickyNoteNode.cs.meta | 6 +- .../ColorInputsNode.cs.meta | 6 +- .../GrabScreenPosition.cs.meta | 6 +- .../LocalVertexPosNode.cs.meta | 6 +- .../SurfaceShaderInputs/PositionNode.cs.meta | 6 +- .../SurfaceShaderInputs/ScreenColorNode.cs | 13 +- .../ScreenColorNode.cs.meta | 6 +- .../ScreenDepthNode.cs.meta | 6 +- .../ScreenPosInputsNode.cs.meta | 6 +- .../SurfaceShaderINParentNode.cs.meta | 6 +- .../SurfaceShaderInputs/TexelSizeNode.cs | 13 +- .../SurfaceShaderInputs/TexelSizeNode.cs.meta | 6 +- .../UVCoordsParentNode.cs.meta | 6 +- .../ViewDirInputsCoordNode.cs | 5 +- .../ViewDirInputsCoordNode.cs.meta | 6 +- .../ViewVectorNode.cs.meta | 6 +- .../WorldNormalInputsNode.cs.meta | 6 +- .../WorldNormalVector.cs.meta | 6 +- .../WorldPosInputsNode.cs.meta | 6 +- .../WorldReflInputsNode.cs.meta | 6 +- .../WorldReflectionVector.cs.meta | 6 +- .../Nodes/Textures/BlendNormalsNode.cs.meta | 6 +- .../Nodes/Textures/HeightMapBlendNode.cs.meta | 6 +- .../Editor/Nodes/Textures/PannerNode.cs | 6 +- .../Editor/Nodes/Textures/PannerNode.cs.meta | 6 +- .../Editor/Nodes/Textures/RotatorNode.cs | 4 +- .../Editor/Nodes/Textures/RotatorNode.cs.meta | 6 +- .../Editor/Nodes/Textures/SamplerNode.cs | 82 +- .../Editor/Nodes/Textures/SamplerNode.cs.meta | 6 +- .../Editor/Nodes/Textures/SamplerStateNode.cs | 15 +- .../Nodes/Textures/SamplerStateNode.cs.meta | 6 +- .../Nodes/Textures/TFHCFlipBookUVAnimation.cs | 10 +- .../Textures/TFHCFlipBookUVAnimation.cs.meta | 6 +- .../Editor/Nodes/Textures/TFHCPixelate.cs | 18 +- .../Nodes/Textures/TFHCPixelate.cs.meta | 6 +- .../Nodes/Textures/TextureCoordinatesNode.cs | 19 +- .../Textures/TextureCoordinatesNode.cs.meta | 6 +- .../Nodes/Textures/TexturePropertyNode.cs | 89 +- .../Textures/TexturePropertyNode.cs.meta | 6 +- .../Nodes/Textures/TextureTransformNode.cs | 13 +- .../Textures/TextureTransformNode.cs.meta | 6 +- .../Textures/UnpackScaleNormalNode.cs.meta | 6 +- .../Textures/VirtualTextureObject.cs.meta | 6 +- .../Editor/Nodes/UndoParentNode.cs.meta | 6 +- .../Editor/Nodes/Vertex/BillboardNode.cs.meta | 6 +- .../Vertex/BitangentVertexDataNode.cs.meta | 6 +- .../Nodes/Vertex/BlendIndicesNode.cs.meta | 6 +- .../Nodes/Vertex/BlendWeightsNode.cs.meta | 6 +- .../Nodes/Vertex/ColorVertexDataNode.cs.meta | 6 +- .../Nodes/Vertex/NormalVertexDataNode.cs.meta | 6 +- .../Editor/Nodes/Vertex/ObjectBoundsNode.cs | 22 +- .../Nodes/Vertex/ObjectBoundsNode.cs.meta | 6 +- .../Nodes/Vertex/ObjectPositionNode.cs.meta | 6 +- .../Nodes/Vertex/ObjectScaleNode.cs.meta | 6 +- .../Editor/Nodes/Vertex/OutlineNode.cs.meta | 6 +- .../Nodes/Vertex/PosVertexDataNode.cs.meta | 6 +- .../Vertex/TangentSignVertexDataNode.cs.meta | 6 +- .../Vertex/TangentVertexDataNode.cs.meta | 6 +- .../DistanceBasedTessNode.cs.meta | 6 +- .../EdgeLengthCullTessNode.cs.meta | 6 +- .../Tessellation/EdgeLengthTessNode.cs.meta | 6 +- .../TessellationParentNode.cs.meta | 6 +- .../Vertex/TexCoord1VertexDataNode.cs.meta | 6 +- .../Nodes/Vertex/TexCoordVertexDataNode.cs | 13 + .../Vertex/TexCoordVertexDataNode.cs.meta | 6 +- .../Editor/Nodes/Vertex/VertexBinormalNode.cs | 2 +- .../Nodes/Vertex/VertexBinormalNode.cs.meta | 6 +- .../Nodes/Vertex/VertexColorNode.cs.meta | 6 +- .../Nodes/Vertex/VertexDataNode.cs.meta | 6 +- .../Nodes/Vertex/VertexTangentNode.cs.meta | 6 +- .../Nodes/Vertex/VertexToFragmentNode.cs | 3 +- .../Nodes/Vertex/VertexToFragmentNode.cs.meta | 6 +- .../Plugins/Editor/PreMadeShaders.cs.meta | 6 +- .../TemplateAdditionalDefinesHelper.cs.meta | 6 +- ...TemplateAdditionalDirectivesHelper.cs.meta | 6 +- .../TemplateAdditionalIncludesHelper.cs.meta | 6 +- .../TemplateAdditionalParentHelper.cs.meta | 6 +- .../TemplateAdditionalPragmasHelper.cs.meta | 6 +- .../TemplateAlphaToMaskModule.cs.meta | 6 +- .../Templates/TemplateCodeSnippetBase.cs.meta | 6 +- .../Templates/TemplateColorMaskModule.cs.meta | 6 +- .../Templates/TemplateCullModeModule.cs.meta | 6 +- .../Editor/Templates/TemplateDBItem.cs.meta | 6 +- .../Editor/Templates/TemplateData.cs.meta | 6 +- .../Editor/Templates/TemplateDataCollector.cs | 98 +- .../Templates/TemplateDataCollector.cs.meta | 6 +- .../Templates/TemplateDataParent.cs.meta | 6 +- .../Templates/TemplateDepthModule.cs.meta | 6 +- .../TemplateFragmentDataNode.cs.meta | 6 +- .../Templates/TemplateHelperFunctions.cs | 58 +- .../Templates/TemplateHelperFunctions.cs.meta | 6 +- .../Templates/TemplateIdManager.cs.meta | 6 +- .../Templates/TemplateInterpData.cs.meta | 6 +- .../Templates/TemplateLocalVarData.cs.meta | 6 +- .../Templates/TemplateLocalVarsNode.cs.meta | 6 +- .../Templates/TemplateMasterNode.cs.meta | 6 +- .../Editor/Templates/TemplateMenuItems.cs | 85 +- .../Templates/TemplateMenuItems.cs.meta | 6 +- .../Templates/TemplateModuleHelper.cs.meta | 6 +- .../Templates/TemplateModuleParent.cs.meta | 6 +- .../Templates/TemplateModulesData.cs.meta | 6 +- .../Templates/TemplateMultiPass.cs.meta | 6 +- .../Templates/TemplateMultiPassMasterNode.cs | 20 +- .../TemplateMultiPassMasterNode.cs.meta | 6 +- .../TemplateMultiPassSwitchNode.cs.meta | 6 +- .../Templates/TemplateNodeParent.cs.meta | 6 +- .../Editor/Templates/TemplateOptionsData.cs | 2 +- .../Templates/TemplateOptionsData.cs.meta | 6 +- .../TemplateOptionsDefinesContainer.cs.meta | 6 +- .../Templates/TemplateOptionsPort.cs.meta | 6 +- .../Templates/TemplateOptionsUI.cs.meta | 6 +- .../Templates/TemplateOptionsUIHelper.cs | 5 + .../Templates/TemplateOptionsUIHelper.cs.meta | 6 +- .../Editor/Templates/TemplatePass.cs.meta | 6 +- .../TemplatePassSelectorHelper.cs.meta | 6 +- .../Editor/Templates/TemplatePostProcessor.cs | 6 + .../Templates/TemplatePostProcessor.cs.meta | 6 +- .../TemplateRenderPlatformHelper.cs.meta | 6 +- .../Templates/TemplateShaderData.cs.meta | 6 +- .../TemplateShaderModelModule.cs.meta | 6 +- .../TemplateShaderPropertyData.cs.meta | 6 +- .../Templates/TemplateShaderPropertyNode.cs | 1 + .../TemplateShaderPropertyNode.cs.meta | 6 +- .../Templates/TemplateSubShader.cs.meta | 6 +- .../Editor/Templates/TemplateTagsModule.cs | 12 + .../Templates/TemplateTagsModule.cs.meta | 6 +- .../Templates/TemplateVertexData.cs.meta | 6 +- .../Templates/TemplateVertexDataNode.cs.meta | 6 +- .../Templates/TemplatesBlendModule.cs.meta | 6 +- .../Editor/Templates/TemplatesManager.cs | 49 +- .../Editor/Templates/TemplatesManager.cs.meta | 6 +- .../TemplatesStencilBufferModule.cs.meta | 6 +- .../Plugins/Editor/Utils/ASEPPSHelperTool.cs | 49 +- .../Editor/Utils/ASEPPSHelperTool.cs.meta | 6 +- .../Editor/Utils/ASEPackageManagerHelper.cs | 89 +- .../Utils/ASEPackageManagerHelper.cs.meta | 6 +- .../Editor/Utils/ASESaveBundleAsset.cs.meta | 6 +- .../Plugins/Editor/Utils/ASESaveBundleTool.cs | 56 +- .../Editor/Utils/ASESaveBundleTool.cs.meta | 6 +- .../Plugins/Editor/Utils/ASEStartScreen.cs | 164 +- .../Editor/Utils/ASEStartScreen.cs.meta | 6 +- .../Utils/ASETextureArrayCreator.cs.meta | 6 +- .../Editor/Utils/BatchUpdateShaders.cs | 155 + .../Editor/Utils/BatchUpdateShaders.cs.meta | 19 + .../Editor/Utils/CustomMaterialInspector.cs | 83 +- .../Utils/CustomMaterialInspector.cs.meta | 6 +- .../Editor/Utils/CustomShaderInspector.cs | 18 +- .../Utils/CustomShaderInspector.cs.meta | 6 +- .../Utils/EditorVariablesManager.cs.meta | 6 +- .../Plugins/Editor/Utils/GeneratorUtils.cs | 83 +- .../Editor/Utils/GeneratorUtils.cs.meta | 6 +- .../Editor/Utils/GenericMessage.cs.meta | 6 +- .../Plugins/Editor/Utils/IOUtils.cs | 87 +- .../Plugins/Editor/Utils/IOUtils.cs.meta | 6 +- .../Editor/Utils/InlineProperty.cs.meta | 6 +- .../Editor/Utils/InlinePropertyTable.cs.meta | 6 +- .../Editor/Utils/InvalidDataChecker.cs | 2 +- .../Editor/Utils/InvalidDataChecker.cs.meta | 6 +- .../Editor/Utils/NodeExporterUtils.cs.meta | 6 +- .../Plugins/Editor/Utils/NodeUpdateCache.cs | 25 + .../Editor/Utils/NodeUpdateCache.cs.meta} | 12 +- .../Editor/Utils/Preferences.Project.cs | 7 +- .../Editor/Utils/Preferences.Project.cs.meta | 6 +- .../Plugins/Editor/Utils/Preferences.User.cs | 35 + .../Editor/Utils/Preferences.User.cs.meta | 6 +- .../Plugins/Editor/Utils/Preferences.cs.meta | 6 +- .../Editor/Utils/RectExtension.cs.meta | 6 +- .../Utils/SamplerStateAutoGenerator.cs.meta | 6 +- .../Editor/Utils/ShaderBodyTokenizer.cs.meta | 6 +- .../Editor/Utils/ShortcutsManager.cs.meta | 6 +- .../Utils/TextureArrayCreatorAsset.cs.meta | 6 +- .../Plugins/Editor/Utils/TipsWindow.cs.meta | 6 +- .../Plugins/Editor/Utils/UIUtils.cs | 115 +- .../Plugins/Editor/Utils/UIUtils.cs.meta | 6 +- .../Plugins/Editor/Utils/UndoUtils.cs.meta | 6 +- .../Utils/UpperLeftWidgetHelper.cs.meta | 6 +- .../Plugins/Editor/Utils/WindowHelper.cs.meta | 6 +- .../Plugins/Editor/Utils/WindowsUtil.cs.meta | 6 +- .../Plugins/Editor/Version/About.cs.meta | 6 +- .../Plugins/Editor/Version/VersionInfo.cs | 4 +- .../Editor/Version/VersionInfo.cs.meta | 6 +- .../Plugins/Editor/Wires/GLDraw.cs.meta | 6 +- .../Plugins/Editor/Wires/InputPort.cs | 117 +- .../Plugins/Editor/Wires/InputPort.cs.meta | 6 +- .../Plugins/Editor/Wires/OutputPort.cs | 5 +- .../Plugins/Editor/Wires/OutputPort.cs.meta | 6 +- .../Editor/Wires/WireBezierReference.cs.meta | 6 +- .../Plugins/Editor/Wires/WirePort.cs | 8 +- .../Plugins/Editor/Wires/WirePort.cs.meta | 6 +- .../Editor/Wires/WireReference.cs.meta | 6 +- .../GUISkins/MainSkin.guiskin.meta | 6 +- .../Nodes/Bezier1X2AA.png.meta | 6 +- .../Nodes/GPUInstancingIconOFF.png.meta | 6 +- .../Nodes/GPUInstancingIconON.png.meta | 6 +- .../EditorResources/Nodes/LinkIcon.png.meta | 6 +- .../Nodes/MasterNodeIconOFF.png.meta | 6 +- .../Nodes/MasterNodeIconON.png.meta | 6 +- .../Nodes/TextureReferenceBg.png.meta | 6 +- .../Previews/IndirectSpecularPreview.exr.meta | 6 +- .../Previews/LinearPreviews.shader | 8 +- .../Previews/LinearPreviews.shader.meta | 6 +- .../Previews/Preview.cginc.meta | 6 +- .../Previews/Preview_ACosOpNode.shader.meta | 6 +- .../Previews/Preview_ASinOpNode.shader.meta | 6 +- .../Previews/Preview_ATan2OpNode.shader.meta | 6 +- .../Previews/Preview_ATanOpNode.shader.meta | 6 +- .../Previews/Preview_AbsOpNode.shader.meta | 6 +- .../Previews/Preview_AllNode.shader.meta | 6 +- .../Previews/Preview_AnyNode.shader.meta | 6 +- .../Previews/Preview_AppendNode.shader.meta | 6 +- .../Preview_BlendNormalsNode.shader.meta | 6 +- .../Previews/Preview_BlendOpsNode.shader.meta | 6 +- .../Preview_BreakToComponentsNode.shader.meta | 6 +- .../Previews/Preview_CameraDirection.shader | 20 + .../Preview_CameraDirection.shader.meta | 16 + .../Previews/Preview_CeilOpNode.shader.meta | 6 +- .../Previews/Preview_ClampOpNode.shader.meta | 6 +- .../Previews/Preview_Clip.shader.meta | 6 +- .../Previews/Preview_ClipPlanes.shader.meta | 6 +- .../Previews/Preview_ColorNode.shader.meta | 6 +- .../Preview_ColorSpaceDouble.shader.meta | 6 +- .../Previews/Preview_Compare.shader.meta | 6 +- .../Preview_ComponentMaskNode.shader.meta | 6 +- .../Preview_ComputeScreenPos.shader.meta | 6 +- .../Preview_ConditionalIfNode.shader.meta | 6 +- .../Previews/Preview_CosOpNode.shader.meta | 6 +- .../Previews/Preview_CosTime.shader.meta | 6 +- .../Previews/Preview_CoshOpNode.shader.meta | 6 +- .../Preview_CrossProductOpNode.shader.meta | 6 +- .../Previews/Preview_DdxOpNode.shader.meta | 6 +- .../Previews/Preview_DdyOpNode.shader.meta | 6 +- .../Preview_DecodeDepthNormalNode.shader.meta | 6 +- ...Preview_DecodeFloatRGBAHlpNode.shader.meta | 6 +- .../Preview_DecodeFloatRGHlpNode.shader.meta | 6 +- .../Preview_DecodeLightmapHlpNode.shader.meta | 6 +- ..._DecodeViewNormalStereoHlpNode.shader.meta | 6 +- .../Preview_DegreesOpNode.shader.meta | 6 +- .../Previews/Preview_DeltaTime.shader.meta | 6 +- .../Preview_DesaturateNode.shader.meta | 6 +- ...DiffuseAndSpecularFromMetallic.shader.meta | 6 +- .../Preview_DistanceOpNode.shader.meta | 6 +- .../Previews/Preview_DotProductOpNode.shader | 6 +- .../Preview_DotProductOpNode.shader.meta | 6 +- .../Preview_DynamicAppendNode.shader.meta | 6 +- ...Preview_EncodeFloatRGBAHlpNode.shader.meta | 6 +- .../Preview_EncodeFloatRGHlpNode.shader.meta | 6 +- ..._EncodeViewNormalStereoHlpNode.shader.meta | 6 +- .../Previews/Preview_Exp2OpNode.shader.meta | 6 +- .../Previews/Preview_ExpOpNode.shader.meta | 6 +- .../Previews/Preview_EyeIndex.shader | 20 + .../Previews/Preview_EyeIndex.shader.meta | 16 + .../Previews/Preview_FWidthOpNode.shader.meta | 6 +- .../Preview_FaceVariableNode.shader.meta | 6 +- .../Previews/Preview_FlipNode.shader.meta | 6 +- .../Previews/Preview_FloorOpNode.shader.meta | 6 +- .../Previews/Preview_FmodOpNode.shader.meta | 6 +- .../Preview_FogAndAmbientColors.shader.meta | 6 +- .../Previews/Preview_FogParams.shader.meta | 6 +- .../Previews/Preview_FractNode.shader.meta | 6 +- .../Previews/Preview_FresnelNode.shader.meta | 6 +- .../Preview_FunctionInputNode.shader.meta | 6 +- .../Previews/Preview_FunctionNode.shader.meta | 6 +- .../Preview_FunctionOutputNode.shader.meta | 6 +- .../Preview_GammaToLinearNode.shader.meta | 6 +- .../Preview_GetLocalVarNode.shader.meta | 6 +- .../Preview_GradientSample.shader.meta | 6 +- .../Preview_GrayscaleNode.shader.meta | 6 +- .../Previews/Preview_HSVToRGBNode.shader.meta | 6 +- .../Preview_HeightMapTextureBlend.shader.meta | 6 +- .../Preview_IndirectDiffuseLight.shader.meta | 6 +- .../Preview_IndirectSpecularLight.shader.meta | 6 +- .../Preview_InstanceIDNode.shader.meta | 6 +- .../Previews/Preview_IntNode.shader.meta | 6 +- .../Previews/Preview_IsInfinite.shader.meta | 6 +- .../Previews/Preview_IsNaN.shader.meta | 6 +- .../Previews/Preview_LODFadeNode.shader.meta | 6 +- .../Preview_LayeredBlendNode.shader.meta | 6 +- .../Previews/Preview_LengthOpNode.shader.meta | 6 +- .../Previews/Preview_LerpOp.shader.meta | 6 +- .../Preview_LightAttenuation.shader.meta | 6 +- .../Preview_LightColorNode.shader.meta | 6 +- .../Preview_LinearDepthNode.shader.meta | 6 +- .../Preview_LinearToGammaNode.shader.meta | 6 +- .../Previews/Preview_Log10OpNode.shader.meta | 6 +- .../Previews/Preview_Log2OpNode.shader.meta | 6 +- .../Previews/Preview_LogOpNode.shader.meta | 6 +- .../Preview_LuminanceNode.shader.meta | 6 +- .../Previews/Preview_NaNNode.shader | 20 + .../Previews/Preview_NaNNode.shader.meta | 16 + .../Previews/Preview_NandNode.shader.meta | 6 +- .../Previews/Preview_NegateNode.shader.meta | 6 +- .../Previews/Preview_NodeMasking.shader.meta | 6 +- .../Preview_NoiseGeneratorNode.shader.meta | 6 +- .../Preview_NormalVertexDataNode.shader.meta | 6 +- .../Preview_NormalizeNode.shader.meta | 6 +- .../Previews/Preview_NotNode.shader.meta | 6 +- ...review_ObjSpaceLightDirHlpNode.shader.meta | 6 +- ...Preview_ObjSpaceViewDirHlpNode.shader.meta | 6 +- .../Preview_ObjectPositionNode.shader.meta | 6 +- .../Preview_ObjectScaleNode.shader.meta | 6 +- .../Preview_ObjectToClipPos.shader.meta | 6 +- .../Preview_ObjectToViewPos.shader.meta | 6 +- ...review_ObjectToWorldTransfNode.shader.meta | 6 +- .../Previews/Preview_OneMinusNode.shader.meta | 6 +- .../Previews/Preview_OrthoParams.shader.meta | 6 +- .../Previews/Preview_PannerNode.shader.meta | 6 +- .../Preview_ParallaxMappingNode.shader.meta | 6 +- .../Preview_ParallaxOffset.shader.meta | 6 +- .../Previews/Preview_PiNode.shader.meta | 6 +- .../Preview_PosVertexDataNode.shader.meta | 6 +- .../Previews/Preview_PositionNode.shader.meta | 6 +- .../Preview_PosterizeNode.shader.meta | 6 +- .../Previews/Preview_PowerNode.shader.meta | 6 +- ...review_PrimitiveIDVariableNode.shader.meta | 6 +- .../Preview_ProjectionParams.shader.meta | 6 +- .../Previews/Preview_RGBToHSVNode.shader.meta | 6 +- .../Preview_RadiansOpNode.shader.meta | 6 +- .../Preview_RangedFloatNode.shader.meta | 6 +- .../Preview_ReciprocalNode.shader.meta | 6 +- .../Preview_ReflectOpNode.shader.meta | 6 +- .../Preview_ReflectionProbe.shader.meta | 6 +- .../Previews/Preview_RefractOpVec.shader.meta | 6 +- .../Preview_RegisterLocalVarNode.shader.meta | 6 +- .../Previews/Preview_RelayNode.shader.meta | 6 +- .../Previews/Preview_RotatorNode.shader.meta | 6 +- .../Previews/Preview_RoundOpNode.shader.meta | 6 +- .../Previews/Preview_RsqrtOpNode.shader.meta | 6 +- .../Previews/Preview_SamplerNode.shader.meta | 6 +- .../Previews/Preview_SaturateNode.shader.meta | 6 +- .../Preview_ScaleAndOffsetNode.shader.meta | 6 +- .../Previews/Preview_ScaleNode.shader.meta | 6 +- .../Previews/Preview_ScreenParams.shader.meta | 6 +- .../Preview_ScreenPosInputsNode.shader.meta | 6 +- .../Preview_ShadeVertexLights.shader.meta | 6 +- .../Previews/Preview_SignOpNode.shader.meta | 6 +- .../Preview_SimpleAddOpNode.shader.meta | 6 +- .../Preview_SimpleContrastNode.shader.meta | 6 +- .../Preview_SimpleDivideOpNode.shader.meta | 6 +- .../Previews/Preview_SimpleMaxOp.shader.meta | 6 +- .../Preview_SimpleMinNode.shader.meta | 6 +- .../Preview_SimpleMultiplyOpNode.shader.meta | 6 +- .../Preview_SimpleRemainderNode.shader.meta | 6 +- .../Preview_SimpleSubtractOpNode.shader.meta | 6 +- .../Preview_SimpleTimeNode.shader.meta | 6 +- .../Preview_SimplifiedFModOpNode.shader.meta | 6 +- .../Previews/Preview_SinOpNode.shader.meta | 6 +- .../Previews/Preview_SinTimeNode.shader.meta | 6 +- .../Previews/Preview_SinhOpNode.shader.meta | 6 +- .../Preview_SmoothstepOpNode.shader.meta | 6 +- .../Previews/Preview_SqrtOpNode.shader.meta | 6 +- .../Preview_StaticSwitchNode.shader.meta | 6 +- .../Previews/Preview_StepOpNode.shader.meta | 6 +- .../Preview_SummedBlendNode.shader.meta | 6 +- .../Preview_SwitchByFaceNode.shader.meta | 6 +- ...Preview_SwitchBySRPVersionNode.shader.meta | 6 +- .../Previews/Preview_SwitchNode.shader.meta | 6 +- .../Previews/Preview_SwizzleNode.shader.meta | 6 +- .../Preview_TFHCCompareEqual.shader.meta | 6 +- .../Preview_TFHCCompareGreater.shader.meta | 6 +- ...review_TFHCCompareGreaterEqual.shader.meta | 6 +- .../Preview_TFHCCompareLessNode.shader.meta | 6 +- .../Preview_TFHCCompareLowerEqual.shader.meta | 6 +- .../Preview_TFHCCompareNotEqual.shader.meta | 6 +- .../Preview_TFHCCompareWithRange.shader.meta | 6 +- ...review_TFHCFlipBookUVAnimation.shader.meta | 6 +- .../Previews/Preview_TFHCIf.shader.meta | 6 +- .../Previews/Preview_TFHCPixelateUV.shader | 5 +- .../Preview_TFHCPixelateUV.shader.meta | 6 +- .../Previews/Preview_TFHCRemap.shader.meta | 6 +- .../Previews/Preview_TanOpNode.shader.meta | 6 +- ...view_TangentSignVertexDataNode.shader.meta | 6 +- .../Preview_TangentVertexDataNode.shader.meta | 6 +- .../Previews/Preview_TanhOpNode.shader.meta | 6 +- .../Previews/Preview_TauNode.shader.meta | 6 +- ...Preview_TemplateShaderProperty.shader.meta | 6 +- ...Preview_TexCoordVertexDataNode.shader.meta | 6 +- .../Previews/Preview_TexelSize.shader.meta | 6 +- .../Previews/Preview_Texture2D.shader.meta | 6 +- .../Preview_TextureArrayNode.shader.meta | 6 +- ...Preview_TextureCoordinatesNode.shader.meta | 6 +- .../Preview_TexturePropertyNode.shader.meta | 6 +- .../Preview_TextureTransform.shader.meta | 6 +- .../Previews/Preview_TimeNode.shader.meta | 6 +- .../Preview_ToggleSwitchNode.shader.meta | 6 +- .../Preview_TriplanarNode.shader.meta | 6 +- .../Previews/Preview_TruncOpNode.shader.meta | 6 +- .../Preview_TwoSidedSignNode.shader.meta | 6 +- .../Preview_UnpackScaleNormalNode.shader.meta | 6 +- .../Previews/Preview_Vector2Node.shader.meta | 6 +- .../Previews/Preview_Vector3Node.shader.meta | 6 +- .../Previews/Preview_Vector4Node.shader.meta | 6 +- .../Preview_VertexBinormalNode.shader.meta | 6 +- .../Preview_VertexColorNode.shader.meta | 6 +- .../Preview_VertexIdVariableNode.shader.meta | 6 +- .../Preview_VertexTangentNode.shader.meta | 6 +- ...Preview_ViewDirInputsCoordNode.shader.meta | 6 +- .../Previews/Preview_ViewVector.shader.meta | 6 +- .../Previews/Preview_VoronoiNode.shader.meta | 6 +- .../Preview_WeightedBlendNode.shader.meta | 6 +- .../Previews/Preview_WireNode.shader.meta | 6 +- .../Preview_WorldNormalVector.shader.meta | 6 +- .../Preview_WorldPosInputsNode.shader.meta | 6 +- .../Preview_WorldReflectionVector.shader.meta | 6 +- .../Preview_WorldSpaceCameraPos.shader.meta | 6 +- ...view_WorldSpaceLightDirHlpNode.shader.meta | 6 +- ...Preview_WorldSpaceLightPosNode.shader.meta | 6 +- ...eview_WorldSpaceViewDirHlpNode.shader.meta | 6 +- ...review_WorldToObjectTransfNode.shader.meta | 6 +- .../Preview_WorldTransformParams.shader.meta | 6 +- .../Preview_ZBufferParams.shader.meta | 6 +- .../TextureArrayInspector.shader.meta | 6 +- .../ShaderFunctions/Alpha Merge.asset.meta | 6 +- .../ShaderFunctions/Alpha Split.asset.meta | 6 +- .../ShaderFunctions/And.asset.meta | 6 +- .../Bacteria Smoothstep.asset.meta | 6 +- .../ShaderFunctions/Bacteria.asset.meta | 6 +- .../Bicubic Precompute.asset.meta | 6 +- .../ShaderFunctions/Bicubic Sample.asset.meta | 6 +- .../Bidirectional Parallax Mapping.asset.meta | 6 +- .../ShaderFunctions/Blackbody.asset.meta | 6 +- .../Blinn-Phong Half Vector.asset.meta | 6 +- .../Blinn-Phong Light.asset.meta | 6 +- .../BlinnPhongLightWrap.asset.meta | 6 +- .../ShaderFunctions/BoxMask.asset.meta | 6 +- .../ShaderFunctions/Bricks Pattern.asset.meta | 6 +- .../ShaderFunctions/Checkerboard.asset.meta | 6 +- .../ShaderFunctions/Color Mask.asset.meta | 6 +- .../Compute Mip Level.asset.meta | 6 +- .../ComputeFilterWidth.asset.meta | 6 +- .../ConstantBiasScale.asset.meta | 6 +- .../ShaderFunctions/CotangentFrame.asset.meta | 6 +- .../Create Orthogonal Vector.asset.meta | 6 +- .../Custom Screen Position.asset.meta | 6 +- .../Decode Directional Lighmap.asset.meta | 6 +- .../DepthMaskedRefraction.asset.meta | 6 +- .../Derive Tangent Basis.asset.meta | 6 +- .../ShaderFunctions/Detail Albedo.asset.meta | 6 +- .../ShaderFunctions/Device Depth.asset.meta | 6 +- .../Dielectric Specular.asset.meta | 6 +- .../ShaderFunctions/Dots Pattern.asset.meta | 6 +- .../ShaderFunctions/Ellipse.asset.meta | 6 +- .../Fade Transition.asset.meta | 6 +- .../FetchHDColorPyramid.asset.meta | 6 +- .../ShaderFunctions/FetchLightmapValue.asset | 4 +- .../FetchLightmapValue.asset.meta | 6 +- .../ShaderFunctions/Flipbook.asset.meta | 6 +- .../ShaderFunctions/Flow.asset | 4 +- .../ShaderFunctions/Flow.asset.meta | 6 +- .../Four Splats First Pass Terrain.asset.meta | 6 +- .../ShaderFunctions/Grid.asset.meta | 6 +- .../ShaderFunctions/HDRP Decal UVs.asset.meta | 6 +- .../Half Lambert Term.asset.meta | 6 +- .../ShaderFunctions/Hash 22.asset | 3 + .../ShaderFunctions/Hash 22.asset.meta | 16 + .../Height-based Blending.asset.meta | 6 +- .../ShaderFunctions/Herringbone.asset.meta | 6 +- .../ShaderFunctions/Hex Lattice.asset.meta | 6 +- .../ShaderFunctions/Houndstooth.asset.meta | 6 +- .../ShaderFunctions/Inverse Lerp.asset.meta | 6 +- .../ShaderFunctions/Lambert Light.asset.meta | 6 +- .../ShaderFunctions/Lerp White To.asset.meta | 6 +- .../ShaderFunctions/Lightmap UV.asset.meta | 6 +- .../Metal Reflectance.asset.meta | 6 +- .../Midtones Control.asset.meta | 6 +- .../Noise Sine Wave.asset.meta | 6 +- .../Non Stereo Screen Pos.asset.meta | 6 +- .../ShaderFunctions/Normal Face.asset.meta | 6 +- .../ShaderFunctions/Normal From Height.asset | 4 +- .../Normal From Height.asset.meta | 6 +- .../Normal From Texture.asset.meta | 6 +- .../Normal Reconstruct Z.asset.meta | 6 +- .../ShaderFunctions/NormalCreate.asset.meta | 6 +- .../ShaderFunctions/Or.asset.meta | 6 +- .../ShaderFunctions/PerturbNormal.asset.meta | 6 +- .../PerturbNormalHQ.asset.meta | 6 +- .../Polar Coordinates.asset.meta | 6 +- .../ShaderFunctions/Polygon.asset.meta | 6 +- .../PreparePerturbNormalHQ.asset.meta | 6 +- .../ShaderFunctions/Procedural Sample.asset | 4 +- .../Procedural Sample.asset.meta | 6 +- .../ShaderFunctions/Projection.asset.meta | 6 +- .../ShaderFunctions/Radial Shear.asset.meta | 6 +- .../RadialUVDistortion.asset.meta | 6 +- .../ShaderFunctions/Random Range.asset.meta | 6 +- ...truct World Position From Depth.asset.meta | 6 +- .../ShaderFunctions/Rectangle.asset.meta | 6 +- .../ShaderFunctions/Rejection.asset.meta | 6 +- .../ShaderFunctions/Replace Color.asset.meta | 6 +- .../Rounded Polygon.asset.meta | 6 +- .../Rounded Rectangle.asset.meta | 6 +- .../SRP Additional Light.asset | 4 +- .../SRP Additional Light.asset.meta | 6 +- .../ShaderFunctions/Sample Lightmap.asset | 4 +- .../Sample Lightmap.asset.meta | 6 +- .../ShaderFunctions/Saturation.asset.meta | 6 +- .../ShaderFunctions/Sawtooth Wave.asset.meta | 6 +- .../ShaderFunctions/Shadow Mask.asset.meta | 6 +- .../ShaderFunctions/Simple HUE.asset.meta | 6 +- .../ShaderFunctions/Smooth Wave.asset.meta | 6 +- .../ShaderFunctions/SphereMask.asset.meta | 6 +- .../ShaderFunctions/Spherize.asset.meta | 6 +- .../ShaderFunctions/Spiral.asset.meta | 6 +- .../ShaderFunctions/Square Wave.asset.meta | 6 +- .../ShaderFunctions/Square.asset.meta | 6 +- .../Step Antialiasing.asset.meta | 6 +- .../Stereo Screen Pos.asset.meta | 6 +- .../ShaderFunctions/Stochastic Tiling.asset | 3 + .../Stochastic Tiling.asset.meta | 16 + .../ShaderFunctions/Stripes.asset.meta | 6 +- .../Terrain Wind Animate Vertex.asset.meta | 6 +- .../Terrain Wind Value.asset.meta | 6 +- .../ShaderFunctions/Triangle Wave.asset.meta | 6 +- .../ShaderFunctions/Triplanar Weights.asset | 3 + .../Triplanar Weights.asset.meta | 16 + .../ShaderFunctions/Truchet.asset.meta | 6 +- .../ShaderFunctions/Twirl.asset.meta | 6 +- .../UI-Sprite Effect Layer.asset.meta | 6 +- .../URP Tangent To World Normal.asset.meta | 6 +- .../ShaderFunctions/Whirl.asset.meta | 6 +- .../World Normal Face.asset.meta | 6 +- .../ShaderFunctions/Zig Zag.asset.meta | 6 +- .../ShaderLibrary/ShaderLibrary.txt.meta | 6 +- .../ASESShaderSelectorUnlit.shader.meta | 6 +- .../Shaders/Unlit-ColoredAlpha.shader.meta | 6 +- .../CustomRT/CustomRTInit.shader.meta | 6 +- .../CustomRT/CustomRTUpdate.shader.meta | 6 +- .../Templates/HDRP 10x.unitypackage | 4 +- .../Templates/HDRP 10x.unitypackage.meta | 7 +- .../Templates/HDRP 12x.unitypackage | 4 +- .../Templates/HDRP 12x.unitypackage.meta | 7 +- .../Templates/HDRP 14x.unitypackage | 4 +- .../Templates/HDRP 14x.unitypackage.meta | 7 +- .../Templates/HDRP 15x.unitypackage | 4 +- .../Templates/HDRP 15x.unitypackage.meta | 7 +- .../Templates/HDRP 16x.unitypackage | 4 +- .../Templates/HDRP 16x.unitypackage.meta | 7 +- .../Templates/HDRP 17.0.unitypackage | 3 + .../Templates/HDRP 17.0.unitypackage.meta | 15 + .../Templates/HDRP 17.1.unitypackage | 3 + .../Templates/HDRP 17.1.unitypackage.meta | 15 + .../Templates/HDRP 17.2.unitypackage | 3 + .../Templates/HDRP 17.2.unitypackage.meta | 15 + .../Templates/Legacy/Lit.shader | 4430 ++++++++++------- .../Templates/Legacy/Lit.shader.meta | 6 +- .../Templates/Legacy/MultiPassUnlit.shader | 2 +- .../Legacy/MultiPassUnlit.shader.meta | 6 +- .../Templates/Legacy/PPStack.shader | 2 +- .../Templates/Legacy/PPStack.shader.meta | 6 +- .../Legacy/Particle Alpha Blend.shader | 2 +- .../Legacy/Particle Alpha Blend.shader.meta | 6 +- .../Templates/Legacy/PostProcess.shader | 2 +- .../Templates/Legacy/PostProcess.shader.meta | 6 +- .../Templates/Legacy/Sprites-Default.shader | 2 +- .../Legacy/Sprites-Default.shader.meta | 6 +- .../Templates/Legacy/Unlit.shader | 146 +- .../Templates/Legacy/Unlit.shader.meta | 6 +- .../Templates/Legacy/UnlitLightmap.shader | 2 +- .../Legacy/UnlitLightmap.shader.meta | 6 +- .../Templates/Legacy/Wireframe.shader | 179 + .../Templates/Legacy/Wireframe.shader.meta | 16 + .../Templates/UI/UI-Default.shader.meta | 6 +- .../Templates/URP 10x.unitypackage | 4 +- .../Templates/URP 10x.unitypackage.meta | 7 +- .../Templates/URP 12x.unitypackage | 4 +- .../Templates/URP 12x.unitypackage.meta | 7 +- .../Templates/URP 14x.unitypackage | 4 +- .../Templates/URP 14x.unitypackage.meta | 7 +- .../Templates/URP 15x.unitypackage | 4 +- .../Templates/URP 15x.unitypackage.meta | 7 +- .../Templates/URP 16x.unitypackage | 4 +- .../Templates/URP 16x.unitypackage.meta | 7 +- .../Templates/URP 17.0.unitypackage | 3 + .../Templates/URP 17.0.unitypackage.meta | 15 + .../Templates/URP 17.1.unitypackage | 3 + .../Templates/URP 17.1.unitypackage.meta | 15 + .../Templates/URP 17.2.unitypackage | 3 + .../Templates/URP 17.2.unitypackage.meta | 15 + .../Templates/URP/2DCustomLit.shader | 20 +- .../Templates/URP/2DLit.shader | 20 +- .../Templates/URP/2DUnlit.shader | 18 +- .../Templates/URP/Decal.shader | 372 +- .../EditorResources/Templates/URP/Lit.shader | 2171 ++++---- .../Templates/URP/Unlit.shader | 1215 +++-- .../EditorResources/Textures/About.png.meta | 6 +- .../EditorResources/Textures/Icon64.png.meta | 6 +- .../EditorResources/Textures/black.png.meta | 6 +- .../EditorResources/Textures/blue.png.meta | 6 +- .../EditorResources/Textures/flat.png.meta | 6 +- .../EditorResources/Textures/green.png.meta | 6 +- .../EditorResources/Textures/grey.png.meta | 6 +- .../EditorResources/Textures/red.png.meta | 6 +- .../EditorResources/Textures/white.png.meta | 6 +- .../UI/Buttons/AddToList.png.meta | 6 +- .../UI/Buttons/Checkmark.png.meta | 6 +- .../Buttons/CircularToggle_OFF_Dark.png.meta | 6 +- .../Buttons/CircularToggle_ON_Dark.png.meta | 6 +- .../UI/Buttons/CleanupOFF.png.meta | 6 +- .../UI/Buttons/CleanupOFFNew.png.meta | 6 +- .../UI/Buttons/CleanupON.png.meta | 6 +- .../UI/Buttons/CleanupONNew.png.meta | 6 +- .../Buttons/CustomExpAddIconActive.png.meta | 6 +- .../Buttons/CustomExpAddIconNormal.png.meta | 6 +- .../CustomExpRemoveIconActive.png.meta | 6 +- .../CustomExpRemoveIconNormal.png.meta | 6 +- .../UI/Buttons/FitView.png.meta | 6 +- .../UI/Buttons/FocusNode.png.meta | 6 +- .../EditorResources/UI/Buttons/Help.png.meta | 6 +- .../EditorResources/UI/Buttons/Help2.png.meta | 6 +- .../UI/Buttons/ItemCleanupOFF.png.meta | 6 +- .../UI/Buttons/ItemCleanupON.png.meta | 6 +- .../UI/Buttons/Library.png.meta | 6 +- .../UI/Buttons/LiveOFF.png.meta | 6 +- .../UI/Buttons/LiveON.png.meta | 6 +- .../UI/Buttons/LivePending.png.meta | 6 +- .../UI/Buttons/MaximizeWindow.png.meta | 6 +- .../UI/Buttons/MiniBotLeftOff.png.meta | 6 +- .../UI/Buttons/MiniBotLeftOffHover.png.meta | 6 +- .../UI/Buttons/MiniBotLeftOn.png.meta | 6 +- .../UI/Buttons/MiniBotLeftOnHover.png.meta | 6 +- .../UI/Buttons/MiniBotMidOff.png.meta | 6 +- .../UI/Buttons/MiniBotMidOffHover.png.meta | 6 +- .../UI/Buttons/MiniBotMidOn.png.meta | 6 +- .../UI/Buttons/MiniBotMidOnHover.png.meta | 6 +- .../UI/Buttons/MiniBotRightOff.png.meta | 6 +- .../UI/Buttons/MiniBotRightOffHover.png.meta | 6 +- .../UI/Buttons/MiniBotRightOn.png.meta | 6 +- .../UI/Buttons/MiniBotRightOnHover.png.meta | 6 +- .../UI/Buttons/MinimizeWindow.png.meta | 6 +- .../EditorResources/UI/Buttons/New.png.meta | 6 +- .../EditorResources/UI/Buttons/Open.png.meta | 6 +- .../UI/Buttons/OpenListedShader.png.meta | 6 +- .../UI/Buttons/OpenSourceCodeOFF.PNG.meta | 6 +- .../UI/Buttons/OpenSourceCodeON.PNG.meta | 6 +- .../UI/Buttons/Options.png.meta | 6 +- .../UI/Buttons/RemoveFromList.png.meta | 6 +- .../UI/Buttons/ResetInspectorIcon.png.meta | 6 +- .../UI/Buttons/SaveOFF.png.meta | 6 +- .../UI/Buttons/SaveON.png.meta | 6 +- .../UI/Buttons/SelectionAsTemplate.png.meta | 6 +- .../UI/Buttons/ShaderSelectOFF.png.meta | 6 +- .../UI/Buttons/ShaderSelectON.png.meta | 6 +- .../UI/Buttons/ShareOFF.png.meta | 6 +- .../UI/Buttons/SliderHoriz.png.meta | 6 +- .../UI/Buttons/TakeScreenshotOFF.png.meta | 6 +- .../UI/Buttons/TransparentPixel.png.meta | 6 +- .../UI/Buttons/UpdateOFF.png.meta | 6 +- .../UI/Buttons/UpdateOutdated.png.meta | 6 +- .../UI/Buttons/UpdateUpToDated.png.meta | 6 +- .../UI/Canvas/CircleBackground.png.meta | 6 +- .../UI/Canvas/Grid128.png.meta | 6 +- .../UI/Canvas/LineTex 2.png.meta | 6 +- .../UI/Canvas/LineTex 3.png.meta | 6 +- .../UI/Canvas/LineTex 4.png.meta | 6 +- .../UI/Canvas/LineTex.png.meta | 6 +- .../UI/Canvas/MainCanvasTitleBg.png.meta | 6 +- .../UI/Canvas/Material.png.meta | 6 +- .../UI/Canvas/MaterialModeIcon.PNG.meta | 6 +- .../UI/Canvas/MaterialModeIconOFF.png.meta | 6 +- .../UI/Canvas/SelectionBox.png.meta | 6 +- .../EditorResources/UI/Canvas/Shader.png.meta | 6 +- .../UI/Canvas/ShaderFunction.png.meta | 6 +- .../UI/Canvas/ShaderFunctionIcon.png.meta | 6 +- .../UI/Canvas/ShaderFunctionModeIcon.png.meta | 6 +- .../Canvas/ShaderFunctionModeIconOFF.png.meta | 6 +- .../UI/Canvas/ShaderModeIcon.PNG.meta | 6 +- .../UI/Canvas/ShaderModeIconOFF.png.meta | 6 +- .../UI/Canvas/ShaderModeMatIcon.png.meta | 6 +- .../UI/Canvas/TransparentOverlay.png.meta | 6 +- .../UI/Nodes/BlueNormalBase.png.meta | 6 +- .../UI/Nodes/BlueNormalBaseLeft.png.meta | 6 +- .../UI/Nodes/BlueNormalBaseSquare.png.meta | 6 +- .../UI/Nodes/BlueNormalHeader.png.meta | 6 +- .../UI/Nodes/ButtonBackground.png.meta | 6 +- .../UI/Nodes/CommentNodeBase.png.meta | 6 +- .../UI/Nodes/CommentaryResizeIcon.png.meta | 6 +- .../UI/Nodes/CommentaryResizeIconInv.png.meta | 6 +- .../UI/Nodes/FlatBackground.png.meta | 6 +- .../UI/Nodes/GraphButton.png.meta | 6 +- .../UI/Nodes/GraphButtonActive.png.meta | 6 +- .../UI/Nodes/GraphPopup.png.meta | 6 +- .../UI/Nodes/GrayNormalHeader.png.meta | 6 +- .../UI/Nodes/GrayNormalHeaderSquare.png.meta | 6 +- .../UI/Nodes/NoPreview.png.meta | 6 +- .../UI/Nodes/NodeSelected.png.meta | 6 +- .../UI/Nodes/NodeSelectedSquare.png.meta | 6 +- .../ObjectPickerBackgroundOutline.png.meta | 6 +- .../UI/Nodes/PopupPicker.png.meta | 6 +- .../UI/Nodes/PreviewDisabled.png | 3 + .../UI/Nodes/PreviewDisabled.png.meta} | 42 +- .../UI/Nodes/PreviewOff.png.meta | 6 +- .../UI/Nodes/PreviewOn.png.meta | 6 +- .../UI/Nodes/PropertyPicker.png.meta | 6 +- .../Nodes/ShaderFunctionHeaderIcon.png.meta | 6 +- .../UI/Nodes/SliderButton.png.meta | 6 +- .../UI/Nodes/WhitePortOutline.png.meta | 6 +- .../UI/Nodes/WhitePortSolid.png.meta | 6 +- .../UI/Nodes/WireNodeSelection.png.meta | 6 +- .../AmplifyShaderEditor/Readme.txt.meta | 6 +- .../ScriptableObject/ShaderPropertyPreset.cs | 14 +- Assets/External/Proxima/CHANGELOG.md | 3 - Assets/External/Proxima/CHANGELOG.md.meta | 14 - Assets/External/Proxima/Documentation.meta | 8 - .../External/Proxima/Documentation/_app.meta | 8 - .../Proxima/Documentation/_app/immutable.meta | 8 - .../Documentation/_app/immutable/assets.meta | 8 - .../immutable/assets/_layout-1f0a7e97.css | 1 - .../assets/_layout-1f0a7e97.css.meta | 14 - .../immutable/assets/_layout-6847360b.css | 1 - .../assets/_layout-6847360b.css.meta | 14 - .../External/Proxima/Documentation/docs.html | 101 - .../Proxima/Documentation/docs.html.meta | 14 - .../External/Proxima/Documentation/docs.meta | 8 - .../Documentation/docs/all_config.html | 112 - .../Documentation/docs/all_config.html.meta | 14 - .../Documentation/docs/basic-config.png | 3 - .../Documentation/docs/browser_warning.png | 3 - .../docs/browser_warning.png.meta | 105 - .../Proxima/Documentation/docs/buttons.html | 97 - .../Documentation/docs/buttons.html.meta | 14 - .../Proxima/Documentation/docs/connect-ui.png | 3 - .../Documentation/docs/connect-ui.png.meta | 105 - .../Proxima/Documentation/docs/connect.html | 125 - .../Documentation/docs/connect.html.meta | 14 - .../Proxima/Documentation/docs/connect.png | 3 - .../Documentation/docs/connect.png.meta | 105 - .../Proxima/Documentation/docs/console.html | 163 - .../Documentation/docs/console.html.meta | 14 - .../Proxima/Documentation/docs/console.png | 3 - .../Documentation/docs/console.png.meta | 105 - .../Documentation/docs/console_built_in.html | 272 - .../docs/console_built_in.html.meta | 14 - .../Documentation/docs/console_custom.html | 169 - .../docs/console_custom.html.meta | 14 - .../Proxima/Documentation/docs/deeplinks.html | 116 - .../Documentation/docs/deeplinks.html.meta | 14 - .../Documentation/docs/device-config.png | 3 - .../Documentation/docs/device-config.png.meta | 105 - .../Proxima/Documentation/docs/faq.html | 134 - .../Proxima/Documentation/docs/faq.html.meta | 14 - .../Proxima/Documentation/docs/features.html | 92 - .../Documentation/docs/features.html.meta | 14 - .../Documentation/docs/gameobjectsearch.png | 3 - .../docs/gameobjectsearch.png.meta | 105 - .../Proxima/Documentation/docs/inspector.html | 126 - .../Documentation/docs/inspector.html.meta | 14 - .../Proxima/Documentation/docs/inspector.png | 3 - .../Documentation/docs/inspector.png.meta | 105 - .../Documentation/docs/log-controls.png | 3 - .../Documentation/docs/log-controls.png.meta | 105 - .../Proxima/Documentation/docs/logs.html | 105 - .../Proxima/Documentation/docs/logs.html.meta | 14 - .../Proxima/Documentation/docs/logs.png | 3 - .../Proxima/Documentation/docs/logs.png.meta | 105 - .../Documentation/docs/password-warning.png | 3 - .../docs/password-warning.png.meta | 105 - .../Proxima/Documentation/docs/run-script.png | 3 - .../Documentation/docs/run-script.png.meta | 155 - .../Documentation/docs/secure-config.png | 3 - .../Documentation/docs/secure-config.png.meta | 105 - .../Proxima/Documentation/docs/security.html | 137 - .../Documentation/docs/security.html.meta | 14 - .../Proxima/Documentation/docs/status-ui.png | 3 - .../Documentation/docs/status-ui.png.meta | 105 - .../docs/supported_platforms.html | 244 - .../docs/supported_platforms.html.meta | 14 - .../docs/viewing_logs_offline.html | 107 - .../docs/viewing_logs_offline.html.meta | 14 - .../External/Proxima/Documentation/fonts.meta | 8 - .../fonts/S6uyw4BMUTPHjx4wXg.woff2 | Bin 23580 -> 0 bytes .../fonts/S6uyw4BMUTPHjx4wXg.woff2.meta | 14 - .../fonts/S6uyw4BMUTPHjxAwXjeu.woff2 | Bin 5472 -> 0 bytes .../fonts/S6uyw4BMUTPHjxAwXjeu.woff2.meta | 14 - .../fonts/w8gdH283Tvk__Lua32TysjIfp8uP.woff2 | Bin 20636 -> 0 bytes .../w8gdH283Tvk__Lua32TysjIfp8uP.woff2.meta | 14 - .../w8gdH283Tvk__Lua32TysjIfpcuPP9g.woff2 | Bin 6536 -> 0 bytes ...w8gdH283Tvk__Lua32TysjIfpcuPP9g.woff2.meta | 14 - .../w8gdH283Tvk__Lua32TysjIfqMuPP9g.woff2 | Bin 7408 -> 0 bytes ...w8gdH283Tvk__Lua32TysjIfqMuPP9g.woff2.meta | 14 - .../w8gdH283Tvk__Lua32TysjIfqcuPP9g.woff2 | Bin 18808 -> 0 bytes ...w8gdH283Tvk__Lua32TysjIfqcuPP9g.woff2.meta | 14 - .../External/Proxima/Documentation/icons.meta | 8 - .../Proxima/Documentation/icons/arrow.png | 3 - .../Documentation/icons/arrow.png.meta | 105 - .../Proxima/Documentation/icons/discord.png | 3 - .../Documentation/icons/discord.png.meta | 105 - .../Proxima/Documentation/icons/menu.png | 3 - .../Proxima/Documentation/icons/menu.png.meta | 105 - .../icons/proxima_icon_32x32.png | 3 - .../icons/proxima_icon_32x32.png.meta | 105 - .../Proxima/Documentation/images.meta | 8 - .../Documentation/images/proxima-1200x630.png | 3 - .../images/proxima-1200x630.png.meta | 99 - .../Documentation/images/proxima_logo.png | 3 - .../images/proxima_logo.png.meta | 105 - Assets/External/Proxima/Editor.meta | 8 - Assets/External/Proxima/Editor/PfxImporter.cs | 22 - .../Proxima/Editor/ProxiaWebGLBuildStep.cs | 36 - .../Editor/ProxiaWebGLBuildStep.cs.meta | 18 - .../Proxima/Editor/Proxima.Editor.asmdef | 29 - .../Proxima/Editor/Proxima.Editor.asmdef.meta | 14 - .../External/Proxima/Editor/ProximaCodeGen.cs | 184 - .../Proxima/Editor/ProximaCodeGen.cs.meta | 18 - Assets/External/Proxima/Editor/ProximaGUI.cs | 393 -- .../Proxima/Editor/ProximaGUI.cs.meta | 18 - .../Proxima/Editor/ProximaInspectorEditor.cs | 105 - .../Editor/ProximaInspectorEditor.cs.meta | 18 - Assets/External/Proxima/Editor/ProximaMenu.cs | 397 -- .../Proxima/Editor/ProximaMenu.cs.meta | 18 - .../Proxima/Editor/ProximaStaticImporter.cs | 77 - .../Editor/ProximaStaticImporter.cs.meta | 18 - .../External/Proxima/Editor/ProximaSurvey.cs | 291 -- .../Proxima/Editor/ProximaSurvey.cs.meta | 18 - Assets/External/Proxima/Editor/WindowUtil.cs | 65 - .../Proxima/Editor/WindowUtil.cs.meta | 18 - Assets/External/Proxima/Resources.meta | 8 - .../External/Proxima/Resources/Proxima.meta | 8 - .../Resources/Proxima/ProximaConnectUI.prefab | 3 - .../Proxima/ProximaConnectUI.prefab.meta | 14 - .../Resources/Proxima/ProximaEmbeddedCert.pfx | Bin 2710 -> 0 bytes .../Proxima/ProximaEmbeddedCert.pfx.meta | 17 - .../Resources/Proxima/ProximaStatusUI.prefab | 3 - .../Proxima/ProximaStatusUI.prefab.meta | 14 - .../Resources/Proxima/web.proximastatic | Bin 213348 -> 0 bytes .../Resources/Proxima/web.proximastatic.meta | 17 - Assets/External/Proxima/Runtime.meta | 8 - .../External/Proxima/Runtime/ArrayOrList.cs | 249 - .../Proxima/Runtime/ArrayOrList.cs.meta | 18 - .../External/Proxima/Runtime/AssemblyInfo.cs | 5 - .../Proxima/Runtime/AssemblyInfo.cs.meta | 18 - .../External/Proxima/Runtime/CircularList.cs | 46 - .../Proxima/Runtime/CircularList.cs.meta | 18 - Assets/External/Proxima/Runtime/Embedded.meta | 8 - .../Proxima/Runtime/Embedded/HttpDateParse.cs | 487 -- .../Runtime/Embedded/HttpDateParse.cs.meta | 18 - .../Proxima/Runtime/Embedded/PfxAsset.cs | 9 - .../Proxima/Runtime/Embedded/PfxAsset.cs.meta | 18 - .../Embedded/ProximaEmbeddedConnection.cs | 127 - .../ProximaEmbeddedConnection.cs.meta | 18 - .../Runtime/Embedded/ProximaEmbeddedServer.cs | 171 - .../Embedded/ProximaEmbeddedServer.cs.meta | 18 - .../Proxima/Runtime/Embedded/ProximaStatic.cs | 19 - .../Runtime/Embedded/ProximaStatic.cs.meta | 18 - Assets/External/Proxima/Runtime/FastJson.cs | 641 --- .../External/Proxima/Runtime/FastJson.cs.meta | 18 - .../External/Proxima/Runtime/Generated.meta | 8 - .../Generated/ProximaReflection.Generated.cs | 2003 -------- .../ProximaReflection.Generated.cs.meta | 18 - .../Generated/ProximaReflection.Template.cs | 15 - .../ProximaReflection.Template.cs.meta | 18 - .../External/Proxima/Runtime/Proxima.asmdef | 109 - .../Proxima/Runtime/Proxima.asmdef.meta | 14 - .../Proxima/Runtime/ProximaCommand.cs | 25 - .../Proxima/Runtime/ProximaCommand.cs.meta | 18 - .../Proxima/Runtime/ProximaCommandHelpers.cs | 353 -- .../Runtime/ProximaCommandHelpers.cs.meta | 18 - .../Runtime/ProximaComponentCommands.cs | 846 ---- .../Runtime/ProximaComponentCommands.cs.meta | 18 - .../Proxima/Runtime/ProximaConnectUI.cs | 229 - .../Proxima/Runtime/ProximaConnectUI.cs.meta | 18 - .../Proxima/Runtime/ProximaConnection.cs | 10 - .../Proxima/Runtime/ProximaConnection.cs.meta | 18 - .../Proxima/Runtime/ProximaDispatcher.cs | 46 - .../Proxima/Runtime/ProximaDispatcher.cs.meta | 18 - .../Proxima/Runtime/ProximaFeatures.cs | 62 - .../Proxima/Runtime/ProximaFeatures.cs.meta | 18 - .../Runtime/ProximaGameObjectCommands.cs | 534 -- .../Runtime/ProximaGameObjectCommands.cs.meta | 18 - .../Proxima/Runtime/ProximaInitialize.cs | 16 - .../Proxima/Runtime/ProximaInitialize.cs.meta | 18 - .../Proxima/Runtime/ProximaInspector.cs | 728 --- .../Proxima/Runtime/ProximaInspector.cs.meta | 18 - .../Runtime/ProximaInternalCommands.cs | 288 -- .../Runtime/ProximaInternalCommands.cs.meta | 18 - Assets/External/Proxima/Runtime/ProximaLog.cs | 33 - .../Proxima/Runtime/ProximaLog.cs.meta | 18 - .../Proxima/Runtime/ProximaLogCommands.cs | 147 - .../Runtime/ProximaLogCommands.cs.meta | 18 - .../Proxima/Runtime/ProximaMimeTypes.cs | 95 - .../Proxima/Runtime/ProximaMimeTypes.cs.meta | 18 - .../Proxima/Runtime/ProximaSerialization.cs | 618 --- .../Runtime/ProximaSerialization.cs.meta | 18 - .../External/Proxima/Runtime/ProximaServer.cs | 9 - .../Proxima/Runtime/ProximaServer.cs.meta | 18 - .../External/Proxima/Runtime/ProximaStatus.cs | 75 - .../Proxima/Runtime/ProximaStatus.cs.meta | 18 - .../Proxima/Runtime/ProximaStatusUI.cs | 122 - .../Proxima/Runtime/ProximaStatusUI.cs.meta | 18 - .../External/Proxima/Runtime/ProximaStream.cs | 39 - .../Proxima/Runtime/ProximaStream.cs.meta | 18 - .../Proxima/Runtime/UnityComponents.json | 3 - .../Proxima/Runtime/UnityComponents.json.meta | 14 - Assets/External/Proxima/Runtime/WebGL.meta | 8 - .../Proxima/Runtime/WebGL/ProximaWebGL.jslib | 113 - .../Runtime/WebGL/ProximaWebGL.jslib.meta | 39 - .../Runtime/WebGL/ProximaWebGLConnection.cs | 195 - .../WebGL/ProximaWebGLConnection.cs.meta | 18 - .../Runtime/WebGL/ProximaWebGLServer.cs | 121 - .../Runtime/WebGL/ProximaWebGLServer.cs.meta | 18 - Assets/External/Proxima/Runtime/csc.rsp | 1 - Assets/External/Proxima/Runtime/csc.rsp.meta | 14 - Assets/External/Proxima/Scenes.meta | 8 - .../Proxima/Scenes/BasicProximaSetup.unity | 3 - .../Scenes/BasicProximaSetup.unity.meta | 14 - Assets/External/Proxima/Sprites.meta | 8 - .../Proxima/Sprites/buildalon-logo.png | 3 - .../Proxima/Sprites/buildalon-logo.png.meta | 178 - .../Proxima/Sprites/flexalon-logo.png | 3 - .../Proxima/Sprites/flexalon-logo.png.meta | 165 - .../Proxima/Sprites/proxima_icon_32x32.png | 3 - .../Sprites/proxima_icon_32x32.png.meta | 153 - .../External/Proxima/Sprites/proxima_logo.png | 3 - .../Proxima/Sprites/proxima_logo.png.meta | 165 - .../External/Proxima/Third-Party Notices.txt | 3 - .../Proxima/Third-Party Notices.txt.meta | 14 - Assets/External/Proxima/WebSocketSharp.meta | 8 - .../Proxima/WebSocketSharp/LICENSE.txt | 3 - .../Proxima/WebSocketSharp/LICENSE.txt.meta | 14 - .../Proxima/WebSocketSharp/README.txt | 3 - .../Proxima/WebSocketSharp/README.txt.meta | 14 - .../proxima-websocket-sharp.dll | 3 - .../proxima-websocket-sharp.dll.meta | 40 - Assets/External/Proxima/link.xml | 3 - Assets/External/Proxima/link.xml.meta | 14 - Assets/External/Proxima/package.json | 3 - Assets/External/Proxima/package.json.meta | 14 - .../External/lilToon/Editor/lilInspector.cs | 20 +- .../lilToon/Editor/lilMaterialProperty.cs | 8 +- .../websocket-sharp.csproj.meta} | 3 +- ...ingle Render Pipeline Asset_Renderer.asset | 4 +- ...niversalRenderPipelineGlobalSettings.asset | 4 +- Assets/ResourcesData/Etc/Plane UV/PlaneUV.mat | 2 +- .../Etc/Render Texture/Screen Mat.mat | 2 +- Packages/manifest.json | 4 +- Packages/packages-lock.json | 4 +- ProjectSettings/ProjectSettings.asset | 4 +- ProjectSettings/ProjectVersion.txt | 4 +- 1379 files changed, 12125 insertions(+), 24291 deletions(-) create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix2X2Node.cs create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix2X2Node.cs.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraDirection.cs create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraDirection.cs.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/EyeIndex.cs create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/EyeIndex.cs.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NaNNode.cs create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NaNNode.cs.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixSplit.cs create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixSplit.cs.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/BatchUpdateShaders.cs create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/BatchUpdateShaders.cs.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/NodeUpdateCache.cs rename Assets/External/{Proxima/Editor/PfxImporter.cs.meta => AmplifyShaderEditor/Plugins/Editor/Utils/NodeUpdateCache.cs.meta} (51%) create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CameraDirection.shader create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CameraDirection.shader.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EyeIndex.shader create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EyeIndex.shader.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NaNNode.shader create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NaNNode.shader.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hash 22.asset create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hash 22.asset.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stochastic Tiling.asset create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stochastic Tiling.asset.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triplanar Weights.asset create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triplanar Weights.asset.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.0.unitypackage create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.0.unitypackage.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.1.unitypackage create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.1.unitypackage.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.2.unitypackage create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.2.unitypackage.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Wireframe.shader create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Wireframe.shader.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.0.unitypackage create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.0.unitypackage.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.1.unitypackage create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.1.unitypackage.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.2.unitypackage create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.2.unitypackage.meta create mode 100644 Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewDisabled.png rename Assets/External/{Proxima/Documentation/docs/basic-config.png.meta => AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewDisabled.png.meta} (74%) delete mode 100644 Assets/External/Proxima/CHANGELOG.md delete mode 100644 Assets/External/Proxima/CHANGELOG.md.meta delete mode 100644 Assets/External/Proxima/Documentation.meta delete mode 100644 Assets/External/Proxima/Documentation/_app.meta delete mode 100644 Assets/External/Proxima/Documentation/_app/immutable.meta delete mode 100644 Assets/External/Proxima/Documentation/_app/immutable/assets.meta delete mode 100644 Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-1f0a7e97.css delete mode 100644 Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-1f0a7e97.css.meta delete mode 100644 Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-6847360b.css delete mode 100644 Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-6847360b.css.meta delete mode 100644 Assets/External/Proxima/Documentation/docs.html delete mode 100644 Assets/External/Proxima/Documentation/docs.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/all_config.html delete mode 100644 Assets/External/Proxima/Documentation/docs/all_config.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/basic-config.png delete mode 100644 Assets/External/Proxima/Documentation/docs/browser_warning.png delete mode 100644 Assets/External/Proxima/Documentation/docs/browser_warning.png.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/buttons.html delete mode 100644 Assets/External/Proxima/Documentation/docs/buttons.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/connect-ui.png delete mode 100644 Assets/External/Proxima/Documentation/docs/connect-ui.png.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/connect.html delete mode 100644 Assets/External/Proxima/Documentation/docs/connect.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/connect.png delete mode 100644 Assets/External/Proxima/Documentation/docs/connect.png.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/console.html delete mode 100644 Assets/External/Proxima/Documentation/docs/console.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/console.png delete mode 100644 Assets/External/Proxima/Documentation/docs/console.png.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/console_built_in.html delete mode 100644 Assets/External/Proxima/Documentation/docs/console_built_in.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/console_custom.html delete mode 100644 Assets/External/Proxima/Documentation/docs/console_custom.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/deeplinks.html delete mode 100644 Assets/External/Proxima/Documentation/docs/deeplinks.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/device-config.png delete mode 100644 Assets/External/Proxima/Documentation/docs/device-config.png.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/faq.html delete mode 100644 Assets/External/Proxima/Documentation/docs/faq.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/features.html delete mode 100644 Assets/External/Proxima/Documentation/docs/features.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/gameobjectsearch.png delete mode 100644 Assets/External/Proxima/Documentation/docs/gameobjectsearch.png.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/inspector.html delete mode 100644 Assets/External/Proxima/Documentation/docs/inspector.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/inspector.png delete mode 100644 Assets/External/Proxima/Documentation/docs/inspector.png.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/log-controls.png delete mode 100644 Assets/External/Proxima/Documentation/docs/log-controls.png.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/logs.html delete mode 100644 Assets/External/Proxima/Documentation/docs/logs.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/logs.png delete mode 100644 Assets/External/Proxima/Documentation/docs/logs.png.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/password-warning.png delete mode 100644 Assets/External/Proxima/Documentation/docs/password-warning.png.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/run-script.png delete mode 100644 Assets/External/Proxima/Documentation/docs/run-script.png.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/secure-config.png delete mode 100644 Assets/External/Proxima/Documentation/docs/secure-config.png.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/security.html delete mode 100644 Assets/External/Proxima/Documentation/docs/security.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/status-ui.png delete mode 100644 Assets/External/Proxima/Documentation/docs/status-ui.png.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/supported_platforms.html delete mode 100644 Assets/External/Proxima/Documentation/docs/supported_platforms.html.meta delete mode 100644 Assets/External/Proxima/Documentation/docs/viewing_logs_offline.html delete mode 100644 Assets/External/Proxima/Documentation/docs/viewing_logs_offline.html.meta delete mode 100644 Assets/External/Proxima/Documentation/fonts.meta delete mode 100644 Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjx4wXg.woff2 delete mode 100644 Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjx4wXg.woff2.meta delete mode 100644 Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 delete mode 100644 Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjxAwXjeu.woff2.meta delete mode 100644 Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfp8uP.woff2 delete mode 100644 Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfp8uP.woff2.meta delete mode 100644 Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfpcuPP9g.woff2 delete mode 100644 Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfpcuPP9g.woff2.meta delete mode 100644 Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqMuPP9g.woff2 delete mode 100644 Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqMuPP9g.woff2.meta delete mode 100644 Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqcuPP9g.woff2 delete mode 100644 Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqcuPP9g.woff2.meta delete mode 100644 Assets/External/Proxima/Documentation/icons.meta delete mode 100644 Assets/External/Proxima/Documentation/icons/arrow.png delete mode 100644 Assets/External/Proxima/Documentation/icons/arrow.png.meta delete mode 100644 Assets/External/Proxima/Documentation/icons/discord.png delete mode 100644 Assets/External/Proxima/Documentation/icons/discord.png.meta delete mode 100644 Assets/External/Proxima/Documentation/icons/menu.png delete mode 100644 Assets/External/Proxima/Documentation/icons/menu.png.meta delete mode 100644 Assets/External/Proxima/Documentation/icons/proxima_icon_32x32.png delete mode 100644 Assets/External/Proxima/Documentation/icons/proxima_icon_32x32.png.meta delete mode 100644 Assets/External/Proxima/Documentation/images.meta delete mode 100644 Assets/External/Proxima/Documentation/images/proxima-1200x630.png delete mode 100644 Assets/External/Proxima/Documentation/images/proxima-1200x630.png.meta delete mode 100644 Assets/External/Proxima/Documentation/images/proxima_logo.png delete mode 100644 Assets/External/Proxima/Documentation/images/proxima_logo.png.meta delete mode 100644 Assets/External/Proxima/Editor.meta delete mode 100644 Assets/External/Proxima/Editor/PfxImporter.cs delete mode 100644 Assets/External/Proxima/Editor/ProxiaWebGLBuildStep.cs delete mode 100644 Assets/External/Proxima/Editor/ProxiaWebGLBuildStep.cs.meta delete mode 100644 Assets/External/Proxima/Editor/Proxima.Editor.asmdef delete mode 100644 Assets/External/Proxima/Editor/Proxima.Editor.asmdef.meta delete mode 100644 Assets/External/Proxima/Editor/ProximaCodeGen.cs delete mode 100644 Assets/External/Proxima/Editor/ProximaCodeGen.cs.meta delete mode 100644 Assets/External/Proxima/Editor/ProximaGUI.cs delete mode 100644 Assets/External/Proxima/Editor/ProximaGUI.cs.meta delete mode 100644 Assets/External/Proxima/Editor/ProximaInspectorEditor.cs delete mode 100644 Assets/External/Proxima/Editor/ProximaInspectorEditor.cs.meta delete mode 100644 Assets/External/Proxima/Editor/ProximaMenu.cs delete mode 100644 Assets/External/Proxima/Editor/ProximaMenu.cs.meta delete mode 100644 Assets/External/Proxima/Editor/ProximaStaticImporter.cs delete mode 100644 Assets/External/Proxima/Editor/ProximaStaticImporter.cs.meta delete mode 100644 Assets/External/Proxima/Editor/ProximaSurvey.cs delete mode 100644 Assets/External/Proxima/Editor/ProximaSurvey.cs.meta delete mode 100644 Assets/External/Proxima/Editor/WindowUtil.cs delete mode 100644 Assets/External/Proxima/Editor/WindowUtil.cs.meta delete mode 100644 Assets/External/Proxima/Resources.meta delete mode 100644 Assets/External/Proxima/Resources/Proxima.meta delete mode 100644 Assets/External/Proxima/Resources/Proxima/ProximaConnectUI.prefab delete mode 100644 Assets/External/Proxima/Resources/Proxima/ProximaConnectUI.prefab.meta delete mode 100644 Assets/External/Proxima/Resources/Proxima/ProximaEmbeddedCert.pfx delete mode 100644 Assets/External/Proxima/Resources/Proxima/ProximaEmbeddedCert.pfx.meta delete mode 100644 Assets/External/Proxima/Resources/Proxima/ProximaStatusUI.prefab delete mode 100644 Assets/External/Proxima/Resources/Proxima/ProximaStatusUI.prefab.meta delete mode 100644 Assets/External/Proxima/Resources/Proxima/web.proximastatic delete mode 100644 Assets/External/Proxima/Resources/Proxima/web.proximastatic.meta delete mode 100644 Assets/External/Proxima/Runtime.meta delete mode 100644 Assets/External/Proxima/Runtime/ArrayOrList.cs delete mode 100644 Assets/External/Proxima/Runtime/ArrayOrList.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/AssemblyInfo.cs delete mode 100644 Assets/External/Proxima/Runtime/AssemblyInfo.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/CircularList.cs delete mode 100644 Assets/External/Proxima/Runtime/CircularList.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/Embedded.meta delete mode 100644 Assets/External/Proxima/Runtime/Embedded/HttpDateParse.cs delete mode 100644 Assets/External/Proxima/Runtime/Embedded/HttpDateParse.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/Embedded/PfxAsset.cs delete mode 100644 Assets/External/Proxima/Runtime/Embedded/PfxAsset.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedConnection.cs delete mode 100644 Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedConnection.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedServer.cs delete mode 100644 Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedServer.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/Embedded/ProximaStatic.cs delete mode 100644 Assets/External/Proxima/Runtime/Embedded/ProximaStatic.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/FastJson.cs delete mode 100644 Assets/External/Proxima/Runtime/FastJson.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/Generated.meta delete mode 100644 Assets/External/Proxima/Runtime/Generated/ProximaReflection.Generated.cs delete mode 100644 Assets/External/Proxima/Runtime/Generated/ProximaReflection.Generated.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/Generated/ProximaReflection.Template.cs delete mode 100644 Assets/External/Proxima/Runtime/Generated/ProximaReflection.Template.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/Proxima.asmdef delete mode 100644 Assets/External/Proxima/Runtime/Proxima.asmdef.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaCommand.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaCommand.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaCommandHelpers.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaCommandHelpers.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaComponentCommands.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaComponentCommands.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaConnectUI.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaConnectUI.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaConnection.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaConnection.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaDispatcher.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaDispatcher.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaFeatures.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaFeatures.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaGameObjectCommands.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaGameObjectCommands.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaInitialize.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaInitialize.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaInspector.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaInspector.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaInternalCommands.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaInternalCommands.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaLog.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaLog.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaLogCommands.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaLogCommands.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaMimeTypes.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaMimeTypes.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaSerialization.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaSerialization.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaServer.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaServer.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaStatus.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaStatus.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaStatusUI.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaStatusUI.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/ProximaStream.cs delete mode 100644 Assets/External/Proxima/Runtime/ProximaStream.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/UnityComponents.json delete mode 100644 Assets/External/Proxima/Runtime/UnityComponents.json.meta delete mode 100644 Assets/External/Proxima/Runtime/WebGL.meta delete mode 100644 Assets/External/Proxima/Runtime/WebGL/ProximaWebGL.jslib delete mode 100644 Assets/External/Proxima/Runtime/WebGL/ProximaWebGL.jslib.meta delete mode 100644 Assets/External/Proxima/Runtime/WebGL/ProximaWebGLConnection.cs delete mode 100644 Assets/External/Proxima/Runtime/WebGL/ProximaWebGLConnection.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/WebGL/ProximaWebGLServer.cs delete mode 100644 Assets/External/Proxima/Runtime/WebGL/ProximaWebGLServer.cs.meta delete mode 100644 Assets/External/Proxima/Runtime/csc.rsp delete mode 100644 Assets/External/Proxima/Runtime/csc.rsp.meta delete mode 100644 Assets/External/Proxima/Scenes.meta delete mode 100644 Assets/External/Proxima/Scenes/BasicProximaSetup.unity delete mode 100644 Assets/External/Proxima/Scenes/BasicProximaSetup.unity.meta delete mode 100644 Assets/External/Proxima/Sprites.meta delete mode 100644 Assets/External/Proxima/Sprites/buildalon-logo.png delete mode 100644 Assets/External/Proxima/Sprites/buildalon-logo.png.meta delete mode 100644 Assets/External/Proxima/Sprites/flexalon-logo.png delete mode 100644 Assets/External/Proxima/Sprites/flexalon-logo.png.meta delete mode 100644 Assets/External/Proxima/Sprites/proxima_icon_32x32.png delete mode 100644 Assets/External/Proxima/Sprites/proxima_icon_32x32.png.meta delete mode 100644 Assets/External/Proxima/Sprites/proxima_logo.png delete mode 100644 Assets/External/Proxima/Sprites/proxima_logo.png.meta delete mode 100644 Assets/External/Proxima/Third-Party Notices.txt delete mode 100644 Assets/External/Proxima/Third-Party Notices.txt.meta delete mode 100644 Assets/External/Proxima/WebSocketSharp.meta delete mode 100644 Assets/External/Proxima/WebSocketSharp/LICENSE.txt delete mode 100644 Assets/External/Proxima/WebSocketSharp/LICENSE.txt.meta delete mode 100644 Assets/External/Proxima/WebSocketSharp/README.txt delete mode 100644 Assets/External/Proxima/WebSocketSharp/README.txt.meta delete mode 100644 Assets/External/Proxima/WebSocketSharp/proxima-websocket-sharp.dll delete mode 100644 Assets/External/Proxima/WebSocketSharp/proxima-websocket-sharp.dll.meta delete mode 100644 Assets/External/Proxima/link.xml delete mode 100644 Assets/External/Proxima/link.xml.meta delete mode 100644 Assets/External/Proxima/package.json delete mode 100644 Assets/External/Proxima/package.json.meta rename Assets/External/{Proxima.meta => websocket-sharp/websocket-sharp.csproj.meta} (67%) diff --git a/Assets/External/AmplifyShaderEditor/AmplifyShaderEditor.asmdef b/Assets/External/AmplifyShaderEditor/AmplifyShaderEditor.asmdef index 9cb8cff4..ad6a66b3 100644 --- a/Assets/External/AmplifyShaderEditor/AmplifyShaderEditor.asmdef +++ b/Assets/External/AmplifyShaderEditor/AmplifyShaderEditor.asmdef @@ -5,7 +5,7 @@ "Editor" ], "excludePlatforms": [], - "allowUnsafeCode": true, + "allowUnsafeCode": false, "overrideReferences": false, "precompiledReferences": [], "autoReferenced": true, diff --git a/Assets/External/AmplifyShaderEditor/AmplifyShaderEditor.asmdef.meta b/Assets/External/AmplifyShaderEditor/AmplifyShaderEditor.asmdef.meta index ccc897c9..f4ac3fc6 100644 --- a/Assets/External/AmplifyShaderEditor/AmplifyShaderEditor.asmdef.meta +++ b/Assets/External/AmplifyShaderEditor/AmplifyShaderEditor.asmdef.meta @@ -9,6 +9,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/AmplifyShaderEditor.asmdef - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/AmplifyShaderEditor.asmdef + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/ChangeLog.txt b/Assets/External/AmplifyShaderEditor/ChangeLog.txt index fb415a4e..aff39ec9 100644 --- a/Assets/External/AmplifyShaderEditor/ChangeLog.txt +++ b/Assets/External/AmplifyShaderEditor/ChangeLog.txt @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96e08dda491ed0daf1a19aec64477d4f4fa0a58c910b25bb9c2c97ccccba48ac -size 257263 +oid sha256:c49f5ab9a53eac2e8d6000159f899f31d0314beb0309e8310ce726d6eb15bb8d +size 268776 diff --git a/Assets/External/AmplifyShaderEditor/ChangeLog.txt.meta b/Assets/External/AmplifyShaderEditor/ChangeLog.txt.meta index 6cbf3241..dd3bbb2d 100644 --- a/Assets/External/AmplifyShaderEditor/ChangeLog.txt.meta +++ b/Assets/External/AmplifyShaderEditor/ChangeLog.txt.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/ChangeLog.txt - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/ChangeLog.txt + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Examples/Credits.txt.meta b/Assets/External/AmplifyShaderEditor/Examples/Credits.txt.meta index e04dd514..ed37a16b 100644 --- a/Assets/External/AmplifyShaderEditor/Examples/Credits.txt.meta +++ b/Assets/External/AmplifyShaderEditor/Examples/Credits.txt.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Examples/Credits.txt - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Examples/Credits.txt + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Examples/README Samples.txt.meta b/Assets/External/AmplifyShaderEditor/Examples/README Samples.txt.meta index af4e859c..1483b386 100644 --- a/Assets/External/AmplifyShaderEditor/Examples/README Samples.txt.meta +++ b/Assets/External/AmplifyShaderEditor/Examples/README Samples.txt.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Examples/README Samples.txt - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Examples/README Samples.txt + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionData.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionData.cs.meta index f4a7f8b3..496a5ee4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionData.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionData.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Actions/ActionData.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionData.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionLog.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionLog.cs.meta index 4b24cfce..6c7cb69d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionLog.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionLog.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Actions/ActionLog.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionLog.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionSequence.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionSequence.cs.meta index 7db11db4..020d9a5b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionSequence.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionSequence.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Actions/ActionSequence.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Actions/ActionSequence.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Constants.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Constants.cs index 5a4a8cef..3daa33d7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Constants.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Constants.cs @@ -74,9 +74,6 @@ namespace AmplifyShaderEditor "#define ASE_TEXTURE2D_ARRAY_PARAMS(textureName) textureName, sampler##textureName\n" };*/ - public readonly static RenderTextureFormat PreviewFormat = RenderTextureFormat.ARGBFloat; - public readonly static int PreviewSize = 128; - public readonly static List UnityNativeInspectors = new List { "Rendering.HighDefinition.LightingShaderGraphGUI", @@ -492,6 +489,7 @@ namespace AmplifyShaderEditor public readonly static string SubTitleVarNameFormatStr = "Var( {0} )"; public readonly static string SubTitleRefNameFormatStr = "Ref( {0} )"; public readonly static string SubTitleCurrentFormatStr = "Current( {0} )"; + public readonly static string SubTitleUVChannelFormatStr = "Channel( {0}, vec{1} )"; public readonly static string CodeWrapper = "( {0} )"; public readonly static string InlineCodeWrapper = "{{\n{0}\n}}"; @@ -562,9 +560,8 @@ namespace AmplifyShaderEditor public readonly static string IncidentVecVertStr = VertexShaderOutputStr + "." + IncidentVecNameStr; public readonly static string WorldNormalLocalDecStr = "WorldNormalVector( " + Constants.InputVarStr + " , {0}( 0,0,1 ))"; - public readonly static string IsFrontFacingVariable = "ASEIsFrontFacing"; - public readonly static string IsFrontFacingInput = "half ASEIsFrontFacing : SV_IsFrontFacing"; - public readonly static string IsFrontFacingInputVFACE = "half ASEIsFrontFacing : VFACE"; + public readonly static string IsFrontFaceVariable = "ASEIsFrontFace"; + public readonly static string IsFrontFaceInput = "uint ASEIsFrontFace : SV_IsFrontFace"; public readonly static string ColorVariable = "vertexColor"; public readonly static string ColorInput = "float4 vertexColor : COLOR"; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Constants.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Constants.cs.meta index 68a7e78d..11a66dd7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Constants.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Constants.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Constants.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Constants.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/ASEEndDecorator.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/ASEEndDecorator.cs.meta index ae859104..fe646ee0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/ASEEndDecorator.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/ASEEndDecorator.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/ASEEndDecorator.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/ASEEndDecorator.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/EditableIf.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/EditableIf.cs index d631cf80..3efd09f4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/EditableIf.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/EditableIf.cs @@ -186,16 +186,23 @@ namespace AmplifyShaderEditor } object LHSVal = null; + + #if UNITY_6000_2_OR_NEWER + int lhsPropType = ( int )LHSprop.propertyType; + #else + int lhsPropType = ( int )LHSprop.type; + #endif + bool test = false; - switch ( LHSprop.type ) + switch ( lhsPropType ) { - case MaterialProperty.PropType.Color: - case MaterialProperty.PropType.Vector: - LHSVal = LHSprop.type == MaterialProperty.PropType.Color ? ( Vector4 )LHSprop.colorValue : LHSprop.vectorValue; + case ( int )UnityEngine.Rendering.ShaderPropertyType.Color: + case ( int )UnityEngine.Rendering.ShaderPropertyType.Vector: + LHSVal = lhsPropType == ( int )UnityEngine.Rendering.ShaderPropertyType.Color ? ( Vector4 )LHSprop.colorValue : LHSprop.vectorValue; var v4 = ExpectedValue as Vector4?; v4 = v4.HasValue ? v4 : new Vector4( ( System.Single )ExpectedValue, float.NegativeInfinity, float.NegativeInfinity, float.NegativeInfinity ); - if ( LHSprop.type == MaterialProperty.PropType.Color ) + if ( lhsPropType == ( int )UnityEngine.Rendering.ShaderPropertyType.Color ) { test = VectorCheck( ( Vector4 )LHSVal, op, v4 / 255 ); @@ -203,12 +210,12 @@ namespace AmplifyShaderEditor else test = VectorCheck( ( Vector4 )LHSVal, op, v4 ); break; - case MaterialProperty.PropType.Range: - case MaterialProperty.PropType.Float: + case ( int )UnityEngine.Rendering.ShaderPropertyType.Range: + case ( int )UnityEngine.Rendering.ShaderPropertyType.Float: LHSVal = LHSprop.floatValue; test = ( Check( LHSVal, op, ExpectedValue ) ); break; - case MaterialProperty.PropType.Texture: + case ( int )UnityEngine.Rendering.ShaderPropertyType.Texture: LHSVal = LHSprop.textureValue; test = ( CheckObject( LHSVal, op, ExpectedValue ) ); break; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/EditableIf.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/EditableIf.cs.meta index d6810a3c..cf3602b7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/EditableIf.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/EditableIf.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/EditableIf.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/EditableIf.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/NoKeywordToggle.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/NoKeywordToggle.cs.meta index 1eed5286..d91d6f4f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/NoKeywordToggle.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/NoKeywordToggle.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/NoKeywordToggle.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/NoKeywordToggle.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/RemapSliders.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/RemapSliders.cs.meta index ca49ff05..44a90c61 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/RemapSliders.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/RemapSliders.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/RemapSliders.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/RemapSliders.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/RemapSlidersFull.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/RemapSlidersFull.cs.meta index 74f4a6b3..b354d21a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/RemapSlidersFull.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/RemapSlidersFull.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/RemapSlidersFull.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/RemapSlidersFull.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/SingleLineTexture.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/SingleLineTexture.cs.meta index 14d2ac44..5fed5683 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/SingleLineTexture.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/SingleLineTexture.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/SingleLineTexture.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/CustomDrawers/SingleLineTexture.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateFunction.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateFunction.cs index 791b7588..a1f58745 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateFunction.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateFunction.cs @@ -9,7 +9,11 @@ namespace AmplifyShaderEditor { public override void Action( int instanceId, string pathName, string resourceFile ) { + #if UNITY_6000_3_OR_NEWER + UnityEngine.Object obj = EditorUtility.EntityIdToObject( instanceId ); + #else UnityEngine.Object obj = EditorUtility.InstanceIDToObject( instanceId ); + #endif AssetDatabase.CreateAsset( obj, AssetDatabase.GenerateUniqueAssetPath( pathName ) ); AmplifyShaderEditorWindow.LoadShaderFunctionToASE( (AmplifyShaderFunction)obj, false ); } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateFunction.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateFunction.cs.meta index ec2ac877..3ad465db 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateFunction.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateFunction.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/DoCreateFunction.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateFunction.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateShader.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateShader.cs.meta index 04f53386..5d8971a2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateShader.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateShader.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/DoCreateShader.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/DoCreateShader.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/EditorOptions.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/EditorOptions.cs.meta index 12223006..489618b1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/EditorOptions.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/EditorOptions.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/EditorOptions.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/EditorOptions.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/NodeGrid.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/NodeGrid.cs.meta index 0c6b20a4..96607c44 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/NodeGrid.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/NodeGrid.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Graphs/NodeGrid.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/NodeGrid.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/ParentGraph.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/ParentGraph.cs index 34b0463d..cd9fa7c9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/ParentGraph.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/ParentGraph.cs @@ -118,6 +118,9 @@ namespace AmplifyShaderEditor [SerializeField] private UsageListStaticSwitchNodes m_staticSwitchNodes = new UsageListStaticSwitchNodes(); + [SerializeField] + private UsageListToggleSwitchNodes m_toggleSwitchNodes = new UsageListToggleSwitchNodes(); + [SerializeField] private int m_masterNodeId = Constants.INVALID_NODE_ID; @@ -231,6 +234,9 @@ namespace AmplifyShaderEditor m_staticSwitchNodes = new UsageListStaticSwitchNodes(); m_staticSwitchNodes.ContainerGraph = this; m_staticSwitchNodes.ReorderOnChange = true; + m_toggleSwitchNodes = new UsageListToggleSwitchNodes(); + m_toggleSwitchNodes.ContainerGraph = this; + m_toggleSwitchNodes.ReorderOnChange = true; m_screenColorNodes = new UsageListScreenColorNodes(); m_screenColorNodes.ContainerGraph = this; m_screenColorNodes.ReorderOnChange = true; @@ -314,6 +320,7 @@ namespace AmplifyShaderEditor m_rawPropertyNodes.UpdateNodeArr(); m_customExpressionsOnFunctionMode.UpdateNodeArr(); m_staticSwitchNodes.UpdateNodeArr(); + m_toggleSwitchNodes.UpdateNodeArr(); m_functionInputNodes.UpdateNodeArr(); m_functionNodes.UpdateNodeArr(); m_functionOutputNodes.UpdateNodeArr(); @@ -421,6 +428,7 @@ namespace AmplifyShaderEditor m_rawPropertyNodes.Clear(); m_customExpressionsOnFunctionMode.Clear(); m_staticSwitchNodes.Clear(); + m_toggleSwitchNodes.Clear(); m_functionInputNodes.Clear(); m_functionNodes.Clear(); m_functionOutputNodes.Clear(); @@ -637,6 +645,8 @@ namespace AmplifyShaderEditor m_staticSwitchNodes.Clear(); + m_toggleSwitchNodes.Clear(); + m_functionInputNodes.Clear(); //m_functionInputNodes = null; @@ -740,6 +750,9 @@ namespace AmplifyShaderEditor m_staticSwitchNodes.Destroy(); m_staticSwitchNodes = null; + m_toggleSwitchNodes.Destroy(); + m_toggleSwitchNodes = null; + m_functionInputNodes.Destroy(); m_functionInputNodes = null; @@ -1349,7 +1362,9 @@ namespace AmplifyShaderEditor // UIUtils.FunctionSwitchCopyList()[ i ].CheckReference(); //} - + // @diogo: when loading we only need to call OnNodeChange once for every node, where branch connections to multiple inputs sometimes causes + // the same node to be visited multiple times; avoid it + var nodeCache = new NodeUpdateCache(); // Dont use nodeCount variable because node count can change in this loop??? nodeCount = m_nodes.Count; @@ -1365,7 +1380,7 @@ namespace AmplifyShaderEditor node.MovingInFrame = false; if( drawInfo.CurrentEventType == EventType.Repaint ) - node.OnNodeLayout( drawInfo ); + node.OnNodeLayout( drawInfo, nodeCache ); m_hasUnConnectedNodes = m_hasUnConnectedNodes || ( node.ConnStatus != NodeConnectionStatus.Connected && node.ConnStatus != NodeConnectionStatus.Island ); @@ -3628,6 +3643,19 @@ namespace AmplifyShaderEditor } } + public bool HasPassWithTag( int lod, string tagKey, string tagValue = "" ) + { + var passes = GetMultiPassMasterNodes( lod ); + foreach ( TemplateMultiPassMasterNode pass in passes ) + { + if ( pass.PassModule != null && pass.PassModule.TagsHelper != null && pass.PassModule.TagsHelper.HasTag( tagKey, tagValue ) ) + { + return true; + } + } + return false; + } + public bool HasVirtualTexture { get { return m_virtualTextureCount > 0; } } public void AddInstancePropertyCount() @@ -3984,6 +4012,7 @@ namespace AmplifyShaderEditor public UsageListPropertyNodes RawPropertyNodes { get { return m_rawPropertyNodes; } } public UsageListCustomExpressionsOnFunctionMode CustomExpressionOnFunctionMode { get { return m_customExpressionsOnFunctionMode; } } public UsageListStaticSwitchNodes StaticSwitchNodes { get { return m_staticSwitchNodes; } } + public UsageListToggleSwitchNodes ToggleSwitchNodes { get { return m_toggleSwitchNodes; } } public UsageListScreenColorNodes ScreenColorNodes { get { return m_screenColorNodes; } } public UsageListRegisterLocalVarNodes LocalVarNodes { get { return m_localVarNodes; } } public UsageListGlobalArrayNodes GlobalArrayNodes { get { return m_globalArrayNodes; } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/ParentGraph.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/ParentGraph.cs.meta index 99cdb4b0..af555dac 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/ParentGraph.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/ParentGraph.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Graphs/ParentGraph.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Graphs/ParentGraph.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderEditorWindow.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderEditorWindow.cs index d811aace..324f5410 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderEditorWindow.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderEditorWindow.cs @@ -321,7 +321,7 @@ namespace AmplifyShaderEditor private bool m_maximizeMessages = false; [NonSerialized] - private Dictionary m_savedList = new Dictionary(); + private Dictionary<(string,string), OutputPort> m_savedList = new Dictionary<(string,string), OutputPort>(); public int m_frameCounter = 0; public double m_fpsTime = 0; @@ -339,6 +339,7 @@ namespace AmplifyShaderEditor public bool CheckFunctions = false; private static System.Diagnostics.Stopwatch m_batchTimer = new System.Diagnostics.Stopwatch(); + private static Action m_batchOnFinish = null; // Unity Menu item [MenuItem( "Window/Amplify Shader Editor/Open Canvas", false, 1000 )] @@ -561,8 +562,10 @@ namespace AmplifyShaderEditor } } - public static void LoadAndSaveList( string[] assetList ) + public static void LoadAndSaveList( string[] assetList, Action onFinish = null ) { + m_batchOnFinish += onFinish; + m_batchTimer.Reset(); m_batchTimer.Start(); @@ -647,7 +650,7 @@ namespace AmplifyShaderEditor ASEPackageManagerHelper.RequestInfo(); ASEPackageManagerHelper.Update(); - Shader.SetGlobalVector( PreviewSizeGlobalVariable, new Vector4( Constants.PreviewSize , Constants.PreviewSize , 0, 0 ) ); + Shader.SetGlobalVector( PreviewSizeGlobalVariable, new Vector4( Preferences.User.PreviewSize , Preferences.User.PreviewSize , 0, 0 ) ); if( m_templatesManager == null ) { @@ -1053,9 +1056,6 @@ namespace AmplifyShaderEditor m_templatesManager = null; IOUtils.Destroy(); - - Resources.UnloadUnusedAssets(); - GC.Collect(); } void Init() @@ -1103,7 +1103,11 @@ namespace AmplifyShaderEditor return false; } + #if UNITY_6000_3_OR_NEWER + UnityEngine.Object selection = EditorUtility.EntityIdToObject( instanceID ); + #else UnityEngine.Object selection = EditorUtility.InstanceIDToObject( instanceID ); + #endif ASEPackageManagerHelper.RequestInfo(); ASEPackageManagerHelper.Update(); @@ -1594,6 +1598,9 @@ namespace AmplifyShaderEditor Debug.Log( "[AmplifyShaderEditor] Finished compiling" + name + " in " + compileTimeInSeconds.ToString( "0.00" ) + " seconds." ); } + public static bool s_isSavingToDisk = false; + public static bool IsSavingToDisk { get { return s_isSavingToDisk; } } + public bool SaveToDisk( bool checkTimestamp ) { if( checkTimestamp ) @@ -1613,6 +1620,8 @@ namespace AmplifyShaderEditor var timer = new System.Diagnostics.Stopwatch(); timer.Start(); + s_isSavingToDisk = true; + m_customGraph = null; m_cacheSaveOp = false; ShaderIsModified = false; @@ -1730,6 +1739,8 @@ namespace AmplifyShaderEditor succeeded = true; } + s_isSavingToDisk = false; + timer.Stop(); if ( Preferences.User.LogShaderCompile ) { @@ -1964,7 +1975,10 @@ namespace AmplifyShaderEditor var cacher = RenderTexture.active; RenderTexture.active = null; - Texture2D m_screenshotTex2D = new Texture2D( (int)position.width, (int)position.height, TextureFormat.RGB24, false ); + int pixelWidth = Mathf.RoundToInt( position.width * EditorGUIUtility.pixelsPerPoint ); + int pixelHeight = Mathf.RoundToInt( position.height * EditorGUIUtility.pixelsPerPoint ); + + Texture2D m_screenshotTex2D = new Texture2D( pixelWidth, pixelHeight, TextureFormat.RGB24, false ); m_screenshotTex2D.ReadPixels( new Rect( 0, 0, m_screenshotTex2D.width, m_screenshotTex2D.height ), 0, 0 ); m_screenshotTex2D.Apply(); @@ -3279,14 +3293,23 @@ namespace AmplifyShaderEditor return; UIUtils.ClearUndoHelper(); - ParentNode[] selectedNodes = new ParentNode[ m_mainGraphInstance.SelectedNodes.Count ]; - for( int i = 0; i < selectedNodes.Length; i++ ) + List selectedNodeList = new List( m_mainGraphInstance.SelectedNodes.Count ); + foreach( var node in m_mainGraphInstance.SelectedNodes ) { - selectedNodes[ i ] = m_mainGraphInstance.SelectedNodes[ i ]; - selectedNodes[ i ].Rewire(); - UIUtils.CheckUndoNode( selectedNodes[ i ] ); + // @diogo: needs work... can't delete single wire nodes + //if ( node.GetType() == typeof( WireNode ) ) + //{ + // // @diogo: these seem to be marked for deletion and processed on a late-stage sweep via ParentGraph.UndoableDeleteSelectedNodes() + // continue; + //} + + node.Rewire(); + UIUtils.CheckUndoNode( node ); + selectedNodeList.Add( node ); } + var selectedNodes = selectedNodeList.ToArray(); + //Check nodes connected to deleted nodes to preserve connections on undo List extraNodes = new List(); for( int selectedNodeIdx = 0; selectedNodeIdx < selectedNodes.Length; selectedNodeIdx++ ) @@ -3653,9 +3676,9 @@ namespace AmplifyShaderEditor return null; ParentNode newNode = (ParentNode)ScriptableObject.CreateInstance( nodeType ); - newNode.IsNodeBeingCopied = true; if( newNode != null ) { + newNode.IsNodeBeingCopied = true; newNode.ContainerGraph = m_mainGraphInstance; newNode.ClipboardFullReadFromString( ref parameters ); m_mainGraphInstance.AddNode( newNode, true, true, true, false ); @@ -3800,6 +3823,16 @@ namespace AmplifyShaderEditor } } + void ReconnectClipboardReferences( List createdNodes ) + { + // @diogo: Restore reference connections (e.g. Switch node) lost due to new UniqueIDs + foreach ( ParentNode node in createdNodes ) + { + node.ReconnectClipboardReferences( m_clipboard ); + } + + } + void PasteFromClipboard( bool copyConnections ) { string result = EditorGUIUtility.systemCopyBuffer.Replace( "http://", "https://" ); @@ -3864,6 +3897,8 @@ namespace AmplifyShaderEditor { CreateConnectionsFromClipboardData( i ); } + + ReconnectClipboardReferences( createdNodes ); } // Refresh external references must always be called after all nodes are created @@ -5302,6 +5337,12 @@ namespace AmplifyShaderEditor { EditorPrefs.DeleteKey( ASEFileList ); + if ( m_batchOnFinish != null ) + { + m_batchOnFinish(); + m_batchOnFinish = null; + } + m_batchTimer.Stop(); if ( Preferences.User.LogBatchCompile ) { @@ -5524,6 +5565,8 @@ namespace AmplifyShaderEditor return node; } + private double m_previewUpdateLimiterTime = 0; + public void UpdateNodePreviewListAndTime() { if( UIUtils.CurrentWindow != this ) @@ -5532,7 +5575,7 @@ namespace AmplifyShaderEditor double deltaTime = Time.realtimeSinceStartup - m_time; m_time = Time.realtimeSinceStartup; - if( DebugConsoleWindow.DeveloperMode ) + if ( DebugConsoleWindow.DeveloperMode ) { m_frameCounter++; if( m_frameCounter >= 60 ) @@ -5602,7 +5645,15 @@ namespace AmplifyShaderEditor } Shader.SetGlobalFloat( "_EditorTime", (float)m_time ); Shader.SetGlobalFloat( "_EditorDeltaTime", (float)deltaTime ); - + + // @diogo: limit preview update frequency to keep the CPU usage under control + m_previewUpdateLimiterTime += deltaTime; + if ( Math.Abs( m_previewUpdateLimiterTime ) < 1.0 / Preferences.User.PreviewUpdateFrequency ) + { + return; + } + m_previewUpdateLimiterTime = 0; + /////////// UPDATE PREVIEWS ////////////// UIUtils.CheckNullMaterials(); UIUtils.SetPreviewShaderConstants(); @@ -5768,10 +5819,14 @@ namespace AmplifyShaderEditor if( m_mainGraphInstance.CurrentMasterNode.InputPorts[ i ].IsConnected ) { string name = m_mainGraphInstance.CurrentMasterNode.InputPorts[ i ].Name; - OutputPort op = m_mainGraphInstance.CurrentMasterNode.InputPorts[ i ].GetOutputConnection(); - if( !m_savedList.ContainsKey( name ) ) + string externalLinkID = m_mainGraphInstance.CurrentMasterNode.InputPorts[ i ].ExternalLinkId; + + ( string, string ) ids = ( name, externalLinkID ); + + if( !m_savedList.ContainsKey( ids ) ) { - m_savedList.Add( name, op ); + OutputPort op = m_mainGraphInstance.CurrentMasterNode.InputPorts[ i ].GetOutputConnection(); + m_savedList.Add( ids, op ); } } } @@ -5858,10 +5913,18 @@ namespace AmplifyShaderEditor { foreach( var item in m_savedList ) { - string name = item.Key; + string name = item.Key.Item1; + string externalLinkID = item.Key.Item2; + OutputPort op = item.Value; InputPort ip = m_mainGraphInstance.CurrentMasterNode.InputPorts.Find( x => x.Name == name ); + if ( ip == null) + { + // @diogo: try again, by externalLinkID + ip = m_mainGraphInstance.CurrentMasterNode.InputPorts.Find( x => x.ExternalLinkId == externalLinkID ); + } + if( op != null && ip != null && ip.Visible ) { var iNode = UIUtils.GetNode( ip.NodeId ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderEditorWindow.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderEditorWindow.cs.meta index b18e4791..45253f20 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderEditorWindow.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderEditorWindow.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderEditorWindow.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderEditorWindow.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunction.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunction.cs.meta index 32bdfcf9..42f27d60 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunction.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunction.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunction.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunction.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs index 6d70c791..35dc063b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs @@ -12,10 +12,12 @@ namespace AmplifyShaderEditor { class FunctionDependency { + public bool Selected = true; public string AssetName; public string AssetPath; public FunctionDependency(string name, string path) { + Selected = true; AssetName = name; AssetPath = path; } @@ -40,13 +42,14 @@ namespace AmplifyShaderEditor //EditorGUILayout.Separator(); //m_target.FunctionInfo = EditorGUILayout.TextArea( m_target.FunctionInfo ); - if( m_target.Description.Length > 0 ) + if ( m_target.Description.Length > 0 ) { EditorGUILayout.HelpBox( m_target.Description, MessageType.Info ); } EditorGUILayout.Space(); - if( GUILayout.Button( "Search Direct Dependencies" ) ) + + if ( GUILayout.Button( "Search Direct Dependencies" ) ) { m_dependencies.Clear(); string guid = AssetDatabase.AssetPathToGUID( AssetDatabase.GetAssetPath( m_target ) ); @@ -76,45 +79,67 @@ namespace AmplifyShaderEditor } } } + + GUI.enabled = ( m_dependencies.Count > 0 ); + + int selectedCount = 0; + for( int i = 0; i < m_dependencies.Count; i++ ) + { + selectedCount += m_dependencies[ i ].Selected ? 1 : 0; + } + + if ( GUILayout.Button( "Open and Save " + ( selectedCount == m_dependencies.Count ? "All" : "Selected" ) ) ) + { + List assetPaths = new List(); + for ( int i = 0; i < m_dependencies.Count; i++ ) + { + if ( m_dependencies[ i ].Selected ) + { + assetPaths.Add( m_dependencies[ i ].AssetPath ); + } + } + + bool doit = EditorUtility.DisplayDialog( "Open and Save All", "This will try to open all shader function and shaders that use this shader function and save them in quick succession, this may irreversibly break your files if something goes wrong. Are you sure you want to try?", "Yes, I'll take the risk", "No, I'll do it myself" ); + if ( doit ) + AmplifyShaderEditorWindow.LoadAndSaveList( assetPaths.ToArray() ); + } + GUI.enabled = true; + EditorGUILayout.Space(); + for( int i = 0; i < m_dependencies.Count; i++ ) { EditorGUILayout.BeginHorizontal(); + + EditorGUILayout.BeginVertical(GUILayout.Width( 12 )); + GUILayout.FlexibleSpace(); + m_dependencies[ i ].Selected = GUILayout.Toggle( m_dependencies[ i ].Selected, "", GUILayout.Width( 12 ), GUILayout.Height( 20 ) ); + GUILayout.FlexibleSpace(); + EditorGUILayout.EndVertical(); + + GUILayout.Space( 3 ); + if( GUILayout.Button( m_dependencies[ i ].AssetName, "minibuttonleft" ) ) { SelectAtPath( m_dependencies[ i ].AssetPath ); } + if( GUILayout.Button( "edit", "minibuttonright", GUILayout.Width(100) ) ) { if( m_dependencies[ i ].AssetName.EndsWith( ".asset" ) ) { var obj = AssetDatabase.LoadAssetAtPath( m_dependencies[ i ].AssetPath ); AmplifyShaderEditorWindow.LoadShaderFunctionToASE( obj, false ); - } + } else { var obj = AssetDatabase.LoadAssetAtPath( m_dependencies[ i ].AssetPath ); AmplifyShaderEditorWindow.ConvertShaderToASE( obj ); } } + EditorGUILayout.EndHorizontal(); } - - if( m_dependencies.Count > 0 ) - { - List assetPaths = new List(); - for( int i = 0; i < m_dependencies.Count; i++ ) - { - assetPaths.Add( m_dependencies[ i ].AssetPath ); - } - - if( GUILayout.Button( "Open and Save All" ) ) - { - bool doit = EditorUtility.DisplayDialog( "Open and Save All", "This will try to open all shader function and shaders that use this shader function and save them in quick succession, this may irreversibly break your files if something goes wrong. Are you sure you want to try?", "Yes, I'll take the risk", "No, I'll do it myself" ); - if( doit ) - AmplifyShaderEditorWindow.LoadAndSaveList( assetPaths.ToArray() ); - } - } } public void SelectAtPath( string path ) diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs.meta index 12d8a80e..22b8ec67 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AmplifyShaderFunctionEditor.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AutoPanData.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AutoPanData.cs.meta index f9a9d8ef..91b8497b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AutoPanData.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AutoPanData.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/AutoPanData.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/AutoPanData.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Clipboard.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Clipboard.cs.meta index bee461e0..2365b784 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Clipboard.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Clipboard.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Clipboard.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Clipboard.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ConfirmationWindow.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ConfirmationWindow.cs.meta index 08fa34b7..04e47012 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ConfirmationWindow.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ConfirmationWindow.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/ConfirmationWindow.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ConfirmationWindow.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ConsoleLogWindow.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ConsoleLogWindow.cs.meta index 70837739..9c6f24a6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ConsoleLogWindow.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ConsoleLogWindow.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/ConsoleLogWindow.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ConsoleLogWindow.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ContextMenuItem.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ContextMenuItem.cs.meta index 124fb32b..2992fd95 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ContextMenuItem.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ContextMenuItem.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/ContextMenuItem.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ContextMenuItem.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/CustomStylesContainer.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/CustomStylesContainer.cs.meta index b9df8d8e..a7402d23 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/CustomStylesContainer.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/CustomStylesContainer.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/CustomStylesContainer.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/CustomStylesContainer.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DebugConsoleWindow.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DebugConsoleWindow.cs.meta index 892358fc..d985b148 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DebugConsoleWindow.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DebugConsoleWindow.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/DebugConsoleWindow.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DebugConsoleWindow.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DragAndDropTool.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DragAndDropTool.cs.meta index 4a2ef52b..880d5330 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DragAndDropTool.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DragAndDropTool.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/DragAndDropTool.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DragAndDropTool.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DuplicatePreventionBuffer.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DuplicatePreventionBuffer.cs index 6f763338..74b96dac 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DuplicatePreventionBuffer.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DuplicatePreventionBuffer.cs @@ -16,7 +16,7 @@ namespace AmplifyShaderEditor private const string IntNameStr = "Int "; private const string FloatNameStr = "Float "; private const string ColorNameStr = "Color "; - + [SerializeField] private int[] m_availableUVChannelsArray = { -1, -1, -1, -1 }; private string[] m_availableUVChannelsNamesArray = { "null", @@ -175,7 +175,7 @@ namespace AmplifyShaderEditor return true; } } - + m_availableUniformNames.Add( name, nodeId ); return true; } @@ -270,6 +270,7 @@ namespace AmplifyShaderEditor name = VectorNameStr; } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { @@ -290,7 +291,7 @@ namespace AmplifyShaderEditor { string inspectorName = name + count; string propertyName = UIUtils.GeneratePropertyName( inspectorName , PropertyType.Property ); - + if ( IsUniformNameAvailable( propertyName ) ) { outInspector = inspectorName; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DuplicatePreventionBuffer.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DuplicatePreventionBuffer.cs.meta index 08463fe4..e733976f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DuplicatePreventionBuffer.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DuplicatePreventionBuffer.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/DuplicatePreventionBuffer.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/DuplicatePreventionBuffer.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/GraphContextMenu.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/GraphContextMenu.cs.meta index 44f22b4e..3e44cc93 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/GraphContextMenu.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/GraphContextMenu.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/GraphContextMenu.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/GraphContextMenu.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/MenuParent.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/MenuParent.cs.meta index b0427835..f449bede 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/MenuParent.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/MenuParent.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/MenuParent.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/MenuParent.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/NodeParametersWindow.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/NodeParametersWindow.cs.meta index 969f7562..d96711ae 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/NodeParametersWindow.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/NodeParametersWindow.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/NodeParametersWindow.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/NodeParametersWindow.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/NodeWireReferencesUtils.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/NodeWireReferencesUtils.cs.meta index a7ed1777..754e842b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/NodeWireReferencesUtils.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/NodeWireReferencesUtils.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/NodeWireReferencesUtils.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/NodeWireReferencesUtils.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/ContextPalette.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/ContextPalette.cs.meta index 8b46096a..c630e7ba 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/ContextPalette.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/ContextPalette.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/ContextPalette.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/ContextPalette.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteParent.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteParent.cs index 67ce6e14..6018294d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteParent.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteParent.cs @@ -37,7 +37,7 @@ namespace AmplifyShaderEditor protected Dictionary m_currentCategories; private bool m_forceUpdate = true; - + protected bool m_usingSearchFilter = false; protected string m_searchFilter = string.Empty; private float m_searchLabelSize = -1; @@ -79,6 +79,71 @@ namespace AmplifyShaderEditor List allItems = ParentWindow.ContextMenuInstance.MenuItems; + if ( Event.current.type == EventType.Layout && m_forceUpdate ) + { + m_forceUpdate = false; + + //m_currentItems.Clear(); + m_currentCategories.Clear(); + + if( m_usingSearchFilter ) + { + for( int i = 0; i < allItems.Count; i++ ) + { + //m_currentItems.Add( allItems[ i ] ); + if( !m_currentCategories.ContainsKey( allItems[ i ].Category ) ) + { + m_currentCategories.Add( allItems[ i ].Category, new PaletteFilterData( m_defaultCategoryVisible ) ); + //m_currentCategories[ allItems[ i ].Category ].HasCommunityData = allItems[ i ].NodeAttributes.FromCommunity || m_currentCategories[ allItems[ i ].Category ].HasCommunityData; + } + m_currentCategories[ allItems[ i ].Category ].Contents.Add( allItems[ i ] ); + } + } + else + { + for( int i = 0; i < allItems.Count; i++ ) + { + var searchList = m_searchFilter.Trim( ' ' ).ToLower().Split(' '); + + int matchesFound = 0; + for( int k = 0; k < searchList.Length; k++ ) + { + MatchCollection wordmatch = Regex.Matches( allItems[ i ].Tags, "\\b"+searchList[ k ] ); + if( wordmatch.Count > 0 ) + matchesFound++; + else + break; + } + + if( searchList.Length == matchesFound ) + { + //m_currentItems.Add( allItems[ i ] ); + if( !m_currentCategories.ContainsKey( allItems[ i ].Category ) ) + { + m_currentCategories.Add( allItems[ i ].Category, new PaletteFilterData( m_defaultCategoryVisible ) ); + //m_currentCategories[ allItems[ i ].Category ].HasCommunityData = allItems[ i ].NodeAttributes.FromCommunity || m_currentCategories[ allItems[ i ].Category ].HasCommunityData; + } + m_currentCategories[ allItems[ i ].Category ].Contents.Add( allItems[ i ] ); + } + } + } + var categoryEnumerator = m_currentCategories.GetEnumerator(); + while( categoryEnumerator.MoveNext() ) + { + categoryEnumerator.Current.Value.Contents.Sort( ( x, y ) => x.CompareTo( y, m_usingSearchFilter ) ); + } + + //sort current list respecting categories + m_currentItems.Clear(); + foreach( var item in m_currentCategories ) + { + for( int i = 0; i < item.Value.Contents.Count; i++ ) + { + m_currentItems.Add( item.Value.Contents[ i ] ); + } + } + } + if( m_searchLabelSize < 0 ) { m_searchLabelSize = GUI.skin.label.CalcSize( new GUIContent( m_searchFilterStr ) ).x; @@ -164,71 +229,6 @@ namespace AmplifyShaderEditor m_currScrollBarDims.y = m_transformedArea.height - 2 - 16 - 2 - 7 * m_initialSeparatorAmount - 2; m_currentScrollPos = EditorGUILayout.BeginScrollView( m_currentScrollPos/*, GUILayout.Width( 242 ), GUILayout.Height( 250 - 2 - 16 - 2 - 7 - 2) */); { - if( m_forceUpdate ) - { - m_forceUpdate = false; - - //m_currentItems.Clear(); - m_currentCategories.Clear(); - - if( usingSearchFilter ) - { - for( int i = 0; i < allItems.Count; i++ ) - { - //m_currentItems.Add( allItems[ i ] ); - if( !m_currentCategories.ContainsKey( allItems[ i ].Category ) ) - { - m_currentCategories.Add( allItems[ i ].Category, new PaletteFilterData( m_defaultCategoryVisible ) ); - //m_currentCategories[ allItems[ i ].Category ].HasCommunityData = allItems[ i ].NodeAttributes.FromCommunity || m_currentCategories[ allItems[ i ].Category ].HasCommunityData; - } - m_currentCategories[ allItems[ i ].Category ].Contents.Add( allItems[ i ] ); - } - } - else - { - for( int i = 0; i < allItems.Count; i++ ) - { - var searchList = m_searchFilter.Trim( ' ' ).ToLower().Split(' '); - - int matchesFound = 0; - for( int k = 0; k < searchList.Length; k++ ) - { - MatchCollection wordmatch = Regex.Matches( allItems[ i ].Tags, "\\b"+searchList[ k ] ); - if( wordmatch.Count > 0 ) - matchesFound++; - else - break; - } - - if( searchList.Length == matchesFound ) - { - //m_currentItems.Add( allItems[ i ] ); - if( !m_currentCategories.ContainsKey( allItems[ i ].Category ) ) - { - m_currentCategories.Add( allItems[ i ].Category, new PaletteFilterData( m_defaultCategoryVisible ) ); - //m_currentCategories[ allItems[ i ].Category ].HasCommunityData = allItems[ i ].NodeAttributes.FromCommunity || m_currentCategories[ allItems[ i ].Category ].HasCommunityData; - } - m_currentCategories[ allItems[ i ].Category ].Contents.Add( allItems[ i ] ); - } - } - } - var categoryEnumerator = m_currentCategories.GetEnumerator(); - while( categoryEnumerator.MoveNext() ) - { - categoryEnumerator.Current.Value.Contents.Sort( ( x, y ) => x.CompareTo( y, usingSearchFilter ) ); - } - - //sort current list respecting categories - m_currentItems.Clear(); - foreach( var item in m_currentCategories ) - { - for( int i = 0; i < item.Value.Contents.Count; i++ ) - { - m_currentItems.Add( item.Value.Contents[ i ] ); - } - } - } - string watching = string.Empty; // unselect the main search field so it can focus list elements next diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteParent.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteParent.cs.meta index 7ee4a6a5..5e056b53 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteParent.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteParent.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteParent.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteParent.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PalettePopUp.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PalettePopUp.cs.meta index 33e701ff..3d790e05 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PalettePopUp.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PalettePopUp.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PalettePopUp.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PalettePopUp.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteWindow.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteWindow.cs.meta index ca615557..ecfdbd97 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteWindow.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteWindow.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteWindow.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Palette/PaletteWindow.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/PortLegendInfo.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/PortLegendInfo.cs index 9f76a512..642e9346 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/PortLegendInfo.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/PortLegendInfo.cs @@ -218,6 +218,7 @@ namespace AmplifyShaderEditor DrawPort( WirePortDataType.FLOAT4 ); DrawPort( WirePortDataType.COLOR ); DrawPort( WirePortDataType.SAMPLER2D ); + DrawPort( WirePortDataType.FLOAT2x2 ); DrawPort( WirePortDataType.FLOAT3x3 ); DrawPort( WirePortDataType.FLOAT4x4 ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/PortLegendInfo.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/PortLegendInfo.cs.meta index 4701f9eb..055e46b1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/PortLegendInfo.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/PortLegendInfo.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/PortLegendInfo.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/PortLegendInfo.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/SceneSaveCallback.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/SceneSaveCallback.cs.meta index 5323f622..c3d6628f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/SceneSaveCallback.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/SceneSaveCallback.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/SceneSaveCallback.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/SceneSaveCallback.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ShaderEditorModeWindow.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ShaderEditorModeWindow.cs.meta index 0ba4ede8..649136a8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ShaderEditorModeWindow.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ShaderEditorModeWindow.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/ShaderEditorModeWindow.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ShaderEditorModeWindow.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ShaderLibrary.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ShaderLibrary.cs.meta index a8402a29..935c0252 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ShaderLibrary.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ShaderLibrary.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/ShaderLibrary.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/ShaderLibrary.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButton.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButton.cs.meta index ca522007..7f0e68eb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButton.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButton.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButton.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButton.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs.meta index 7c5687e4..8efa16a3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonSep.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonSep.cs.meta index 369f06fa..c0a63106 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonSep.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonSep.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonSep.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonSep.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsWindow.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsWindow.cs.meta index 078b9ba8..9aa421e6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsWindow.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsWindow.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsWindow.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsWindow.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackColor.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackColor.cs.meta index 371c84f4..20be27bb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackColor.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackColor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Native/FallbackColor.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackColor.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackFloat.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackFloat.cs.meta index 7341e09f..1e3a5b01 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackFloat.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackFloat.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Native/FallbackFloat.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackFloat.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackInt.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackInt.cs.meta index 77cb4afe..ffc35e59 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackInt.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackInt.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Native/FallbackInt.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackInt.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackMatrix4x4.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackMatrix4x4.cs.meta index 4b0b419a..83f86c1e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackMatrix4x4.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackMatrix4x4.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Native/FallbackMatrix4x4.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackMatrix4x4.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackString.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackString.cs.meta index 122f8164..119deec7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackString.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackString.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Native/FallbackString.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackString.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackTexture.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackTexture.cs.meta index 5b7211e0..b2802bba 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackTexture.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackTexture.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Native/FallbackTexture.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackTexture.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVariable.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVariable.cs.meta index 2288ec24..225c5998 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVariable.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVariable.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVariable.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVariable.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector2.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector2.cs.meta index d610b34f..acde00e8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector2.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector2.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector2.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector2.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector3.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector3.cs.meta index 77145ebe..59ef06d0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector3.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector3.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector3.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector3.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector4.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector4.cs.meta index 430c8471..23f31ac0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector4.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector4.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector4.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/FallbackVector4.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/IFallbackVars.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/IFallbackVars.cs.meta index e62fab61..132856ba 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/IFallbackVars.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/IFallbackVars.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Native/IFallbackVars.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Native/IFallbackVars.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CommentaryNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CommentaryNode.cs index 141fea0d..2d6cfe1f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CommentaryNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CommentaryNode.cs @@ -26,7 +26,7 @@ namespace AmplifyShaderEditor private const float MIN_SIZE_X = 100; private const float MIN_SIZE_Y = 100; private const float COMMENTARY_BOX_HEIGHT = 30; - + private readonly Vector2 ResizeButtonPos = new Vector2( 1, 1 ); [SerializeField] @@ -232,7 +232,7 @@ namespace AmplifyShaderEditor other.RemoveNode( node ); addToNode = true; } - + } } @@ -250,7 +250,7 @@ namespace AmplifyShaderEditor } } } - + public override void DrawProperties() { base.DrawProperties(); @@ -274,7 +274,7 @@ namespace AmplifyShaderEditor EditorGUILayout.HelpBox( InfoText, MessageType.Info ); } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { if ( m_nodesIds.Count > 0 ) { @@ -335,7 +335,7 @@ namespace AmplifyShaderEditor m_resizeRightIconCoords.x = m_globalPosition.x + m_globalPosition.width - 1 - ( m_resizeIconTex.width + ResizeButtonPos.x ) * drawInfo.InvertedZoom; m_resizeRightIconCoords.y = m_globalPosition.y + m_globalPosition.height - 2 - ( m_resizeIconTex.height + ResizeButtonPos.y ) * drawInfo.InvertedZoom; m_resizeRightIconCoords.width = m_resizeIconTex.width * drawInfo.InvertedZoom; - m_resizeRightIconCoords.height = m_resizeIconTex.height * drawInfo.InvertedZoom; + m_resizeRightIconCoords.height = m_resizeIconTex.height * drawInfo.InvertedZoom; } public override void OnNodeRepaint( DrawInfo drawInfo ) @@ -347,7 +347,7 @@ namespace AmplifyShaderEditor // Background GUI.color = Constants.NodeBodyColor * m_frameColor; GUI.Label( m_globalPosition, string.Empty, UIUtils.GetCustomStyle( CustomStyle.CommentaryBackground ) ); - + // Header GUI.color = m_headerColor * m_headerColorModifier * m_frameColor; GUI.Label( m_headerPosition, string.Empty, UIUtils.GetCustomStyle( CustomStyle.NodeHeader ) ); @@ -382,7 +382,7 @@ namespace AmplifyShaderEditor GUI.Label( titleRect, m_titleText, UIUtils.GetCustomStyle( CustomStyle.CommentarySuperTitle ) ); } } - + public override void Draw( DrawInfo drawInfo ) { base.Draw( drawInfo ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CommentaryNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CommentaryNode.cs.meta index 089a7669..b48f1c3b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CommentaryNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CommentaryNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/CommentaryNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CommentaryNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ColorNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ColorNode.cs index 9bcddb3c..1d2b9325 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ColorNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ColorNode.cs @@ -179,9 +179,9 @@ namespace AmplifyShaderEditor m_requireMaterialUpdate = true; } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); int maxWidth = 80; @@ -304,13 +304,14 @@ namespace AmplifyShaderEditor if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) return GetOutputColorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue(dataCollector.PortCategory) ); + Color linear = m_defaultValue.linear; - string colorGamma = m_precisionString + "(" + m_defaultValue.r + "," + m_defaultValue.g + "," + m_defaultValue.b + - ( m_useAlpha ? "," + m_defaultValue.a : string.Empty ) + ")"; + string colorGamma = m_precisionString + "( " + m_defaultValue.r + ", " + m_defaultValue.g + ", " + m_defaultValue.b + + ( m_useAlpha ? ", " + m_defaultValue.a : string.Empty ) + " )"; - string colorLinear = m_precisionString + "(" + linear.r + "," + linear.g + "," + linear.b + - ( m_useAlpha ? "," + m_defaultValue.a : string.Empty ) + ")"; + string colorLinear = m_precisionString + "( " + linear.r + ", " + linear.g + ", " + linear.b + + ( m_useAlpha ? ", " + m_defaultValue.a : string.Empty ) + " )"; string result = string.Format( AutoGammaToLinearConversion, colorGamma, colorLinear ); RegisterLocalVariable( 0, result, ref dataCollector, "color" + OutputId ); @@ -337,7 +338,7 @@ namespace AmplifyShaderEditor { case 0: { - result = m_precisionString + "(" + color.r + "," + color.g + "," + color.b + ( m_useAlpha ? "," + color.a : string.Empty ) + ")"; + result = m_precisionString + "( " + color.r + ", " + color.g + ", " + color.b + ( m_useAlpha ? ", " + color.a : string.Empty ) + " )"; } break; @@ -425,8 +426,8 @@ namespace AmplifyShaderEditor string g = UIUtils.PropertyFloatToString( m_defaultValue.g ); string b = UIUtils.PropertyFloatToString( m_defaultValue.b ); string a = UIUtils.PropertyFloatToString( m_defaultValue.a ); - return PropertyAttributes + m_propertyName + "(\"" + m_propertyInspectorName + "\", Color) = (" + r + "," + g + "," + b + - ( m_useAlpha ? "," + a : string.Empty ) + ")"; + return PropertyAttributes + PropertyAttributesSeparator + m_propertyName + "( \"" + m_propertyInspectorName + + "\", Color ) = ( " + r + ", " + g + ", " + b + ( m_useAlpha ? ", " + a : string.Empty ) + " )"; } public override void UpdateMaterial( Material mat ) diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ColorNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ColorNode.cs.meta index 37c4afd3..2cd99fdc 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ColorNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ColorNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ColorNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ColorNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GlobalArrayNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GlobalArrayNode.cs index 1e6b924c..09cf80c4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GlobalArrayNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GlobalArrayNode.cs @@ -234,9 +234,9 @@ namespace AmplifyShaderEditor m_autoRangeCheck = EditorGUILayoutToggle( AutoRangeCheckStr , m_autoRangeCheck ); } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_updated = false; if( m_referenceType == TexReferenceType.Instance ) { @@ -478,6 +478,18 @@ namespace AmplifyShaderEditor } } } + + public override void ReconnectClipboardReferences( Clipboard clipboard ) + { + // validate node first + int newId = clipboard.GeNewNodeId( m_referenceNodeId ); + if ( ContainerGraph.GetNode( newId ) != null ) + { + m_referenceNodeId = newId; + } + RefreshExternalReferences(); + } + public int ArrayLengthX { get { return ( m_referenceNode != null ) ? m_referenceNode.ArrayLengthX : m_arrayLengthX; } } public int ArrayLengthY { get { return ( m_referenceNode != null ) ? m_referenceNode.ArrayLengthY : m_arrayLengthY; } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GlobalArrayNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GlobalArrayNode.cs.meta index cbe14796..7b0f82c4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GlobalArrayNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GlobalArrayNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GlobalArrayNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GlobalArrayNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GradientNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GradientNode.cs.meta index acbd3d18..1a37263d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GradientNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GradientNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GradientNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/GradientNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs index f90df632..22a0e20f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs @@ -118,9 +118,9 @@ namespace AmplifyShaderEditor } } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_propertyDrawPos = m_remainingBox; m_propertyDrawPos.x = m_remainingBox.x - LabelWidth * drawInfo.InvertedZoom; @@ -228,7 +228,7 @@ namespace AmplifyShaderEditor public override string GetPropertyValue() { - return PropertyAttributes + m_propertyName + "(\"" + m_propertyInspectorName + "\", Int) = " + m_defaultValue; + return PropertyAttributes + PropertyAttributesSeparator + m_propertyName + "( \"" + m_propertyInspectorName + "\", Int ) = " + m_defaultValue; } public override void UpdateMaterial( Material mat ) diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs.meta index 582ba56b..d39601f6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/IntNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix2X2Node.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix2X2Node.cs new file mode 100644 index 00000000..891590f4 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix2X2Node.cs @@ -0,0 +1,259 @@ +// Amplify Shader Editor - Visual Shader Editing Tool +// Copyright (c) Amplify Creations, Lda + +using UnityEngine; +using UnityEditor; +using System; + +namespace AmplifyShaderEditor +{ + [Serializable] + [NodeAttributes( "Matrix2X2", "Constants And Properties", "Matrix2X2 property" )] + public sealed class Matrix2X2Node : MatrixParentNode + { + private string[,] m_fieldText = new string[ 2, 2 ] { { "0", "0" }, { "0", "0" } }; + public Matrix2X2Node() : base() { } + public Matrix2X2Node( int uniqueId, float x, float y, float width, float height ) : base( uniqueId, x, y, width, height ) { } + protected override void CommonInit( int uniqueId ) + { + base.CommonInit( uniqueId ); + GlobalTypeWarningText = string.Format( GlobalTypeWarningText, "Matrix" ); + AddOutputPort( WirePortDataType.FLOAT2x2, Constants.EmptyPortValue ); + m_insideSize.Set( Constants.FLOAT_DRAW_WIDTH_FIELD_SIZE * 2 + Constants.FLOAT_WIDTH_SPACING * 2, Constants.FLOAT_DRAW_HEIGHT_FIELD_SIZE * 2 + Constants.FLOAT_WIDTH_SPACING * 2 + Constants.OUTSIDE_WIRE_MARGIN ); + //m_defaultValue = new Matrix4x4(); + //m_materialValue = new Matrix4x4(); + m_drawPreview = false; + } + + public override void CopyDefaultsToMaterial() + { + m_materialValue = m_defaultValue; + } + + public override void DrawSubProperties() + { + EditorGUILayout.LabelField( Constants.DefaultValueLabel ); + for( int row = 0; row < 2; row++ ) + { + EditorGUILayout.BeginHorizontal(); + for( int column = 0; column < 2; column++ ) + { + m_defaultValue[ row, column ] = EditorGUILayoutFloatField( string.Empty, m_defaultValue[ row, column ], GUILayout.MaxWidth( 76 ) ); + } + EditorGUILayout.EndHorizontal(); + } + } + + public override void DrawMaterialProperties() + { + if( m_materialMode ) + EditorGUI.BeginChangeCheck(); + + EditorGUILayout.LabelField( Constants.MaterialValueLabel ); + for( int row = 0; row < 2; row++ ) + { + EditorGUILayout.BeginHorizontal(); + for( int column = 0; column < 2; column++ ) + { + m_materialValue[ row, column ] = EditorGUILayoutFloatField( string.Empty, m_materialValue[ row, column ], GUILayout.MaxWidth( 76 ) ); + } + EditorGUILayout.EndHorizontal(); + } + + if( m_materialMode && EditorGUI.EndChangeCheck() ) + m_requireMaterialUpdate = true; + } + + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) + { + base.OnNodeLayout( drawInfo, cache ); + + m_propertyDrawPos.position = m_remainingBox.position; + m_propertyDrawPos.width = drawInfo.InvertedZoom * Constants.FLOAT_DRAW_WIDTH_FIELD_SIZE; + m_propertyDrawPos.height = drawInfo.InvertedZoom * Constants.FLOAT_DRAW_HEIGHT_FIELD_SIZE; + } + + public override void DrawGUIControls( DrawInfo drawInfo ) + { + base.DrawGUIControls( drawInfo ); + + if( drawInfo.CurrentEventType != EventType.MouseDown ) + return; + + Rect hitBox = m_remainingBox; + hitBox.height = m_insideSize.y * drawInfo.InvertedZoom; + bool insideBox = hitBox.Contains( drawInfo.MousePosition ); + + if( insideBox ) + { + GUI.FocusControl( null ); + m_isEditingFields = true; + } + else if( m_isEditingFields && !insideBox ) + { + GUI.FocusControl( null ); + m_isEditingFields = false; + } + } + + + public override void Draw( DrawInfo drawInfo ) + { + base.Draw( drawInfo ); + + if( !m_isVisible ) + return; + + if( m_isEditingFields && m_currentParameterType != PropertyType.Global ) + { + bool currMode = m_materialMode && m_currentParameterType != PropertyType.Constant; + Matrix4x4 value = currMode ? m_materialValue : m_defaultValue; + + EditorGUI.BeginChangeCheck(); + for( int row = 0; row < 2; row++ ) + { + for( int column = 0; column < 2; column++ ) + { + m_propertyDrawPos.position = m_remainingBox.position + Vector2.Scale( m_propertyDrawPos.size, new Vector2( column, row ) ) + new Vector2( Constants.FLOAT_WIDTH_SPACING * drawInfo.InvertedZoom * column, Constants.FLOAT_WIDTH_SPACING * drawInfo.InvertedZoom * row ); + value[ row, column ] = EditorGUIFloatField( m_propertyDrawPos, string.Empty, value[ row, column ], UIUtils.MainSkin.textField ); + } + } + + if( currMode ) + { + m_materialValue = value; + } + else + { + m_defaultValue = value; + } + + if( EditorGUI.EndChangeCheck() ) + { + m_requireMaterialUpdate = m_materialMode; + BeginDelayedDirtyProperty(); + } + } + else if( drawInfo.CurrentEventType == EventType.Repaint ) + { + bool guiEnabled = GUI.enabled; + //redundant ternary conditional but this makes easier to read that only when m_showCuffer is on that we need to take PropertyType.Property into account + GUI.enabled = ( m_showCBuffer )? m_currentParameterType != PropertyType.Global&& m_currentParameterType != PropertyType.Property : m_currentParameterType != PropertyType.Global; + + bool currMode = m_materialMode && m_currentParameterType != PropertyType.Constant; + Matrix4x4 value = currMode ? m_materialValue : m_defaultValue; + for( int row = 0; row < 2; row++ ) + { + for( int column = 0; column < 2; column++ ) + { + Rect fakeField = m_propertyDrawPos; + fakeField.position = m_remainingBox.position + Vector2.Scale( m_propertyDrawPos.size, new Vector2( column, row ) ) + new Vector2( Constants.FLOAT_WIDTH_SPACING * drawInfo.InvertedZoom * column, Constants.FLOAT_WIDTH_SPACING * drawInfo.InvertedZoom * row ); + if( GUI.enabled ) + EditorGUIUtility.AddCursorRect( fakeField, MouseCursor.Text ); + + if( m_previousValue[ row, column ] != value[ row, column ] ) + { + m_previousValue[ row, column ] = value[ row, column ]; + m_fieldText[ row, column ] = value[ row, column ].ToString(); + } + + GUI.Label( fakeField, m_fieldText[ row, column ], UIUtils.MainSkin.textField ); + } + } + GUI.enabled = guiEnabled; + } + } + + public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) + { + base.GenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalvar ); + m_precisionString = UIUtils.PrecisionWirePortToCgType( CurrentPrecisionType, m_outputPorts[ 0 ].DataType ); + if( m_currentParameterType != PropertyType.Constant ) + { + if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) + return m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ); + string localVarName = PropertyData( dataCollector.PortCategory ) + "Local2x2"; + string localVarValue = string.Format( "float2x2( {0}._m00, {0}._m01, {0}._m10, {0}._m11 )", PropertyData( dataCollector.PortCategory ) ); + RegisterLocalVariable( 0, localVarValue, ref dataCollector, localVarName ); + return localVarName; + } + + Matrix4x4 value = m_defaultValue; + + return m_precisionString + "( " + value[ 0, 0 ] + ", " + value[ 0, 1 ] + ", " + value[ 1, 0 ] + ", " + value[ 1, 1 ] + " )"; + + } + + + public override void UpdateMaterial( Material mat ) + { + base.UpdateMaterial( mat ); + if( UIUtils.IsProperty( m_currentParameterType ) && !InsideShaderFunction ) + { + Shader.SetGlobalMatrix( m_propertyName, m_materialValue ); + //mat.SetMatrix( m_propertyName, m_materialValue ); + } + } + + public override bool GetUniformData( out string dataType, out string dataName, ref bool fullValue ) + { + dataType = UIUtils.PrecisionWirePortToCgType( CurrentPrecisionType, WirePortDataType.FLOAT4x4 ); + dataName = m_propertyName; + return true; + } + + public override void SetMaterialMode( Material mat, bool fetchMaterialValues ) + { + base.SetMaterialMode( mat, fetchMaterialValues ); + if( fetchMaterialValues && m_materialMode && UIUtils.IsProperty( m_currentParameterType ) && mat.HasProperty( m_propertyName ) ) + { + m_materialValue = mat.GetMatrix( m_propertyName ); + } + } + + public override void ForceUpdateFromMaterial( Material material ) + { + if( UIUtils.IsProperty( m_currentParameterType ) && material.HasProperty( m_propertyName ) ) + { + m_materialValue = material.GetMatrix( m_propertyName ); + PreviewIsDirty = true; + } + } + + + public override void ReadFromString( ref string[] nodeParams ) + { + base.ReadFromString( ref nodeParams ); + m_defaultValue = IOUtils.StringToMatrix2x2( GetCurrentParam( ref nodeParams ) ); + } + + public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) + { + base.WriteToString( ref nodeInfo, ref connectionsInfo ); + IOUtils.AddFieldValueToString( ref nodeInfo, IOUtils.Matrix2x2ToString( m_defaultValue ) ); + } + + public override void ReadAdditionalClipboardData( ref string[] nodeParams ) + { + base.ReadAdditionalClipboardData( ref nodeParams ); + m_materialValue = IOUtils.StringToMatrix2x2( GetCurrentParam( ref nodeParams ) ); + } + + public override void WriteAdditionalClipboardData( ref string nodeInfo ) + { + base.WriteAdditionalClipboardData( ref nodeInfo ); + IOUtils.AddFieldValueToString( ref nodeInfo, IOUtils.Matrix2x2ToString( m_materialValue ) ); + } + + public override string GetPropertyValStr() + { + + return ( m_materialMode && m_currentParameterType != PropertyType.Constant ) ? m_materialValue[ 0, 0 ].ToString( Mathf.Abs( m_materialValue[ 0, 0 ] ) > 1000 ? Constants.PropertyBigMatrixFormatLabel : Constants.PropertyMatrixFormatLabel ) + IOUtils.VECTOR_SEPARATOR + m_materialValue[ 0, 1 ].ToString( Mathf.Abs( m_materialValue[ 0, 1 ] ) > 1000 ? Constants.PropertyBigMatrixFormatLabel : Constants.PropertyMatrixFormatLabel ) + IOUtils.VECTOR_SEPARATOR + + m_materialValue[ 1, 0 ].ToString( Mathf.Abs( m_materialValue[ 1, 0 ] ) > 1000 ? Constants.PropertyBigMatrixFormatLabel : Constants.PropertyMatrixFormatLabel ) + IOUtils.VECTOR_SEPARATOR + m_materialValue[ 1, 1 ].ToString( Mathf.Abs( m_materialValue[ 1, 1 ] ) > 1000 ? Constants.PropertyBigMatrixFormatLabel : Constants.PropertyMatrixFormatLabel ) : + + m_defaultValue[ 0, 0 ].ToString( Mathf.Abs( m_defaultValue[ 0, 0 ] ) > 1000 ? Constants.PropertyBigMatrixFormatLabel : Constants.PropertyMatrixFormatLabel ) + IOUtils.VECTOR_SEPARATOR + m_defaultValue[ 0, 1 ].ToString( Mathf.Abs( m_defaultValue[ 0, 1 ] ) > 1000 ? Constants.PropertyBigMatrixFormatLabel : Constants.PropertyMatrixFormatLabel ) + IOUtils.MATRIX_DATA_SEPARATOR + + m_defaultValue[ 1, 0 ].ToString( Mathf.Abs( m_defaultValue[ 1, 0 ] ) > 1000 ? Constants.PropertyBigMatrixFormatLabel : Constants.PropertyMatrixFormatLabel ) + IOUtils.VECTOR_SEPARATOR + m_defaultValue[ 1, 1 ].ToString( Mathf.Abs( m_defaultValue[ 1, 1 ] ) > 1000 ? Constants.PropertyBigMatrixFormatLabel : Constants.PropertyMatrixFormatLabel ); + } + + } +} diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix2X2Node.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix2X2Node.cs.meta new file mode 100644 index 00000000..5b62956f --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix2X2Node.cs.meta @@ -0,0 +1,19 @@ +fileFormatVersion: 2 +guid: 37904b05b02418e4a8e2ca19a97f340e +timeCreated: 1481126953 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix2X2Node.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix3X3Node.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix3X3Node.cs index e86bae59..4cdb278e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix3X3Node.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix3X3Node.cs @@ -64,9 +64,9 @@ namespace AmplifyShaderEditor m_requireMaterialUpdate = true; } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_propertyDrawPos.position = m_remainingBox.position; m_propertyDrawPos.width = drawInfo.InvertedZoom * Constants.FLOAT_DRAW_WIDTH_FIELD_SIZE; @@ -173,16 +173,16 @@ namespace AmplifyShaderEditor if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) return m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ); string localVarName = PropertyData( dataCollector.PortCategory ) + "Local3x3"; - string localVarValue = string.Format( "float3x3({0}._m00,{0}._m01,{0}._m02,{0}._m10,{0}._m11,{0}._m12,{0}._m20,{0}._m21,{0}._m22 )", PropertyData( dataCollector.PortCategory ) ); + string localVarValue = string.Format( "float3x3( {0}._m00, {0}._m01, {0}._m02, {0}._m10, {0}._m11, {0}._m12, {0}._m20, {0}._m21, {0}._m22 )", PropertyData( dataCollector.PortCategory ) ); RegisterLocalVariable( 0, localVarValue, ref dataCollector, localVarName ); return localVarName; } Matrix4x4 value = m_defaultValue; - return m_precisionString + "(" + value[ 0, 0 ] + "," + value[ 0, 1 ] + "," + value[ 0, 2 ] + "," + - +value[ 1, 0 ] + "," + value[ 1, 1 ] + "," + value[ 1, 2 ] + "," + - +value[ 2, 0 ] + "," + value[ 2, 1 ] + "," + value[ 2, 2 ] + ")"; + return m_precisionString + "( " + value[ 0, 0 ] + ", " + value[ 0, 1 ] + ", " + value[ 0, 2 ] + ", " + + +value[ 1, 0 ] + ", " + value[ 1, 1 ] + ", " + value[ 1, 2 ] + ", " + + +value[ 2, 0 ] + ", " + value[ 2, 1 ] + ", " + value[ 2, 2 ] + " )"; } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix3X3Node.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix3X3Node.cs.meta index b6edaabc..c93acfd8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix3X3Node.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix3X3Node.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix3X3Node.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix3X3Node.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix4X4Node.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix4X4Node.cs index 72af5570..89effb35 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix4X4Node.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix4X4Node.cs @@ -64,9 +64,9 @@ namespace AmplifyShaderEditor m_requireMaterialUpdate = true; } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_propertyDrawPos.position = m_remainingBox.position; m_propertyDrawPos.width = drawInfo.InvertedZoom * Constants.FLOAT_DRAW_WIDTH_FIELD_SIZE; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix4X4Node.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix4X4Node.cs.meta index 40d2eba7..7815ae05 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix4X4Node.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix4X4Node.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix4X4Node.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Matrix4X4Node.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/MatrixParentNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/MatrixParentNode.cs.meta index bd9ac18c..4e4ca6fb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/MatrixParentNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/MatrixParentNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/MatrixParentNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/MatrixParentNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PiNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PiNode.cs.meta index fd68aa09..2e1722a8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PiNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PiNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PiNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PiNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PropertyNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PropertyNode.cs index d9f60b13..4e1b9f88 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PropertyNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PropertyNode.cs @@ -195,7 +195,7 @@ namespace AmplifyShaderEditor [SerializeField] protected List m_selectedAttribs = new List(); - //Title editing + //Title editing protected bool m_isEditing; protected bool m_stopEditing; protected bool m_startEditing; @@ -385,7 +385,7 @@ namespace AmplifyShaderEditor if( parameterType == PropertyType.InstancedProperty ) { //if( m_containerGraph.IsSRP ) - //{ + //{ // UIUtils.ShowMessage( InstancedPropertyWarning,MessageSeverity.Warning ); //} @@ -621,7 +621,7 @@ namespace AmplifyShaderEditor DrawCustomAttrAddRemoveButtons(); EditorGUILayout.EndHorizontal(); } - + protected void DrawHeaderAttrAddRemoveButtons() { // Add new port @@ -669,7 +669,7 @@ namespace AmplifyShaderEditor EditorGUILayout.EndHorizontal(); } - + public virtual void DrawAttributes() { int attribCount = m_selectedAttribs.Count; @@ -880,7 +880,7 @@ namespace AmplifyShaderEditor if( m_customAttrCount > 0 ) NodeUtils.DrawPropertyGroup( ref m_visibleCustomAttrFoldout, CustomAttrStr, DrawCustomAttributes, DrawCustomAttrAddRemoveButtons ); } - + CheckPropertyFromInspector(); } } @@ -1119,9 +1119,9 @@ namespace AmplifyShaderEditor } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - //base.OnNodeLayout( drawInfo ); + //base.OnNodeLayout( drawInfo, cache ); if( m_reRegisterName ) { m_reRegisterName = false; @@ -1166,7 +1166,7 @@ namespace AmplifyShaderEditor CheckPropertyFromInspector(); CheckDuplicateProperty(); // RUN LAYOUT CHANGES AFTER TITLES CHANGE - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_titleClickArea = m_titlePos; m_titleClickArea.height = Constants.NODE_HEADER_HEIGHT; @@ -1295,7 +1295,7 @@ namespace AmplifyShaderEditor public virtual void CheckIfAutoRegister( ref MasterNodeDataCollector dataCollector ) { - // Also testing inside shader function because node can be used indirectly over a custom expression and directly over a Function Output node + // Also testing inside shader function because node can be used indirectly over a custom expression and directly over a Function Output node // That isn't being used externaly making it to not be registered ( since m_connStatus it set to Connected by being connected to an output node if( CurrentParameterType != PropertyType.Constant && m_autoRegister && ( m_connStatus != NodeConnectionStatus.Connected || InsideShaderFunction ) ) { @@ -1478,6 +1478,14 @@ namespace AmplifyShaderEditor return attribs; } } + public string PropertyAttributesSeparator + { + get + { + return string.IsNullOrEmpty( PropertyAttributes ) ? string.Empty : " "; + } + } + public virtual void OnDirtyProperty() { } public virtual void OnPropertyNameChanged() { UIUtils.UpdatePropertyDataNode( UniqueId, PropertyInspectorName ); } public virtual void DrawSubProperties() { } @@ -1605,7 +1613,7 @@ namespace AmplifyShaderEditor int attribCount = m_availableAttribs.Count; for( int i = 0; i < attribCount; i++ ) { - if( m_availableAttribs[ i ].Attribute.Equals( name ) || + if( m_availableAttribs[ i ].Attribute.Equals( name ) || (m_availableAttribs[ i ].HasDeprecatedValue && m_availableAttribs[ i ].DeprecatedValue.Equals( name ) ) ) return i; } @@ -1752,14 +1760,14 @@ namespace AmplifyShaderEditor } ReleaseRansomedProperty(); - + } public virtual void ReleaseRansomedProperty() { if( m_variableMode == VariableMode.Fetch/* && m_autoGlobalName */) { - //Fooling setter to have a different value + //Fooling setter to have a different value m_variableMode = VariableMode.Create; CurrentVariableMode = VariableMode.Fetch; } @@ -1867,7 +1875,7 @@ namespace AmplifyShaderEditor } } } - + public string PropertyData( MasterNodePortCategory portCategory ) { return ( m_currentParameterType == PropertyType.InstancedProperty ) ? m_outputPorts[ 0 ].LocalValue( portCategory ) : m_propertyName; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PropertyNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PropertyNode.cs.meta index 5b8389da..7e81ef5f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PropertyNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PropertyNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PropertyNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/PropertyNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/RangedFloatNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/RangedFloatNode.cs index 616c66d7..d3334c0d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/RangedFloatNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/RangedFloatNode.cs @@ -40,7 +40,7 @@ namespace AmplifyShaderEditor private string[] m_fieldText = new string[] { "0", "0", "0" }; public RangedFloatNode() : base() { } - public RangedFloatNode( int uniqueId, float x, float y, float width, float height ) : base( uniqueId, x, y, width, height ) { } + public RangedFloatNode( int uniqueId, float x, float y, float width, float height ) : base( uniqueId, x, y, width, height ) {} protected override void CommonInit( int uniqueId ) { @@ -172,9 +172,9 @@ namespace AmplifyShaderEditor PreviewMaterial.SetFloat( m_cachedPropertyId, m_defaultValue ); } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); if ( m_floatMode ) { @@ -438,13 +438,14 @@ namespace AmplifyShaderEditor string value = UIUtils.PropertyFloatToString( m_defaultValue ); if ( m_floatMode ) { - return PropertyAttributes + m_propertyName + "(\"" + m_propertyInspectorName + "\", Float) = " + value; + return PropertyAttributes + PropertyAttributesSeparator + m_propertyName + "( \"" + m_propertyInspectorName + "\", Float ) = " + value; } else { string min = UIUtils.PropertyFloatToString( m_min ); string max = UIUtils.PropertyFloatToString( m_max ); - return PropertyAttributes + m_propertyName + "(\"" + m_propertyInspectorName + "\", Range( " + min + " , " + max + ")) = " + value; + return PropertyAttributes + PropertyAttributesSeparator + m_propertyName + "( \"" + m_propertyInspectorName + + "\", Range( " + min + ", " + max + " ) ) = " + value; } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/RangedFloatNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/RangedFloatNode.cs.meta index 444a37a9..fba91f02 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/RangedFloatNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/RangedFloatNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/RangedFloatNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/RangedFloatNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraDirection.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraDirection.cs new file mode 100644 index 00000000..3c2e80ac --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraDirection.cs @@ -0,0 +1,19 @@ +// Amplify Shader Editor - Visual Shader Editing Tool +// Copyright (c) Amplify Creations, Lda + +using System; +namespace AmplifyShaderEditor +{ + [Serializable] + [NodeAttributes( "Camera Direction", "Camera And Screen", "" )] + public sealed class CameraDirection : ConstantShaderVariable + { + protected override void CommonInit( int uniqueId ) + { + base.CommonInit( uniqueId ); + ChangeOutputProperties( 0, "Out", WirePortDataType.FLOAT3 ); + m_value = "-UNITY_MATRIX_V[ 2 ].xyz"; + m_previewShaderGUID = "61e2b74575969cb4c8746f6e41267b12"; + } + } +} diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraDirection.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraDirection.cs.meta new file mode 100644 index 00000000..f518c3b4 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraDirection.cs.meta @@ -0,0 +1,19 @@ +fileFormatVersion: 2 +guid: 0ffc235ca0b513640bfc9e7a047be9dd +timeCreated: 1481126954 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraDirection.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraProjectionNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraProjectionNode.cs.meta index 8eda7f72..9dbcd049 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraProjectionNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraProjectionNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraProjectionNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraProjectionNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraWorldClipPlanes.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraWorldClipPlanes.cs.meta index f0e9d451..6a006315 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraWorldClipPlanes.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraWorldClipPlanes.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraWorldClipPlanes.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/CameraWorldClipPlanes.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/EyeIndex.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/EyeIndex.cs new file mode 100644 index 00000000..4d8007d7 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/EyeIndex.cs @@ -0,0 +1,19 @@ +// Amplify Shader Editor - Visual Shader Editing Tool +// Copyright (c) Amplify Creations, Lda + +using System; +namespace AmplifyShaderEditor +{ + [Serializable] + [NodeAttributes( "Eye Index", "Camera And Screen", "Eye Index when stereo rendering is enabled, zero otherwise." )] + public sealed class EyeIndex : ConstantShaderVariable + { + protected override void CommonInit( int uniqueId ) + { + base.CommonInit( uniqueId ); + ChangeOutputProperties( 0, "Out", WirePortDataType.INT ); + m_value = "unity_StereoEyeIndex"; + m_previewShaderGUID = "4ddc7827e3370c54b920471c2f47cdc9"; + } + } +} diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/EyeIndex.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/EyeIndex.cs.meta new file mode 100644 index 00000000..4a7971ad --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/EyeIndex.cs.meta @@ -0,0 +1,19 @@ +fileFormatVersion: 2 +guid: 126808ee6f1e62c479f192481f3bc15e +timeCreated: 1481126960 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/EyeIndex.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/OrthoParams.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/OrthoParams.cs.meta index 102847ea..61958261 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/OrthoParams.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/OrthoParams.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/OrthoParams.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/OrthoParams.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ProjectionParams.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ProjectionParams.cs.meta index 6be857ac..69b8294c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ProjectionParams.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ProjectionParams.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ProjectionParams.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ProjectionParams.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ScreenParams.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ScreenParams.cs index 5446ac2f..ccbfad76 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ScreenParams.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ScreenParams.cs @@ -16,6 +16,8 @@ namespace AmplifyShaderEditor ChangeOutputName( 3, "1+1/Width" ); ChangeOutputName( 4, "1+1/Height" ); m_value = "_ScreenParams"; + m_valueHDRP = "_ScreenParams"; + m_valueURP = "_ScaledScreenParams"; m_previewShaderGUID = "78173633b803de4419206191fed3d61e"; } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ScreenParams.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ScreenParams.cs.meta index 06ca78c8..ece12218 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ScreenParams.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ScreenParams.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ScreenParams.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ScreenParams.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/WorldSpaceCameraPos.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/WorldSpaceCameraPos.cs index 2342f158..270144ca 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/WorldSpaceCameraPos.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/WorldSpaceCameraPos.cs @@ -5,7 +5,7 @@ using System; namespace AmplifyShaderEditor { [Serializable] - [NodeAttributes( "World Space Camera Pos", "Camera And Screen", "World Space Camera position" )] + [NodeAttributes( "Camera Position", "Camera And Screen", "Camera position in World Space", tags: "World Space Camera Pos" )] public sealed class WorldSpaceCameraPos : ConstantShaderVariable { protected override void CommonInit( int uniqueId ) diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/WorldSpaceCameraPos.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/WorldSpaceCameraPos.cs.meta index ad409a55..86d88b2e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/WorldSpaceCameraPos.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/WorldSpaceCameraPos.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/WorldSpaceCameraPos.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/WorldSpaceCameraPos.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ZBufferParams.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ZBufferParams.cs.meta index ea6565c5..dfadede0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ZBufferParams.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ZBufferParams.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ZBufferParams.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/CameraAndScreen/ZBufferParams.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstVecShaderVariable.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstVecShaderVariable.cs index d74d8a5f..88ad0d04 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstVecShaderVariable.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstVecShaderVariable.cs @@ -10,6 +10,8 @@ namespace AmplifyShaderEditor { [SerializeField] protected string m_value; + protected string m_valueHDRP; + protected string m_valueURP; protected override void CommonInit( int uniqueId ) { base.CommonInit( uniqueId ); @@ -22,13 +24,27 @@ namespace AmplifyShaderEditor public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) { base.GenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalvar ); + + string value = m_value; + if ( dataCollector.IsTemplate ) + { + if( dataCollector.TemplateDataCollectorInstance.CurrentSRPType == TemplateSRPType.HDRP && !string.IsNullOrEmpty( m_valueHDRP ) ) + { + value = m_valueHDRP; + } + else if ( dataCollector.TemplateDataCollectorInstance.CurrentSRPType == TemplateSRPType.URP && !string.IsNullOrEmpty( m_valueURP ) ) + { + value = m_valueURP; + } + } + switch ( outputId ) { - case 0: return m_value; - case 1: return ( m_value + ".x" ); - case 2: return ( m_value + ".y" ); - case 3: return ( m_value + ".z" ); - case 4: return ( m_value + ".w" ); + case 0: return value; + case 1: return ( value + ".x" ); + case 2: return ( value + ".y" ); + case 3: return ( value + ".z" ); + case 4: return ( value + ".w" ); } UIUtils.ShowMessage( UniqueId, "ConstVecShaderVariable generating empty code", MessageSeverity.Warning ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstVecShaderVariable.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstVecShaderVariable.cs.meta index 70bb3cd3..84688a14 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstVecShaderVariable.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstVecShaderVariable.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstVecShaderVariable.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstVecShaderVariable.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstantShaderVariable.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstantShaderVariable.cs.meta index 8dd92aab..0acf3fd5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstantShaderVariable.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstantShaderVariable.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstantShaderVariable.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ConstantShaderVariable.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/FogAndAmbient/FogAndAmbientColorsNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/FogAndAmbient/FogAndAmbientColorsNode.cs.meta index dd6093b1..f273d665 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/FogAndAmbient/FogAndAmbientColorsNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/FogAndAmbient/FogAndAmbientColorsNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/FogAndAmbient/FogAndAmbientColorsNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/FogAndAmbient/FogAndAmbientColorsNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/FogAndAmbient/FogParamsNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/FogAndAmbient/FogParamsNode.cs.meta index 121ed3ea..420bf297 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/FogAndAmbient/FogParamsNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/FogAndAmbient/FogParamsNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/FogAndAmbient/FogParamsNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/FogAndAmbient/FogParamsNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/CustomStandardSurface.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/CustomStandardSurface.cs.meta index d7d92fc1..c967ba68 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/CustomStandardSurface.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/CustomStandardSurface.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/CustomStandardSurface.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/CustomStandardSurface.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectDiffuseLighting.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectDiffuseLighting.cs index 5d193e03..fb045c66 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectDiffuseLighting.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectDiffuseLighting.cs @@ -58,7 +58,7 @@ namespace AmplifyShaderEditor "#elif defined( LIGHTMAP_ON )\n", "\treturn SAMPLE_GI( input.lightmapUVOrVertexSH.xy, 0, normalWS );\n", "#elif defined( PROBE_VOLUMES_L1 ) || defined( PROBE_VOLUMES_L2 )\n", - "\return SAMPLE_GI( SampleSH( normalWS ), positionWS, normalWS, viewDirWS, input.positionCS.xy );\n", + "\treturn SAMPLE_GI( SampleSH( normalWS ), positionWS, normalWS, viewDirWS, input.positionCS.xy );\n", "#else\n", "\treturn SampleSH( normalWS );\n", "#endif\n", @@ -75,7 +75,7 @@ namespace AmplifyShaderEditor "#elif defined( LIGHTMAP_ON )\n", "\treturn SAMPLE_GI( input.lightmapUVOrVertexSH.xy, 0, normalWS );\n", "#elif defined( PROBE_VOLUMES_L1 ) || defined( PROBE_VOLUMES_L2 )\n", - "\return SampleProbeVolumePixel( SampleSH( normalWS ), positionWS, normalWS, viewDirWS, input.positionCS.xy );\n", + "\treturn SampleProbeVolumePixel( SampleSH( normalWS ), positionWS, normalWS, viewDirWS, input.positionCS.xy );\n", "#else\n", "\treturn SampleSH( normalWS );\n", "#endif\n", @@ -171,7 +171,16 @@ namespace AmplifyShaderEditor if( !dataCollector.IsSRP ) { dataCollector.AddToIncludes( UniqueId, Constants.UnityLightingLib ); - dataCollector.AddToDirectives( FwdBasePragma ); + + var multiPassMasterNode = dataCollector.MasterNode as TemplateMultiPassMasterNode; + if ( multiPassMasterNode != null && + !multiPassMasterNode.Pass.Modules.IncludePragmaContainer.HasPragma( "multi_compile_fwdbase" ) && + !multiPassMasterNode.Pass.Modules.IncludePragmaContainer.HasPragma( "multi_compile_fwdadd" ) && + !multiPassMasterNode.Pass.Modules.IncludePragmaContainer.HasPragma( "multi_compile_fwdadd_fullshadows" ) ) + { + dataCollector.AddToDirectives( FwdBasePragma ); + } + string texcoord1 = string.Empty; string texcoord2 = string.Empty; @@ -221,8 +230,6 @@ namespace AmplifyShaderEditor dataCollector.AddToVertexLocalVariables( UniqueId, "#endif //sh" ); dataCollector.AddToVertexLocalVariables( UniqueId, "#endif //nstalm" ); - //dataCollector.AddToPragmas( UniqueId, "multi_compile_fwdbase" ); - string fragWorldNormal = string.Empty; if( m_inputPorts[ 0 ].IsConnected ) { @@ -258,7 +265,6 @@ namespace AmplifyShaderEditor if( dataCollector.CurrentSRPType == TemplateSRPType.URP ) { string texcoord1 = string.Empty; - if( dataCollector.TemplateDataCollectorInstance.HasInfo( TemplateInfoOnSematics.TEXTURE_COORDINATES1, false, MasterNodePortCategory.Vertex ) ) texcoord1 = dataCollector.TemplateDataCollectorInstance.GetInfo( TemplateInfoOnSematics.TEXTURE_COORDINATES1, false, MasterNodePortCategory.Vertex ).VarName; else @@ -274,7 +280,7 @@ namespace AmplifyShaderEditor dataCollector.AddToVertexLocalVariables( UniqueId, "OUTPUT_LIGHTMAP_UV( " + texcoord1 + ", unity_LightmapST, " + vOutName + ".lightmapUVOrVertexSH.xy );", true ); - if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_15 ) + if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_15_X ) { string worldPos = dataCollector.TemplateDataCollectorInstance.GetWorldPos( false, MasterNodePortCategory.Vertex ); dataCollector.AddToVertexLocalVariables( UniqueId, "#if !defined( OUTPUT_SH4 )", true ); @@ -290,14 +296,32 @@ namespace AmplifyShaderEditor dataCollector.AddToVertexLocalVariables( UniqueId, "OUTPUT_SH( " + worldNormal + ", " + vOutName + ".lightmapUVOrVertexSH.xyz );", true ); } - dataCollector.AddToPragmas( UniqueId, "multi_compile _ DIRLIGHTMAP_COMBINED" ); dataCollector.AddToPragmas( UniqueId, "multi_compile _ LIGHTMAP_ON" ); - dataCollector.AddToPragmas( UniqueId , "multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE" ); + dataCollector.AddToPragmas( UniqueId, "multi_compile _ DIRLIGHTMAP_COMBINED" ); + dataCollector.AddToPragmas( UniqueId, "multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE" ); - dataCollector.AddToPragmas( UniqueId , "multi_compile _ _MAIN_LIGHT_SHADOWS" ); - dataCollector.AddToPragmas( UniqueId , "multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE" ); - dataCollector.AddToPragmas( UniqueId , "multi_compile _ _SHADOWS_SOFT" ); + if ( ASEPackageManagerHelper.CurrentSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_17_1 ) + { + dataCollector.AddToPragmas( UniqueId, "multi_compile _ LIGHTMAP_BICUBIC_SAMPLING" ); + dataCollector.AddToPragmas( UniqueId, "multi_compile_fragment _ _REFLECTION_PROBE_ATLAS" ); + } + } + if ( !dataCollector.TemplateDataCollectorInstance.HasRawInterpolatorOfName( "dynamicLightmapUV" ) ) + { + string texcoord2 = string.Empty; + if ( dataCollector.TemplateDataCollectorInstance.HasInfo( TemplateInfoOnSematics.TEXTURE_COORDINATES2, false, MasterNodePortCategory.Vertex ) ) + texcoord2 = dataCollector.TemplateDataCollectorInstance.GetInfo( TemplateInfoOnSematics.TEXTURE_COORDINATES2, false, MasterNodePortCategory.Vertex ).VarName; + else + texcoord2 = dataCollector.TemplateDataCollectorInstance.RegisterInfoOnSemantic( MasterNodePortCategory.Vertex, TemplateInfoOnSematics.TEXTURE_COORDINATES2, TemplateSemantics.TEXCOORD2, "texcoord2", WirePortDataType.FLOAT4, PrecisionType.Float, false ); + + dataCollector.TemplateDataCollectorInstance.RequestNewInterpolator( WirePortDataType.FLOAT4, false, "dynamicLightmapUV" ); + + dataCollector.AddToVertexLocalVariables( UniqueId, "#if defined( DYNAMICLIGHTMAP_ON )", true ); + dataCollector.AddToVertexLocalVariables( UniqueId, string.Format( "{0}.dynamicLightmapUV.xy = {1}.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;", vOutName, texcoord2 ), true ); + dataCollector.AddToVertexLocalVariables( UniqueId, "#endif", true ); + + dataCollector.AddToPragmas( UniqueId, "multi_compile _ DYNAMICLIGHTMAP_ON" ); } string fragWorldNormal = string.Empty; @@ -317,12 +341,12 @@ namespace AmplifyShaderEditor finalValue = "bakedGI" + OutputId; string result; - if ( ASEPackageManagerHelper.CurrentSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_15 ) + if ( ASEPackageManagerHelper.CurrentSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_15_X ) { string positionWS = dataCollector.TemplateDataCollectorInstance.GetWorldPos(); string viewDirWS = dataCollector.TemplateDataCollectorInstance.GetViewDir(); - if ( ASEPackageManagerHelper.CurrentSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_17 ) + if ( ASEPackageManagerHelper.CurrentSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_17_0 ) { dataCollector.AddFunction( IndirectDiffuseBodyURP17[ 0 ], IndirectDiffuseBodyURP17, false ); result = string.Format( IndirectDiffuseHeaderURP17, fInName, fragWorldNormal, positionWS, viewDirWS ); @@ -333,7 +357,7 @@ namespace AmplifyShaderEditor result = string.Format( IndirectDiffuseHeaderURP15, fInName, fragWorldNormal, positionWS, viewDirWS ); } } - else if ( ASEPackageManagerHelper.CurrentSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_12 ) + else if ( ASEPackageManagerHelper.CurrentSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_12_X ) { dataCollector.AddFunction( IndirectDiffuseBodyURP12[ 0 ], IndirectDiffuseBodyURP12, false ); result = string.Format( IndirectDiffuseHeaderURP12, fInName, fragWorldNormal ); @@ -396,7 +420,7 @@ namespace AmplifyShaderEditor } //SAMPLE_GI - if ( ASEPackageManagerHelper.CurrentSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_17 ) + if ( ASEPackageManagerHelper.CurrentSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_17_0 ) { string screenPos = GeneratorUtils.GenerateScreenPositionRaw( ref dataCollector, UniqueId, CurrentPrecisionType ); string positionSS = string.Format( "( uint2 )( {0}.xy / {0}.w * _ScreenSize.xy )", screenPos ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectDiffuseLighting.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectDiffuseLighting.cs.meta index b34ee136..3983f3b4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectDiffuseLighting.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectDiffuseLighting.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectDiffuseLighting.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectDiffuseLighting.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectSpecularLight.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectSpecularLight.cs index 0e5aef94..81d6f261 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectSpecularLight.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectSpecularLight.cs @@ -190,9 +190,17 @@ namespace AmplifyShaderEditor string tempocclusion = m_inputPorts[ 2 ].GeneratePortInstructions( ref dataCollector ); dataCollector.AddLocalVariable( UniqueId, "half3 reflectVector" + OutputId + " = reflect( -" + worldViewDir + ", " + worldNormal + " );" ); - if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_14 ) + if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_14_X ) { - dataCollector.AddToPragmas( UniqueId, "multi_compile _ _FORWARD_PLUS" ); + if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_17_1 ) + { + dataCollector.AddToPragmas( UniqueId, "multi_compile _ _CLUSTER_LIGHT_LOOP" ); + dataCollector.AddToPragmas( UniqueId, "multi_compile_fragment _ _REFLECTION_PROBE_ATLAS" ); + } + else + { + dataCollector.AddToPragmas( UniqueId, "multi_compile _ _FORWARD_PLUS" ); + } string worldPos = dataCollector.TemplateDataCollectorInstance.GetWorldPos( useMasterNodeCategory: false, customCategory: MasterNodePortCategory.Fragment ); string normalizedScreenUV = dataCollector.TemplateDataCollectorInstance.GetScreenPosNormalized( CurrentPrecisionType, useMasterNodeCategory: false, customCategory: MasterNodePortCategory.Fragment ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectSpecularLight.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectSpecularLight.cs.meta index 80124877..75f771dc 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectSpecularLight.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectSpecularLight.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectSpecularLight.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/IndirectSpecularLight.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightAttenuation.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightAttenuation.cs index 111168d7..3e6cf0e6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightAttenuation.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightAttenuation.cs @@ -47,7 +47,7 @@ namespace AmplifyShaderEditor if( !dataCollector.IsSRP ) { string result = string.Empty; - if( dataCollector.TemplateDataCollectorInstance.ContainsSpecialLocalFragVar( TemplateInfoOnSematics.SHADOWCOORDS, WirePortDataType.FLOAT4, ref result ) ) + if( dataCollector.TemplateDataCollectorInstance.ContainsSpecialLocalFragVar( TemplateInfoOnSematics.LIGHT_ATTENUATION, WirePortDataType.FLOAT, ref result ) ) { return result; } @@ -66,7 +66,22 @@ namespace AmplifyShaderEditor // Pragmas var pragmas = new List(); - if ( ASEPackageManagerHelper.CurrentSRPVersion >= 140009 ) + if ( ASEPackageManagerHelper.CurrentSRPVersion >= 170100 ) + { + if ( isForward || isGBuffer ) + { + pragmas.Add( "multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN" ); + pragmas.Add( "multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH" ); + } + + if ( isForward ) + { + pragmas.Add( "multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS" ); + pragmas.Add( "multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS" ); + pragmas.Add( "multi_compile _ _CLUSTER_LIGHT_LOOP" ); + } + } + else if ( ASEPackageManagerHelper.CurrentSRPVersion >= 140009 ) { if ( isForward || isGBuffer ) { @@ -81,7 +96,7 @@ namespace AmplifyShaderEditor pragmas.Add( "multi_compile _ _FORWARD_PLUS" ); } } - else if ( ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_14 ) + else if ( ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_14_X ) { if ( isForward || isGBuffer ) { @@ -96,7 +111,7 @@ namespace AmplifyShaderEditor pragmas.Add( "multi_compile _ _FORWARD_PLUS" ); } } - else if ( ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_12 ) + else if ( ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_12_X ) { if ( isForward || isGBuffer ) { @@ -110,7 +125,7 @@ namespace AmplifyShaderEditor pragmas.Add( "multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS" ); } } - else if ( ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_11 ) + else if ( ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_11_X ) { if ( isForward || isGBuffer ) { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightAttenuation.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightAttenuation.cs.meta index 5b271df2..5e610f86 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightAttenuation.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightAttenuation.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightAttenuation.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightAttenuation.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightColorNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightColorNode.cs index 140f262d..2dbe9596 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightColorNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightColorNode.cs @@ -47,7 +47,7 @@ namespace AmplifyShaderEditor } } - PreviewIsDirty = m_continuousPreviewRefresh; + PreviewIsDirty = ContinuousPreviewRefresh; } public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightColorNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightColorNode.cs.meta index c31e2a65..2550de82 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightColorNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightColorNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightColorNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/LightColorNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/WorldSpaceLightPos.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/WorldSpaceLightPos.cs index cbc11308..fbd4cc92 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/WorldSpaceLightPos.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/WorldSpaceLightPos.cs @@ -87,7 +87,7 @@ namespace AmplifyShaderEditor Graphics.Blit( null , m_outputPorts[ 2 ].OutputPreviewTexture , PreviewMaterial , 1 ); RenderTexture.active = temp; } - PreviewIsDirty = m_continuousPreviewRefresh; + PreviewIsDirty = ContinuousPreviewRefresh; } } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/WorldSpaceLightPos.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/WorldSpaceLightPos.cs.meta index 39e9fffd..76b4daae 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/WorldSpaceLightPos.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/WorldSpaceLightPos.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/WorldSpaceLightPos.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Lighting/WorldSpaceLightPos.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ShaderVariablesNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ShaderVariablesNode.cs.meta index 07b1110f..2ff00de5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ShaderVariablesNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ShaderVariablesNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ShaderVariablesNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/ShaderVariablesNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/CosTime.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/CosTime.cs index 332e7336..91014e02 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/CosTime.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/CosTime.cs @@ -25,7 +25,7 @@ namespace AmplifyShaderEditor ChangeOutputName( 4, "t" ); m_value = "_CosTime"; m_previewShaderGUID = "3093999b42c3c0940a71799511d7781c"; - m_continuousPreviewRefresh = true; + ContinuousPreviewRefresh = true; } public override void RefreshExternalReferences() diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/CosTime.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/CosTime.cs.meta index 9708a899..254048bf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/CosTime.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/CosTime.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/CosTime.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/CosTime.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/DeltaTime.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/DeltaTime.cs index a1f3380f..7b66d32c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/DeltaTime.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/DeltaTime.cs @@ -17,7 +17,7 @@ namespace AmplifyShaderEditor ChangeOutputName( 4, "1/smoothDt" ); m_value = "unity_DeltaTime"; m_previewShaderGUID = "9d69a693042c443498f96d6da60535eb"; - m_continuousPreviewRefresh = true; + ContinuousPreviewRefresh = true; } public override void RefreshExternalReferences() diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/DeltaTime.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/DeltaTime.cs.meta index 77b92ca3..2996999d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/DeltaTime.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/DeltaTime.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/DeltaTime.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/DeltaTime.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SimpleTimeNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SimpleTimeNode.cs index f16c24a7..c739f0b1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SimpleTimeNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SimpleTimeNode.cs @@ -19,7 +19,7 @@ namespace AmplifyShaderEditor m_inputPorts[ 0 ].FloatInternalData = 1; m_useInternalPortData = true; m_previewShaderGUID = "45b7107d5d11f124fad92bcb1fa53661"; - m_continuousPreviewRefresh = true; + ContinuousPreviewRefresh = true; } public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SimpleTimeNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SimpleTimeNode.cs.meta index 82865638..c47bf811 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SimpleTimeNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SimpleTimeNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SimpleTimeNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SimpleTimeNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SinTimeNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SinTimeNode.cs index 4f00822f..f391297d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SinTimeNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SinTimeNode.cs @@ -28,7 +28,7 @@ namespace AmplifyShaderEditor ChangeOutputName( 4, "t" ); m_value = "_SinTime"; m_previewShaderGUID = "e4ba809e0badeb94994170b2cbbbba10"; - m_continuousPreviewRefresh = true; + ContinuousPreviewRefresh = true; } public override void RefreshExternalReferences() diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SinTimeNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SinTimeNode.cs.meta index 30c97d6e..f448d8bd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SinTimeNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SinTimeNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SinTimeNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/SinTimeNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/TimeNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/TimeNode.cs index 1d974c2d..f1e1e2dd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/TimeNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/TimeNode.cs @@ -25,7 +25,7 @@ namespace AmplifyShaderEditor ChangeOutputName( 4, "t*3" ); m_value = "_Time"; m_previewShaderGUID = "73abc10c8d1399444827a7eeb9c24c2a"; - m_continuousPreviewRefresh = true; + ContinuousPreviewRefresh = true; } public override void RefreshExternalReferences() diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/TimeNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/TimeNode.cs.meta index 702ca2c0..fa2b43e2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/TimeNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/TimeNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/TimeNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Time/TimeNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/CameraToWorldMatrix.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/CameraToWorldMatrix.cs.meta index 42feb2c0..949b1be0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/CameraToWorldMatrix.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/CameraToWorldMatrix.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/CameraToWorldMatrix.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/CameraToWorldMatrix.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/IMMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/IMMatrixNode.cs.meta index eee7981c..942c1082 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/IMMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/IMMatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/IMMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/IMMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseProjectionMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseProjectionMatrixNode.cs.meta index d6dfa9f0..3ffb4aff 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseProjectionMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseProjectionMatrixNode.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseProjectionMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseProjectionMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseTranspMVMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseTranspMVMatrixNode.cs.meta index 3fcfd03a..df78c590 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseTranspMVMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseTranspMVMatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseTranspMVMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseTranspMVMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseViewMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseViewMatrixNode.cs.meta index b9272b89..1dbcf69e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseViewMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseViewMatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseViewMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseViewMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseViewProjectionMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseViewProjectionMatrixNode.cs.meta index 9c985e4b..3d6bc080 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseViewProjectionMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseViewProjectionMatrixNode.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseViewProjectionMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/InverseViewProjectionMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MMatrixNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MMatrixNode.cs index dca4d0e2..cc78b0e8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MMatrixNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MMatrixNode.cs @@ -12,6 +12,8 @@ namespace AmplifyShaderEditor base.CommonInit( uniqueId ); ChangeOutputProperties( 0, "Out", WirePortDataType.FLOAT4x4 ); m_value = "unity_ObjectToWorld"; + m_valueHDRP = "GetObjectToWorldMatrix()"; + m_valueURP = "GetObjectToWorldMatrix()"; m_drawPreview = false; } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MMatrixNode.cs.meta index ce4196bf..af54093c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MMatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MVMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MVMatrixNode.cs.meta index 3822f16c..1e570e52 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MVMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MVMatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MVMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MVMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MVPMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MVPMatrixNode.cs.meta index 486a0cc8..3b45b6ef 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MVPMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MVPMatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MVPMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/MVPMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ObjectToWorldMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ObjectToWorldMatrixNode.cs.meta index a8a2f02e..be52d2d5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ObjectToWorldMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ObjectToWorldMatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ObjectToWorldMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ObjectToWorldMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ProjectionMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ProjectionMatrixNode.cs.meta index b88fceb2..2e123700 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ProjectionMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ProjectionMatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ProjectionMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ProjectionMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture0MatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture0MatrixNode.cs.meta index 16313ced..52617795 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture0MatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture0MatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture0MatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture0MatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture1MatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture1MatrixNode.cs.meta index 1fc78296..4dda6705 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture1MatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture1MatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture1MatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture1MatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture2MatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture2MatrixNode.cs.meta index cefc6ba6..9dceaf38 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture2MatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture2MatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture2MatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture2MatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture3MatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture3MatrixNode.cs.meta index c1af8f9f..d054097e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture3MatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture3MatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture3MatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/Texture3MatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformDirectionNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformDirectionNode.cs.meta index 825a8e38..49b95ffa 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformDirectionNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformDirectionNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformDirectionNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformDirectionNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformPositionNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformPositionNode.cs index 233314a9..9f77ac8e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformPositionNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformPositionNode.cs @@ -30,12 +30,12 @@ namespace AmplifyShaderEditor private const string AseObjectToWorldPosVarName = "objToWorld"; private const string AseObjectToWorldPosFormat = "mul( unity_ObjectToWorld, float4( {0}, 1 ) ).xyz"; - private const string AseHDObjectToWorldPosFormat = "mul( GetObjectToWorldMatrix(), float4( {0}, 1 ) ).xyz"; + private const string AseSRPObjectToWorldPosFormat = "mul( GetObjectToWorldMatrix(), float4( {0}, 1 ) ).xyz"; private const string ASEHDAbsoluteWordPos = "GetAbsolutePositionWS( {0} )"; private const string ASEHDRelaviveCameraPos = "GetCameraRelativePositionWS( {0} )"; private const string AseObjectToViewPosVarName = "objToView"; private const string AseObjectToViewPosFormat = "mul( UNITY_MATRIX_MV, float4( {0}, 1 ) ).xyz"; - private const string AseHDObjectToViewPosFormat = "TransformWorldToView( TransformObjectToWorld({0}) )"; + private const string AseSRPObjectToViewPosFormat = "TransformWorldToView( TransformObjectToWorld({0}) )"; private const string AseWorldToObjectPosVarName = "worldToObj"; private const string AseWorldToObjectPosFormat = "mul( unity_WorldToObject, float4( {0}, 1 ) ).xyz"; @@ -47,7 +47,7 @@ namespace AmplifyShaderEditor private const string AseViewToObjectPosVarName = "viewToObj"; private const string AseViewToObjectPosFormat = "mul( unity_WorldToObject, mul( UNITY_MATRIX_I_V, float4( {0}, 1 ) ) ).xyz"; - private const string AseHDViewToObjectPosFormat = "mul( GetWorldToObjectMatrix(), mul( UNITY_MATRIX_I_V, float4( {0}, 1 ) ) ).xyz"; + private const string AseSRPViewToObjectPosFormat = "mul( GetWorldToObjectMatrix(), mul( UNITY_MATRIX_I_V, float4( {0}, 1 ) ) ).xyz"; private const string AseViewToWorldPosVarName = "viewToWorld"; private const string AseViewToWorldPosFormat = "mul( UNITY_MATRIX_I_V, float4( {0}, 1.0 ) ).xyz"; @@ -214,7 +214,7 @@ namespace AmplifyShaderEditor { if( dataCollector.TemplateDataCollectorInstance.CurrentSRPType == TemplateSRPType.HDRP ) { - result = string.Format( AseHDObjectToWorldPosFormat, result ); + result = string.Format( AseSRPObjectToWorldPosFormat, result ); if( m_absoluteWorldPos ) { result = string.Format( ASEHDAbsoluteWordPos, result ); @@ -222,7 +222,7 @@ namespace AmplifyShaderEditor } else if( dataCollector.TemplateDataCollectorInstance.CurrentSRPType == TemplateSRPType.URP ) { - result = string.Format( AseHDObjectToWorldPosFormat, result ); + result = string.Format( AseSRPObjectToWorldPosFormat, result ); } } else @@ -234,8 +234,8 @@ namespace AmplifyShaderEditor } case TransformSpaceTo.View: { - if( dataCollector.IsTemplate && dataCollector.TemplateDataCollectorInstance.CurrentSRPType == TemplateSRPType.HDRP ) - result = string.Format( AseHDObjectToViewPosFormat, result ); + if( dataCollector.IsTemplate && dataCollector.TemplateDataCollectorInstance.IsSRP ) + result = string.Format( AseSRPObjectToViewPosFormat, result ); else result = string.Format( AseObjectToViewPosFormat, result ); varName = AseObjectToViewPosVarName + OutputId; @@ -358,8 +358,8 @@ namespace AmplifyShaderEditor } case TransformSpaceTo.Object: { - if( dataCollector.IsTemplate && dataCollector.TemplateDataCollectorInstance.CurrentSRPType == TemplateSRPType.HDRP ) - result = string.Format( AseHDViewToObjectPosFormat, result ); + if( dataCollector.IsTemplate && dataCollector.TemplateDataCollectorInstance.IsSRP ) + result = string.Format( AseSRPViewToObjectPosFormat, result ); else result = string.Format( AseViewToObjectPosFormat, result ); varName = AseViewToObjectPosVarName + OutputId; @@ -367,8 +367,8 @@ namespace AmplifyShaderEditor break; case TransformSpaceTo.World: { - result = string.Format( AseViewToWorldPosFormat, result ); - if( dataCollector.IsTemplate && + result = string.Format( AseViewToWorldPosFormat, result ); + if( dataCollector.IsTemplate && dataCollector.TemplateDataCollectorInstance.CurrentSRPType == TemplateSRPType.HDRP && m_absoluteWorldPos ) { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformPositionNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformPositionNode.cs.meta index 32065702..d8cd8fe8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformPositionNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformPositionNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformPositionNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformPositionNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformVariables.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformVariables.cs.meta index f1533927..88b19516 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformVariables.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformVariables.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformVariables.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransformVariables.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransposeMVMatrix.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransposeMVMatrix.cs.meta index af9bcc54..377ec6c8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransposeMVMatrix.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransposeMVMatrix.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransposeMVMatrix.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/TransposeMVMatrix.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityProjectorClipMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityProjectorClipMatrixNode.cs.meta index 421aa44b..3559699b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityProjectorClipMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityProjectorClipMatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityProjectorClipMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityProjectorClipMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityProjectorMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityProjectorMatrixNode.cs.meta index 21d95d78..799e548a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityProjectorMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityProjectorMatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityProjectorMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityProjectorMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityScaleMatrix.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityScaleMatrix.cs.meta index 40ca9d94..6c34e844 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityScaleMatrix.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityScaleMatrix.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityScaleMatrix.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/UnityScaleMatrix.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ViewMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ViewMatrixNode.cs.meta index 46a1ece3..408dd77a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ViewMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ViewMatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ViewMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ViewMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ViewProjectionMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ViewProjectionMatrixNode.cs.meta index a1899f67..552e4d3c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ViewProjectionMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ViewProjectionMatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ViewProjectionMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/ViewProjectionMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToCameraMatrix.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToCameraMatrix.cs.meta index 9a12b9c8..c27af08a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToCameraMatrix.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToCameraMatrix.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToCameraMatrix.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToCameraMatrix.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToObjectMatrix.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToObjectMatrix.cs.meta index 6583e3c1..65bf8a7b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToObjectMatrix.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToObjectMatrix.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToObjectMatrix.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToObjectMatrix.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToTangentMatrix.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToTangentMatrix.cs.meta index c0d685db..51d6ec47 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToTangentMatrix.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToTangentMatrix.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToTangentMatrix.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Transform/WorldToTangentMatrix.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/ColorSpaceDouble.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/ColorSpaceDouble.cs.meta index 3414df1e..abca1c26 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/ColorSpaceDouble.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/ColorSpaceDouble.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/ColorSpaceDouble.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/ColorSpaceDouble.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/FaceVariableNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/FaceVariableNode.cs index 5a0d4622..af10c2a5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/FaceVariableNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/FaceVariableNode.cs @@ -49,15 +49,15 @@ namespace AmplifyShaderEditor { if ( dataCollector.CurrentCanvasMode == NodeAvailability.TemplateShader ) { - dataCollector.AddToInput( UniqueId, SurfaceInputs.FRONT_FACING ); + dataCollector.AddToInput( UniqueId, SurfaceInputs.FRONT_FACE ); } else { - dataCollector.AddToInput( UniqueId, SurfaceInputs.FRONT_FACING_VFACE ); + dataCollector.AddToInput( UniqueId, SurfaceInputs.FRONT_FACE_VFACE ); } string variable = ( dataCollector.PortCategory == MasterNodePortCategory.Vertex ) ? Constants.VertexShaderOutputStr : Constants.InputVarStr; - return variable + "." + Constants.IsFrontFacingVariable; + return variable + "." + Constants.IsFrontFaceVariable; } } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/FaceVariableNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/FaceVariableNode.cs.meta index f0deddac..e71eccac 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/FaceVariableNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/FaceVariableNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/FaceVariableNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/FaceVariableNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/InstanceIdNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/InstanceIdNode.cs.meta index c6fd1568..1f8758bb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/InstanceIdNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/InstanceIdNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/InstanceIdNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/InstanceIdNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/LODFadeNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/LODFadeNode.cs.meta index 3f1a0d58..2b3ce33a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/LODFadeNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/LODFadeNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/LODFadeNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/LODFadeNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/PrimitiveIdVariableNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/PrimitiveIdVariableNode.cs.meta index 1aca3755..8b1605f6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/PrimitiveIdVariableNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/PrimitiveIdVariableNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/PrimitiveIdVariableNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/PrimitiveIdVariableNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchByFaceNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchByFaceNode.cs index 75e0971b..1a9659fd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchByFaceNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchByFaceNode.cs @@ -21,7 +21,7 @@ namespace AmplifyShaderEditor m_previewShaderGUID = "f4edf6febb54dc743b25bd5b56facea8"; } - + public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) { @@ -63,11 +63,11 @@ namespace AmplifyShaderEditor if ( dataCollector.CurrentCanvasMode == NodeAvailability.TemplateShader ) { - dataCollector.AddToInput( UniqueId, SurfaceInputs.FRONT_FACING ); + dataCollector.AddToInput( UniqueId, SurfaceInputs.FRONT_FACE ); } else { - dataCollector.AddToInput( UniqueId, SurfaceInputs.FRONT_FACING_VFACE ); + dataCollector.AddToInput( UniqueId, SurfaceInputs.FRONT_FACE_VFACE ); } string variable = string.Empty; @@ -77,7 +77,7 @@ namespace AmplifyShaderEditor } else { - variable = ( ( dataCollector.PortCategory == MasterNodePortCategory.Vertex ) ? Constants.VertexShaderOutputStr : Constants.InputVarStr ) + "." + Constants.IsFrontFacingVariable; + variable = ( ( dataCollector.PortCategory == MasterNodePortCategory.Vertex ) ? Constants.VertexShaderOutputStr : Constants.InputVarStr ) + "." + Constants.IsFrontFaceVariable; } string value = string.Format( SwitchOp, variable, front, back ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchByFaceNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchByFaceNode.cs.meta index 4c81de77..e03d0c70 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchByFaceNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchByFaceNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchByFaceNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchByFaceNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchBySRPVersionNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchBySRPVersionNode.cs index 73372b84..e2be6767 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchBySRPVersionNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchBySRPVersionNode.cs @@ -20,9 +20,11 @@ namespace AmplifyShaderEditor new Tuple( "13.x", 130000 ), new Tuple( "14.x", 140000 ), new Tuple( "15.x", 150000 ), - new Tuple( "16.x", 160000 ), - new Tuple( "17.x", 170000 ) - }; + new Tuple( "16.x", 160000 ), + new Tuple( "17.0", 170000 ), + new Tuple( "17.1", 170100 ), + new Tuple( "17.2", 170200 ) + }; private static readonly string[] SRPTypeNames = { @@ -82,7 +84,7 @@ namespace AmplifyShaderEditor base.RefreshExternalReferences(); UpdateConnections(); } - + private int GetActivePortArrayId() { if ( ContainerGraph != null ) @@ -90,7 +92,7 @@ namespace AmplifyShaderEditor int srpVersion = ASEPackageManagerHelper.CurrentSRPVersion; for ( int i = SRPVersionList.Length - 1; i >= 0; i-- ) { - if ( srpVersion > SRPVersionList[ i ].Item2 ) + if ( srpVersion >= SRPVersionList[ i ].Item2 ) { return i; } @@ -98,7 +100,7 @@ namespace AmplifyShaderEditor } return 0; - } + } private void UpdateConnections() { @@ -108,7 +110,7 @@ namespace AmplifyShaderEditor string srpTypeName = ( ContainerGraph != null ) ? SRPTypeNames[ ( int )ContainerGraph.CurrentSRPType ] : "Unknown"; SetAdditonalTitleText( string.Format( Constants.SubTitleCurrentFormatStr, srpTypeName + ", " + SRPVersionList[ activePortIndex ].Item1 ) ); - } + } public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchBySRPVersionNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchBySRPVersionNode.cs.meta index c07a8b87..f483f586 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchBySRPVersionNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchBySRPVersionNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchBySRPVersionNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/SwitchBySRPVersionNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/TwoSidedSignNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/TwoSidedSignNode.cs index a0588673..22891b6d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/TwoSidedSignNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/TwoSidedSignNode.cs @@ -50,15 +50,15 @@ namespace AmplifyShaderEditor { if ( dataCollector.CurrentCanvasMode == NodeAvailability.TemplateShader ) { - dataCollector.AddToInput( UniqueId, SurfaceInputs.FRONT_FACING ); + dataCollector.AddToInput( UniqueId, SurfaceInputs.FRONT_FACE ); } else { - dataCollector.AddToInput( UniqueId, SurfaceInputs.FRONT_FACING_VFACE ); + dataCollector.AddToInput( UniqueId, SurfaceInputs.FRONT_FACE_VFACE ); } variable = ( dataCollector.PortCategory == MasterNodePortCategory.Vertex ) ? Constants.VertexShaderOutputStr : Constants.InputVarStr; - variable = string.Format( "{0}.{1}", variable, Constants.IsFrontFacingVariable ); + variable = string.Format( "{0}.{1}", variable, Constants.IsFrontFaceVariable ); } return string.Format( "( {0} > 0 ? +1 : -1 )", variable ); } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/TwoSidedSignNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/TwoSidedSignNode.cs.meta index 02a73512..14dded02 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/TwoSidedSignNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/TwoSidedSignNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/TwoSidedSignNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/TwoSidedSignNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/VertexIdVariableNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/VertexIdVariableNode.cs.meta index 5c4554fc..358eccf3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/VertexIdVariableNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/VertexIdVariableNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/VertexIdVariableNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/VertexIdVariableNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/WorldTransformParams.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/WorldTransformParams.cs.meta index 2ff90f4b..b06961b8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/WorldTransformParams.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/WorldTransformParams.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/WorldTransformParams.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/ShaderVariables/Various/WorldTransformParams.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/StaticSwitch.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/StaticSwitch.cs index 3af3faf5..619bf8b4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/StaticSwitch.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/StaticSwitch.cs @@ -8,7 +8,7 @@ using System; namespace AmplifyShaderEditor { [Serializable] - [NodeAttributes( "Switch", "Logical Operators", "Creates a shader keyword toggle", Available = true )] + [NodeAttributes( "Switch", "Logical Operators", "Creates a shader keyword toggle", tags: "Static Switch", Available = true )] public sealed class StaticSwitch : PropertyNode { public enum ShaderStage @@ -279,11 +279,11 @@ namespace AmplifyShaderEditor string value = UIUtils.PropertyFloatToString( m_defaultValue ); if ( m_keywordModeType == KeywordModeType.KeywordEnum && m_keywordEnumAmount > 0 ) { - return PropertyAttributes + "[" + m_keywordModeType.ToString() + "(" + GetKeywordEnumPropertyList() + ")] " + m_propertyName + "(\"" + m_propertyInspectorName + "\", Float) = " + value; + return PropertyAttributes + "[" + m_keywordModeType.ToString() + "( " + GetKeywordEnumPropertyList() + " )] " + m_propertyName + "( \"" + m_propertyInspectorName + "\", Float ) = " + value; } else { - return PropertyAttributes + "[" + m_keywordModeType.ToString() + "(" + GetPropertyValStr() + ")] " + m_propertyName + "(\"" + m_propertyInspectorName + "\", Float) = " + value; + return PropertyAttributes + "[" + m_keywordModeType.ToString() + "( " + GetPropertyValStr() + " )] " + m_propertyName + "( \"" + m_propertyInspectorName + "\", Float ) = " + value; } } return string.Empty; @@ -340,7 +340,7 @@ namespace AmplifyShaderEditor { if ( m_multiCompile == ( int )KeywordType.DynamicBranch ) { - return "Dynamic( {0} )"; + return "Dynamic( {0} )"; } else { @@ -455,9 +455,16 @@ namespace AmplifyShaderEditor void PropertyGroup() { EditorGUI.BeginChangeCheck(); + var prevVarMode = CurrentVarMode; CurrentVarMode = (StaticSwitchVariableMode)EditorGUILayoutEnumPopup( ModeStr, CurrentVarMode ); if( EditorGUI.EndChangeCheck() ) { + if ( prevVarMode == StaticSwitchVariableMode.Fetch && m_currentKeywordId == 0 ) + { + m_propertyName = m_currentKeyword; + m_propertyInspectorName = m_currentKeyword; + } + if( CurrentVarMode == StaticSwitchVariableMode.Fetch ) { m_keywordModeType = KeywordModeType.Toggle; @@ -556,7 +563,7 @@ namespace AmplifyShaderEditor EditorGUILayout.EndHorizontal(); } } - + } else { @@ -566,7 +573,7 @@ namespace AmplifyShaderEditor ShowPropertyNameGUI( true ); DrawEnumList(); } - + } if( CurrentVarMode == StaticSwitchVariableMode.Fetch ) @@ -622,8 +629,8 @@ namespace AmplifyShaderEditor else UIUtils.UnregisterPropertyNode( this ); } - - + + if( m_createToggle ) { EditorGUILayout.BeginHorizontal(); @@ -679,12 +686,14 @@ namespace AmplifyShaderEditor } } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { + StaticSwitch node = ( m_staticSwitchVarMode == StaticSwitchVariableMode.Reference && m_reference != null ) ? m_reference : this; + float finalSize = 0; - if( m_keywordModeType == KeywordModeType.KeywordEnum ) + if( node.m_keywordModeType == KeywordModeType.KeywordEnum ) { - GUIContent dropdown = new GUIContent( m_inputPorts[ CurrentSelectedInput ].Name ); + GUIContent dropdown = new GUIContent( node.m_inputPorts[ CurrentSelectedInput ].Name ); int cacheSize = UIUtils.GraphDropDown.fontSize; UIUtils.GraphDropDown.fontSize = 10; Vector2 calcSize = UIUtils.GraphDropDown.CalcSize( dropdown ); @@ -697,9 +706,9 @@ namespace AmplifyShaderEditor } } - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); - if( m_keywordModeType != KeywordModeType.KeywordEnum ) + if( node.m_keywordModeType != KeywordModeType.KeywordEnum ) { m_varRect = m_remainingBox; m_varRect.size = Vector2.one * 22 * drawInfo.InvertedZoom; @@ -732,7 +741,6 @@ namespace AmplifyShaderEditor m_iconPos.y += 10 * drawInfo.InvertedZoom; m_iconPos.x += /*m_globalPosition.width - m_iconPos.width - */5 * drawInfo.InvertedZoom; } - } void CheckReferenceValues( bool forceUpdate ) @@ -846,26 +854,30 @@ namespace AmplifyShaderEditor if( m_staticSwitchVarMode == StaticSwitchVariableMode.Reference ) { GUI.Label( m_iconPos, string.Empty, UIUtils.GetCustomStyle( CustomStyle.SamplerTextureIcon ) ); - return; + GUI.enabled = false; } - if( m_createToggle && ContainerGraph.LodLevel <= ParentGraph.NodeLOD.LOD2 ) - { - if( !m_editing ) - { - if( m_keywordModeType != KeywordModeType.KeywordEnum ) - { - GUI.Label( m_varRect, GUIContent.none, UIUtils.GraphButton ); + StaticSwitch node = ( m_staticSwitchVarMode == StaticSwitchVariableMode.Reference && m_reference != null ) ? m_reference : this; - if( CurrentSelectedInput == 1 ) - GUI.Label( m_varRect, m_checkContent, UIUtils.GraphButtonIcon ); - } - else - { - GUI.Label( m_varRect, m_keywordEnumList[ CurrentSelectedInput ], UIUtils.GraphDropDown ); - GUI.Label( m_imgRect, m_popContent, UIUtils.GraphButtonIcon ); - } + if( !m_editing && m_createToggle && ContainerGraph.LodLevel <= ParentGraph.NodeLOD.LOD2 ) + { + if( node.m_keywordModeType != KeywordModeType.KeywordEnum ) + { + GUI.Label( m_varRect, GUIContent.none, UIUtils.GraphButton ); + + if( node.CurrentSelectedInput == 1 ) + GUI.Label( m_varRect, m_checkContent, UIUtils.GraphButtonIcon ); } + else + { + GUI.Label( m_varRect, node.m_keywordEnumList[ node.CurrentSelectedInput ], UIUtils.GraphDropDown ); + GUI.Label( m_imgRect, m_popContent, UIUtils.GraphButtonIcon ); + } + } + + if( m_staticSwitchVarMode == StaticSwitchVariableMode.Reference ) + { + GUI.enabled = true; } } @@ -1010,7 +1022,7 @@ namespace AmplifyShaderEditor for ( int i = 0; i < node.KeywordEnumAmount; i++ ) allOutputs[ i ] = m_inputPorts[ i ].GeneratePortInstructions( ref dataCollector ); - if ( m_multiCompile == ( int )KeywordType.DynamicBranch ) + if ( node.m_multiCompile == ( int )KeywordType.DynamicBranch ) { dataCollector.AddLocalVariable( UniqueId, outType + " dynamicSwitch" + OutputId + " = ( " + outType + " )0;", true ); for ( int i = 0; i < node.KeywordEnumAmount; i++ ) @@ -1054,7 +1066,7 @@ namespace AmplifyShaderEditor string falseCode = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); string trueCode = m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ); - if ( m_multiCompile == ( int )KeywordType.DynamicBranch ) + if ( node.m_multiCompile == ( int )KeywordType.DynamicBranch ) { dataCollector.AddLocalVariable( UniqueId, outType + " dynamicSwitch" + OutputId + " = ( " + outType + " )0;", true ); dataCollector.AddLocalVariable( UniqueId, "UNITY_BRANCH if ( " + node.CurrentKeyword + " )", true ); @@ -1081,7 +1093,7 @@ namespace AmplifyShaderEditor } } - if ( m_multiCompile == ( int )KeywordType.DynamicBranch ) + if ( node.m_multiCompile == ( int )KeywordType.DynamicBranch ) { m_outputPorts[ 0 ].SetLocalValue( "dynamicSwitch" + OutputId, dataCollector.PortCategory ); } @@ -1257,10 +1269,10 @@ namespace AmplifyShaderEditor public override void ReleaseRansomedProperty() { //on old ASE, the property node m_variableMode was used on defining the static switch type, now we have a specific m_staticSwitchVarMode over here - //the problem with this is the fix made to release ransomend property names( hash deb232819fff0f1aeaf029a21c55ef597b3424de ) uses m_variableMode and + //the problem with this is the fix made to release ransomend property names( hash deb232819fff0f1aeaf029a21c55ef597b3424de ) uses m_variableMode and //makes old static switches to attempt and register an already registered name when doing this: //CurrentVariableMode = VariableMode.Create; - //So we need to disable this release ransom property behavior as m_variableMode should never be on VariableMode.Create + //So we need to disable this release ransom property behavior as m_variableMode should never be on VariableMode.Create //The m_variableMode is set to its default value over the ReadFromString method after its value as been set over the new m_staticSwitchVarMode variable } @@ -1332,6 +1344,17 @@ namespace AmplifyShaderEditor CheckReferenceValues( true ); } + public override void ReconnectClipboardReferences( Clipboard clipboard ) + { + // validate node first + int newId = clipboard.GeNewNodeId( m_referenceNodeId ); + if ( ContainerGraph.GetNode( newId ) != null ) + { + m_referenceNodeId = newId; + } + RefreshExternalReferences(); + } + StaticSwitchVariableMode CurrentVarMode { get { return m_staticSwitchVarMode; } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/StaticSwitch.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/StaticSwitch.cs.meta index 41a54cb3..5f9d697c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/StaticSwitch.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/StaticSwitch.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/StaticSwitch.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/StaticSwitch.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TauNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TauNode.cs index 4901dbbf..a71b3e77 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TauNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TauNode.cs @@ -6,6 +6,7 @@ using UnityEngine; using System; +using System.Globalization; namespace AmplifyShaderEditor { @@ -13,7 +14,7 @@ namespace AmplifyShaderEditor [NodeAttributes( "Tau", "Constants And Properties", "Tau constant (2*PI): 6.28318530718", null, KeyCode.None, true, false, null,null, "The Four Headed Cat - @fourheadedcat" )] public sealed class TauNode : ParentNode { - private readonly string Tau = ( 2.0 * Mathf.PI ).ToString(); + private readonly string Tau = ( 2.0 * Mathf.PI ).ToString( CultureInfo.InvariantCulture ); public TauNode() : base() { } public TauNode( int uniqueId, float x, float y, float width, float height ) : base( uniqueId, x, y, width, height ) { } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TauNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TauNode.cs.meta index 9d8ae41e..c862ff33 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TauNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TauNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TauNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TauNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TextureArrayNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TextureArrayNode.cs index 7ba4418a..0140d7fa 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TextureArrayNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TextureArrayNode.cs @@ -428,9 +428,9 @@ namespace AmplifyShaderEditor } } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); if( m_drawPreview ) { @@ -700,15 +700,15 @@ namespace AmplifyShaderEditor if( m_mipMode == MipType.MipBias ) { GeneratorUtils.AddCustomArraySamplingMacros( ref dataCollector ); - result = "ASE_SAMPLE_TEX2DARRAY_GRAD(" + propertyName + ", float3(" + uvs + ", " + index + "), " + m_ddxPort.GeneratePortInstructions( ref dataCollector ) + ", " + m_ddyPort.GeneratePortInstructions( ref dataCollector ) + " )"; + result = "ASE_SAMPLE_TEX2DARRAY_GRAD( " + propertyName + ", float3( " + uvs + ", " + index + " ), " + m_ddxPort.GeneratePortInstructions( ref dataCollector ) + ", " + m_ddyPort.GeneratePortInstructions( ref dataCollector ) + " )"; } else if( m_lodPort.Visible || isVertex ) { - result = "UNITY_SAMPLE_TEX2DARRAY_LOD(" + propertyName + ", float3(" + uvs + ", " + index + "), " + level + " )"; + result = "UNITY_SAMPLE_TEX2DARRAY_LOD( " + propertyName + ", float3( " + uvs + ", " + index + " ), " + level + " )"; } else { - result = "UNITY_SAMPLE_TEX2DARRAY" + ( m_lodPort.Visible || isVertex ? "_LOD" : "" ) + "(" + propertyName + ", float3(" + uvs + ", " + index + ") " + ( m_lodPort.Visible || isVertex ? ", " + level : "" ) + " )"; + result = "UNITY_SAMPLE_TEX2DARRAY" + ( m_lodPort.Visible || isVertex ? "_LOD" : "" ) + "( " + propertyName + ", float3( " + uvs + ", " + index + " ) " + ( m_lodPort.Visible || isVertex ? ", " + level : "" ) + " )"; } } @@ -763,7 +763,7 @@ namespace AmplifyShaderEditor public override string GetPropertyValue() { - return PropertyAttributes + PropertyName + "(\"" + PropertyInspectorName + "\", 2DArray ) = \"\" {}"; + return PropertyAttributes + PropertyAttributesSeparator + PropertyName + "( \"" + PropertyInspectorName + "\", 2DArray ) = \"\" {}"; } public override bool GetUniformData( out string dataType, out string dataName, ref bool fullValue ) @@ -828,6 +828,17 @@ namespace AmplifyShaderEditor OnPropertyNameChanged(); } + public override void ReconnectClipboardReferences( Clipboard clipboard ) + { + // validate node first + int newId = clipboard.GeNewNodeId( m_referenceNodeId ); + if ( ContainerGraph.GetNode( newId ) != null ) + { + m_referenceNodeId = newId; + } + RefreshExternalReferences(); + } + public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) { base.WriteToString( ref nodeInfo, ref connectionsInfo ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TextureArrayNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TextureArrayNode.cs.meta index 8ef67f1b..5e29dac8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TextureArrayNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TextureArrayNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TextureArrayNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/TextureArrayNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector2Node.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector2Node.cs index 150a68ba..b3974d98 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector2Node.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector2Node.cs @@ -8,7 +8,7 @@ using System; namespace AmplifyShaderEditor { [System.Serializable] - [NodeAttributes( "Vector2", "Constants And Properties", "Vector2 property", null, KeyCode.Alpha2 )] + [NodeAttributes( "Vector2", "Constants And Properties", "Vector2 property", null, KeyCode.Alpha2, tags: "vec2 v2 2" )] public sealed class Vector2Node : PropertyNode { [SerializeField] @@ -24,7 +24,7 @@ namespace AmplifyShaderEditor private bool m_isEditingFields; private Vector2 m_previousValue = Vector2.zero; private string[] m_fieldText = new string[] { "0", "0" }; - + public Vector2Node() : base() { } public Vector2Node( int uniqueId, float x, float y, float width, float height ) : base( uniqueId, x, y, width, height ) { } protected override void CommonInit( int uniqueId ) @@ -63,7 +63,7 @@ namespace AmplifyShaderEditor public override void SetPreviewInputs() { base.SetPreviewInputs(); - + if ( m_cachedPropertyId == -1 ) m_cachedPropertyId = Shader.PropertyToID( "_InputVector" ); @@ -73,9 +73,9 @@ namespace AmplifyShaderEditor PreviewMaterial.SetVector( m_cachedPropertyId, new Vector4( m_defaultValue[ 0 ], m_defaultValue[ 1 ], 0, 0 ) ); } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_propertyDrawPos = m_remainingBox; m_propertyDrawPos.x = m_remainingBox.x - LabelWidth * drawInfo.InvertedZoom; @@ -105,7 +105,7 @@ namespace AmplifyShaderEditor m_isEditingFields = false; } } - + public override void Draw( DrawInfo drawInfo ) { base.Draw( drawInfo ); @@ -195,7 +195,7 @@ namespace AmplifyShaderEditor if ( m_currentParameterType != PropertyType.Constant ) return GetOutputVectorItem( 0, outputId, PropertyData( dataCollector.PortCategory ) ); - + if ( m_outputPorts[ outputId ].IsLocalValue( dataCollector.PortCategory ) ) { return m_outputPorts[ outputId ].LocalValue( dataCollector.PortCategory ); @@ -239,9 +239,10 @@ namespace AmplifyShaderEditor { string x = UIUtils.PropertyFloatToString( m_defaultValue.x ); string y = UIUtils.PropertyFloatToString( m_defaultValue.y ); - return PropertyAttributes + m_propertyName + "(\"" + m_propertyInspectorName + "\", Vector) = (" + x + "," + y + ",0,0)"; + return PropertyAttributes + PropertyAttributesSeparator + m_propertyName + "( \"" + m_propertyInspectorName + + "\", Vector ) = ( " + x + ", " + y + ", 0, 0 )"; } - + public override void UpdateMaterial( Material mat ) { base.UpdateMaterial( mat ); @@ -285,7 +286,7 @@ namespace AmplifyShaderEditor IOUtils.AddFieldValueToString( ref nodeInfo, IOUtils.Vector2ToString( m_defaultValue ) ); IOUtils.AddFieldValueToString( ref nodeInfo, IOUtils.Vector2ToString( m_materialValue ) ); } - + public override string GetPropertyValStr() { return ( m_materialMode && m_currentParameterType != PropertyType.Constant ) ? m_materialValue.x.ToString( Mathf.Abs( m_materialValue.x ) > 1000 ? Constants.PropertyBigVectorFormatLabel : Constants.PropertyVectorFormatLabel ) + IOUtils.VECTOR_SEPARATOR + diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector2Node.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector2Node.cs.meta index 8e9a3506..48741246 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector2Node.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector2Node.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector2Node.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector2Node.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector3Node.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector3Node.cs index 1ac00719..bf844849 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector3Node.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector3Node.cs @@ -8,7 +8,7 @@ using System; namespace AmplifyShaderEditor { [System.Serializable] - [NodeAttributes( "Vector3", "Constants And Properties", "Vector3 property", null, KeyCode.Alpha3 )] + [NodeAttributes( "Vector3", "Constants And Properties", "Vector3 property", null, KeyCode.Alpha3, tags: "vec3 v3 3" )] public sealed class Vector3Node : PropertyNode { [SerializeField] @@ -151,9 +151,9 @@ namespace AmplifyShaderEditor } } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_propertyDrawPos = m_remainingBox; m_propertyDrawPos.x = m_remainingBox.x - LabelWidth * drawInfo.InvertedZoom; @@ -218,7 +218,7 @@ namespace AmplifyShaderEditor { case 0: { - result = m_precisionString + "(" + value.x + "," + value.y + "," + value.z + ")"; + result = m_precisionString + "( " + value.x + ", " + value.y + ", " + value.z + " )"; } break; @@ -251,7 +251,8 @@ namespace AmplifyShaderEditor string x = UIUtils.PropertyFloatToString( m_defaultValue.x ); string y = UIUtils.PropertyFloatToString( m_defaultValue.y ); string z = UIUtils.PropertyFloatToString( m_defaultValue.z ); - return PropertyAttributes + m_propertyName + "(\"" + m_propertyInspectorName + "\", Vector) = (" + x + "," + y + "," + z + ",0)"; + return PropertyAttributes + PropertyAttributesSeparator + m_propertyName + "( \"" + m_propertyInspectorName + + "\", Vector ) = ( " + x + ", " + y + ", " + z + ", 0 )"; } public override void UpdateMaterial( Material mat ) @@ -291,7 +292,7 @@ namespace AmplifyShaderEditor public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) { - base.WriteToString( ref nodeInfo, ref connectionsInfo ); + base.WriteToString( ref nodeInfo, ref connectionsInfo ); IOUtils.AddFieldValueToString( ref nodeInfo, IOUtils.Vector3ToString( m_defaultValue ) ); IOUtils.AddFieldValueToString( ref nodeInfo, IOUtils.Vector3ToString( m_materialValue ) ); } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector3Node.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector3Node.cs.meta index 472ee4b6..e232665e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector3Node.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector3Node.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector3Node.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector3Node.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector4Node.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector4Node.cs index 658d8195..de208ef0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector4Node.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector4Node.cs @@ -8,7 +8,7 @@ using System; namespace AmplifyShaderEditor { [Serializable] - [NodeAttributes( "Vector4", "Constants And Properties", "Vector4 property", null, KeyCode.Alpha4 )] + [NodeAttributes( "Vector4", "Constants And Properties", "Vector4 property", null, KeyCode.Alpha4, tags: "vec4 v4 4" )] public sealed class Vector4Node : PropertyNode { [SerializeField] @@ -24,7 +24,7 @@ namespace AmplifyShaderEditor private bool m_isEditingFields; private Vector4 m_previousValue = Vector4.zero; private string[] m_fieldText = new string[] { "0", "0", "0", "0" }; - + public Vector4Node() : base() { } public Vector4Node( int uniqueId, float x, float y, float width, float height ) : base( uniqueId, x, y, width, height ) { } protected override void CommonInit( int uniqueId ) @@ -64,7 +64,7 @@ namespace AmplifyShaderEditor public override void SetPreviewInputs() { base.SetPreviewInputs(); - + if ( m_cachedPropertyId == -1 ) m_cachedPropertyId = Shader.PropertyToID( "_InputVector" ); @@ -74,9 +74,9 @@ namespace AmplifyShaderEditor PreviewMaterial.SetVector( m_cachedPropertyId, new Vector4( m_defaultValue[ 0 ], m_defaultValue[ 1 ], m_defaultValue[ 2 ], m_defaultValue[ 3 ] ) ); } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_propertyDrawPos = m_remainingBox; m_propertyDrawPos.x = m_remainingBox.x - LabelWidth * drawInfo.InvertedZoom; @@ -217,7 +217,7 @@ namespace AmplifyShaderEditor { case 0: { - result = m_precisionString+"(" + value.x + "," + value.y + "," + value.z + "," + value.w + ")"; + result = m_precisionString+"( " + value.x + ", " + value.y + ", " + value.z + ", " + value.w + " )"; } break; @@ -256,9 +256,10 @@ namespace AmplifyShaderEditor string y = UIUtils.PropertyFloatToString( m_defaultValue.y ); string z = UIUtils.PropertyFloatToString( m_defaultValue.z ); string w = UIUtils.PropertyFloatToString( m_defaultValue.w ); - return PropertyAttributes + m_propertyName + "(\"" + m_propertyInspectorName + "\", Vector) = (" + x + "," + y + "," + z + "," + w + ")"; + return PropertyAttributes + PropertyAttributesSeparator + m_propertyName + "( \"" + m_propertyInspectorName + + "\", Vector ) = ( " + x + ", " + y + ", " + z + ", " + w + " )"; } - + public override void UpdateMaterial( Material mat ) { base.UpdateMaterial( mat ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector4Node.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector4Node.cs.meta index 7428cade..d0614bfe 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector4Node.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector4Node.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector4Node.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Constants/Vector4Node.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CustomAddNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CustomAddNode.cs.meta index 9ce5fb8f..398acc33 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CustomAddNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CustomAddNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/CustomAddNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CustomAddNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CustomNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CustomNode.cs.meta index 1e0f5c0c..5c3815bf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CustomNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CustomNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/CustomNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/CustomNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DrawInfo.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DrawInfo.cs.meta index 35ce351c..713889cf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DrawInfo.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DrawInfo.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/DrawInfo.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DrawInfo.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DynamicTypeNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DynamicTypeNode.cs index e227f66f..02a13e6a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DynamicTypeNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DynamicTypeNode.cs @@ -41,7 +41,7 @@ namespace AmplifyShaderEditor WirePortDataType.INT, WirePortDataType.UINT }; - + protected override void CommonInit( int uniqueId ) { base.CommonInit( uniqueId ); @@ -83,9 +83,10 @@ namespace AmplifyShaderEditor if( m_extensibleInputPorts || m_allowMatrixCheck ) { int higher = 0; - int groupOneType = 0; - int groupTwoType = 0; - for( int i = 0; i < m_inputPorts.Count; i++ ) + int groupType1 = 0; + int groupType2 = 0; + int groupType3 = 0; + for ( int i = 0; i < m_inputPorts.Count; i++ ) { if( m_inputPorts[ i ].IsConnected ) { @@ -104,18 +105,24 @@ namespace AmplifyShaderEditor case WirePortDataType.FLOAT4: case WirePortDataType.COLOR: { - groupOneType++; - groupTwoType++; + groupType1++; + groupType2++; + groupType3++; } break; case WirePortDataType.FLOAT3x3: { - groupOneType++; + groupType1++; } break; case WirePortDataType.FLOAT4x4: { - groupTwoType++; + groupType2++; + } + break; + case WirePortDataType.FLOAT2x2: + { + groupType3++; } break; } @@ -130,16 +137,21 @@ namespace AmplifyShaderEditor } } - if( groupOneType > 0 && m_mainDataType == WirePortDataType.FLOAT4x4 ) + if( groupType1 > 0 && m_mainDataType == WirePortDataType.FLOAT4x4 ) { m_errorMessageTooltip = "Doing this operation with FLOAT4x4 value only works against other FLOAT4x4 or FLOAT values"; m_showErrorMessage = true; } - else if( groupTwoType > 0 && m_mainDataType == WirePortDataType.FLOAT3x3 ) + else if( groupType2 > 0 && m_mainDataType == WirePortDataType.FLOAT3x3 ) { m_errorMessageTooltip = "Doing this operation with FLOAT3x3 value only works against other FLOAT3x3 or FLOAT values"; m_showErrorMessage = true; } + else if ( groupType3 > 0 && m_mainDataType == WirePortDataType.FLOAT2x2 ) + { + m_errorMessageTooltip = "Doing this operation with FLOAT2x2 value only works against other FLOAT2x2 or FLOAT values"; + m_showErrorMessage = true; + } else { m_showErrorMessage = false; @@ -191,8 +203,9 @@ namespace AmplifyShaderEditor m_inputPorts[ portId ].MatchPortToConnection(); int higher = 0; - int groupOneType = 0; - int groupTwoType = 0; + int groupType1 = 0; + int groupType2 = 0; + int groupType3 = 0; for( int i = 0; i < m_inputPorts.Count; i++ ) { if( m_inputPorts[ i ].IsConnected ) @@ -212,18 +225,24 @@ namespace AmplifyShaderEditor case WirePortDataType.FLOAT4: case WirePortDataType.COLOR: { - groupOneType++; - groupTwoType++; + groupType1++; + groupType2++; + groupType3++; } break; case WirePortDataType.FLOAT3x3: { - groupOneType++; + groupType1++; } break; case WirePortDataType.FLOAT4x4: { - groupTwoType++; + groupType2++; + } + break; + case WirePortDataType.FLOAT2x2: + { + groupType3++; } break; } @@ -237,16 +256,21 @@ namespace AmplifyShaderEditor m_inputPorts[ i ].ChangeType( m_mainDataType, false ); } } - if( groupOneType > 0 && m_mainDataType == WirePortDataType.FLOAT4x4 ) + if( ( groupType1 > 0 || groupType3 > 0 ) && m_mainDataType == WirePortDataType.FLOAT4x4 ) { m_errorMessageTooltip = "Doing this operation with FLOAT4x4 value only works against other FLOAT4x4 or FLOAT values"; m_showErrorMessage = true; } - else if( groupTwoType > 0 && m_mainDataType == WirePortDataType.FLOAT3x3 ) + else if( ( groupType2 > 0 || groupType3 > 0 ) && m_mainDataType == WirePortDataType.FLOAT3x3 ) { m_errorMessageTooltip = "Doing this operation with FLOAT3x3 value only works against other FLOAT3x3 or FLOAT values"; m_showErrorMessage = true; } + else if ( ( groupType1 > 0 || groupType2 > 0 ) && m_mainDataType == WirePortDataType.FLOAT2x2 ) + { + m_errorMessageTooltip = "Doing this operation with FLOAT2x2 value only works against other FLOAT2x2 or FLOAT values"; + m_showErrorMessage = true; + } else { m_showErrorMessage = false; @@ -351,7 +375,7 @@ namespace AmplifyShaderEditor bool hasEmptyConnections = false; - bool hasMatrix = m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT3x3 || m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT4x4 || m_inputPorts[ 1 ].DataType == WirePortDataType.FLOAT3x3 || m_inputPorts[ 1 ].DataType == WirePortDataType.FLOAT4x4; + bool hasMatrix = m_inputPorts[ 0 ].DataTypeIsMatrix || m_inputPorts[ 1 ].DataTypeIsMatrix; if( m_inputPorts.Count != m_beforePreviewCount ) { @@ -375,7 +399,7 @@ namespace AmplifyShaderEditor { for( int i = m_inputPorts.Count - 1; i >= 2; i-- ) { - if( m_inputPorts[ i ].DataType == WirePortDataType.FLOAT3x3 || m_inputPorts[ i ].DataType == WirePortDataType.FLOAT4x4 ) + if( m_inputPorts[ i ].DataTypeIsMatrix ) { m_containerGraph.ParentWindow.ShowMessage( UniqueId, "Matrix operations are only valid for the first two inputs to prevent errors" ); m_inputPorts[ i ].FullDeleteConnections(); @@ -456,6 +480,11 @@ namespace AmplifyShaderEditor public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) { + if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) + { + return m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ); + } + string result = BuildResults( outputId, ref dataCollector, ignoreLocalvar ); return CreateOutputLocalVariable( 0, result, ref dataCollector ); } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DynamicTypeNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DynamicTypeNode.cs.meta index 6fe11cc6..9b10de71 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DynamicTypeNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DynamicTypeNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/DynamicTypeNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/DynamicTypeNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/CameraDepthFade.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/CameraDepthFade.cs.meta index e816935b..c188ed1b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/CameraDepthFade.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/CameraDepthFade.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/CameraDepthFade.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/CameraDepthFade.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ComputeGrabScreenPosHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ComputeGrabScreenPosHlpNode.cs.meta index 68368256..c007fdb2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ComputeGrabScreenPosHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ComputeGrabScreenPosHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ComputeGrabScreenPosHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ComputeGrabScreenPosHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ComputeScreenPosHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ComputeScreenPosHlpNode.cs.meta index 3589fa9c..5864d250 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ComputeScreenPosHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ComputeScreenPosHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ComputeScreenPosHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ComputeScreenPosHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeDepthNormalNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeDepthNormalNode.cs.meta index 46ffcdbe..35418e8f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeDepthNormalNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeDepthNormalNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeDepthNormalNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeDepthNormalNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeFloatRGBAHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeFloatRGBAHlpNode.cs.meta index 44de3d25..7df65a97 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeFloatRGBAHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeFloatRGBAHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeFloatRGBAHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeFloatRGBAHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeFloatRGHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeFloatRGHlpNode.cs.meta index 20a29509..a48ea4e6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeFloatRGHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeFloatRGHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeFloatRGHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeFloatRGHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeLightmapHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeLightmapHlpNode.cs.meta index 923da421..2e4ad135 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeLightmapHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeLightmapHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeLightmapHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeLightmapHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeViewNormalStereoHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeViewNormalStereoHlpNode.cs.meta index b2df9b80..547f8ea5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeViewNormalStereoHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeViewNormalStereoHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeViewNormalStereoHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DecodeViewNormalStereoHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs index 0af28b8b..fb5b6299 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs @@ -21,7 +21,7 @@ namespace AmplifyShaderEditor private bool m_saturate = false; [SerializeField] - private bool m_mirror = true; + private bool m_mirror = false; protected override void CommonInit( int uniqueId ) { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs.meta index 49f1b071..41ba8e1e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DepthFade.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DiffuseAndSpecularFromMetallicNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DiffuseAndSpecularFromMetallicNode.cs.meta index 835eaa41..6911af2e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DiffuseAndSpecularFromMetallicNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DiffuseAndSpecularFromMetallicNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DiffuseAndSpecularFromMetallicNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DiffuseAndSpecularFromMetallicNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DitheringNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DitheringNode.cs index 12b964e6..8828d49c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DitheringNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DitheringNode.cs @@ -125,14 +125,14 @@ namespace AmplifyShaderEditor { m_functionBody = string.Empty; m_functionHeader = "Dither" + PatternsFuncStr[ m_selectedPatternInt ] + "( {0}, {1} )"; - IOUtils.AddFunctionHeader( ref m_functionBody, "inline float Dither" + PatternsFuncStr[ m_selectedPatternInt ] + "( int x, int y )" ); + IOUtils.AddFunctionHeader( ref m_functionBody, "inline float Dither" + PatternsFuncStr[ m_selectedPatternInt ] + "( uint x, uint y )" ); IOUtils.AddFunctionLine( ref m_functionBody, "const float dither[ 16 ] = {" ); IOUtils.AddFunctionLine( ref m_functionBody, " 1, 9, 3, 11," ); IOUtils.AddFunctionLine( ref m_functionBody, " 13, 5, 15, 7," ); IOUtils.AddFunctionLine( ref m_functionBody, " 4, 12, 2, 10," ); IOUtils.AddFunctionLine( ref m_functionBody, " 16, 8, 14, 6 };" ); - IOUtils.AddFunctionLine( ref m_functionBody, "int r = y * 4 + x;" ); - IOUtils.AddFunctionLine( ref m_functionBody, "return dither[ r ] / 16; // same # of instructions as pre-dividing due to compiler magic" ); + IOUtils.AddFunctionLine( ref m_functionBody, "uint r = y * 4 + x;" ); + IOUtils.AddFunctionLine( ref m_functionBody, "return dither[ min( r, 15 ) ] / 16; // same # of instructions as pre-dividing due to compiler magic" ); IOUtils.CloseFunctionBody( ref m_functionBody ); } break; @@ -140,7 +140,7 @@ namespace AmplifyShaderEditor { m_functionBody = string.Empty; m_functionHeader = "Dither" + PatternsFuncStr[ m_selectedPatternInt ] + "( {0}, {1} )"; - IOUtils.AddFunctionHeader( ref m_functionBody, "inline float Dither" + PatternsFuncStr[ m_selectedPatternInt ] + "( int x, int y )" ); + IOUtils.AddFunctionHeader( ref m_functionBody, "inline float Dither" + PatternsFuncStr[ m_selectedPatternInt ] + "( uint x, uint y )" ); IOUtils.AddFunctionLine( ref m_functionBody, "const float dither[ 64 ] = {" ); IOUtils.AddFunctionLine( ref m_functionBody, " 1, 49, 13, 61, 4, 52, 16, 64," ); IOUtils.AddFunctionLine( ref m_functionBody, " 33, 17, 45, 29, 36, 20, 48, 32," ); @@ -150,8 +150,8 @@ namespace AmplifyShaderEditor IOUtils.AddFunctionLine( ref m_functionBody, " 35, 19, 47, 31, 34, 18, 46, 30," ); IOUtils.AddFunctionLine( ref m_functionBody, " 11, 59, 7, 55, 10, 58, 6, 54," ); IOUtils.AddFunctionLine( ref m_functionBody, " 43, 27, 39, 23, 42, 26, 38, 22};" ); - IOUtils.AddFunctionLine( ref m_functionBody, "int r = y * 8 + x;" ); - IOUtils.AddFunctionLine( ref m_functionBody, "return dither[ r ] / 64; // same # of instructions as pre-dividing due to compiler magic" ); + IOUtils.AddFunctionLine( ref m_functionBody, "uint r = y * 8 + x;" ); + IOUtils.AddFunctionLine( ref m_functionBody, "return dither[ min( r, 63 ) ] / 64; // same # of instructions as pre-dividing due to compiler magic" ); IOUtils.CloseFunctionBody( ref m_functionBody ); } break; @@ -164,7 +164,8 @@ namespace AmplifyShaderEditor IOUtils.AddFunctionHeader( ref m_functionBody, "inline float Dither" + PatternsFuncStr[ m_selectedPatternInt ] + "( float4 screenPos, " + GeneratorUtils.GetPropertyDeclaraction( "noiseTexture", TextureType.Texture2D, ", " ) + GeneratorUtils.GetSamplerDeclaraction( "samplernoiseTexture", TextureType.Texture2D, ", " ) + "float4 noiseTexelSize )" ); - string samplingCall = GeneratorUtils.GenerateSamplingCall( ref dataCollector, WirePortDataType.SAMPLER2D, "noiseTexture", "samplernoiseTexture", "screenPos.xy * _ScreenParams.xy * noiseTexelSize.xy", MipType.MipLevel, "0" ); + string screenParams = dataCollector.IsURP ? "_ScaledScreenParams" : "_ScreenParams"; + string samplingCall = GeneratorUtils.GenerateSamplingCall( ref dataCollector, WirePortDataType.SAMPLER2D, "noiseTexture", "samplernoiseTexture", "screenPos.xy * " + screenParams + ".xy * noiseTexelSize.xy", MipType.MipLevel, "0" ); IOUtils.AddFunctionLine( ref m_functionBody, "float dither = "+ samplingCall + ".g;" ); IOUtils.AddFunctionLine( ref m_functionBody, "float ditherRate = noiseTexelSize.x * noiseTexelSize.y;" ); IOUtils.AddFunctionLine( ref m_functionBody, "dither = ( 1 - ditherRate ) * dither + ditherRate;" ); @@ -215,7 +216,7 @@ namespace AmplifyShaderEditor } } } - + //string surfInstruction = string.Format( "abs( {0}.xy ) * _ScreenParams.xy", varName ); m_showErrorMessage = false; string functionResult = ""; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DitheringNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DitheringNode.cs.meta index aa99af61..b60d3e61 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DitheringNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DitheringNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DitheringNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/DitheringNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeDepthNormalNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeDepthNormalNode.cs.meta index 83db8e8e..b5f2d5a7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeDepthNormalNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeDepthNormalNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeDepthNormalNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeDepthNormalNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeFloatRGBAHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeFloatRGBAHlpNode.cs.meta index 0bd4d50a..debbab80 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeFloatRGBAHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeFloatRGBAHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeFloatRGBAHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeFloatRGBAHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeFloatRGHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeFloatRGHlpNode.cs.meta index 44b52dcf..0b314a67 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeFloatRGHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeFloatRGHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeFloatRGHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeFloatRGHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeViewNormalStereoHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeViewNormalStereoHlpNode.cs.meta index 2d81a4bb..f61a4ae8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeViewNormalStereoHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeViewNormalStereoHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeViewNormalStereoHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/EncodeViewNormalStereoHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/GammaToLinearNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/GammaToLinearNode.cs.meta index 703e4d43..482d17a2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/GammaToLinearNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/GammaToLinearNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/GammaToLinearNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/GammaToLinearNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/HelperParentNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/HelperParentNode.cs.meta index b1414ef2..c1e5e16f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/HelperParentNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/HelperParentNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/HelperParentNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/HelperParentNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/LinearToGammaNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/LinearToGammaNode.cs.meta index ac87a8e7..01fe6b7a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/LinearToGammaNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/LinearToGammaNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/LinearToGammaNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/LinearToGammaNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/LuminanceHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/LuminanceHlpNode.cs.meta index 21335731..2b6d98cf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/LuminanceHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/LuminanceHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/LuminanceHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/LuminanceHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ObjSpaceLightDirHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ObjSpaceLightDirHlpNode.cs.meta index bcb73549..af4c7e4c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ObjSpaceLightDirHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ObjSpaceLightDirHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ObjSpaceLightDirHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ObjSpaceLightDirHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ObjSpaceViewDirHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ObjSpaceViewDirHlpNode.cs.meta index 07576404..90fa107f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ObjSpaceViewDirHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ObjSpaceViewDirHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ObjSpaceViewDirHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ObjSpaceViewDirHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxMappingNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxMappingNode.cs.meta index 0cfb39d4..fc98fd03 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxMappingNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxMappingNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxMappingNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxMappingNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOcclusionMappingNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOcclusionMappingNode.cs index 32605fd7..692066d7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOcclusionMappingNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOcclusionMappingNode.cs @@ -297,20 +297,20 @@ namespace AmplifyShaderEditor } string worldViewDir = GeneratorUtils.GenerateViewDirection( ref dataCollector, UniqueId, space: ViewSpace.World ); - - string dx = "ddx("+ textcoords + ")"; - string dy = "ddy(" + textcoords + ")"; + + string dx = "ddx( " + textcoords + " )"; + string dy = "ddy( " + textcoords + " )"; string refPlane = m_defaultRefPlane.ToString(); if ( m_refPlanePort.IsConnected ) refPlane = m_refPlanePort.GeneratePortInstructions( ref dataCollector ); - string curvature = "float2("+ m_CurvatureVector.x + "," + m_CurvatureVector.y + ")"; + string curvature = "float2( "+ m_CurvatureVector.x + ", " + m_CurvatureVector.y + " )"; if ( m_useCurvature ) { - dataCollector.AddToProperties( UniqueId, "[Header(Parallax Occlusion Mapping)]", 300 ); - dataCollector.AddToProperties( UniqueId, "_CurvFix(\"Curvature Bias\", Range( 0 , 1)) = 1", 301 ); + dataCollector.AddToProperties( UniqueId, "[Header( Parallax Occlusion Mapping )]", 300 ); + dataCollector.AddToProperties( UniqueId, "_CurvFix(\"Curvature Bias\", Range( 0, 1 ) ) = 1", 301 ); dataCollector.AddToUniforms( UniqueId, "uniform float _CurvFix;" ); if ( m_curvaturePort.IsConnected ) diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOcclusionMappingNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOcclusionMappingNode.cs.meta index 88e833b6..5c5a26bf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOcclusionMappingNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOcclusionMappingNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOcclusionMappingNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOcclusionMappingNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOffsetHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOffsetHlpNode.cs.meta index 4549e0ef..7fd092fc 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOffsetHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOffsetHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOffsetHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ParallaxOffsetHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ShadeVertexLightsHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ShadeVertexLightsHlpNode.cs.meta index 0e308ea6..34b17a67 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ShadeVertexLightsHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ShadeVertexLightsHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ShadeVertexLightsHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/ShadeVertexLightsHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/SurfaceDepthNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/SurfaceDepthNode.cs.meta index 0ca53c04..bac84065 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/SurfaceDepthNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/SurfaceDepthNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/SurfaceDepthNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/SurfaceDepthNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/TriplanarNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/TriplanarNode.cs index 2558ca12..44c608f4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/TriplanarNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/TriplanarNode.cs @@ -14,7 +14,7 @@ namespace AmplifyShaderEditor private bool m_editPropertyNameMode = false; [SerializeField] - private string m_propertyInspectorName = "Triplanar Sampler"; + private string m_propertyInspectorName = "Triplanar Sample"; private enum TriplanarType { Spherical, Cylindrical } @@ -76,7 +76,11 @@ namespace AmplifyShaderEditor private InputPort m_scalePort; private InputPort m_posPort; - + private Vector4Node m_topTexSTHelper; + private Vector4Node m_midTexSTHelper; + private Vector4Node m_botTexSTHelper; + + private readonly string m_functionCall = "TriplanarSampling{0}( {1} )"; private readonly string m_functionHeader = "inline {0} TriplanarSampling{1}( {2}float3 worldPos, float3 worldNormal, float falloff, float2 tiling, float3 normalScale, float3 index )"; @@ -140,15 +144,7 @@ namespace AmplifyShaderEditor bool applyScale = false; if( dataCollector.IsTemplate && dataCollector.IsSRP ) { - if( dataCollector.TemplateDataCollectorInstance.IsHDRP ) - { - func = "UnpackNormalmapRGorAG"; - } - else - { - func = "UnpackNormalScale"; - } - + func = "UnpackNormalScale"; if( !scaleInfo ) { scale = " , 1.0"; @@ -214,7 +210,7 @@ namespace AmplifyShaderEditor m_showPreview = true; m_autoDrawInternalPortData = false; m_textLabelWidth = 125; - //m_propertyInspectorName = "Triplanar Sampler"; + //m_propertyInspectorName = "Triplanar Sample"; m_previewShaderGUID = "8723015ec59743143aadfbe480e34391"; } @@ -333,6 +329,23 @@ namespace AmplifyShaderEditor { base.Destroy(); + //Not calling m_texCoordsHelper.Destroy() on purpose so UIUtils does not incorrectly unregister stuff + if( m_topTexSTHelper != null ) + { + DestroyImmediate( m_topTexSTHelper ); + m_topTexSTHelper = null; + } + if( m_midTexSTHelper != null ) + { + DestroyImmediate( m_midTexSTHelper ); + m_midTexSTHelper = null; + } + if( m_botTexSTHelper != null ) + { + DestroyImmediate( m_botTexSTHelper ); + m_botTexSTHelper = null; + } + //UIUtils.UnregisterPropertyNode( m_topTexture ); //UIUtils.UnregisterTexturePropertyNode( m_topTexture ); @@ -430,7 +443,7 @@ namespace AmplifyShaderEditor if( !m_topTexPort.CheckValidType( type ) ) { m_topTexPort.FullDeleteConnections(); - UIUtils.ShowMessage( UniqueId, "Triplanar Sampler node only accepts SAMPLER2D and SAMPLER2DARRAY input types.\nTexture Object connected changed to " + type + ", connection was lost, please review and update accordingly.", MessageSeverity.Warning ); + UIUtils.ShowMessage( UniqueId, "Triplanar Sample node only accepts SAMPLER2D and SAMPLER2DARRAY input types.\nTexture Object connected changed to " + type + ", connection was lost, please review and update accordingly.", MessageSeverity.Warning ); } else { @@ -443,7 +456,7 @@ namespace AmplifyShaderEditor if( !m_midTexPort.CheckValidType( type ) ) { m_midTexPort.FullDeleteConnections(); - UIUtils.ShowMessage( UniqueId, "Triplanar Sampler node only accepts SAMPLER2D and SAMPLER2DARRAY input types.\nTexture Object connected changed to " + type + ", connection was lost, please review and update accordingly.", MessageSeverity.Warning ); + UIUtils.ShowMessage( UniqueId, "Triplanar Sample node only accepts SAMPLER2D and SAMPLER2DARRAY input types.\nTexture Object connected changed to " + type + ", connection was lost, please review and update accordingly.", MessageSeverity.Warning ); } else { @@ -456,7 +469,7 @@ namespace AmplifyShaderEditor if( !m_botTexPort.CheckValidType( type ) ) { m_botTexPort.FullDeleteConnections(); - UIUtils.ShowMessage( UniqueId, "Triplanar Sampler node only accepts SAMPLER2D and SAMPLER2DARRAY input types.\nTexture Object connected changed to " + type + ", connection was lost, please review and update accordingly.", MessageSeverity.Warning ); + UIUtils.ShowMessage( UniqueId, "Triplanar Sample node only accepts SAMPLER2D and SAMPLER2DARRAY input types.\nTexture Object connected changed to " + type + ", connection was lost, please review and update accordingly.", MessageSeverity.Warning ); } else { @@ -743,9 +756,9 @@ namespace AmplifyShaderEditor } } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_allPicker = m_previewRect; m_allPicker.x -= 43 * drawInfo.InvertedZoom; @@ -1054,6 +1067,46 @@ namespace AmplifyShaderEditor } } + private string GetScaleOffsetForTexture( ref MasterNodeDataCollector dataCollector, InputPort texPort, TexturePropertyNode texProp, ref Vector4Node texSTHelper ) + { + bool hasScaleOffset = true; + if ( texPort.IsConnected ) + { + var connectedTexProp = texPort.GetOutputNodeWhichIsNotRelay( 0 ) as TexturePropertyNode; + if ( connectedTexProp != null ) + { + hasScaleOffset = !connectedTexProp.GetPropertyValue().Contains( "[NoScaleOffset]" ); + texProp = connectedTexProp; + } + } + + string texCoordsST = string.Empty; + if ( hasScaleOffset ) + { + if ( texSTHelper == null ) + { + texSTHelper = CreateInstance(); + texSTHelper.ContainerGraph = ContainerGraph; + texSTHelper.SetBaseUniqueId( UniqueId, true ); + texSTHelper.RegisterPropertyOnInstancing = false; + texSTHelper.AddGlobalToSRPBatcher = true; + } + + if ( UIUtils.CurrentWindow.OutsideGraph.IsInstancedShader ) + { + texSTHelper.CurrentParameterType = PropertyType.InstancedProperty; + } + else + { + texSTHelper.CurrentParameterType = PropertyType.Global; + } + texSTHelper.ResetOutputLocals(); + texSTHelper.SetRawPropertyName( texProp.PropertyName + "_ST" ); + texCoordsST = texSTHelper.GenerateShaderForOutput( 0, ref dataCollector, false ); + } + return texCoordsST; + } + public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) { if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) @@ -1142,6 +1195,20 @@ namespace AmplifyShaderEditor if( m_botIndexPort.Visible ) botIndex = m_botIndexPort.GeneratePortInstructions( ref dataCollector ); + string topScaleOffset = GetScaleOffsetForTexture( ref dataCollector, m_topTexPort, m_topTexture, ref m_topTexSTHelper ); + string midScaleOffset; + string botScaleOffset; + if ( m_selectedTriplanarType == TriplanarType.Spherical ) + { + midScaleOffset = topScaleOffset; + botScaleOffset = topScaleOffset; + } + else + { + midScaleOffset = GetScaleOffsetForTexture( ref dataCollector, m_midTexPort, m_midTexture, ref m_midTexSTHelper ); + botScaleOffset = GetScaleOffsetForTexture( ref dataCollector, m_botTexPort, m_botTexture, ref m_botTexSTHelper ); + } + string tiling = m_tilingPort.GeneratePortInstructions( ref dataCollector ); string falloff = m_falloffPort.GeneratePortInstructions( ref dataCollector ); @@ -1164,26 +1231,28 @@ namespace AmplifyShaderEditor { samplers = GeneratorUtils.GetPropertyDeclaraction( "topTexMap", m_topTexPort.DataType, ", " ) + GeneratorUtils.GetSamplerDeclaraction( "samplertopTexMap", m_topTexPort.DataType, ", " ); - string array1 = ""; - string array2 = ""; + string xUV = "tiling * worldPos.zy * float2( nsign.x, 1.0 )"; + string yUV = "tiling * worldPos.xz * float2( nsign.y, 1.0 )"; + string zUV = "tiling * worldPos.xy * float2( -nsign.z, 1.0 )"; + + if ( topScaleOffset != string.Empty ) + { + xUV = string.Format( "{0} * {1}.xy + {1}.zw", xUV, topScaleOffset ); + yUV = string.Format( "{0} * {1}.xy + {1}.zw", yUV, topScaleOffset ); + zUV = string.Format( "{0} * {1}.xy + {1}.zw", zUV, topScaleOffset ); + } + if( m_topTexPort.DataType == WirePortDataType.SAMPLER2DARRAY ) { - if( outsideGraph.IsSRP ) - { - array1 = ""; - array2 = ", index.x"; - } - else - { - array1 = "float3( "; - array2 = ", index.x )"; - } + xUV = outsideGraph.IsSRP ? xUV + ", index.x" : "float3( " + xUV + ", index.x )"; + yUV = outsideGraph.IsSRP ? yUV + ", index.x" : "float3( " + yUV + ", index.x )"; + zUV = outsideGraph.IsSRP ? zUV + ", index.x" : "float3( " + zUV + ", index.x )"; } triplanarBody.Add( "half4 xNorm; half4 yNorm; half4 zNorm;" ); - triplanarBody.Add( "xNorm = " + GeneratorUtils.GenerateSamplingCall( ref dataCollector, m_topTexPort.DataType, "topTexMap", "samplertopTexMap", string.Format( "{0}tiling * worldPos.zy * float2( nsign.x, 1.0 ){1}", array1, array2 ), mip, "0" ) + ";" ); - triplanarBody.Add( "yNorm = " + GeneratorUtils.GenerateSamplingCall( ref dataCollector, m_topTexPort.DataType, "topTexMap", "samplertopTexMap", string.Format( "{0}tiling * worldPos.xz * float2( nsign.y, 1.0 ){1}", array1, array2 ), mip, "0" ) + ";" ); - triplanarBody.Add( "zNorm = " + GeneratorUtils.GenerateSamplingCall( ref dataCollector, m_topTexPort.DataType, "topTexMap", "samplertopTexMap", string.Format( "{0}tiling * worldPos.xy * float2( -nsign.z, 1.0 ){1}", array1, array2 ), mip, "0" ) + ";" ); + triplanarBody.Add( "xNorm = " + GeneratorUtils.GenerateSamplingCall( ref dataCollector, m_topTexPort.DataType, "topTexMap", "samplertopTexMap", xUV, mip, "0" ) + ";" ); + triplanarBody.Add( "yNorm = " + GeneratorUtils.GenerateSamplingCall( ref dataCollector, m_topTexPort.DataType, "topTexMap", "samplertopTexMap", yUV, mip, "0" ) + ";" ); + triplanarBody.Add( "zNorm = " + GeneratorUtils.GenerateSamplingCall( ref dataCollector, m_topTexPort.DataType, "topTexMap", "samplertopTexMap", zUV, mip, "0" ) + ";" ); if( m_normalCorrection ) { @@ -1210,21 +1279,38 @@ namespace AmplifyShaderEditor samplers = topArgs + midArgs + botArgs; - string uvTop = "tiling * worldPos.xz * float2( nsign.y, 1.0 )"; - if( m_topTexPort.DataType == WirePortDataType.SAMPLER2DARRAY ) - uvTop = outsideGraph.IsSRP ? uvTop + ", index.x" : "float3( " + uvTop + ", index.x )"; - - string uvMid = "tiling * worldPos.zy * float2( nsign.x, 1.0 )"; - if( m_midTexPort.DataType == WirePortDataType.SAMPLER2DARRAY ) - uvMid = outsideGraph.IsSRP ? uvMid + ", index.y" : "float3( " + uvMid + ", index.y )"; - + string uvTop = "tiling * worldPos.xz * float2( nsign.y, 1.0 )"; + string uvMid = "tiling * worldPos.zy * float2( nsign.x, 1.0 )"; string uvMidNeg = "tiling * worldPos.xy * float2( -nsign.z, 1.0 )"; - if( m_midTexPort.DataType == WirePortDataType.SAMPLER2DARRAY ) - uvMidNeg = outsideGraph.IsSRP ? uvMidNeg + ", index.y" : "float3( " + uvMidNeg + ", index.y )"; + string uvBot = "tiling * worldPos.xz * float2( nsign.y, 1.0 )"; - string uvBot = "tiling * worldPos.xz * float2( nsign.y, 1.0 )"; - if( m_botTexPort.DataType == WirePortDataType.SAMPLER2DARRAY ) + if ( topScaleOffset != string.Empty ) + { + uvTop = string.Format( "{0} * {1}.xy + {1}.zw", uvTop, topScaleOffset ); + } + if ( midScaleOffset != string.Empty ) + { + uvMid = string.Format( "{0} * {1}.xy + {1}.zw", uvMid, midScaleOffset ); + uvMidNeg = string.Format( "{0} * {1}.xy + {1}.zw", uvMidNeg, midScaleOffset ); + } + if ( botScaleOffset != string.Empty ) + { + uvBot = string.Format( "{0} * {1}.xy + {1}.zw", uvBot, botScaleOffset ); + } + + if( m_topTexPort.DataType == WirePortDataType.SAMPLER2DARRAY ) + { + uvTop = outsideGraph.IsSRP ? uvTop + ", index.x" : "float3( " + uvTop + ", index.x )"; + } + if ( m_midTexPort.DataType == WirePortDataType.SAMPLER2DARRAY ) + { + uvMid = outsideGraph.IsSRP ? uvMid + ", index.y" : "float3( " + uvMid + ", index.y )"; + uvMidNeg = outsideGraph.IsSRP ? uvMidNeg + ", index.y" : "float3( " + uvMidNeg + ", index.y )"; + } + if ( m_botTexPort.DataType == WirePortDataType.SAMPLER2DARRAY ) + { uvBot = outsideGraph.IsSRP ? uvBot + ", index.z" : "float3( " + uvBot + ", index.z )"; + } extraArguments = ", {7}, {8}"; triplanarBody.AddRange( m_functionSamplingBodyNegProj ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/TriplanarNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/TriplanarNode.cs.meta index b0f08519..2242035f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/TriplanarNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/TriplanarNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/TriplanarNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/TriplanarNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/UnityObjToClipPosHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/UnityObjToClipPosHlpNode.cs.meta index 77bc2b73..ec7b578c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/UnityObjToClipPosHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/UnityObjToClipPosHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/UnityObjToClipPosHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/UnityObjToClipPosHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/UnityObjToViewPosHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/UnityObjToViewPosHlpNode.cs.meta index 027ded8b..7e24de8d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/UnityObjToViewPosHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/UnityObjToViewPosHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/UnityObjToViewPosHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/UnityObjToViewPosHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/WorldSpaceLightDirHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/WorldSpaceLightDirHlpNode.cs.meta index a599ea3d..6ce43b2c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/WorldSpaceLightDirHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/WorldSpaceLightDirHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/WorldSpaceLightDirHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/WorldSpaceLightDirHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/WorldSpaceViewDirHlpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/WorldSpaceViewDirHlpNode.cs.meta index 71a04b83..a39b784a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/WorldSpaceViewDirHlpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/WorldSpaceViewDirHlpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/WorldSpaceViewDirHlpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/HelperFuncs/WorldSpaceViewDirHlpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ISignalGenerator.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ISignalGenerator.cs.meta index 43ee379b..d958ce44 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ISignalGenerator.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ISignalGenerator.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ISignalGenerator.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ISignalGenerator.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/BlendOpsNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/BlendOpsNode.cs index 20ff09a4..a8cb204e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/BlendOpsNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/BlendOpsNode.cs @@ -92,14 +92,16 @@ namespace AmplifyShaderEditor AddInputPort( WirePortDataType.FLOAT, false,"Alpha" ); m_inputPorts[ 2 ].FloatInternalData = 1; AddOutputPort( WirePortDataType.COLOR, Constants.EmptyPortValue ); - m_inputPorts[ 0 ].AddPortForbiddenTypes( WirePortDataType.FLOAT3x3, + m_inputPorts[ 0 ].AddPortForbiddenTypes( WirePortDataType.FLOAT2x2, + WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.SAMPLER1D, WirePortDataType.SAMPLER2D, WirePortDataType.SAMPLER3D, WirePortDataType.SAMPLERCUBE, WirePortDataType.SAMPLER2DARRAY ); - m_inputPorts[ 1 ].AddPortForbiddenTypes( WirePortDataType.FLOAT3x3, + m_inputPorts[ 1 ].AddPortForbiddenTypes( WirePortDataType.FLOAT2x2, + WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.SAMPLER1D, WirePortDataType.SAMPLER2D, diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/BlendOpsNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/BlendOpsNode.cs.meta index a44f88f6..d6658edb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/BlendOpsNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/BlendOpsNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/BlendOpsNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/BlendOpsNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/DesaturateOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/DesaturateOpNode.cs.meta index 2455eda1..d72a4a6a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/DesaturateOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/DesaturateOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/DesaturateOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/DesaturateOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/HSVToRGBNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/HSVToRGBNode.cs.meta index ba77bf7f..ad4e905d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/HSVToRGBNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/HSVToRGBNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/HSVToRGBNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/HSVToRGBNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/LuminanceNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/LuminanceNode.cs.meta index d813262c..88b10074 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/LuminanceNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/LuminanceNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/LuminanceNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/LuminanceNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/NoiseGeneratorNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/NoiseGeneratorNode.cs.meta index 0df413fb..4a80a9bd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/NoiseGeneratorNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/NoiseGeneratorNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/NoiseGeneratorNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/NoiseGeneratorNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/PosterizeNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/PosterizeNode.cs.meta index e25ae02c..4d6f0c88 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/PosterizeNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/PosterizeNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/PosterizeNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/PosterizeNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/RGBToHSVNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/RGBToHSVNode.cs.meta index bb94c2fc..6b197cb1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/RGBToHSVNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/RGBToHSVNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/RGBToHSVNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/RGBToHSVNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/SimpleContrastOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/SimpleContrastOpNode.cs.meta index 99e17ce8..434cd5ed 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/SimpleContrastOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/SimpleContrastOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/SimpleContrastOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/SimpleContrastOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/SimplexNoiseNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/SimplexNoiseNode.cs.meta index 2a6af4c8..704e6e91 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/SimplexNoiseNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/SimplexNoiseNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/SimplexNoiseNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/SimplexNoiseNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/TFHCGrayscale.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/TFHCGrayscale.cs index 5620173c..a54a6013 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/TFHCGrayscale.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/TFHCGrayscale.cs @@ -105,9 +105,9 @@ namespace AmplifyShaderEditor string grayscale = string.Empty; switch( m_grayscaleStyle ) { - case 1: { grayscale = "dot(" + i + ", float3(0.299,0.587,0.114))"; } break; - case 2: { grayscale = "(" + i + ".r + " + i + ".g + " + i + ".b) / 3"; } break; - default: { grayscale = "Luminance(" + i + ")"; } break; + case 1: { grayscale = "dot( " + i + ", float3( 0.299, 0.587, 0.114 ) )"; } break; + case 2: { grayscale = "( " + i + ".r + " + i + ".g + " + i + ".b ) / 3"; } break; + default: { grayscale = "Luminance( " + i + " )"; } break; } RegisterLocalVariable( 0, grayscale, ref dataCollector, "grayscale" + OutputId ); return m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/TFHCGrayscale.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/TFHCGrayscale.cs.meta index dcab5747..95731054 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/TFHCGrayscale.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/TFHCGrayscale.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/TFHCGrayscale.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/TFHCGrayscale.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/VoronoiNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/VoronoiNode.cs index 13d2b189..cc3281b0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/VoronoiNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/VoronoiNode.cs @@ -59,15 +59,15 @@ namespace AmplifyShaderEditor private const string VoronoiHeader = "float voronoi{0}( float2 v, float time, inout float2 id, inout float2 mr, float smoothness, inout float2 smoothId )"; private const string VoronoiFunc = "voronoi{0}( {1}, {2}, {3}, {4}, {5}, {6} )"; - private string[] VoronoiBody = + private string[] VoronoiBody = { "float2 n = floor( v );", "float2 f = frac( v );", "float F1 = 8.0;", - "float F2 = 8.0; float2 mg = 0;", - "for ( int j = -1; j <= 1; j++ )", + "float F2 = 8.0; float2 mg = 0; int i, j;", + "for ( j = -1; j <= 1; j++ )", "{", - " \tfor ( int i = -1; i <= 1; i++ )", + " \tfor ( i = -1; i <= 1; i++ )", " \t{", " \t\tfloat2 g = float2( i, j );", " \t\tfloat2 o = voronoihash{0}( n + g );", @@ -84,20 +84,20 @@ namespace AmplifyShaderEditor "}", "return F1;" }; - + private string VoronoiDistanceBody = - "\nF1 = 8.0;" + - "\nfor ( int j = -2; j <= 2; j++ )" + - "\n{{" + - "\nfor ( int i = -2; i <= 2; i++ )" + - "\n{{" + - "\nfloat2 g = mg + float2( i, j );" + - "\nfloat2 o = voronoihash{1}( n + g );" + - "\n{0}" + - "\nfloat d = dot( 0.5 * ( r + mr ), normalize( r - mr ) );" + - "\nF1 = min( F1, d );" + - "\n}}" + - "\n}}" + + "\n\tF1 = 8.0;" + + "\n\tfor ( j = -2; j <= 2; j++ )" + + "\n\t{{" + + "\n\t\tfor ( i = -2; i <= 2; i++ )" + + "\n\t\t{{" + + "\n\t\tfloat2 g = mg + float2( i, j );" + + "\n\t\tfloat2 o = voronoihash{1}( n + g );" + + "\n\t\t{0}" + + "\n\t\t\tfloat d = dot( 0.5 * ( r + mr ), normalize( r - mr ) );" + + "\n\t\t\tF1 = min( F1, d );" + + "\n\t\t}}" + + "\n\t}}" + "\nreturn F1;"; [SerializeField] @@ -278,7 +278,7 @@ namespace AmplifyShaderEditor Graphics.Blit( null , m_outputPorts[ 2 ].OutputPreviewTexture , PreviewMaterial , m_previewMaterialPassId ); RenderTexture.active = temp; } - PreviewIsDirty = m_continuousPreviewRefresh; + PreviewIsDirty = ContinuousPreviewRefresh; FinishPreviewRender = true; } @@ -359,8 +359,8 @@ namespace AmplifyShaderEditor { VoronoiBody[ 10 ] = "\t\to = ( sin( time + o * 6.2831 ) * 0.5 + 0.5 ); float2 r = f - g - o;"; int q = m_searchQuality + 1; - VoronoiBody[ 4 ] = "for ( int j = -" + q + "; j <= " + q + "; j++ )"; - VoronoiBody[ 6 ] = "\tfor ( int i = -" + q + "; i <= " + q + "; i++ )"; + VoronoiBody[ 4 ] = "for ( j = -" + q + "; j <= " + q + "; j++ )"; + VoronoiBody[ 6 ] = "\tfor ( i = -" + q + "; i <= " + q + "; i++ )"; int dFunction = m_distanceFunction; if( m_functionType == 4 ) dFunction = 0; @@ -406,8 +406,8 @@ namespace AmplifyShaderEditor VoronoiBody[ 17 ] = string.Empty; VoronoiBody[ 18 ] = " \t\t}"; } - - + + } else { @@ -568,7 +568,7 @@ namespace AmplifyShaderEditor dataCollector.AddLocalVariable( UniqueId, string.Format( "voroi{0} /= rest{0};", OutputId ) ); } m_outputPorts[ 0 ].SetLocalValue( "voroi" + OutputId, dataCollector.PortCategory ); - + m_outputPorts[ 1 ].SetLocalValue( ( m_functionType == 0 && m_calculateSmoothValue && m_applySmoothToIds ) ? smoothIdName : ( "id" + OutputId ), dataCollector.PortCategory ); m_outputPorts[ 2 ].SetLocalValue( "uv" + OutputId, dataCollector.PortCategory ); return m_outputPorts[ outputId ].LocalValue( dataCollector.PortCategory ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/VoronoiNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/VoronoiNode.cs.meta index 722e6f5f..2e2f2258 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/VoronoiNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/VoronoiNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/VoronoiNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ImageEffects/VoronoiNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/AllOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/AllOpNode.cs.meta index 012aef89..80595e02 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/AllOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/AllOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/AllOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/AllOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/AnyOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/AnyOpNode.cs.meta index 338bf0e5..fa0f09af 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/AnyOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/AnyOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/AnyOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/AnyOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/Compare.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/Compare.cs.meta index b6ea2914..79143ce4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/Compare.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/Compare.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/Compare.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/Compare.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/ConditionalIfNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/ConditionalIfNode.cs.meta index 125dc616..d4aa820b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/ConditionalIfNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/ConditionalIfNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/ConditionalIfNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/ConditionalIfNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/FlipNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/FlipNode.cs index f479074e..ce8bd8ea 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/FlipNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/FlipNode.cs @@ -127,6 +127,7 @@ namespace AmplifyShaderEditor case WirePortDataType.FLOAT2: count = 2; break; case WirePortDataType.FLOAT: case WirePortDataType.INT: count = 1; break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: break; } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/FlipNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/FlipNode.cs.meta index 49a3f3ec..6cdb3e92 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/FlipNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/FlipNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/FlipNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/FlipNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/IsInfiniteNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/IsInfiniteNode.cs.meta index c62e611f..f02e410f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/IsInfiniteNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/IsInfiniteNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/IsInfiniteNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/IsInfiniteNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/IsNaNNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/IsNaNNode.cs.meta index 79c2aca4..c8658272 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/IsNaNNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/IsNaNNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/IsNaNNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/IsNaNNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/KeywordSwitchNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/KeywordSwitchNode.cs.meta index 6cf993c0..fe04effd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/KeywordSwitchNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/KeywordSwitchNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/KeywordSwitchNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/KeywordSwitchNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NaNNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NaNNode.cs new file mode 100644 index 00000000..669dfb71 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NaNNode.cs @@ -0,0 +1,31 @@ +// Amplify Shader Editor - Visual Shader Editing Tool +// Copyright (c) Amplify Creations, Lda + +using UnityEngine; +using UnityEditor; +using System; + +namespace AmplifyShaderEditor +{ + [Serializable] + [NodeAttributes( "NaN", "Constants And Properties", "NaN constant : asfloat( -1 ), also known as ( 0.0 / 0.0 ) or sqrt( -1 )" )] + public sealed class NaNNode : ParentNode + { + public NaNNode() : base() { } + public NaNNode( int uniqueId, float x, float y, float width, float height ) : base( uniqueId, x, y, width, height ) { } + protected override void CommonInit( int uniqueId ) + { + base.CommonInit( uniqueId ); + AddOutputPort( WirePortDataType.FLOAT, Constants.EmptyPortValue ); + m_textLabelWidth = 70; + m_useInternalPortData = false; + m_previewShaderGUID = "03fb3d95e1b55ab4cb38baad013bb0a7"; + } + + public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) + { + base.GenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalvar ); + return "asfloat( -1 )"; + } + } +} diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NaNNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NaNNode.cs.meta new file mode 100644 index 00000000..5a154937 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NaNNode.cs.meta @@ -0,0 +1,19 @@ +fileFormatVersion: 2 +guid: 563fb5ecb09d6ca438b09cb9166a624d +timeCreated: 1481126957 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NaNNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NandNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NandNode.cs.meta index d226f76b..f1ea3cb8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NandNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NandNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NandNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NandNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NotNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NotNode.cs index 2645311e..28f931f3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NotNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NotNode.cs @@ -6,7 +6,7 @@ using System; namespace AmplifyShaderEditor { [Serializable] - [NodeAttributes( "Not", "Logical Operators", "...", tags: "" )] + [NodeAttributes( "Not", "Logical Operators", "Returns the logical inverse of the input. Outputs 1 if the input is 0, or 0 if the input is 1.", tags: "" )] public sealed class NotNode : ParentNode { protected override void CommonInit( int uniqueId ) @@ -39,7 +39,7 @@ namespace AmplifyShaderEditor var inputValue = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); var outputType = UIUtils.PrecisionWirePortToCgType( CurrentPrecisionType, m_outputPorts[ 0 ].DataType ); - + string result = string.Format( "( ( {0} )!{1} )", outputType, inputValue ); return CreateOutputLocalVariable( 0, result, ref dataCollector ); } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NotNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NotNode.cs.meta index ecd7cc2a..ac46574b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NotNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NotNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NotNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/NotNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareEqual.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareEqual.cs.meta index 16d052a2..97ea1c64 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareEqual.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareEqual.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareEqual.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareEqual.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareGreater.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareGreater.cs.meta index 77b46cb4..c0e4e7d4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareGreater.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareGreater.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareGreater.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareGreater.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareGreaterEqual.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareGreaterEqual.cs.meta index 7f89c520..89d49c65 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareGreaterEqual.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareGreaterEqual.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareGreaterEqual.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareGreaterEqual.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareLower.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareLower.cs.meta index 8f365b62..89503ace 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareLower.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareLower.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareLower.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareLower.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareLowerEqual.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareLowerEqual.cs.meta index fca11e83..1ca982ec 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareLowerEqual.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareLowerEqual.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareLowerEqual.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareLowerEqual.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareNotEqual.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareNotEqual.cs.meta index 7376146f..f1ad4e36 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareNotEqual.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareNotEqual.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareNotEqual.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareNotEqual.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareWithRange.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareWithRange.cs.meta index a2c2a676..57b15937 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareWithRange.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareWithRange.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareWithRange.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCCompareWithRange.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCIf.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCIf.cs.meta index 5f714311..be5ca5bb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCIf.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCIf.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCIf.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCIf.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCStub.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCStub.cs.meta index bed8893c..da557bfe 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCStub.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCStub.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCStub.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/LogicalOperators/TFHCStub.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalDefinesHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalDefinesHelper.cs.meta index f3eed3e1..48ac3b18 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalDefinesHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalDefinesHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalDefinesHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalDefinesHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalIncludesHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalIncludesHelper.cs.meta index 410787e9..618c3231 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalIncludesHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalIncludesHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalIncludesHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalIncludesHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalPragmasHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalPragmasHelper.cs.meta index 65e2b7fe..51d95ef5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalPragmasHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalPragmasHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalPragmasHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalPragmasHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalSurfaceOptionsHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalSurfaceOptionsHelper.cs.meta index 365f3d6c..cd61e34e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalSurfaceOptionsHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalSurfaceOptionsHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalSurfaceOptionsHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/AdditionalSurfaceOptionsHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BillboardOpHelper.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BillboardOpHelper.cs index 29ad320c..1e1863e7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BillboardOpHelper.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BillboardOpHelper.cs @@ -45,23 +45,23 @@ namespace AmplifyShaderEditor public static readonly string[] BillboardRotIndependent = { "{0}.x *= length( unity_ObjectToWorld._m00_m10_m20 )", "{0}.y *= length( unity_ObjectToWorld._m01_m11_m21 )", "{0}.z *= length( unity_ObjectToWorld._m02_m12_m22 )", - "{0} = mul( {0}, rotationCamMatrix )", - "{0} = mul( unity_WorldToObject, float4( {0}.xyz, 0 ) )"}; + "{0}.xyz = mul( float4( {0}.xyz, 0 ), rotationCamMatrix ).xyz", + "{0}.xyz = mul( unity_WorldToObject, float4( {0}.xyz, 0 ) ).xyz"}; - public static readonly string[] BillboardHDRotDependent = { "//This unfortunately must be made to take non-uniform scaling into account", + public static readonly string[] BillboardSRPRotDependent = { "//This unfortunately must be made to take non-uniform scaling into account", "//Transform to world coords, apply rotation and transform back to local", "{0} = mul( {1} , GetObjectToWorldMatrix() ){2}", "{0} = mul( {1} , rotationCamMatrix ){2}", "{0} = mul( {1} , GetWorldToObjectMatrix() ){2}"}; - public static readonly string[] BillboardHDRotIndependent = { "{0}.x *= length( GetObjectToWorldMatrix()._m00_m10_m20 )", + public static readonly string[] BillboardSRPRotIndependent = { "{0}.x *= length( GetObjectToWorldMatrix()._m00_m10_m20 )", "{0}.y *= length( GetObjectToWorldMatrix()._m01_m11_m21 )", "{0}.z *= length( GetObjectToWorldMatrix()._m02_m12_m22 )", - "{0} = mul( {0}, rotationCamMatrix )", - "{0} = mul( GetWorldToObjectMatrix(), float4( {0}.xyz, 0 ) )"}; + "{0}.xyz = mul( float4( {0}.xyz, 0 ), rotationCamMatrix ).xyz", + "{0}.xyz = mul( GetWorldToObjectMatrix(), float4( {0}.xyz, 0 ) ).xyz"}; [SerializeField] @@ -142,14 +142,14 @@ namespace AmplifyShaderEditor if( rotationIndependent ) { - + for( int i = 0; i < BillboardRotIndependent.Length; i++ ) { string value = string.Empty; - if( dataCollector.IsTemplate && dataCollector.TemplateDataCollectorInstance.CurrentSRPType != TemplateSRPType.BiRP ) + if( dataCollector.IsTemplate && dataCollector.TemplateDataCollectorInstance.IsSRP ) { - value = string.Format( BillboardHDRotIndependent[ i ], vertexPosValue ); + value = string.Format( BillboardSRPRotIndependent[ i ], vertexPosValue ); } else { @@ -164,9 +164,9 @@ namespace AmplifyShaderEditor for( int i = 0; i < BillboardRotDependent.Length; i++ ) { string value = string.Empty; - if( dataCollector.IsTemplate && dataCollector.TemplateDataCollectorInstance.CurrentSRPType == TemplateSRPType.HDRP ) + if( dataCollector.IsTemplate && dataCollector.TemplateDataCollectorInstance.IsSRP ) { - value = ( i > 1 ) ? string.Format( BillboardHDRotDependent[ i ], vertexPosValue, vertexPosConverted, ( vertexIsFloat3 ? ".xyz" : string.Empty ) ) : BillboardHDRotDependent[ i ]; + value = ( i > 1 ) ? string.Format( BillboardSRPRotDependent[ i ], vertexPosValue, vertexPosConverted, ( vertexIsFloat3 ? ".xyz" : string.Empty ) ) : BillboardSRPRotDependent[ i ]; } else { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BillboardOpHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BillboardOpHelper.cs.meta index cf3beb20..de4caa72 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BillboardOpHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BillboardOpHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BillboardOpHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BillboardOpHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BlendOpsHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BlendOpsHelper.cs.meta index 93e61946..b54424dd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BlendOpsHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BlendOpsHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BlendOpsHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/BlendOpsHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/CodeGenerationData.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/CodeGenerationData.cs.meta index c012a29b..1fd2d992 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/CodeGenerationData.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/CodeGenerationData.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/CodeGenerationData.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/CodeGenerationData.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/ColorMaskHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/ColorMaskHelper.cs.meta index af4333e1..e9f17809 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/ColorMaskHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/ColorMaskHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/ColorMaskHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/ColorMaskHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/CustomTagsHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/CustomTagsHelper.cs.meta index bdbc1c91..29bdf1c5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/CustomTagsHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/CustomTagsHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/CustomTagsHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/CustomTagsHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/DependenciesHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/DependenciesHelper.cs.meta index c3f0bb18..96e986d4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/DependenciesHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/DependenciesHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/DependenciesHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/DependenciesHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FallbackPickerHelper.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FallbackPickerHelper.cs index aa8d8b44..72f6c7c9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FallbackPickerHelper.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FallbackPickerHelper.cs @@ -46,9 +46,12 @@ namespace AmplifyShaderEditor if ( m_dummyMaterial == null ) m_dummyMaterial = new Material( Shader.Find( "Hidden/ASESShaderSelectorUnlit" ) ); -#pragma warning disable 0618 + #pragma warning disable 0618 + #if !UNITY_6000_2_OR_NEWER UnityEditorInternal.InternalEditorUtility.SetupShaderMenu( m_dummyMaterial ); -#pragma warning restore 0618 + #endif + #pragma warning restore 0618 + EditorUtility.DisplayPopupMenu( r, ShaderPoputContext, m_dummyCommand ); } @@ -61,7 +64,7 @@ namespace AmplifyShaderEditor m_fallbackShader = shader.name; } } - + public void ReadFromString( ref uint index, ref string[] nodeParams ) { m_fallbackShader = nodeParams[ index++ ]; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FallbackPickerHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FallbackPickerHelper.cs.meta index f22f1bd0..ddd6a989 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FallbackPickerHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FallbackPickerHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FallbackPickerHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FallbackPickerHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionInput.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionInput.cs index b3dd8d66..6d4b2358 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionInput.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionInput.cs @@ -19,6 +19,7 @@ namespace AmplifyShaderEditor "Vector3", "Vector4", "Color", + "Matrix 2x2", "Matrix 3x3", "Matrix 4x4", "Sampler 1D", @@ -53,7 +54,7 @@ namespace AmplifyShaderEditor public delegate string PortGeneration( ref MasterNodeDataCollector dataCollector, int index, ParentGraph graph ); public PortGeneration OnPortGeneration = null; - //Title editing + //Title editing [SerializeField] private string m_uniqueName; @@ -118,7 +119,7 @@ namespace AmplifyShaderEditor for( int i = 0; i < OutputPorts[ 0 ].ExternalReferences.Count; i++ ) { - ContainerGraph.GetNode( OutputPorts[ 0 ].ExternalReferences[ i ].NodeId ).OnNodeChange(); + ContainerGraph.GetNode( OutputPorts[ 0 ].ExternalReferences[ i ].NodeId ).OnNodeChange( new NodeUpdateCache() ); } if( m_typeId == -1 ) @@ -151,7 +152,7 @@ namespace AmplifyShaderEditor if( input.ExternalReferences.Count > 0 ) { outNode = Fnode.ContainerGraph.GetNode( input.ExternalReferences[ 0 ].NodeId ); - } + } else if( InputPorts[ i ].ExternalReferences.Count > 0 ) { outNode = ContainerGraph.GetNode( InputPorts[ i ].ExternalReferences[ 0 ].NodeId ); @@ -193,7 +194,7 @@ namespace AmplifyShaderEditor if( m_nodeAttribs != null ) m_uniqueName = m_nodeAttribs.Name + UniqueId; } - + public override void Destroy() { base.Destroy(); @@ -236,15 +237,16 @@ namespace AmplifyShaderEditor case WirePortDataType.FLOAT3: m_selectedInputTypeInt = 3; break; case WirePortDataType.FLOAT4: m_selectedInputTypeInt = 4; break; case WirePortDataType.COLOR: m_selectedInputTypeInt = 5; break; - case WirePortDataType.FLOAT3x3: m_selectedInputTypeInt = 6; break; - case WirePortDataType.FLOAT4x4: m_selectedInputTypeInt = 7; break; - case WirePortDataType.SAMPLER1D: m_selectedInputTypeInt = 8; break; - case WirePortDataType.SAMPLER2D: m_selectedInputTypeInt = 9; break; - case WirePortDataType.SAMPLER3D: m_selectedInputTypeInt = 10; break; - case WirePortDataType.SAMPLERCUBE: m_selectedInputTypeInt = 11; break; - case WirePortDataType.SAMPLER2DARRAY: m_selectedInputTypeInt = 12; break; - case WirePortDataType.SAMPLERSTATE: m_selectedInputTypeInt = 13; break; - case WirePortDataType.OBJECT: m_selectedInputTypeInt = 14; break; + case WirePortDataType.FLOAT2x2: m_selectedInputTypeInt = 6; break; + case WirePortDataType.FLOAT3x3: m_selectedInputTypeInt = 7; break; + case WirePortDataType.FLOAT4x4: m_selectedInputTypeInt = 8; break; + case WirePortDataType.SAMPLER1D: m_selectedInputTypeInt = 9; break; + case WirePortDataType.SAMPLER2D: m_selectedInputTypeInt = 10; break; + case WirePortDataType.SAMPLER3D: m_selectedInputTypeInt = 11; break; + case WirePortDataType.SAMPLERCUBE: m_selectedInputTypeInt = 12; break; + case WirePortDataType.SAMPLER2DARRAY: m_selectedInputTypeInt = 13; break; + case WirePortDataType.SAMPLERSTATE: m_selectedInputTypeInt = 14; break; + case WirePortDataType.OBJECT: m_selectedInputTypeInt = 15; break; } } @@ -280,7 +282,7 @@ namespace AmplifyShaderEditor if( m_startEditing ) EditorGUI.FocusTextInControl( m_uniqueName ); - + } if( drawInfo.CurrentEventType == EventType.Repaint ) @@ -299,14 +301,14 @@ namespace AmplifyShaderEditor } } - + } } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { // RUN LAYOUT CHANGES AFTER TITLES CHANGE - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_titleClickArea = m_titlePos; m_titleClickArea.height = Constants.NODE_HEADER_HEIGHT; } @@ -375,15 +377,16 @@ namespace AmplifyShaderEditor case 3: m_selectedInputType = WirePortDataType.FLOAT3; break; case 4: m_selectedInputType = WirePortDataType.FLOAT4; break; case 5: m_selectedInputType = WirePortDataType.COLOR; break; - case 6: m_selectedInputType = WirePortDataType.FLOAT3x3; break; - case 7: m_selectedInputType = WirePortDataType.FLOAT4x4; break; - case 8: m_selectedInputType = WirePortDataType.SAMPLER1D; break; - case 9: m_selectedInputType = WirePortDataType.SAMPLER2D; break; - case 10: m_selectedInputType = WirePortDataType.SAMPLER3D; break; - case 11: m_selectedInputType = WirePortDataType.SAMPLERCUBE; break; - case 12: m_selectedInputType = WirePortDataType.SAMPLER2DARRAY; break; - case 13: m_selectedInputType = WirePortDataType.SAMPLERSTATE; break; - case 14: m_selectedInputType = WirePortDataType.OBJECT; break; + case 6: m_selectedInputType = WirePortDataType.FLOAT2x2; break; + case 7: m_selectedInputType = WirePortDataType.FLOAT3x3; break; + case 8: m_selectedInputType = WirePortDataType.FLOAT4x4; break; + case 9: m_selectedInputType = WirePortDataType.SAMPLER1D; break; + case 10: m_selectedInputType = WirePortDataType.SAMPLER2D; break; + case 11: m_selectedInputType = WirePortDataType.SAMPLER3D; break; + case 12: m_selectedInputType = WirePortDataType.SAMPLERCUBE; break; + case 13: m_selectedInputType = WirePortDataType.SAMPLER2DARRAY; break; + case 14: m_selectedInputType = WirePortDataType.SAMPLERSTATE; break; + case 15: m_selectedInputType = WirePortDataType.OBJECT; break; } ChangeInputType( m_selectedInputType, false ); @@ -411,10 +414,11 @@ namespace AmplifyShaderEditor types = new WirePortDataType[] { WirePortDataType.FLOAT, WirePortDataType.FLOAT2, WirePortDataType.FLOAT3, WirePortDataType.FLOAT4, WirePortDataType.COLOR, WirePortDataType.INT, WirePortDataType.OBJECT }; } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { - types = new WirePortDataType[] { WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.OBJECT }; + types = new WirePortDataType[] { WirePortDataType.FLOAT2x2, WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.OBJECT }; } break; case WirePortDataType.SAMPLER1D: @@ -474,11 +478,17 @@ namespace AmplifyShaderEditor IOUtils.AddFieldValueToString( ref nodeInfo, m_autoCast ); } + public static int UpgradeTypeIdx( int typeIdx ) + { + // 19901 => adds float2x2 + return typeIdx + ( ( UIUtils.CurrentShaderVersion() <= 19900 && typeIdx > 5 ) ? 1 : 0 ); + } + public override void ReadFromString( ref string[] nodeParams ) { base.ReadFromString( ref nodeParams ); m_inputName = GetCurrentParam( ref nodeParams ); - m_selectedInputTypeInt = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); + m_selectedInputTypeInt = UpgradeTypeIdx( Convert.ToInt32( GetCurrentParam( ref nodeParams ) ) ); m_orderIndex = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); m_autoCast = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionInput.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionInput.cs.meta index 9849c1ae..0667cc3e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionInput.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionInput.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionInput.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionInput.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionNode.cs index 05906655..0fa6c02d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionNode.cs @@ -77,7 +77,7 @@ namespace AmplifyShaderEditor public string[] ReadOptionsHelper = new string[] { }; private bool m_lateRefresh = false; - + private Texture2D m_headerIcon = null; public Texture2D HeaderIcon { @@ -257,7 +257,7 @@ namespace AmplifyShaderEditor public void SetPreviewInput( InputPort input ) { - if( !HasPreviewShader || !m_initialized ) + if( !HasPreviewShader || !m_initialized || Preferences.User.DisablePreviews ) return; if( input.IsConnected && input.InputNodeHasPreview( ContainerGraph ) ) @@ -310,14 +310,14 @@ namespace AmplifyShaderEditor if( m_outputPorts == null ) return; - if( !PreviewIsDirty && !m_continuousPreviewRefresh ) + if( !PreviewIsDirty && !ContinuousPreviewRefresh ) return; // this is in the wrong place?? if( m_drawPreviewAsSphere != m_mainPreviewNode.SpherePreview ) { m_drawPreviewAsSphere = m_mainPreviewNode.SpherePreview; - OnNodeChange(); + OnNodeChange( new NodeUpdateCache() ); } int count = m_outputPorts.Count; @@ -400,8 +400,8 @@ namespace AmplifyShaderEditor if( !UIUtils.CurrentWindow.IsShaderFunctionWindow ) { // This function is nested inside a shader function itself and this method - // was called before the main output node was created. - // This is possible since all nodes RefreshExternalReferences(...) are called at the end + // was called before the main output node was created. + // This is possible since all nodes RefreshExternalReferences(...) are called at the end // of a LoadFromMeta // Need to delay this setup to after all nodes are loaded to then setup the directives m_lateRefresh = true; @@ -472,10 +472,11 @@ namespace AmplifyShaderEditor port.CreatePortRestrictions( WirePortDataType.FLOAT, WirePortDataType.FLOAT2, WirePortDataType.FLOAT3, WirePortDataType.FLOAT4, WirePortDataType.COLOR, WirePortDataType.INT, WirePortDataType.OBJECT ); } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { - port.CreatePortRestrictions( WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.OBJECT ); + port.CreatePortRestrictions( WirePortDataType.FLOAT2x2, WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.OBJECT ); } break; case WirePortDataType.SAMPLER1D: @@ -509,6 +510,7 @@ namespace AmplifyShaderEditor case WirePortDataType.FLOAT4: case WirePortDataType.COLOR: case WirePortDataType.INT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { @@ -622,7 +624,7 @@ namespace AmplifyShaderEditor if( Function == null ) return; - + if( Function.Description.Length > 0 || m_allFunctionSwitches.Count > 0 ) NodeUtils.DrawPropertyGroup( ref m_parametersFoldout, "Parameters", DrawDescription ); @@ -736,7 +738,7 @@ namespace AmplifyShaderEditor - // Cannot GameObject.Destroy(m_directives[i]) since we would be removing them from + // Cannot GameObject.Destroy(m_directives[i]) since we would be removing them from // the shader function asset itself m_directives.Clear(); @@ -830,6 +832,8 @@ namespace AmplifyShaderEditor { //CheckForChangesRecursively(); + var nodeChangeCache = new NodeUpdateCache(); + if( !m_initialGraphDraw && drawInfo.CurrentEventType == EventType.Repaint ) { m_initialGraphDraw = true; @@ -842,7 +846,7 @@ namespace AmplifyShaderEditor ParentNode node = m_functionGraph.AllNodes[ i ]; if( node != null ) { - node.OnNodeLayout( drawInfo ); + node.OnNodeLayout( drawInfo, nodeChangeCache ); } } } @@ -1233,7 +1237,7 @@ namespace AmplifyShaderEditor m_functionGraph.AllNodes[ i ].SetContainerGraph( m_functionGraph ); } } - + public override void OnMasterNodeReplaced( MasterNode newMasterNode ) { base.OnMasterNodeReplaced( newMasterNode ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionNode.cs.meta index 2473196a..a815d6de 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionOutput.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionOutput.cs index baa49631..97ded06e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionOutput.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionOutput.cs @@ -200,10 +200,10 @@ namespace AmplifyShaderEditor } } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { // RUN LAYOUT CHANGES AFTER TITLES CHANGE - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_titleClickArea = m_titlePos; m_titleClickArea.height = Constants.NODE_HEADER_HEIGHT; } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionOutput.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionOutput.cs.meta index 1f33d792..946a8308 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionOutput.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionOutput.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionOutput.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionOutput.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSubtitle.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSubtitle.cs.meta index efd794ce..1beb984b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSubtitle.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSubtitle.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSubtitle.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSubtitle.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitch.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitch.cs index 547c7436..2b5f81a9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitch.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitch.cs @@ -19,7 +19,7 @@ namespace AmplifyShaderEditor private const string CurrSelectedStr = "Current"; private const string MaxAmountStr = "Amount"; - private const int MaxAllowedAmount = 10; + private const int MaxAllowedAmount = 20; private const int MinComboSize = 50; private const int MaxComboSize = 105; @@ -46,7 +46,7 @@ namespace AmplifyShaderEditor private bool m_toggleMode = false; [SerializeField] - private string[] m_optionNames = { "In 0", "In 1", "In 2", "In 3", "In 4", "In 5", "In 6", "In 7", "In 8", "In 9" }; + private string[] m_optionNames = { "In 0", "In 1", "In 2", "In 3", "In 4", "In 5", "In 6", "In 7", "In 8", "In 9", "In 10", "In 11", "In 12", "In 13", "In 14", "In 15", "In 16", "In 17", "In 18", "In 19" }; [SerializeField] private int m_orderIndex = -1; @@ -190,7 +190,7 @@ namespace AmplifyShaderEditor port.GetOutputNode().ActivateNode( m_activeNode, m_activePort, m_activeType ); } - OnNodeChange(); + OnNodeChange( new NodeUpdateCache() ); SetSaveIsDirty(); m_inputPorts[ portId ].MatchPortToConnection(); @@ -258,7 +258,7 @@ namespace AmplifyShaderEditor m_inputPorts[ m_currentSelectedInput ].GetOutputNode().ActivateNode( UniqueId, m_inputPorts[ m_currentSelectedInput ].PortId, m_activeType ); } } - + public bool DrawOption( ParentNode owner, bool forceDraw = false ) { if( !IsConnected && !forceDraw ) @@ -348,17 +348,6 @@ namespace AmplifyShaderEditor m_refOptionLabel = string.Empty; m_refSelectedInput = -1; - for( int i = 0; i < MaxAllowedAmount; i++ ) - { - m_inputPorts[ i ].Visible = ( i < m_maxAmountInputs ); - m_inputPorts[ i ].Name = m_optionNames[ i ]; - } - - if( m_currentSelectedInput >= m_maxAmountInputs ) - { - m_currentSelectedInput = m_maxAmountInputs - 1; - } - UpdateLabels(); m_sizeIsDirty = true; } @@ -449,41 +438,8 @@ namespace AmplifyShaderEditor m_toggleMode = EditorGUILayoutToggle( "Toggle Mode", m_toggleMode ); if( EditorGUI.EndChangeCheck() ) { - if( m_toggleMode ) - { - m_inputPorts[ 0 ].Name = ToggleFalseStr; - m_inputPorts[ 1 ].Name = ToggleTrueStr; - - for( int i = 0; i < MaxAllowedAmount; i++ ) - { - m_inputPorts[ i ].Visible = ( i < 2 ); - } - - if( m_currentSelectedInput >= 2 ) - { - m_currentSelectedInput = 1; - } - UpdateLabels(); - m_sizeIsDirty = true; - } - else - { - m_inputPorts[ 0 ].Name = m_optionNames[ 0 ]; - m_inputPorts[ 1 ].Name = m_optionNames[ 1 ]; - - for( int i = 0; i < MaxAllowedAmount; i++ ) - { - m_inputPorts[ i ].Visible = ( i < m_maxAmountInputs ); - } - - if( m_currentSelectedInput >= m_maxAmountInputs ) - { - m_currentSelectedInput = m_maxAmountInputs - 1; - } - - UpdateLabels(); - m_sizeIsDirty = true; - } + UpdateLabels(); + m_sizeIsDirty = true; } if( !m_toggleMode ) @@ -492,16 +448,6 @@ namespace AmplifyShaderEditor m_maxAmountInputs = EditorGUILayoutIntSlider( MaxAmountStr, m_maxAmountInputs, 2, MaxAllowedAmount ); if( EditorGUI.EndChangeCheck() ) { - for( int i = 0; i < MaxAllowedAmount; i++ ) - { - m_inputPorts[ i ].Visible = ( i < m_maxAmountInputs ); - } - - if( m_currentSelectedInput >= m_maxAmountInputs ) - { - m_currentSelectedInput = m_maxAmountInputs - 1; - } - UpdateLabels(); m_sizeIsDirty = true; } @@ -572,18 +518,48 @@ namespace AmplifyShaderEditor SetCurrentSelectedInput( m_currentSelectedInput, m_previousSelectedInput ); } + public override void ReconnectClipboardReferences( Clipboard clipboard ) + { + // validate node first + int newId = clipboard.GeNewNodeId( m_referenceUniqueId ); + if ( ContainerGraph.GetNode( newId ) != null ) + { + m_referenceUniqueId = newId; + } + RefreshExternalReferences(); + } + public void UpdateLabels() { - int maxinputs = m_maxAmountInputs; - if( m_validReference ) - maxinputs = m_functionSwitchReference.MaxAmountInputs; - - AvailableInputsLabels = new string[ maxinputs ]; - AvailableInputsValues = new int[ maxinputs ]; - - for( int i = 0; i < maxinputs; i++ ) + if ( ToggleMode ) { - AvailableInputsLabels[ i ] = m_optionNames[ i ]; + m_inputPorts[ 0 ].Name = ToggleFalseStr; + m_inputPorts[ 1 ].Name = ToggleTrueStr; + } + else + { + for ( int i = 0; i < MaxAllowedAmount; i++ ) + { + m_inputPorts[ i ].Name = OptionNames[ i ]; + } + } + + for ( int i = 0; i < MaxAllowedAmount; i++ ) + { + m_inputPorts[ i ].Visible = ( i < MaxAmountInputs ); + } + + if ( m_currentSelectedInput >= MaxAmountInputs ) + { + m_currentSelectedInput = MaxAmountInputs - 1; + } + + AvailableInputsLabels = new string[ MaxAmountInputs ]; + AvailableInputsValues = new int[ MaxAmountInputs ]; + + for ( int i = 0; i < MaxAmountInputs; i++ ) + { + AvailableInputsLabels[ i ] = OptionNames[ i ]; AvailableInputsValues[ i ] = i; } } @@ -596,7 +572,7 @@ namespace AmplifyShaderEditor m_dirtySettings = false; } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { float finalSize = 0; if( !m_toggleMode ) @@ -614,7 +590,7 @@ namespace AmplifyShaderEditor } } - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); bool toggleMode = m_toggleMode; if( m_validReference ) @@ -796,26 +772,9 @@ namespace AmplifyShaderEditor m_maxAmountInputs = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); m_orderIndex = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); - for( int i = 0; i < MaxAllowedAmount; i++ ) - { - m_inputPorts[ i ].Visible = ( i < m_maxAmountInputs ); - } - - if( m_currentSelectedInput >= m_maxAmountInputs ) - { - m_currentSelectedInput = m_maxAmountInputs - 1; - } - for( int i = 0; i < m_maxAmountInputs; i++ ) { m_optionNames[ i ] = GetCurrentParam( ref nodeParams ); - m_inputPorts[ i ].Name = m_optionNames[ i ]; - } - - if( m_toggleMode ) - { - m_inputPorts[ 0 ].Name = ToggleFalseStr; - m_inputPorts[ 1 ].Name = ToggleTrueStr; } UpdateLabels(); @@ -879,7 +838,15 @@ namespace AmplifyShaderEditor public override string DataToArray { get { return m_optionLabel; } } public int MaxAmountInputs { - get { return m_maxAmountInputs; } + get { return m_validReference ? m_functionSwitchReference.MaxAmountInputs : ( m_toggleMode ? 2 : m_maxAmountInputs ); } + } + public bool ToggleMode + { + get { return m_validReference ? m_functionSwitchReference.ToggleMode : m_toggleMode; } + } + public string[] OptionNames + { + get { return m_validReference ? m_functionSwitchReference.OptionNames : m_optionNames; } } public bool DirtySettings { get { return m_dirtySettings; } } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitch.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitch.cs.meta index d54ea1b4..4e659ad5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitch.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitch.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitch.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitch.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitchByPipeline.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitchByPipeline.cs.meta index e313beaa..30eea264 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitchByPipeline.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitchByPipeline.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitchByPipeline.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/FunctionSwitchByPipeline.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/LogNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/LogNode.cs.meta index e9457b4e..3874c7a3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/LogNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/LogNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/LogNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/LogNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNode.cs index 4959c858..0b261929 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNode.cs @@ -279,7 +279,7 @@ namespace AmplifyShaderEditor if( foundHDRP ) { - if( version >= ASESRPBaseline.ASE_SRP_11 ) + if( version >= ASESRPBaseline.ASE_SRP_11_X ) { AddMenuItem( menu , "Rendering.HighDefinition.DecalShaderGraphGUI" ); AddMenuItem( menu , "Rendering.HighDefinition.LightingShaderGraphGUI" ); @@ -287,14 +287,14 @@ namespace AmplifyShaderEditor AddMenuItem( menu , "Rendering.HighDefinition.HDUnlitGUI" ); } else - if( version >= ASESRPBaseline.ASE_SRP_10 ) + if( version >= ASESRPBaseline.ASE_SRP_10_X ) { AddMenuItem( menu , "Rendering.HighDefinition.DecalGUI" ); AddMenuItem( menu , "Rendering.HighDefinition.LitShaderGraphGUI" ); AddMenuItem( menu , "Rendering.HighDefinition.LightingShaderGraphGUI" ); AddMenuItem( menu , "Rendering.HighDefinition.HDUnlitGUI" ); } - else if( version >= ASESRPBaseline.ASE_SRP_12 ) + else if( version >= ASESRPBaseline.ASE_SRP_12_X ) { AddMenuItem( menu , "Rendering.HighDefinition.DecalGUI" ); AddMenuItem( menu , "Rendering.HighDefinition.LitShaderGraphGUI" ); @@ -309,7 +309,7 @@ namespace AmplifyShaderEditor if( foundURP ) { - if( version >= ASESRPBaseline.ASE_SRP_12 ) + if( version >= ASESRPBaseline.ASE_SRP_12_X ) { AddMenuItem( menu , "UnityEditor.ShaderGraphLitGUI" ); AddMenuItem( menu , "UnityEditor.ShaderGraphUnlitGUI" ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNode.cs.meta index 1c3a124d..19dd3eb8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNodeDataCollector.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNodeDataCollector.cs index 18592c3a..34afd64d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNodeDataCollector.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNodeDataCollector.cs @@ -254,6 +254,28 @@ namespace AmplifyShaderEditor private List m_vertexInterpDeclList; private Dictionary m_vertexInterpDeclDict; private TemplateDataCollector m_templateDataCollector; + private Dictionary> m_propagateNodeCache; + + public bool Touch( MasterNodePortCategory category, ParentNode node ) + { + if ( !m_propagateNodeCache.TryGetValue( category, out System.Collections.Generic.HashSet propagateSet ) ) + { + propagateSet = new System.Collections.Generic.HashSet(); + m_propagateNodeCache.Add( category, propagateSet ); + } + + if ( !propagateSet.Contains( node ) ) + { + // @diogo: not touched yet; cache miss + propagateSet.Add( node ); + return false; + } + else + { + // @diogo: already touched; cache hit + return true; + } + } public MasterNodeDataCollector( MasterNode masterNode ) : this() { @@ -368,6 +390,8 @@ namespace AmplifyShaderEditor m_vertexInterpDeclDict = new Dictionary(); m_templateDataCollector = new TemplateDataCollector(); + + m_propagateNodeCache = new Dictionary>(); } public void CopyTextureChannelSizeFrom( ref MasterNodeDataCollector dataCollector ) @@ -576,7 +600,7 @@ namespace AmplifyShaderEditor { if( string.IsNullOrEmpty( value ) ) return; - + if( !m_inputDict.ContainsKey( value ) ) { m_inputDict.Add( value, new PropertyDataCollector( nodeId, value ,-1, !addSemiColon) ); @@ -636,6 +660,7 @@ namespace AmplifyShaderEditor case WirePortDataType.FLOAT3: return -3; case WirePortDataType.COLOR: case WirePortDataType.FLOAT4: return -4; + case WirePortDataType.FLOAT2x2: return -8; case WirePortDataType.FLOAT3x3: return -9; case WirePortDataType.FLOAT4x4: return -16; default: @@ -976,7 +1001,7 @@ namespace AmplifyShaderEditor //Debug.Log( UsingMacrosMask ); AddToDirectives( Constants.CustomASEStandarSamplingMacrosHelper[ 0 ], 1 ); - + if( ( Using2DMacrosMask & MacrosMask.AUTO ) == MacrosMask.AUTO ) AddToDirectives( Constants.CustomASEStandarSamplingMacrosRecent[ 0 ], 1 ); if( ( Using2DMacrosMask & MacrosMask.LOD ) == MacrosMask.LOD ) @@ -1214,7 +1239,7 @@ namespace AmplifyShaderEditor if( !m_virtualCoordinatesDict.ContainsKey( coord ) ) { m_virtualCoordinatesDict.Add( coord, nodeId ); - AddLocalVariable( nodeId, "VirtualCoord " + Constants.VirtualCoordNameStr + nodeId + " = VTComputeVirtualCoord" + lodBias + "(" + coord + ");" ); + AddLocalVariable( nodeId, "VirtualCoord " + Constants.VirtualCoordNameStr + nodeId + " = VTComputeVirtualCoord" + lodBias + "( " + coord + " );" ); return nodeId; } else @@ -2111,6 +2136,8 @@ namespace AmplifyShaderEditor public bool IsTemplate { get { return m_masterNodeCategory == AvailableShaderTypes.Template; } } public bool IsSRP { get { return ( TemplateDataCollectorInstance.CurrentSRPType == TemplateSRPType.URP || TemplateDataCollectorInstance.CurrentSRPType == TemplateSRPType.HDRP ); } } + public bool IsURP { get { return ( TemplateDataCollectorInstance.CurrentSRPType == TemplateSRPType.URP ); } } + public bool IsHDRP { get { return ( TemplateDataCollectorInstance.CurrentSRPType == TemplateSRPType.HDRP ); } } public AvailableShaderTypes MasterNodeCategory { @@ -2119,8 +2146,8 @@ namespace AmplifyShaderEditor } public string CurrentPassName - { - get + { + get { var multiPassMasterNode = m_masterNode as TemplateMultiPassMasterNode; return ( multiPassMasterNode != null ) ? multiPassMasterNode.PassName : string.Empty; @@ -2361,6 +2388,7 @@ namespace AmplifyShaderEditor public List InterpolatorList { get { return m_interpolatorsList; } } public List VertexInterpDeclList { get { return m_vertexInterpDeclList; } } public TemplateDataCollector TemplateDataCollectorInstance { get { return m_templateDataCollector; } } + public MasterNode MasterNode { get { return m_masterNode; } } public RenderPath CurrentRenderPath { get { return m_renderPath; } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNodeDataCollector.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNodeDataCollector.cs.meta index 9f9ad138..902027fa 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNodeDataCollector.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNodeDataCollector.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNodeDataCollector.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/MasterNodeDataCollector.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutlineOpHelper.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutlineOpHelper.cs index 23c104ef..78f8a478 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutlineOpHelper.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutlineOpHelper.cs @@ -291,7 +291,7 @@ namespace AmplifyShaderEditor } } - public string[] OutlineFunctionBody( ref MasterNodeDataCollector dataCollector, bool instanced, bool isShadowCaster, string shaderName, string[] billboardInfo, ref TessellationOpHelper tessOpHelper, string target, PrecisionType precision ) + public string[] OutlineFunctionBody( ref MasterNodeDataCollector dataCollector, bool instanced, bool isShadowCaster, string shaderName, string[] billboardInfo, ref TessellationOpHelper tessOpHelper, string target, PrecisionType precision, StencilBufferOpHelper stencilBufferHelper, UndoParentNode nodeObject ) { List body = new List(); body.Add( ModeTags[ dataCollector.CustomOutlineSelectedAlpha ] ); @@ -305,6 +305,11 @@ namespace AmplifyShaderEditor body.Add( "Cull " + m_cullMode ); + if( stencilBufferHelper.Active ) + { + body.Add(stencilBufferHelper.CreateStencilOp(nodeObject)); + } + //Color Mask { int count = 0; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutlineOpHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutlineOpHelper.cs.meta index 6e2dd590..be007eeb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutlineOpHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutlineOpHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutlineOpHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutlineOpHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutputNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutputNode.cs.meta index 9b62977e..9c0aed37 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutputNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutputNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutputNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/OutputNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/RenderingOptionsOpHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/RenderingOptionsOpHelper.cs.meta index f1b30247..c172044f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/RenderingOptionsOpHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/RenderingOptionsOpHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/RenderingOptionsOpHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/RenderingOptionsOpHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/RenderingPlatformsOpHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/RenderingPlatformsOpHelper.cs.meta index 73fe0545..e2e3b9d9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/RenderingPlatformsOpHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/RenderingPlatformsOpHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/RenderingPlatformsOpHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/RenderingPlatformsOpHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StandardSurface.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StandardSurface.cs index b6ea9314..f2c5fff0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StandardSurface.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StandardSurface.cs @@ -80,96 +80,97 @@ namespace AmplifyShaderEditor Overlay } - [Serializable] - public class NodeCache - { - public int TargetNodeId = -1; - public int TargetPortId = -1; - - public NodeCache( int targetNodeId, int targetPortId ) - { - SetData( targetNodeId, targetPortId ); - } - - public void SetData( int targetNodeId, int targetPortId ) - { - TargetNodeId = targetNodeId; - TargetPortId = targetPortId; - } - - public void Invalidate() - { - TargetNodeId = -1; - TargetPortId = -1; - } - - public bool IsValid - { - get { return ( TargetNodeId >= 0 ); } - } - - public override string ToString() - { - return "TargetNodeId " + TargetNodeId + " TargetPortId " + TargetPortId; - } - } - - [Serializable] - public class CacheNodeConnections - { - public Dictionary> NodeCacheArray; - - public CacheNodeConnections() - { - NodeCacheArray = new Dictionary>(); - } - - public void Add( string key, NodeCache value ) - { - if( NodeCacheArray.ContainsKey( key ) ) - { - NodeCacheArray[ key ].Add( value ); - } - else - { - NodeCacheArray.Add( key, new List() ); - NodeCacheArray[ key ].Add( value ); - } - } - - public NodeCache Get( string key, int idx = 0 ) - { - if( NodeCacheArray.ContainsKey( key ) ) - { - if( idx < NodeCacheArray[ key ].Count ) - return NodeCacheArray[ key ][ idx ]; - } - return null; - } - - public List GetList( string key ) - { - if( NodeCacheArray.ContainsKey( key ) ) - { - return NodeCacheArray[ key ]; - } - return null; - } - - public void Clear() - { - foreach( KeyValuePair> kvp in NodeCacheArray ) - { - kvp.Value.Clear(); - } - NodeCacheArray.Clear(); - } - } - [Serializable] [NodeAttributes( "Standard Surface Output", "Master", "Surface shader generator output", null, KeyCode.None, false )] public sealed class StandardSurfaceOutputNode : MasterNode, ISerializationCallbackReceiver { + + [Serializable] + public class NodeCache + { + public int TargetNodeId = -1; + public int TargetPortId = -1; + + public NodeCache( int targetNodeId, int targetPortId ) + { + SetData( targetNodeId, targetPortId ); + } + + public void SetData( int targetNodeId, int targetPortId ) + { + TargetNodeId = targetNodeId; + TargetPortId = targetPortId; + } + + public void Invalidate() + { + TargetNodeId = -1; + TargetPortId = -1; + } + + public bool IsValid + { + get { return ( TargetNodeId >= 0 ); } + } + + public override string ToString() + { + return "TargetNodeId " + TargetNodeId + " TargetPortId " + TargetPortId; + } + } + + [Serializable] + public class CacheNodeConnections + { + public Dictionary> NodeCacheArray; + + public CacheNodeConnections() + { + NodeCacheArray = new Dictionary>(); + } + + public void Add( string key, NodeCache value ) + { + if( NodeCacheArray.ContainsKey( key ) ) + { + NodeCacheArray[ key ].Add( value ); + } + else + { + NodeCacheArray.Add( key, new List() ); + NodeCacheArray[ key ].Add( value ); + } + } + + public NodeCache Get( string key, int idx = 0 ) + { + if( NodeCacheArray.ContainsKey( key ) ) + { + if( idx < NodeCacheArray[ key ].Count ) + return NodeCacheArray[ key ][ idx ]; + } + return null; + } + + public List GetList( string key ) + { + if( NodeCacheArray.ContainsKey( key ) ) + { + return NodeCacheArray[ key ]; + } + return null; + } + + public void Clear() + { + foreach( KeyValuePair> kvp in NodeCacheArray ) + { + kvp.Value.Clear(); + } + NodeCacheArray.Clear(); + } + } + private readonly static string[] VertexLitFunc = { "\t\tinline half4 LightingUnlit( SurfaceOutput s, half3 lightDir, half atten )", "\t\t{", "\t\t\treturn half4 ( 0, 0, 0, s.Alpha );", @@ -554,7 +555,7 @@ namespace AmplifyShaderEditor m_inputPorts[ m_inputPorts.Count - 1 ].Locked = ( m_alphaMode != AlphaMode.Masked && m_alphaMode != AlphaMode.Custom ); m_discardPortId = m_inputPorts.Count - 1; - // This is done to take the index + 2 from refraction port into account and not overlap indexes + // This is done to take the index + 2 from refraction port into account and not overlap indexes index++; AddInputPort( WirePortDataType.FLOAT3, false, CustomLightingStr, index++, MasterNodePortCategory.Fragment, 13 ); @@ -563,7 +564,7 @@ namespace AmplifyShaderEditor m_customLightingPortId = m_inputPorts.Count - 1; //////////////////////////////////////////////////////////////////////////////////////////////// - // Vertex functions - Adding ordex index in order to force these to be the last ones + // Vertex functions - Adding ordex index in order to force these to be the last ones // Well now they have been moved to be the first ones so operations on vertex are to be taken into account // by dither, screen position and similar nodes //////////////////////////////////////////////////////////////////////////////////////////////// @@ -1286,7 +1287,7 @@ namespace AmplifyShaderEditor m_currentDataCollector.DirtyNormal = true; m_currentDataCollector.ForceNormal = false; } - + m_currentDataCollector.AddInstructions( addCustomDelimiters ? customDelimiterIn : ( "\t\t\t" + portName + " = " ) ); m_currentDataCollector.AddInstructions( newInstruction ); m_currentDataCollector.AddInstructions( addCustomDelimiters ? customDelimiterOut :((isDebugPort)?" + 1E-5;\n":";\n") ); @@ -1352,7 +1353,7 @@ namespace AmplifyShaderEditor string aboveUsePasses = string.Empty; string bellowUsePasses = string.Empty; - + m_currentDataCollector.TesselationActive = m_tessOpHelper.EnableTesselation; #if UNITY_IOS @@ -1609,12 +1610,12 @@ namespace AmplifyShaderEditor if( hasTranslucency ) { m_currentDataCollector.AddToProperties( UniqueId, "[Header(Translucency)]", m_translucencyReorder.OrderIndex ); - m_currentDataCollector.AddToProperties( UniqueId, "_Translucency(\"Strength\", Range( 0 , 50)) = 1", m_translucencyReorder.OrderIndex + 1 ); - m_currentDataCollector.AddToProperties( UniqueId, "_TransNormalDistortion(\"Normal Distortion\", Range( 0 , 1)) = 0.1", m_translucencyReorder.OrderIndex + 2 ); - m_currentDataCollector.AddToProperties( UniqueId, "_TransScattering(\"Scaterring Falloff\", Range( 1 , 50)) = 2", m_translucencyReorder.OrderIndex + 3 ); - m_currentDataCollector.AddToProperties( UniqueId, "_TransDirect(\"Direct\", Range( 0 , 1)) = 1", m_translucencyReorder.OrderIndex + 4 ); - m_currentDataCollector.AddToProperties( UniqueId, "_TransAmbient(\"Ambient\", Range( 0 , 1)) = 0.2", m_translucencyReorder.OrderIndex + 5 ); - m_currentDataCollector.AddToProperties( UniqueId, "_TransShadow(\"Shadow\", Range( 0 , 1)) = 0.9", m_translucencyReorder.OrderIndex + 6 ); + m_currentDataCollector.AddToProperties( UniqueId, "_Translucency( \"Strength\", Range( 0, 50 ) ) = 1", m_translucencyReorder.OrderIndex + 1 ); + m_currentDataCollector.AddToProperties( UniqueId, "_TransNormalDistortion( \"Normal Distortion\", Range( 0, 1 ) ) = 0.1", m_translucencyReorder.OrderIndex + 2 ); + m_currentDataCollector.AddToProperties( UniqueId, "_TransScattering( \"Scaterring Falloff\", Range( 1, 50 ) ) = 2", m_translucencyReorder.OrderIndex + 3 ); + m_currentDataCollector.AddToProperties( UniqueId, "_TransDirect( \"Direct\", Range( 0, 1 ) ) = 1", m_translucencyReorder.OrderIndex + 4 ); + m_currentDataCollector.AddToProperties( UniqueId, "_TransAmbient( \"Ambient\", Range( 0, 1 ) ) = 0.2", m_translucencyReorder.OrderIndex + 5 ); + m_currentDataCollector.AddToProperties( UniqueId, "_TransShadow( \"Shadow\", Range( 0, 1 ) ) = 0.9", m_translucencyReorder.OrderIndex + 6 ); m_currentDataCollector.AddToUniforms( UniqueId, "uniform half _Translucency;" ); m_currentDataCollector.AddToUniforms( UniqueId, "uniform half _TransNormalDistortion;" ); @@ -1807,8 +1808,8 @@ namespace AmplifyShaderEditor } m_customShadowCaster = CustomShadowCaster; - - //if( !m_renderingOptionsOpHelper.UseDefaultShadowCaster && + + //if( !m_renderingOptionsOpHelper.UseDefaultShadowCaster && // ( ( m_castShadows && ( m_alphaToCoverage || m_inlineAlphaToCoverage.Active ) ) || // ( m_castShadows && hasOpacity ) || // ( m_castShadows && ( m_currentDataCollector.UsingWorldNormal || m_currentDataCollector.UsingWorldReflection || m_currentDataCollector.UsingViewDirection ) ) || @@ -1905,7 +1906,7 @@ namespace AmplifyShaderEditor if( m_outlineHelper.EnableOutline || ( m_currentDataCollector.UsingCustomOutlineColor || m_currentDataCollector.CustomOutlineSelectedAlpha > 0 || m_currentDataCollector.UsingCustomOutlineWidth ) ) { if( !usingDebugPort ) - AddMultilineBody( ref ShaderBody, m_outlineHelper.OutlineFunctionBody( ref m_currentDataCollector, isInstancedShader, m_customShadowCaster, UIUtils.RemoveInvalidCharacters( ShaderName ), ( m_billboardOpHelper.IsBillboard && !usingDebugPort ? m_billboardOpHelper.GetInternalMultilineInstructions() : null ), ref m_tessOpHelper, ShaderModelTypeArr[ m_shaderModelIdx ], CurrentPrecisionType ) ); + AddMultilineBody( ref ShaderBody, m_outlineHelper.OutlineFunctionBody( ref m_currentDataCollector, isInstancedShader, m_customShadowCaster, UIUtils.RemoveInvalidCharacters( ShaderName ), ( m_billboardOpHelper.IsBillboard && !usingDebugPort ? m_billboardOpHelper.GetInternalMultilineInstructions() : null ), ref m_tessOpHelper, ShaderModelTypeArr[ m_shaderModelIdx ], CurrentPrecisionType, m_stencilBufferHelper, this ) ); } //Add SubShader tags @@ -2248,7 +2249,7 @@ namespace AmplifyShaderEditor //Add custom lighting function if( hasTranslucency || hasTransmission ) { - ShaderBody += "\t\tinline half4 Lighting" + m_currentLightModel.ToString() + Constants.CustomLightStructStr + "(" + outputStruct + " " + Constants.CustomLightOutputVarStr + ", half3 viewDir, UnityGI gi )\n\t\t{\n"; + ShaderBody += "\t\tinline half4 Lighting" + m_currentLightModel.ToString() + Constants.CustomLightStructStr + "( " + outputStruct + " " + Constants.CustomLightOutputVarStr + ", half3 viewDir, UnityGI gi )\n\t\t{\n"; if( hasTranslucency ) { //ShaderBody += "\t\t\t#if !DIRECTIONAL\n"; @@ -2674,7 +2675,7 @@ namespace AmplifyShaderEditor } //else //{ - // // need to always get asset datapath because a user can change and asset location from the project window + // // need to always get asset datapath because a user can change and asset location from the project window // AssetDatabase.ImportAsset( AssetDatabase.GetAssetPath( m_currentShader ) ); // //ShaderUtil.UpdateShaderAsset( m_currentShader, ShaderBody ); //} @@ -2870,7 +2871,7 @@ namespace AmplifyShaderEditor portId = newPort; - //removed custom lighting port + //removed custom lighting port //if ( UIUtils.CurrentShaderVersion() < 10003 ) //runs everytime because this system is only used after 5000 version { switch( m_currentLightModel ) @@ -3311,7 +3312,7 @@ namespace AmplifyShaderEditor get { bool hasOpacity = m_inputPorts[ m_opacityPortId ].IsConnected; - return + return ( !m_renderingOptionsOpHelper.UseDefaultShadowCaster && ( ( m_castShadows && ( m_alphaToCoverage || m_inlineAlphaToCoverage.Active ) ) || ( m_castShadows && hasOpacity ) || diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StandardSurface.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StandardSurface.cs.meta index 85a76b0f..1573498e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StandardSurface.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StandardSurface.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StandardSurface.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StandardSurface.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StencilBufferOpHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StencilBufferOpHelper.cs.meta index 7b386c8d..eda9ae2c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StencilBufferOpHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StencilBufferOpHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StencilBufferOpHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/StencilBufferOpHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TerrainDrawInstancedHelper.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TerrainDrawInstancedHelper.cs index 05923586..45642369 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TerrainDrawInstancedHelper.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TerrainDrawInstancedHelper.cs @@ -170,11 +170,11 @@ namespace AmplifyShaderEditor "\t#endif", "#endif", }; - private readonly string[] AdditionalUsePasses = - { - "Hidden/Nature/Terrain/Utilities/PICKING", - "Hidden/Nature/Terrain/Utilities/SELECTION" - }; + + private const string TerrainPickingPass = "Hidden/Nature/Terrain/Utilities/PICKING"; + private const string TerrainSelectionPass = "Hidden/Nature/Terrain/Utilities/SELECTION"; + + private readonly string[] AdditionalUsePasses = { TerrainPickingPass, TerrainSelectionPass }; private readonly string DrawInstancedLabel = "Instanced Terrain"; [SerializeField] @@ -189,9 +189,31 @@ namespace AmplifyShaderEditor { if( m_enable ) { - for( int i = 0; i < AdditionalUsePasses.Length; i++ ) + dataCollector.AddToDefines( -1, "ASE_INSTANCED_TERRAIN" ); + + var multiPassMasterNode = dataCollector.MasterNode as TemplateMultiPassMasterNode; + if ( multiPassMasterNode != null ) { - dataCollector.AddUsePass( AdditionalUsePasses[ i ], false ); + // @diogo: add selection/picking passes ONLY if they don't already exist in the template + bool hasPickingPass = multiPassMasterNode.ContainerGraph.HasPassWithTag( multiPassMasterNode.LODIndex, "LightMode", "ScenePickingPass" ); + bool hasSelectionPass = multiPassMasterNode.ContainerGraph.HasPassWithTag( multiPassMasterNode.LODIndex, "LightMode", "SceneSelectionPass" ); + + if ( !hasPickingPass ) + { + dataCollector.AddUsePass( TerrainPickingPass, false ); + } + + if ( !hasSelectionPass ) + { + dataCollector.AddUsePass( TerrainSelectionPass, false ); + } + } + else + { + for( int i = 0; i < AdditionalUsePasses.Length; i++ ) + { + dataCollector.AddUsePass( AdditionalUsePasses[ i ], false ); + } } string[] instancedPragmas = dataCollector.IsSRP ? InstancedPragmasSRP : InstancedPragmas; @@ -313,6 +335,8 @@ namespace AmplifyShaderEditor { if( m_enable ) { + dataCollector.AddToDefines( -1, "ASE_INSTANCED_TERRAIN" ); + for( int i = 0; i < AdditionalUsePasses.Length; i++ ) { dataCollector.AddUsePass( AdditionalUsePasses[ i ], false ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TerrainDrawInstancedHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TerrainDrawInstancedHelper.cs.meta index 658eecd2..c8adedcb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TerrainDrawInstancedHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TerrainDrawInstancedHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TerrainDrawInstancedHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TerrainDrawInstancedHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TessellationOpHelper.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TessellationOpHelper.cs index 11a392bc..68b7a746 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TessellationOpHelper.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TessellationOpHelper.cs @@ -64,11 +64,11 @@ namespace AmplifyShaderEditor // Edge Length private GUIContent EdgeLengthContent = new GUIContent( "Edge Length", "Tessellation levels ccomputed based on triangle edge length on the screen\nDefault: 4" ); - private const string EdgeLengthTessProperty = "_EdgeLength ( \"Edge length\", Range( 2, 50 ) ) = {0}"; + private const string EdgeLengthTessProperty = "_EdgeLength( \"Edge length\", Range( 2, 50 ) ) = {0}"; private const string EdgeLengthTessUniformName = "_EdgeLength"; - private const string EdgeLengthTessFunctionBody = "\t\t\treturn UnityEdgeLengthBasedTess (v0.vertex, v1.vertex, v2.vertex, _EdgeLength);\n"; - private const string EdgeLengthTessCullFunctionBody = "\t\t\treturn UnityEdgeLengthBasedTessCull (v0.vertex, v1.vertex, v2.vertex, _EdgeLength , _TessMaxDisp );\n"; + private const string EdgeLengthTessFunctionBody = "\t\t\treturn UnityEdgeLengthBasedTess( v0.vertex, v1.vertex, v2.vertex, _EdgeLength );\n"; + private const string EdgeLengthTessCullFunctionBody = "\t\t\treturn UnityEdgeLengthBasedTessCull( v0.vertex, v1.vertex, v2.vertex, _EdgeLength, _TessMaxDisp );\n"; private const string EdgeLengthTessMaxDispProperty = "_TessMaxDisp( \"Max Displacement\", Float ) = {0}"; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TessellationOpHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TessellationOpHelper.cs.meta index 1e5a23b9..f4bb62cb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TessellationOpHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TessellationOpHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TessellationOpHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/TessellationOpHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/UsePassHelper.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/UsePassHelper.cs index 2a6ca837..62f136c9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/UsePassHelper.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/UsePassHelper.cs @@ -203,7 +203,7 @@ namespace AmplifyShaderEditor } owner.ContainerGraph.ParentWindow.InnerWindowVariables.ExpandedUsePass = foldoutValue; } - + private void DisplayShaderContext( UndoParentNode node, Rect r ) { if( m_dummyCommand == null ) @@ -212,9 +212,12 @@ namespace AmplifyShaderEditor if( m_dummyMaterial == null ) m_dummyMaterial = new Material( Shader.Find( "Hidden/ASESShaderSelectorUnlit" ) ); -#pragma warning disable 0618 + #pragma warning disable 0618 + #if !UNITY_6000_2_OR_NEWER UnityEditorInternal.InternalEditorUtility.SetupShaderMenu( m_dummyMaterial ); -#pragma warning restore 0618 + #endif + #pragma warning restore 0618 + EditorUtility.DisplayPopupMenu( r, ShaderPoputContext, m_dummyCommand ); } @@ -301,7 +304,7 @@ namespace AmplifyShaderEditor { bellowItems += tabs + string.Format( UseGrabFormatNewLine, dataCollector.BelowUsePassesList[ i ].PropertyName ); } - + count = m_items.Count; for( int i = 0; i < count; i++ ) { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/UsePassHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/UsePassHelper.cs.meta index 94f441a8..3cb58c9d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/UsePassHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/UsePassHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/UsePassHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/UsePassHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/ZBufferOpHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/ZBufferOpHelper.cs.meta index 33529cb6..48cbcd45 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/ZBufferOpHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/ZBufferOpHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/ZBufferOpHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Master/ZBufferOpHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/AppendNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/AppendNode.cs index 6318614b..af0df565 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/AppendNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/AppendNode.cs @@ -104,6 +104,7 @@ namespace AmplifyShaderEditor case WirePortDataType.OBJECT: case WirePortDataType.FLOAT: case WirePortDataType.INT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { } @@ -159,6 +160,7 @@ namespace AmplifyShaderEditor break; case WirePortDataType.FLOAT: case WirePortDataType.INT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { } @@ -213,6 +215,7 @@ namespace AmplifyShaderEditor break; case WirePortDataType.FLOAT: case WirePortDataType.INT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/AppendNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/AppendNode.cs.meta index 0e2a7d75..6eac9c1b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/AppendNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/AppendNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/AppendNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/AppendNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/BreakToComponentsNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/BreakToComponentsNode.cs index 03e89378..f885bb51 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/BreakToComponentsNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/BreakToComponentsNode.cs @@ -57,7 +57,7 @@ namespace AmplifyShaderEditor RenderTexture.active = temp; } } - PreviewIsDirty = m_continuousPreviewRefresh; + PreviewIsDirty = ContinuousPreviewRefresh; } public override RenderTexture PreviewTexture @@ -142,6 +142,19 @@ namespace AmplifyShaderEditor } } break; + case WirePortDataType.FLOAT2x2: + { + for( int i = 0; i < 4; i++ ) + { + m_outputPorts[ i ].ChangeProperties( "[" + (int)( i / 2 ) + "][" + i % 2 + "]", WirePortDataType.FLOAT, false ); + m_outputPorts[ i ].Visible = true; + } + for( int i = 4; i < m_outputPorts.Count; i++ ) + { + m_outputPorts[ i ].Visible = false; + } + } + break; case WirePortDataType.FLOAT3x3: { for( int i = 0; i < 9; i++ ) @@ -275,6 +288,10 @@ namespace AmplifyShaderEditor { return GetOutputColorItem( 0, outputId + 1, value ); } + case WirePortDataType.FLOAT2x2: + { + return value + "[ " + ( (int)( outputId / 2 ) ) + " ][ " + ( outputId % 2 ) + " ]"; + } case WirePortDataType.FLOAT3x3: { return value + "[ " + ( (int)( outputId / 3 ) ) + " ][ " + ( outputId % 3 ) + " ]"; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/BreakToComponentsNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/BreakToComponentsNode.cs.meta index 8d97afa7..0d3b0fac 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/BreakToComponentsNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/BreakToComponentsNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/BreakToComponentsNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/BreakToComponentsNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/CustomExpressionNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/CustomExpressionNode.cs index c9c8f79d..8b8459df 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/CustomExpressionNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/CustomExpressionNode.cs @@ -97,31 +97,34 @@ namespace AmplifyShaderEditor private readonly string[] AvailableWireTypesStr = { - "int", - "float", - "float2", - "float3", - "float4", - "float3x3", - "float4x4", - "sampler1D", - "sampler2D", - "sampler3D", - "samplerCUBE", - "sampler2Darray", - "samplerState", - "custom"}; + "int", + "float", + "float2", + "float3", + "float4", + "float2x2", + "float3x3", + "float4x4", + "sampler1D", + "sampler2D", + "sampler3D", + "samplerCUBE", + "sampler2Darray", + "samplerState", + "custom" + }; private readonly string[] AvailableOutputWireTypesStr = { - "int", - "float", - "float2", - "float3", - "float4", - "float3x3", - "float4x4", - "void", + "int", + "float", + "float2", + "float3", + "float4", + "float2x2", + "float3x3", + "float4x4", + "void", }; private readonly string[] QualifiersStr = @@ -138,6 +141,7 @@ namespace AmplifyShaderEditor WirePortDataType.FLOAT2, WirePortDataType.FLOAT3, WirePortDataType.FLOAT4, + WirePortDataType.FLOAT2x2, WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.SAMPLER1D, @@ -156,28 +160,30 @@ namespace AmplifyShaderEditor WirePortDataType.FLOAT2, WirePortDataType.FLOAT3, WirePortDataType.FLOAT4, + WirePortDataType.FLOAT2x2, WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.OBJECT, }; - private readonly Dictionary WireToIdx = new Dictionary + private readonly Dictionary WireToIdx = new Dictionary { - { WirePortDataType.INT, 0}, - { WirePortDataType.FLOAT, 1}, - { WirePortDataType.FLOAT2, 2}, - { WirePortDataType.FLOAT3, 3}, - { WirePortDataType.FLOAT4, 4}, - { WirePortDataType.FLOAT3x3, 5}, - { WirePortDataType.FLOAT4x4, 6}, - { WirePortDataType.SAMPLER1D, 7}, - { WirePortDataType.SAMPLER2D, 8}, - { WirePortDataType.SAMPLER3D, 9}, - { WirePortDataType.SAMPLERCUBE, 10}, - { WirePortDataType.SAMPLER2DARRAY, 11}, - { WirePortDataType.SAMPLERSTATE, 12}, - { WirePortDataType.OBJECT, 13} + { WirePortDataType.INT, 0 }, + { WirePortDataType.FLOAT, 1 }, + { WirePortDataType.FLOAT2, 2 }, + { WirePortDataType.FLOAT3, 3 }, + { WirePortDataType.FLOAT4, 4 }, + { WirePortDataType.FLOAT2x2, 5 }, + { WirePortDataType.FLOAT3x3, 6 }, + { WirePortDataType.FLOAT4x4, 7 }, + { WirePortDataType.SAMPLER1D, 8 }, + { WirePortDataType.SAMPLER2D, 9 }, + { WirePortDataType.SAMPLER3D, 10 }, + { WirePortDataType.SAMPLERCUBE, 11 }, + { WirePortDataType.SAMPLER2DARRAY, 12 }, + { WirePortDataType.SAMPLERSTATE, 13 }, + { WirePortDataType.OBJECT, 14 } }; [SerializeField] @@ -409,9 +415,9 @@ namespace AmplifyShaderEditor } } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_titleClickArea = m_titlePos; m_titleClickArea.height = Constants.NODE_HEADER_HEIGHT; } @@ -1556,6 +1562,12 @@ namespace AmplifyShaderEditor } } + public static int UpgradeTypeIdx( int typeIdx ) + { + // 19901 => adds float2x2 + return typeIdx + ( ( UIUtils.CurrentShaderVersion() <= 19900 && typeIdx > 4 ) ? 1 : 0 ); + } + public override void ReadFromString( ref string[] nodeParams ) { // This node is, by default, created with one input port @@ -1563,7 +1575,8 @@ namespace AmplifyShaderEditor m_code = GetCurrentParam( ref nodeParams ); m_code = m_code.Replace( Constants.LineFeedSeparator , '\n' ); m_code = m_code.Replace( Constants.SemiColonSeparator , ';' ); - m_outputTypeIdx = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); + m_outputTypeIdx = UpgradeTypeIdx( Convert.ToInt32( GetCurrentParam( ref nodeParams ) ) ); + if( m_outputTypeIdx >= AvailableWireTypes.Length ) { UIUtils.ShowMessage( UniqueId , "Sampler types were removed as a valid output custom expression type" ); @@ -1871,6 +1884,21 @@ namespace AmplifyShaderEditor } } + public override void ReconnectClipboardReferences( Clipboard clipboard ) + { + int dependencyCount = m_dependencies.Count; + for ( int i = 0; i < dependencyCount; i++ ) + { + // validate node first + int newId = clipboard.GeNewNodeId( m_dependencies[ i ].DependencyNodeId ); + if ( ContainerGraph.GetNode( newId ) != null ) + { + m_dependencies[ i ].DependencyNodeId = newId; + } + } + RefreshExternalReferences(); + } + public override void FireTimedUpdate() { UIUtils.CurrentWindow.OutsideGraph.CustomExpressionOnFunctionMode.UpdateDataOnNode( UniqueId , m_customExpressionName ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/CustomExpressionNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/CustomExpressionNode.cs.meta index 7e5f214f..0551729e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/CustomExpressionNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/CustomExpressionNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/CustomExpressionNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/CustomExpressionNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/DynamicAppendNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/DynamicAppendNode.cs.meta index 959c2a14..1e11e54d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/DynamicAppendNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/DynamicAppendNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/DynamicAppendNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/DynamicAppendNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/FresnelNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/FresnelNode.cs.meta index bfe7d00f..1b911140 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/FresnelNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/FresnelNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/FresnelNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/FresnelNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/GetLocalVarNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/GetLocalVarNode.cs index 42fb540a..e31515af 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/GetLocalVarNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/GetLocalVarNode.cs @@ -75,7 +75,7 @@ namespace AmplifyShaderEditor if( m_drawPreviewAsSphere != m_currentSelected.SpherePreview ) { m_drawPreviewAsSphere = m_currentSelected.SpherePreview; - OnNodeChange(); + OnNodeChange( new NodeUpdateCache() ); } //CheckSpherePreview(); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/GetLocalVarNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/GetLocalVarNode.cs.meta index 4fafea20..67a84159 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/GetLocalVarNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/GetLocalVarNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/GetLocalVarNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/GetLocalVarNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/LayeredBlendNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/LayeredBlendNode.cs.meta index 477622b6..7722341f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/LayeredBlendNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/LayeredBlendNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/LayeredBlendNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/LayeredBlendNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/LinearDepthNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/LinearDepthNode.cs.meta index 990a61fc..f514ba5b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/LinearDepthNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/LinearDepthNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/LinearDepthNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/LinearDepthNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs index af6325bc..aaf49fde 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs @@ -5,7 +5,7 @@ using System; namespace AmplifyShaderEditor { [Serializable] - [NodeAttributes( "Matrix From Vectors", "Matrix Operators", "Matrix From Vectors" )] + [NodeAttributes( "Matrix Create", "Matrix Operators", "Create a matrix from vectors.", tags: "matrix from vectors create" )] public sealed class MatrixFromVectors : ParentNode { private const string RowFromVector = "Input to Row"; @@ -13,7 +13,10 @@ namespace AmplifyShaderEditor private WirePortDataType m_selectedOutputType = WirePortDataType.FLOAT3x3; [SerializeField] - private int m_selectedOutputTypeInt = 0; + private int m_selectedOutputTypeInt = 1; + + [SerializeField] + private Vector3[] m_defaultValuesV2 = { Vector2.zero, Vector2.zero }; [SerializeField] private Vector3[] m_defaultValuesV3 = { Vector3.zero, Vector3.zero, Vector3.zero }; @@ -22,15 +25,16 @@ namespace AmplifyShaderEditor private Vector4[] m_defaultValuesV4 = { Vector4.zero, Vector4.zero, Vector4.zero, Vector4.zero }; [SerializeField] - private bool m_rowsFromVector = true; + private eVectorFromMatrixMode m_mode = eVectorFromMatrixMode.Row; private string[] m_defaultValuesStr = { "[0]", "[1]", "[2]", "[3]" }; - private readonly string[] _outputValueTypes ={ "Matrix3X3", - "Matrix4X4"}; + private readonly string[] _outputValueTypes ={ "Matrix2X2", "Matrix3X3", "Matrix4X4"}; private UpperLeftWidgetHelper m_upperLeftWidget = new UpperLeftWidgetHelper(); + private const string SubtitleFormat = "{0}, {1}"; + protected override void CommonInit( int uniqueId ) { base.CommonInit( uniqueId ); @@ -43,6 +47,7 @@ namespace AmplifyShaderEditor m_autoWrapProperties = true; m_hasLeftDropdown = true; UpdatePorts(); + UpdateSubtitle(); } public override void AfterCommonInit() @@ -56,6 +61,19 @@ namespace AmplifyShaderEditor } } + private void UpdateSubtitle() + { + string type; + switch ( m_selectedOutputType ) + { + case WirePortDataType.FLOAT2x2: type = "2x2"; break; + case WirePortDataType.FLOAT3x3: type = "3x3"; break; + default: type = "4x4"; break; + } + + SetAdditonalTitleText( string.Format( SubtitleFormat, type, m_mode ) ); + } + public override void Destroy() { base.Destroy(); @@ -71,8 +89,9 @@ namespace AmplifyShaderEditor { switch( m_selectedOutputTypeInt ) { - case 0: m_selectedOutputType = WirePortDataType.FLOAT3x3; break; - case 1: m_selectedOutputType = WirePortDataType.FLOAT4x4; break; + case 0: m_selectedOutputType = WirePortDataType.FLOAT2x2; break; + case 1: m_selectedOutputType = WirePortDataType.FLOAT3x3; break; + case 2: m_selectedOutputType = WirePortDataType.FLOAT4x4; break; } UpdatePorts(); @@ -83,22 +102,39 @@ namespace AmplifyShaderEditor { base.DrawProperties(); + EditorGUI.BeginChangeCheck(); + m_mode = ( eVectorFromMatrixMode )EditorGUILayoutEnumPopup( "Mode", m_mode ); + if( EditorGUI.EndChangeCheck() ) + { + UpdateSubtitle(); + } + EditorGUI.BeginChangeCheck(); m_selectedOutputTypeInt = EditorGUILayoutPopup( "Output type", m_selectedOutputTypeInt, _outputValueTypes ); if( EditorGUI.EndChangeCheck() ) { switch( m_selectedOutputTypeInt ) { - case 0: m_selectedOutputType = WirePortDataType.FLOAT3x3; break; - case 1: m_selectedOutputType = WirePortDataType.FLOAT4x4; break; + case 0: m_selectedOutputType = WirePortDataType.FLOAT2x2; break; + case 1: m_selectedOutputType = WirePortDataType.FLOAT3x3; break; + case 2: m_selectedOutputType = WirePortDataType.FLOAT4x4; break; } UpdatePorts(); + UpdateSubtitle(); } int count = 0; switch( m_selectedOutputType ) { + case WirePortDataType.FLOAT2x2: + count = 2; + for( int i = 0; i < count; i++ ) + { + if( !m_inputPorts[ i ].IsConnected ) + m_defaultValuesV2[ i ] = EditorGUILayoutVector2Field( m_defaultValuesStr[ i ], m_defaultValuesV2[ i ] ); + } + break; case WirePortDataType.FLOAT3x3: count = 3; for( int i = 0; i < count; i++ ) @@ -116,7 +152,6 @@ namespace AmplifyShaderEditor } break; } - m_rowsFromVector = EditorGUILayoutToggle( RowFromVector, m_rowsFromVector ); } void UpdatePorts() @@ -125,11 +160,20 @@ namespace AmplifyShaderEditor ChangeOutputType( m_selectedOutputType, false ); switch( m_selectedOutputType ) { + case WirePortDataType.FLOAT2x2: + m_inputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT2, false ); + m_inputPorts[ 1 ].ChangeType( WirePortDataType.FLOAT2, false ); + m_inputPorts[ 2 ].ChangeType( WirePortDataType.FLOAT2, false ); + m_inputPorts[ 3 ].ChangeType( WirePortDataType.FLOAT2, false ); + m_inputPorts[ 2 ].Visible = false; + m_inputPorts[ 3 ].Visible = false; + break; case WirePortDataType.FLOAT3x3: m_inputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT3, false ); m_inputPorts[ 1 ].ChangeType( WirePortDataType.FLOAT3, false ); m_inputPorts[ 2 ].ChangeType( WirePortDataType.FLOAT3, false ); m_inputPorts[ 3 ].ChangeType( WirePortDataType.FLOAT3, false ); + m_inputPorts[ 2 ].Visible = true; m_inputPorts[ 3 ].Visible = false; break; case WirePortDataType.FLOAT4x4: @@ -137,6 +181,7 @@ namespace AmplifyShaderEditor m_inputPorts[ 1 ].ChangeType( WirePortDataType.FLOAT4, false ); m_inputPorts[ 2 ].ChangeType( WirePortDataType.FLOAT4, false ); m_inputPorts[ 3 ].ChangeType( WirePortDataType.FLOAT4, false ); + m_inputPorts[ 2 ].Visible = true; m_inputPorts[ 3 ].Visible = true; break; } @@ -148,28 +193,41 @@ namespace AmplifyShaderEditor string result = ""; switch( m_selectedOutputType ) { - case WirePortDataType.FLOAT3x3: - if( m_rowsFromVector ) + case WirePortDataType.FLOAT2x2: + if( m_mode == eVectorFromMatrixMode.Row ) { - result = "float3x3(" + m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ) + ", " + result = "float2x2( " + m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ) + ", " + + m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ) + " )"; + } + else + { + string vec0 = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); + string vec1 = m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ); + result = string.Format( "float2x2( {0}.x, {1}.x, {0}.y, {1}.y )", vec0, vec1 ); + } + break; + case WirePortDataType.FLOAT3x3: + if( m_mode == eVectorFromMatrixMode.Row ) + { + result = "float3x3( " + m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ) + ", " + m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ) + ", " - + m_inputPorts[ 2 ].GeneratePortInstructions( ref dataCollector ) + ")"; + + m_inputPorts[ 2 ].GeneratePortInstructions( ref dataCollector ) + " )"; } else { string vec0 = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); string vec1 = m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ); string vec2 = m_inputPorts[ 2 ].GeneratePortInstructions( ref dataCollector ); - result = string.Format( "float3x3({0}.x,{1}.x,{2}.x,{0}.y,{1}.y,{2}.y,{0}.z,{1}.z,{2}.z )", vec0, vec1, vec2 ); + result = string.Format( "float3x3( {0}.x, {1}.x, {2}.x, {0}.y, {1}.y, {2}.y, {0}.z, {1}.z, {2}.z )", vec0, vec1, vec2 ); } break; case WirePortDataType.FLOAT4x4: - if( m_rowsFromVector ) + if( m_mode == eVectorFromMatrixMode.Row ) { - result = "float4x4(" + m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ) + ", " + result = "float4x4( " + m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ) + ", " + m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ) + ", " + m_inputPorts[ 2 ].GeneratePortInstructions( ref dataCollector ) + ", " - + m_inputPorts[ 3 ].GeneratePortInstructions( ref dataCollector ) + ")"; + + m_inputPorts[ 3 ].GeneratePortInstructions( ref dataCollector ) + " )"; } else { @@ -177,7 +235,7 @@ namespace AmplifyShaderEditor string vec1 = m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ); string vec2 = m_inputPorts[ 2 ].GeneratePortInstructions( ref dataCollector ); string vec3 = m_inputPorts[ 3 ].GeneratePortInstructions( ref dataCollector ); - result = string.Format( "float4x4( {0}.x,{1}.x,{2}.x,{3}.x,{0}.y,{1}.y,{2}.y,{3}.y,{0}.z,{1}.z,{2}.z,{3}.z,{0}.w,{1}.w,{2}.w,{3}.w )", vec0, vec1, vec2, vec3 ); + result = string.Format( "float4x4( {0}.x, {1}.x, {2}.x, {3}.x, {0}.y, {1}.y, {2}.y, {3}.y, {0}.z, {1}.z, {2}.z, {3}.z, {0}.w, {1}.w, {2}.w, {3}.w )", vec0, vec1, vec2, vec3 ); } break; } @@ -189,27 +247,37 @@ namespace AmplifyShaderEditor { base.ReadFromString( ref nodeParams ); m_selectedOutputType = (WirePortDataType)Enum.Parse( typeof( WirePortDataType ), GetCurrentParam( ref nodeParams ) ); - if( UIUtils.CurrentShaderVersion() > 15310 ) + + if ( UIUtils.CurrentShaderVersion() > 19900 ) { - m_rowsFromVector = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); + m_mode = ( eVectorFromMatrixMode )Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); } - switch( m_selectedOutputType ) + else if( UIUtils.CurrentShaderVersion() > 15310 ) { + bool rowsFromVector = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); + m_mode = rowsFromVector ? eVectorFromMatrixMode.Row : eVectorFromMatrixMode.Column; + } + switch ( m_selectedOutputType ) + { + case WirePortDataType.FLOAT2x2: + m_selectedOutputTypeInt = 0; + break; case WirePortDataType.FLOAT3x3: - m_selectedOutputTypeInt = 0; - break; + m_selectedOutputTypeInt = 1; + break; case WirePortDataType.FLOAT4x4: - m_selectedOutputTypeInt = 1; - break; + m_selectedOutputTypeInt = 2; + break; } UpdatePorts(); + UpdateSubtitle(); } public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) { base.WriteToString( ref nodeInfo, ref connectionsInfo ); IOUtils.AddFieldValueToString( ref nodeInfo, m_selectedOutputType ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_rowsFromVector ); + IOUtils.AddFieldValueToString( ref nodeInfo, ( int )m_mode ); } } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs.meta index c3590180..0f810264 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixFromVectors.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixSplit.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixSplit.cs new file mode 100644 index 00000000..62790fea --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixSplit.cs @@ -0,0 +1,153 @@ +using System; +using UnityEngine; +using UnityEditor; + +namespace AmplifyShaderEditor +{ + [Serializable] + [NodeAttributes( "Matrix Split", "Matrix Operators", "Split a matrix into vectors" )] + public sealed class MatrixSplit : ParentNode + { + [SerializeField] + private eVectorFromMatrixMode m_mode = eVectorFromMatrixMode.Row; + + protected override void CommonInit( int uniqueId ) + { + base.CommonInit( uniqueId ); + AddInputPort( WirePortDataType.FLOAT4x4, false, Constants.EmptyPortValue ); + m_inputPorts[ 0 ].CreatePortRestrictions( WirePortDataType.FLOAT2x2, WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4 ); + AddOutputPort( WirePortDataType.FLOAT4, "[0]" ); + AddOutputPort( WirePortDataType.FLOAT4, "[1]" ); + AddOutputPort( WirePortDataType.FLOAT4, "[2]" ); + AddOutputPort( WirePortDataType.FLOAT4, "[3]" ); + m_useInternalPortData = true; + m_autoWrapProperties = true; + UpdateSubtitle(); + } + + private void UpdateSubtitle() + { + string type; + switch ( m_inputPorts[ 0 ].DataType ) + { + case WirePortDataType.FLOAT2x2: type = "2x2"; break; + case WirePortDataType.FLOAT3x3: type = "3x3"; break; + default: type = "4x4"; break; + } + + SetAdditonalTitleText( string.Format( "{0}, {1}", type, m_mode ) ); + } + + public override void OnInputPortConnected( int portId, int otherNodeId, int otherPortId, bool activateNode = true ) + { + base.OnInputPortConnected( portId, otherNodeId, otherPortId, activateNode ); + UpdatePorts(); + } + + public override void OnConnectedOutputNodeChanges( int inputPortId, int otherNodeId, int otherPortId, string name, WirePortDataType type ) + { + base.OnConnectedOutputNodeChanges( inputPortId, otherNodeId, otherPortId, name, type ); + UpdatePorts(); + } + + void UpdatePorts() + { + m_inputPorts[ 0 ].MatchPortToConnection(); + + WirePortDataType type; + int visibleCount; + + if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT2x2 ) + { + type = WirePortDataType.FLOAT2; + visibleCount = 2; + } + else if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT3x3 ) + { + type = WirePortDataType.FLOAT3; + visibleCount = 3; + } + else + { + type = WirePortDataType.FLOAT4; + visibleCount = 4; + } + + for ( int i = 0; i < m_outputPorts.Count; i++ ) + { + m_outputPorts[ i ].ChangeType( type, false ); + m_outputPorts[ i ].Visible = ( i < visibleCount ); + } + + m_sizeIsDirty = true; + } + + public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) + { + string value = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); + if ( !m_inputPorts[ 0 ].DataTypeIsMatrix ) + { + value = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, value, m_inputPorts[ 0 ].DataType, WirePortDataType.FLOAT4x4, value ); + } + + if ( m_mode == eVectorFromMatrixMode.Row ) + { + value += "[ " + outputId + " ]"; + } + else + { + string formatStr = value + "[ {0} ]" + "[ " + outputId + " ]"; + int count = 4; + if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT4x4 ) + { + value = "float4( "; + } + else if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT3x3 ) + { + count = 3; + value = "float3( "; + } + else if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT2x2 ) + { + count = 2; + value = "float2( "; + } + + for ( int i = 0; i < count; i++ ) + { + value += string.Format( formatStr, i ); + if ( i != ( count - 1 ) ) + { + value += ", "; + } + } + value += " )"; + } + return value; + } + + public override void DrawProperties() + { + EditorGUI.BeginChangeCheck(); + m_mode = (eVectorFromMatrixMode)EditorGUILayoutEnumPopup( "Mode", m_mode ); + if ( EditorGUI.EndChangeCheck() ) + { + UpdateSubtitle(); + } + base.DrawProperties(); + } + + public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) + { + base.WriteToString( ref nodeInfo, ref connectionsInfo ); + IOUtils.AddFieldValueToString( ref nodeInfo, m_mode ); + } + + public override void ReadFromString( ref string[] nodeParams ) + { + base.ReadFromString( ref nodeParams ); + m_mode = ( eVectorFromMatrixMode ) Enum.Parse( typeof( eVectorFromMatrixMode ), GetCurrentParam( ref nodeParams ) ); + UpdateSubtitle(); + } + } +} diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixSplit.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixSplit.cs.meta new file mode 100644 index 00000000..b8efd009 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixSplit.cs.meta @@ -0,0 +1,19 @@ +fileFormatVersion: 2 +guid: 17248c3b5e20e6c479332ddfce92f490 +timeCreated: 1481126954 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/MatrixSplit.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/PosFromTransformMatrix.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/PosFromTransformMatrix.cs.meta index 2ee9c03c..a7a256d6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/PosFromTransformMatrix.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/PosFromTransformMatrix.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/PosFromTransformMatrix.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/PosFromTransformMatrix.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RegisterLocalVarNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RegisterLocalVarNode.cs.meta index 970cf380..fe10b62c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RegisterLocalVarNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RegisterLocalVarNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RegisterLocalVarNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RegisterLocalVarNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RelayNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RelayNode.cs.meta index 0cd68304..fdb5bebd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RelayNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RelayNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RelayNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RelayNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RotateAboutAxisNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RotateAboutAxisNode.cs.meta index afc3860b..991df0dc 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RotateAboutAxisNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RotateAboutAxisNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RotateAboutAxisNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/RotateAboutAxisNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SummedBlendNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SummedBlendNode.cs.meta index ac55d687..04ef4471 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SummedBlendNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SummedBlendNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SummedBlendNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SummedBlendNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwitchNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwitchNode.cs index ae3d4107..a781be2b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwitchNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwitchNode.cs @@ -100,9 +100,9 @@ namespace AmplifyShaderEditor // m_sizeIsDirty = true; //} - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_varRect = m_remainingBox; m_varRect.width = 50 * drawInfo.InvertedZoom; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwitchNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwitchNode.cs.meta index a45e189c..11a20a14 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwitchNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwitchNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwitchNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwitchNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwizzleNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwizzleNode.cs index 55060303..be974125 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwizzleNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwizzleNode.cs @@ -97,6 +97,7 @@ namespace AmplifyShaderEditor inputMaxChannelId = 0; break; case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: break; @@ -207,6 +208,7 @@ namespace AmplifyShaderEditor count = 1; break; case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: break; @@ -258,6 +260,7 @@ namespace AmplifyShaderEditor count = 1; break; case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: break; @@ -281,6 +284,7 @@ namespace AmplifyShaderEditor inputMaxChannelId = 0; break; case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: break; @@ -345,6 +349,7 @@ namespace AmplifyShaderEditor inputMaxChannelId = 0; break; case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: break; @@ -368,6 +373,7 @@ namespace AmplifyShaderEditor count = 1; break; case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: break; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwizzleNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwizzleNode.cs.meta index eb6152c1..953a165c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwizzleNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwizzleNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwizzleNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/SwizzleNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/ToggleSwitchNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/ToggleSwitchNode.cs index 6b044978..56d7b98b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/ToggleSwitchNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/ToggleSwitchNode.cs @@ -11,9 +11,26 @@ namespace AmplifyShaderEditor [NodeAttributes( "Toggle Switch", "Logical Operators", "Switch between any of its input ports" )] public class ToggleSwitchNode : PropertyNode { + public enum ToggleSwitchVariableMode + { + Create = 0, + Reference = 1 + } + + private float InstanceIconWidth = 19; + private float InstanceIconHeight = 19; + private readonly Color ReferenceHeaderColor = new Color( 0f, 0.5f, 0.585f, 1.0f ); + + private const string ToggleSwitchStr = "Toggle Switch"; + private const string ModeStr = "Mode"; + private const string InputPortName = "In "; private const string CurrSelectedStr = "Toggle Value"; - private const string GenerateKeywordStr = "Generate Keyword"; + + private const string AssignKeywordStr = "Assign Keyword"; + private const string AssignKeywordInfoStr = "The material inspector will assign a {0}_ON keyword when the toggle is turned ON. " + + "To use it, you'll need a Switch node to create the keyword variants"; + //private const string LerpOp = "lerp({0},{1},{2})"; private const string LerpOp = "(( {2} )?( {1} ):( {0} ))"; @@ -30,7 +47,23 @@ namespace AmplifyShaderEditor private WirePortDataType m_mainDataType = WirePortDataType.FLOAT; [SerializeField] - private bool m_generateKeyword = true; + private bool m_assignKeyword = true; + + [SerializeField] + private ToggleSwitchVariableMode m_toggleSwitchVarMode = ToggleSwitchVariableMode.Create; + + [SerializeField] + private ToggleSwitchNode m_reference = null; + + [SerializeField] + private int m_referenceArrayId = -1; + + [SerializeField] + private int m_referenceNodeId = -1; + + private bool m_isToggleSwitchDirty = false; + + private Rect m_iconPos; private int m_cachedPropertyId = -1; @@ -61,6 +94,7 @@ namespace AmplifyShaderEditor m_drawAttributes = false; m_freeType = false; m_useVarSubtitle = true; + m_showTitleWhenNotEditing = false; m_useInternalPortData = true; m_previewShaderGUID = "beeb138daeb592a4887454f81dba2b3f"; @@ -74,8 +108,42 @@ namespace AmplifyShaderEditor { base.OnUniqueIDAssigned(); UIUtils.RegisterPropertyNode( this ); + + if( CurrentVarMode != ToggleSwitchVariableMode.Reference ) + { + ContainerGraph.ToggleSwitchNodes.AddNode( this ); + } + + if( UniqueId > -1 ) + { + ContainerGraph.ToggleSwitchNodes.OnReorderEventComplete += OnReorderEventComplete; + } } - + + public override void Destroy() + { + base.Destroy(); + UIUtils.UnregisterPropertyNode( this ); + if( CurrentVarMode != ToggleSwitchVariableMode.Reference ) + { + ContainerGraph.ToggleSwitchNodes.RemoveNode( this ); + } + + if( UniqueId > -1 ) + ContainerGraph.ToggleSwitchNodes.OnReorderEventComplete -= OnReorderEventComplete; + } + + void OnReorderEventComplete() + { + if( CurrentVarMode == ToggleSwitchVariableMode.Reference ) + { + if( m_reference != null ) + { + m_referenceArrayId = ContainerGraph.ToggleSwitchNodes.GetNodeRegisterIdx( m_reference.UniqueId ); + } + } + } + public override void SetPreviewInputs() { base.SetPreviewInputs(); @@ -83,7 +151,9 @@ namespace AmplifyShaderEditor if ( m_cachedPropertyId == -1 ) m_cachedPropertyId = Shader.PropertyToID( "_Current" ); - PreviewMaterial.SetInt( m_cachedPropertyId, m_currentSelectedInput ); + ToggleSwitchNode node = ( m_toggleSwitchVarMode == ToggleSwitchVariableMode.Reference && m_reference != null ) ? m_reference : this; + + PreviewMaterial.SetInt( m_cachedPropertyId, node.m_currentSelectedInput ); } public override void OnConnectedOutputNodeChanges( int portId, int otherNodeId, int otherPortId, string name, WirePortDataType type ) @@ -124,9 +194,9 @@ namespace AmplifyShaderEditor m_outputPorts[ 0 ].ChangeType( m_mainDataType, false ); } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_varRect = m_remainingBox; m_varRect.width = 50 * drawInfo.InvertedZoom; @@ -138,8 +208,51 @@ namespace AmplifyShaderEditor m_imgRect.x = m_varRect.xMax - 16 * drawInfo.InvertedZoom; m_imgRect.width = 16 * drawInfo.InvertedZoom; m_imgRect.height = m_imgRect.width; + + CheckReferenceValues( false ); + + if ( m_toggleSwitchVarMode == ToggleSwitchVariableMode.Reference ) + { + m_iconPos = m_globalPosition; + m_iconPos.width = InstanceIconWidth * drawInfo.InvertedZoom; + m_iconPos.height = InstanceIconHeight * drawInfo.InvertedZoom; + + m_iconPos.y += 10 * drawInfo.InvertedZoom; + m_iconPos.x += /*m_globalPosition.width - m_iconPos.width - */5 * drawInfo.InvertedZoom; + } } + void CheckReferenceValues( bool forceUpdate ) + { + if ( m_toggleSwitchVarMode == ToggleSwitchVariableMode.Reference ) + { + if ( m_reference == null && m_referenceNodeId > 0 ) + { + m_reference = ContainerGraph.GetNode( m_referenceNodeId ) as ToggleSwitchNode; + m_referenceArrayId = ContainerGraph.ToggleSwitchNodes.GetNodeRegisterIdx( m_referenceNodeId ); + } + + if ( m_reference != null ) + { + if ( forceUpdate || m_reference.IsToggleSwitchDirty ) + { + int count = m_inputPorts.Count; + for ( int i = 0; i < count; i++ ) + { + m_inputPorts[ i ].Name = m_reference.InputPorts[ i ].Name; + m_inputPorts[ i ].Visible = m_reference.InputPorts[ i ].Visible; + } + m_sizeIsDirty = true; + } + } + } + else + { + m_isToggleSwitchDirty = false; + } + } + + public override void DrawGUIControls( DrawInfo drawInfo ) { base.DrawGUIControls( drawInfo ); @@ -161,7 +274,10 @@ namespace AmplifyShaderEditor { base.Draw( drawInfo ); - if( m_editing ) + if ( m_toggleSwitchVarMode == ToggleSwitchVariableMode.Reference ) + return; + + if ( m_editing ) { EditorGUI.BeginChangeCheck(); m_currentSelectedInput = EditorGUIIntPopup( m_varRect, m_currentSelectedInput, AvailableInputsLabels, AvailableInputsValues, UIUtils.SwitchNodePopUp ); @@ -182,11 +298,24 @@ namespace AmplifyShaderEditor if ( !m_isVisible ) return; - if ( !m_editing && ContainerGraph.LodLevel <= ParentGraph.NodeLOD.LOD4 ) + if ( m_toggleSwitchVarMode == ToggleSwitchVariableMode.Reference ) { - GUI.Label( m_varRect, AvailableInputsLabels[ m_currentSelectedInput ], UIUtils.GraphDropDown ); + GUI.Label( m_iconPos, string.Empty, UIUtils.GetCustomStyle( CustomStyle.SamplerTextureIcon ) ); + GUI.enabled = false; + } + + if ( !m_editing && ContainerGraph.LodLevel <= ParentGraph.NodeLOD.LOD2 ) + { + ToggleSwitchNode node = ( m_toggleSwitchVarMode == ToggleSwitchVariableMode.Reference && m_reference != null ) ? m_reference : this; + + GUI.Label( m_varRect, node.AvailableInputsLabels[ node.m_currentSelectedInput ], UIUtils.GraphDropDown ); GUI.Label( m_imgRect, m_popContent, UIUtils.GraphButtonIcon ); } + + if ( m_toggleSwitchVarMode == ToggleSwitchVariableMode.Reference ) + { + GUI.enabled = true; + } } public override void DrawMainPropertyBlock() @@ -199,7 +328,11 @@ namespace AmplifyShaderEditor ShowHybridInstanced(); ShowAutoRegister(); ShowPrecision(); - m_generateKeyword = EditorGUILayoutToggle( GenerateKeywordStr, m_generateKeyword ); + m_assignKeyword = EditorGUILayoutToggle( AssignKeywordStr, m_assignKeyword ); + if ( m_assignKeyword ) + { + EditorGUILayout.HelpBox( string.Format( AssignKeywordInfoStr, PropertyName.ToUpper() ), MessageType.Info ); + } ShowToolbar(); } EditorGUILayout.EndVertical(); @@ -214,9 +347,83 @@ namespace AmplifyShaderEditor } } + void PropertyGroup() + { + EditorGUI.BeginChangeCheck(); + var prevVarMode = CurrentVarMode; + CurrentVarMode = (ToggleSwitchVariableMode)EditorGUILayoutEnumPopup( ModeStr, CurrentVarMode ); + if( EditorGUI.EndChangeCheck() ) + { + if( CurrentVarMode == ToggleSwitchVariableMode.Reference ) + { + UIUtils.UnregisterPropertyNode( this ); + } + else + { + UIUtils.RegisterPropertyNode( this ); + } + } + + if( CurrentVarMode == ToggleSwitchVariableMode.Reference ) + { + string[] arr = ContainerGraph.ToggleSwitchNodes.NodesArr; + bool guiEnabledBuffer = GUI.enabled; + if( arr != null && arr.Length > 0 ) + { + GUI.enabled = true; + } + else + { + m_referenceArrayId = -1; + GUI.enabled = false; + } + + EditorGUI.BeginChangeCheck(); + m_referenceArrayId = EditorGUILayoutPopup( Constants.AvailableReferenceStr, m_referenceArrayId, arr ); + if( EditorGUI.EndChangeCheck() ) + { + m_reference = ContainerGraph.ToggleSwitchNodes.GetNode( m_referenceArrayId ); + if( m_reference != null ) + { + m_referenceNodeId = m_reference.UniqueId; + CheckReferenceValues( true ); + } + else + { + m_referenceArrayId = -1; + m_referenceNodeId = -1; + } + } + GUI.enabled = guiEnabledBuffer; + + return; + } + + DrawMainPropertyBlock(); + } + + public override void CheckPropertyFromInspector( bool forceUpdate = false ) + { + if( m_propertyFromInspector ) + { + if( forceUpdate || ( EditorApplication.timeSinceStartup - m_propertyFromInspectorTimestamp ) > MaxTimestamp ) + { + m_propertyFromInspector = false; + RegisterPropertyName( true, m_propertyInspectorName, m_autoGlobalName, m_underscoredGlobal ); + m_propertyNameIsDirty = true; + + if( CurrentVarMode != ToggleSwitchVariableMode.Reference ) + { + ContainerGraph.ToggleSwitchNodes.UpdateDataOnNode( UniqueId, DataToArray ); + } + } + } + } + public override void DrawProperties() { - base.DrawProperties(); + //base.DrawProperties(); + NodeUtils.DrawPropertyGroup( ref m_propertiesFoldout, Constants.ParameterLabelStr, PropertyGroup ); NodeUtils.DrawPropertyGroup( ref m_visibleCustomAttrFoldout, CustomAttrStr, DrawCustomAttributes, DrawCustomAttrAddRemoveButtons ); } @@ -225,9 +432,12 @@ namespace AmplifyShaderEditor base.GenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalvar ); m_precisionString = UIUtils.PrecisionWirePortToCgType( CurrentPrecisionType, m_outputPorts[ 0 ].DataType ); + + ToggleSwitchNode node = ( m_toggleSwitchVarMode == ToggleSwitchVariableMode.Reference && m_reference != null ) ? m_reference : this; + string resultA = m_inputPorts[ 0 ].GenerateShaderForOutput( ref dataCollector, m_mainDataType, ignoreLocalvar, true ); string resultB = m_inputPorts[ 1 ].GenerateShaderForOutput( ref dataCollector, m_mainDataType, ignoreLocalvar, true ); - return string.Format( LerpOp, resultA, resultB, m_propertyName ); + return string.Format( LerpOp, resultA, resultB, node.m_propertyName ); } public override void ReadFromString( ref string[] nodeParams ) @@ -236,7 +446,20 @@ namespace AmplifyShaderEditor m_currentSelectedInput = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); if( UIUtils.CurrentShaderVersion() > 18806 ) { - m_generateKeyword = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); + m_assignKeyword = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); + } + if( UIUtils.CurrentShaderVersion() >= 19902 ) + { + string currentVarMode = GetCurrentParam( ref nodeParams ); + CurrentVarMode = ( ToggleSwitchVariableMode )Enum.Parse( typeof( ToggleSwitchVariableMode ), currentVarMode ); + if ( CurrentVarMode == ToggleSwitchVariableMode.Reference ) + { + m_referenceNodeId = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); + } + } + else + { + CurrentVarMode = ToggleSwitchVariableMode.Create; } } @@ -244,7 +467,13 @@ namespace AmplifyShaderEditor { base.WriteToString( ref nodeInfo, ref connectionsInfo ); IOUtils.AddFieldValueToString( ref nodeInfo, m_currentSelectedInput ); - IOUtils.AddFieldValueToString( ref nodeInfo, m_generateKeyword ); + IOUtils.AddFieldValueToString( ref nodeInfo, m_assignKeyword ); + IOUtils.AddFieldValueToString( ref nodeInfo, CurrentVarMode ); + if ( CurrentVarMode == ToggleSwitchVariableMode.Reference ) + { + int referenceId = ( m_reference != null ) ? m_reference.UniqueId : -1; + IOUtils.AddFieldValueToString( ref nodeInfo, referenceId ); + } } public override void RefreshExternalReferences() @@ -253,10 +482,22 @@ namespace AmplifyShaderEditor m_selectedAttribs.Clear(); UpdateConnection(); } + + public override void ReconnectClipboardReferences( Clipboard clipboard ) + { + // validate node first + int newId = clipboard.GeNewNodeId( m_referenceNodeId ); + if ( ContainerGraph.GetNode( newId ) != null ) + { + m_referenceNodeId = newId; + } + RefreshExternalReferences(); + } + public override string GetPropertyValue() { - string toggleAttribute = ( m_generateKeyword ) ? "[Toggle]":"[ToggleUI]"; - return PropertyAttributes + toggleAttribute + m_propertyName + "(\"" + m_propertyInspectorName + "\", Float) = " + m_currentSelectedInput; + string toggleAttribute = ( m_assignKeyword ) ? "[Toggle]":"[ToggleUI]"; + return PropertyAttributes + toggleAttribute + " " + m_propertyName + "( \"" + m_propertyInspectorName + "\", Float ) = " + m_currentSelectedInput; } public override string GetUniformValue() @@ -272,6 +513,37 @@ namespace AmplifyShaderEditor return true; } + public override void DrawTitle( Rect titlePos ) + { + bool referenceMode = m_toggleSwitchVarMode == ToggleSwitchVariableMode.Reference && m_reference != null; + string subTitle = string.Empty; + string subTitleFormat = string.Empty; + if( referenceMode ) + { + subTitle = m_reference.GetPropertyValStr(); + subTitleFormat = Constants.SubTitleRefNameFormatStr; + } + else + { + subTitle = GetPropertyValStr(); + subTitleFormat = GetSubTitleVarNameFormatStr(); + } + + SetAdditonalTitleTextOnCallback( subTitle, subTitleFormat, ( instance, newSubTitle ) => instance.AdditonalTitleContent.text = string.Format( subTitleFormat, newSubTitle ) ); + + if( !m_isEditing && ContainerGraph.LodLevel <= ParentGraph.NodeLOD.LOD3 ) + { + if ( CurrentVarMode == ToggleSwitchVariableMode.Create ) + { + GUI.Label( titlePos, PropertyInspectorName, UIUtils.GetCustomStyle( CustomStyle.NodeTitle ) ); + } + else + { + GUI.Label( titlePos, ToggleSwitchStr, UIUtils.GetCustomStyle( CustomStyle.NodeTitle ) ); + } + } + } + public override void UpdateMaterial( Material mat ) { base.UpdateMaterial( mat ); @@ -303,5 +575,31 @@ namespace AmplifyShaderEditor { return PropertyName; //return m_currentSelectedInput.ToString(); } + + public bool IsToggleSwitchDirty { get { return m_isToggleSwitchDirty; } } + ToggleSwitchVariableMode CurrentVarMode + { + get { return m_toggleSwitchVarMode; } + set + { + if ( m_toggleSwitchVarMode != value ) + { + if ( value == ToggleSwitchVariableMode.Reference ) + { + ContainerGraph.ToggleSwitchNodes.RemoveNode( this ); + m_referenceArrayId = -1; + m_referenceNodeId = -1; + m_reference = null; + m_headerColorModifier = ReferenceHeaderColor; + } + else + { + m_headerColorModifier = Color.white; + ContainerGraph.ToggleSwitchNodes.AddNode( this ); + } + } + m_toggleSwitchVarMode = value; + } + } } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/ToggleSwitchNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/ToggleSwitchNode.cs.meta index 85130d13..df6f5322 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/ToggleSwitchNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/ToggleSwitchNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/ToggleSwitchNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/ToggleSwitchNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/ObjectToWorldTransfNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/ObjectToWorldTransfNode.cs.meta index ded20cd8..76ca4d92 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/ObjectToWorldTransfNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/ObjectToWorldTransfNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/ObjectToWorldTransfNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/ObjectToWorldTransfNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/ParentTransfNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/ParentTransfNode.cs.meta index 76049c6c..f3b16e5f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/ParentTransfNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/ParentTransfNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/ParentTransfNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/ParentTransfNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/WorldToObjectTransfNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/WorldToObjectTransfNode.cs.meta index 36589376..59a16927 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/WorldToObjectTransfNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/WorldToObjectTransfNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/WorldToObjectTransfNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/Transformation/WorldToObjectTransfNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/VectorFromMatrixNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/VectorFromMatrixNode.cs index 61046038..3f9abb45 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/VectorFromMatrixNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/VectorFromMatrixNode.cs @@ -30,11 +30,26 @@ namespace AmplifyShaderEditor { base.CommonInit( uniqueId ); AddInputPort( WirePortDataType.FLOAT4x4, false, Constants.EmptyPortValue ); - m_inputPorts[ 0 ].CreatePortRestrictions( WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4 ); + m_inputPorts[ 0 ].CreatePortRestrictions( WirePortDataType.FLOAT2x2, WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4 ); AddOutputVectorPorts( WirePortDataType.FLOAT4, "XYZW" ); m_useInternalPortData = true; m_autoWrapProperties = true; + UpdateSubtitle(); } + + private void UpdateSubtitle() + { + string type; + switch ( m_inputPorts[ 0 ].DataType ) + { + case WirePortDataType.FLOAT2x2: type = "2x2"; break; + case WirePortDataType.FLOAT3x3: type = "3x3"; break; + default: type = "4x4"; break; + } + + SetAdditonalTitleText( string.Format( "{0}, {1}[ {2} ]", type, m_mode, m_index ) ); + } + public override void OnInputPortConnected( int portId, int otherNodeId, int otherPortId, bool activateNode = true ) { base.OnInputPortConnected( portId, otherNodeId, otherPortId, activateNode ); @@ -51,7 +66,15 @@ namespace AmplifyShaderEditor { m_inputPorts[ 0 ].MatchPortToConnection(); - if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT3x3 ) + if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT2x2 ) + { + m_outputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT2, false ); + m_outputPorts[ 0 ].Name = "XY"; + m_maxIndex = 1; + m_outputPorts[ 3 ].Visible = false; + m_outputPorts[ 4 ].Visible = false; + } + else if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT3x3 ) { m_outputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT3, false ); m_outputPorts[ 0 ].Name = "XYZ"; @@ -71,35 +94,39 @@ namespace AmplifyShaderEditor public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) { string value = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); - if ( m_inputPorts[ 0 ].DataType != WirePortDataType.FLOAT4x4 && - m_inputPorts[ 0 ].DataType != WirePortDataType.FLOAT3x3 ) + if ( !m_inputPorts[ 0 ].DataTypeIsMatrix ) { value = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, value, m_inputPorts[ 0 ].DataType, WirePortDataType.FLOAT4x4, value ); } if ( m_mode == eVectorFromMatrixMode.Row ) { - value += "[" + m_index + "]"; + value += "[ " + m_index + " ]"; } else { - string formatStr = value + "[{0}]" + "[" + m_index + "]"; + string formatStr = value + "[ {0} ]" + "[ " + m_index + " ]"; int count = 4; - if ( m_inputPorts[ 0 ].DataType != WirePortDataType.FLOAT3x3 ) + if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT4x4 ) { value = "float4( "; } - else + else if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT3x3 ) { count = 3; value = "float3( "; } + else if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT2x2 ) + { + count = 2; + value = "float2( "; + } for ( int i = 0; i < count; i++ ) { value += string.Format( formatStr, i ); if ( i != ( count - 1 ) ) { - value += ","; + value += ", "; } } value += " )"; @@ -112,6 +139,7 @@ namespace AmplifyShaderEditor m_mode = (eVectorFromMatrixMode)EditorGUILayoutEnumPopup( ModeStr, m_mode ); m_index = EditorGUILayoutIntSlider( IndexStr, m_index, 0, m_maxIndex ); base.DrawProperties(); + UpdateSubtitle(); } public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) @@ -126,6 +154,7 @@ namespace AmplifyShaderEditor base.ReadFromString( ref nodeParams ); m_mode = ( eVectorFromMatrixMode ) Enum.Parse( typeof( eVectorFromMatrixMode ), GetCurrentParam( ref nodeParams ) ); m_index = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); + UpdateSubtitle(); } } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/VectorFromMatrixNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/VectorFromMatrixNode.cs.meta index c09a60bd..b98d5ef6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/VectorFromMatrixNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/VectorFromMatrixNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/VectorFromMatrixNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/VectorFromMatrixNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedAvgNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedAvgNode.cs index c9329ff8..10a27727 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedAvgNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedAvgNode.cs @@ -35,7 +35,9 @@ namespace AmplifyShaderEditor for( int i = 0; i < m_inputPorts.Count; i++ ) { - m_inputPorts[ i ].AddPortForbiddenTypes( WirePortDataType.FLOAT3x3, + m_inputPorts[ i ].AddPortForbiddenTypes( + WirePortDataType.FLOAT2x2, + WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.SAMPLER1D, WirePortDataType.SAMPLER2D, @@ -112,6 +114,7 @@ namespace AmplifyShaderEditor } break; case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedAvgNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedAvgNode.cs.meta index 55c7c13c..ec55deca 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedAvgNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedAvgNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedAvgNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedAvgNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedBlendNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedBlendNode.cs.meta index b5e16f6b..da499d69 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedBlendNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedBlendNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedBlendNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WeightedBlendNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WireNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WireNode.cs index 4bcc5005..26359247 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WireNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WireNode.cs @@ -132,13 +132,13 @@ namespace AmplifyShaderEditor base.DrawProperties(); } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { if( m_firstDraw ) { m_firstDraw = false; AfterCommonInit(); - OnNodeChange(); + OnNodeChange( cache ); } if( m_forceVisualDataUpdate ) diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WireNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WireNode.cs.meta index d2bbbe3e..6767f68c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WireNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WireNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WireNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Misc/WireNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeAttributes.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeAttributes.cs.meta index bd805a48..4161949d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeAttributes.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeAttributes.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeAttributes.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeAttributes.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeRestrictions.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeRestrictions.cs.meta index 9bed7883..ec88f022 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeRestrictions.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeRestrictions.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeRestrictions.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeRestrictions.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUsageRegister.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUsageRegister.cs index f71bc283..06638237 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUsageRegister.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUsageRegister.cs @@ -21,6 +21,7 @@ namespace AmplifyShaderEditor [Serializable] public class UsageListCustomExpressionsOnFunctionMode : NodeUsageRegister { } [Serializable] public class UsageListGlobalArrayNodes : NodeUsageRegister { } [Serializable] public class UsageListStaticSwitchNodes : NodeUsageRegister { } + [Serializable] public class UsageListToggleSwitchNodes : NodeUsageRegister { } [Serializable] public class NodeUsageRegister where T : ParentNode diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUsageRegister.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUsageRegister.cs.meta index 2c28128f..b317ba4a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUsageRegister.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUsageRegister.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUsageRegister.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUsageRegister.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUtils.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUtils.cs.meta index a16b2a02..194e57fc 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUtils.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUtils.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUtils.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/NodeUtils.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ACosOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ACosOpNode.cs.meta index b20796b1..df624383 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ACosOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ACosOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ACosOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ACosOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ASinOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ASinOpNode.cs.meta index 54fe41d3..421fcfab 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ASinOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ASinOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ASinOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ASinOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ATan2OpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ATan2OpNode.cs.meta index 17edadd8..201d372f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ATan2OpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ATan2OpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ATan2OpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ATan2OpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ATanOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ATanOpNode.cs.meta index de6e25bf..b6a874f6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ATanOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ATanOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ATanOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ATanOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/AbsOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/AbsOpNode.cs.meta index 607d4dfd..f4823439 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/AbsOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/AbsOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/AbsOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/AbsOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CeilOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CeilOpNode.cs.meta index d1a0f21e..4fedd2a8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CeilOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CeilOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CeilOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CeilOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs index 2c960f3e..d92ad289 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs @@ -88,6 +88,7 @@ namespace AmplifyShaderEditor result = "clamp( " + value + " , " + min + " , " + max + " )"; } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs.meta index 10d59c60..c6edfc54 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClampOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClipNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClipNode.cs.meta index da7f46e6..e62c885d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClipNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClipNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClipNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ClipNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ComponentMaskNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ComponentMaskNode.cs index 3ed727cd..f04dd557 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ComponentMaskNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ComponentMaskNode.cs @@ -129,6 +129,7 @@ namespace AmplifyShaderEditor break; case WirePortDataType.FLOAT: case WirePortDataType.INT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { } @@ -186,6 +187,7 @@ namespace AmplifyShaderEditor count = 0; } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { } @@ -237,6 +239,7 @@ namespace AmplifyShaderEditor break; case WirePortDataType.FLOAT: case WirePortDataType.INT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { } @@ -309,6 +312,7 @@ namespace AmplifyShaderEditor count = 0; } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ComponentMaskNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ComponentMaskNode.cs.meta index 5d64c862..85deff2f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ComponentMaskNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ComponentMaskNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ComponentMaskNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ComponentMaskNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CosOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CosOpNode.cs.meta index e86d656f..c1afaa07 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CosOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CosOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CosOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CosOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CoshOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CoshOpNode.cs.meta index 2feeae51..b376592f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CoshOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CoshOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CoshOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CoshOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CrossProductOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CrossProductOpNode.cs.meta index 14ecf91a..e37ec929 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CrossProductOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CrossProductOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CrossProductOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/CrossProductOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DdxOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DdxOpNode.cs.meta index bec5090d..b9c11de9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DdxOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DdxOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DdxOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DdxOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DdyOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DdyOpNode.cs.meta index 4fdf1e01..b3c813e3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DdyOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DdyOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DdyOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DdyOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DegreesOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DegreesOpNode.cs.meta index 8dc8b288..d82c64bf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DegreesOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DegreesOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DegreesOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DegreesOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DeterminantOpNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DeterminantOpNode.cs index d48f775d..a1123edf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DeterminantOpNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DeterminantOpNode.cs @@ -14,8 +14,7 @@ namespace AmplifyShaderEditor base.CommonInit( uniqueId ); m_opName = "determinant"; m_drawPreview = false; - m_inputPorts[ 0 ].CreatePortRestrictions( WirePortDataType.FLOAT3x3, - WirePortDataType.FLOAT4x4 ); + m_inputPorts[ 0 ].CreatePortRestrictions( WirePortDataType.FLOAT2x2, WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4 ); m_autoUpdateOutputPort = false; m_inputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT4x4, false ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DeterminantOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DeterminantOpNode.cs.meta index b8688d14..ae579698 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DeterminantOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DeterminantOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DeterminantOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DeterminantOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DistanceOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DistanceOpNode.cs.meta index e87dc76b..23640df4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DistanceOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DistanceOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DistanceOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DistanceOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DotProductOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DotProductOpNode.cs.meta index d8eed9fc..614bd234 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DotProductOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DotProductOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DotProductOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/DotProductOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Exp2OpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Exp2OpNode.cs.meta index b93e14a9..fa7d3de5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Exp2OpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Exp2OpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Exp2OpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Exp2OpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ExpOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ExpOpNode.cs.meta index 66a3cd29..bac696a2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ExpOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ExpOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ExpOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ExpOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FWidthOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FWidthOpNode.cs.meta index 1991dc95..ad5fe24a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FWidthOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FWidthOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FWidthOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FWidthOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FloorOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FloorOpNode.cs.meta index a148efd6..4c247f45 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FloorOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FloorOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FloorOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FloorOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FmodOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FmodOpNode.cs.meta index baba8bd0..fedf55e8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FmodOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FmodOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FmodOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FmodOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FractNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FractNode.cs.meta index 9959bff3..356d133a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FractNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FractNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FractNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/FractNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/GradientSampleNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/GradientSampleNode.cs.meta index 437f296a..a67921cc 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/GradientSampleNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/GradientSampleNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/GradientSampleNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/GradientSampleNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/InverseOpNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/InverseOpNode.cs index 178fc545..289a592f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/InverseOpNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/InverseOpNode.cs @@ -81,8 +81,7 @@ namespace AmplifyShaderEditor m_opName = "inverse"; m_drawPreview = false; - m_inputPorts[ 0 ].CreatePortRestrictions( WirePortDataType.FLOAT3x3, - WirePortDataType.FLOAT4x4 ); + m_inputPorts[ 0 ].CreatePortRestrictions( WirePortDataType.FLOAT2x2, WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4 ); m_inputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT4x4, false ); m_outputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT4x4, false ); } @@ -95,7 +94,12 @@ namespace AmplifyShaderEditor string precisionString = UIUtils.PrecisionWirePortToCgType( CurrentPrecisionType, WirePortDataType.FLOAT ); string value = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); - if ( m_outputPorts[ 0 ].DataType == WirePortDataType.FLOAT3x3 ) + if ( m_outputPorts[ 0 ].DataType == WirePortDataType.FLOAT2x2 ) + { + GeneratorUtils.Add2x2InverseFunction( ref dataCollector, precisionString ); + RegisterLocalVariable( 0, string.Format( GeneratorUtils.Inverse2x2Header, value ), ref dataCollector, "invertVal" + OutputId ); + } + else if ( m_outputPorts[ 0 ].DataType == WirePortDataType.FLOAT3x3 ) { GeneratorUtils.Add3x3InverseFunction( ref dataCollector, precisionString ); RegisterLocalVariable( 0, string.Format( GeneratorUtils.Inverse3x3Header, value ), ref dataCollector, "invertVal" + OutputId ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/InverseOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/InverseOpNode.cs.meta index 7aa7ca17..9fe9c2da 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/InverseOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/InverseOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/InverseOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/InverseOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LengthOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LengthOpNode.cs.meta index f5edf42d..767a27aa 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LengthOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LengthOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LengthOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LengthOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LerpOp.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LerpOp.cs.meta index 908aeb6a..90c80200 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LerpOp.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LerpOp.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LerpOp.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LerpOp.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Log10OpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Log10OpNode.cs.meta index 1c6cb6b2..3878ca1c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Log10OpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Log10OpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Log10OpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Log10OpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Log2OpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Log2OpNode.cs.meta index 8e55a8d2..377c4835 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Log2OpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Log2OpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Log2OpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/Log2OpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LogOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LogOpNode.cs.meta index fb1b23b4..008dde1e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LogOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LogOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LogOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/LogOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/MultipleInputOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/MultipleInputOpNode.cs.meta index 0bc8ccd3..b9694471 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/MultipleInputOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/MultipleInputOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/MultipleInputOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/MultipleInputOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NegateNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NegateNode.cs.meta index 52301f02..497ca112 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NegateNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NegateNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NegateNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NegateNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NormalizeNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NormalizeNode.cs index fff830dc..b844f79b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NormalizeNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NormalizeNode.cs @@ -73,6 +73,7 @@ namespace AmplifyShaderEditor { return m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); } + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NormalizeNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NormalizeNode.cs.meta index e58e6a6a..8a3d42ef 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NormalizeNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NormalizeNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NormalizeNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/NormalizeNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/OneMinusNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/OneMinusNode.cs.meta index 200a7eae..b1307067 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/OneMinusNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/OneMinusNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/OneMinusNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/OneMinusNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/PowerNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/PowerNode.cs.meta index 241e8231..4f9e2b56 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/PowerNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/PowerNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/PowerNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/PowerNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RSqrtOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RSqrtOpNode.cs.meta index 4111523c..72c7dbaf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RSqrtOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RSqrtOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RSqrtOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RSqrtOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RadiansOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RadiansOpNode.cs.meta index 244382bc..b8732b2d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RadiansOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RadiansOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RadiansOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RadiansOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ReciprocalOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ReciprocalOpNode.cs.meta index 160ea723..f8adfe0d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ReciprocalOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ReciprocalOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ReciprocalOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ReciprocalOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ReflectOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ReflectOpNode.cs.meta index 021f56a0..a67e706b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ReflectOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ReflectOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ReflectOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ReflectOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RefractOpVec.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RefractOpVec.cs.meta index fd6533b4..57ec88f6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RefractOpVec.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RefractOpVec.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RefractOpVec.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RefractOpVec.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RoundOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RoundOpNode.cs.meta index 22f51ec4..2eae634e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RoundOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RoundOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RoundOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/RoundOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SaturateNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SaturateNode.cs.meta index 1f2437fb..1782c0d6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SaturateNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SaturateNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SaturateNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SaturateNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleAndOffsetNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleAndOffsetNode.cs.meta index 2b977bbd..422dc395 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleAndOffsetNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleAndOffsetNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleAndOffsetNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleAndOffsetNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleNode.cs index 7445a10d..f89173e9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleNode.cs @@ -60,9 +60,9 @@ namespace AmplifyShaderEditor m_outputPorts[ 0 ].ChangeType( InputPorts[ 0 ].DataType, false ); } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); m_propertyDrawPos.x = m_remainingBox.x + Constants.FLOAT_WIDTH_SPACING * drawInfo.InvertedZoom * 0.5f; m_propertyDrawPos.y = m_remainingBox.y + Constants.INPUT_PORT_DELTA_Y * drawInfo.InvertedZoom * 0.5f; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleNode.cs.meta index 74ee5f4a..3c36c5e3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/ScaleNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SignOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SignOpNode.cs.meta index e484efe0..234b316d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SignOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SignOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SignOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SignOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SimplifiedFModOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SimplifiedFModOpNode.cs.meta index 7ac44558..3171350c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SimplifiedFModOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SimplifiedFModOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SimplifiedFModOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SimplifiedFModOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SinOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SinOpNode.cs.meta index 6be7c6e2..1e7c7762 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SinOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SinOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SinOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SinOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SingleInputOp.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SingleInputOp.cs.meta index 6abbebd8..3e573bbf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SingleInputOp.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SingleInputOp.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SingleInputOp.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SingleInputOp.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SinhOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SinhOpNode.cs.meta index 4b899c97..97a8d526 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SinhOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SinhOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SinhOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SinhOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SmoothstepOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SmoothstepOpNode.cs.meta index 5c1d1cc6..4444a9d5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SmoothstepOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SmoothstepOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SmoothstepOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SmoothstepOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SqrtOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SqrtOpNode.cs.meta index 6dc09693..b094068a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SqrtOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SqrtOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SqrtOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/SqrtOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/StepOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/StepOpNode.cs.meta index 298cb544..3c6a5fe3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/StepOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/StepOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/StepOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/StepOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TFHCRemapNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TFHCRemapNode.cs index dc010aa2..3ae39f3a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TFHCRemapNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TFHCRemapNode.cs @@ -66,7 +66,7 @@ namespace AmplifyShaderEditor string oldMax = m_inputPorts[ 2 ].GenerateShaderForOutput( ref dataCollector, m_inputPorts[ 0 ].DataType, ignoreLocalvar, true ); string newMin = m_inputPorts[ 3 ].GenerateShaderForOutput( ref dataCollector, m_inputPorts[ 0 ].DataType, ignoreLocalvar, true ); string newMax = m_inputPorts[ 4 ].GenerateShaderForOutput( ref dataCollector, m_inputPorts[ 0 ].DataType, ignoreLocalvar, true ); - string strout = "(" + newMin + " + (" + value + " - " + oldMin + ") * (" + newMax + " - " + newMin + ") / (" + oldMax + " - " + oldMin + "))"; + string strout = " (" + newMin + " + ( " + value + " - " + oldMin + " ) * ( " + newMax + " - " + newMin + " ) / ( " + oldMax + " - " + oldMin + " ) )"; return CreateOutputLocalVariable( 0, strout, ref dataCollector ); } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TFHCRemapNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TFHCRemapNode.cs.meta index bd82c7bd..4ff2cd28 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TFHCRemapNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TFHCRemapNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TFHCRemapNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TFHCRemapNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TanOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TanOpNode.cs.meta index 4749b74e..5058c718 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TanOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TanOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TanOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TanOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TanhOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TanhOpNode.cs.meta index 91a04f72..acbed41c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TanhOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TanhOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TanhOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TanhOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransformVectorOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransformVectorOpNode.cs.meta index f0f70f47..9d04d8d0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransformVectorOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransformVectorOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransformVectorOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransformVectorOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransposeOpNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransposeOpNode.cs index 6e83e512..35ddf761 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransposeOpNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransposeOpNode.cs @@ -14,8 +14,7 @@ namespace AmplifyShaderEditor base.CommonInit( uniqueId ); m_opName = "transpose"; m_drawPreview = false; - m_inputPorts[ 0 ].CreatePortRestrictions( WirePortDataType.FLOAT3x3, - WirePortDataType.FLOAT4x4 ); + m_inputPorts[ 0 ].CreatePortRestrictions( WirePortDataType.FLOAT2x2, WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4 ); m_inputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT4x4, false ); m_outputPorts[ 0 ].ChangeType( WirePortDataType.FLOAT4x4, false ); } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransposeOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransposeOpNode.cs.meta index 911886c6..67c486fa 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransposeOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransposeOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransposeOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TransposeOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TruncOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TruncOpNode.cs.meta index 66844e17..54baf27b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TruncOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TruncOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TruncOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/TruncOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/VariablePortTypeOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/VariablePortTypeOpNode.cs.meta index 731d1711..5ddaf31a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/VariablePortTypeOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/VariablePortTypeOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/VariablePortTypeOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Operators/VariablePortTypeOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ParentNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ParentNode.cs index 0d2cd215..921e3d44 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ParentNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ParentNode.cs @@ -114,7 +114,7 @@ namespace AmplifyShaderEditor private List m_sortedInputPorts = new List(); [SerializeField] - protected List m_outputPorts = new List(); + protected List m_outputPorts = new List(); protected Dictionary m_outputPortsDict = new Dictionary(); [SerializeField] @@ -172,13 +172,19 @@ namespace AmplifyShaderEditor [SerializeField] protected int m_previewMaterialPassId = -1; - + protected bool m_useSquareNodeTitle = false; [SerializeField] - protected bool m_continuousPreviewRefresh = false; + private bool m_continuousPreviewRefresh = false; private bool m_previewIsDirty = true; + protected bool ContinuousPreviewRefresh + { + get { return m_continuousPreviewRefresh && !Preferences.User.DisablePreviews; } + set { m_continuousPreviewRefresh = value; } + } + // Error Box Messages private Rect m_errorBox; private bool m_previousErrorMessage = false; @@ -246,6 +252,7 @@ namespace AmplifyShaderEditor protected bool m_canExpand = true; protected bool m_firstDraw = true; + protected bool m_firstDrawTouch = false; protected int m_matrixId = -1; @@ -359,14 +366,14 @@ namespace AmplifyShaderEditor m_tooltipTimestamp = Time.realtimeSinceStartup; hideFlags = HideFlags.DontSave; - } + } public void RefreshUIHeaderColor() { // @diogo: handle special shader function case; this will have to do for now... var functionNode = this as FunctionNode; if ( functionNode != null && functionNode.Function != null ) - { + { if ( functionNode.Function.Header == AmplifyShaderFunction.HeaderStyle.Custom ) { m_headerColor = functionNode.Function.HeaderColor; @@ -683,7 +690,7 @@ namespace AmplifyShaderEditor } } - // Manually add Ports + // Manually add Ports public InputPort AddInputPort( WirePortDataType type, bool typeLocked, string name, int orderId = -1, MasterNodePortCategory category = MasterNodePortCategory.Fragment, int uniquePortId = -1 ) { InputPort port = new InputPort( m_uniqueId, ( uniquePortId < 0 ? m_inputPorts.Count : uniquePortId ), type, name, typeLocked, ( orderId >= 0 ? orderId : m_inputPorts.Count ), category ); @@ -1066,15 +1073,22 @@ namespace AmplifyShaderEditor } PreviewIsDirty = true; - OnNodeChange(); + OnNodeChange( new NodeUpdateCache() ); SetSaveIsDirty(); } - public virtual void OnInputPortDisconnected( int portId ) { PreviewIsDirty = true; OnNodeChange(); } + public virtual void OnInputPortDisconnected( int portId ) { PreviewIsDirty = true; OnNodeChange( new NodeUpdateCache() ); } public virtual void OnOutputPortDisconnected( int portId ) { } - public virtual void OnNodeChange() + public virtual void OnNodeChange( NodeUpdateCache cache ) { + if ( cache.Touch( this ) ) + { + return; + } + + //Debug.Log( "Visited " + this.UniqueId + ", Cache: " + ( cache != null ) ); + CheckSpherePreview(); int count = m_outputPorts.Count; for( int i = 0; i < count; i++ ) @@ -1083,7 +1097,7 @@ namespace AmplifyShaderEditor { for( int f = 0; f < m_outputPorts[ i ].ExternalReferences.Count; f++ ) { - ContainerGraph.GetNode( m_outputPorts[ i ].ExternalReferences[ f ].NodeId ).OnNodeChange(); + ContainerGraph.GetNode( m_outputPorts[ i ].ExternalReferences[ f ].NodeId ).OnNodeChange( cache ); } } } @@ -1362,7 +1376,7 @@ namespace AmplifyShaderEditor public virtual void FireTimedUpdate() { } /// - /// + /// /// /// public virtual void OnNodeLogicUpdate( DrawInfo drawInfo ) @@ -1419,16 +1433,15 @@ namespace AmplifyShaderEditor { m_sortedOutputPorts = m_outputPorts; } - + } /// /// This method should only be called to calculate layouts of elements to be draw later, only runs once per frame and before wires are drawn /// /// - public virtual void OnNodeLayout( DrawInfo drawInfo ) + public virtual void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache = null ) { - if( ContainerGraph.ChangedLightingModel ) { m_sizeIsDirty = true; @@ -1439,7 +1452,7 @@ namespace AmplifyShaderEditor { m_firstDraw = false; AfterCommonInit(); - OnNodeChange(); + OnNodeChange( cache ); } if( m_previousErrorMessage != m_showErrorMessage ) @@ -1845,7 +1858,7 @@ namespace AmplifyShaderEditor { float scaledSize = FunctionNode.HeaderIconSize * drawInfo.InvertedZoom; GUI.DrawTexture( new Rect( m_globalPosition.x, m_globalPosition.y, scaledSize, scaledSize ), functionNode.HeaderIcon, ScaleMode.ScaleAndCrop, true ); - } + } // Title DrawTitle( m_titlePos ); @@ -2199,7 +2212,7 @@ namespace AmplifyShaderEditor public virtual void SetPreviewInputs() { - if( !HasPreviewShader || !m_initialized ) + if( !HasPreviewShader || !m_initialized || Preferences.User.DisablePreviews ) return; int count = m_inputPorts.Count; @@ -2642,7 +2655,7 @@ namespace AmplifyShaderEditor switch( dataCollector.CurrentSRPType ) { case TemplateSRPType.HDRP: if(OnHDAction!=null) OnHDAction( outputId, ref dataCollector ); break; - case TemplateSRPType.URP:if(OnLightweightAction != null) OnLightweightAction( outputId, ref dataCollector ); break; + case TemplateSRPType.URP:if(OnLightweightAction != null) OnLightweightAction( outputId, ref dataCollector ); break; } } return string.Empty; @@ -2677,7 +2690,7 @@ namespace AmplifyShaderEditor return dataName; } - //SURFACE + //SURFACE { if( dataCollector.TesselationActive ) { @@ -2748,7 +2761,7 @@ namespace AmplifyShaderEditor return varName; } - //SURFACE + //SURFACE { if( dataCollector.TesselationActive ) { @@ -3229,7 +3242,7 @@ namespace AmplifyShaderEditor { port.DataType = dataType; } - + } catch( Exception e ) { @@ -3240,6 +3253,8 @@ namespace AmplifyShaderEditor public virtual void ReadAdditionalClipboardData( ref string[] nodeParams ) { } + public virtual void ReconnectClipboardReferences( Clipboard clipboard ) { } + protected string GetCurrentParam( ref string[] nodeParams ) { if( m_currentReadParamIdx < nodeParams.Length ) @@ -3266,7 +3281,7 @@ namespace AmplifyShaderEditor public virtual void WriteToString( ref string nodeInfo, ref string connectionsInfo ) { IOUtils.AddTypeToString( ref nodeInfo, IOUtils.NodeParam ); - IOUtils.AddFieldValueToString( ref nodeInfo, GetType() ); + IOUtils.AddFieldValueToString( ref nodeInfo, GetType().AssemblyQualifiedName ); IOUtils.AddFieldValueToString( ref nodeInfo, m_uniqueId ); IOUtils.AddFieldValueToString( ref nodeInfo, ( m_position.x.ToString() + IOUtils.VECTOR_SEPARATOR + m_position.y.ToString() ) ); IOUtils.AddFieldValueToString( ref nodeInfo, m_currentPrecisionType ); @@ -3358,22 +3373,28 @@ namespace AmplifyShaderEditor public virtual void PropagateNodeData( NodeData nodeData, ref MasterNodeDataCollector dataCollector ) { - UIUtils.SetCategoryInBitArray( ref m_category, nodeData.Category ); - nodeData.GraphDepth += 1; - if( nodeData.GraphDepth > m_graphDepth ) + if ( !dataCollector.Touch(nodeData.Category, this) ) { - m_graphDepth = nodeData.GraphDepth; - } - int count = m_inputPorts.Count; - for( int i = 0; i < count; i++ ) - { - if( m_inputPorts[ i ].IsConnected ) + // @diogo: first time touching this node during PropagateNodeData + UIUtils.SetCategoryInBitArray( ref m_category, nodeData.Category ); + nodeData.GraphDepth += 1; + if( nodeData.GraphDepth > m_graphDepth ) { - m_inputPorts[ i ].GetOutputNode().PropagateNodeData( nodeData, ref dataCollector ); + m_graphDepth = nodeData.GraphDepth; + } + int count = m_inputPorts.Count; + for( int i = 0; i < count; i++ ) + { + if( m_inputPorts[ i ].IsConnected ) + { + m_inputPorts[ i ].GetOutputNode().PropagateNodeData( nodeData, ref dataCollector ); + } } } + + } - + public void SetTitleTextOnCallback( string compareTitle, Action callback ) { if( !m_previousTitle.Equals( compareTitle ) ) @@ -3410,7 +3431,7 @@ namespace AmplifyShaderEditor m_content.text = GenerateClippedTitle( newText,maxSize,endString ); m_sizeIsDirty = true; } - + public virtual void SetClippedAdditionalTitle( string newText, int maxSize = 170, string endString = "..." ) { m_additionalContent.text = GenerateClippedTitle( newText, maxSize, endString ); @@ -3552,7 +3573,7 @@ namespace AmplifyShaderEditor } } } - + bool needsUpdate = PreviewIsDirty; RenderNodePreview(); if( !duplicatesDict.ContainsKey( OutputId ) ) @@ -3570,7 +3591,7 @@ namespace AmplifyShaderEditor return; } - if( !PreviewIsDirty && !m_continuousPreviewRefresh ) + if( !PreviewIsDirty && !ContinuousPreviewRefresh ) return; //Debug.Log( "PREVIEW " + this ); @@ -3592,7 +3613,7 @@ namespace AmplifyShaderEditor if (!Preferences.User.DisablePreviews) { RenderTexture temp = RenderTexture.active; - RenderTexture beforeMask = RenderTexture.GetTemporary(Constants.PreviewSize, Constants.PreviewSize, 0, Constants.PreviewFormat, RenderTextureReadWrite.Linear); + RenderTexture beforeMask = RenderTexture.GetTemporary(Preferences.User.PreviewSize, Preferences.User.PreviewSize, 0, Preferences.User.PreviewFormat, RenderTextureReadWrite.Linear); int count = m_outputPorts.Count; for( int i = 0; i < count; i++ ) @@ -3628,7 +3649,7 @@ namespace AmplifyShaderEditor break; } - if( m_outputPorts[ i ].DataType == WirePortDataType.FLOAT3x3 || m_outputPorts[ i ].DataType == WirePortDataType.FLOAT4x4 ) + if( m_outputPorts[ i ].DataTypeIsMatrix ) { m_outputPorts[ i ].MaskingMaterial.SetTexture( m_cachedMainTexId, EditorGUIUtility.whiteTexture ); } @@ -3655,7 +3676,7 @@ namespace AmplifyShaderEditor RenderTexture.active = temp; } - PreviewIsDirty = m_continuousPreviewRefresh; + PreviewIsDirty = ContinuousPreviewRefresh; FinishPreviewRender = true; } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ParentNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ParentNode.cs.meta index b7d4d590..667d0e45 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ParentNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ParentNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ParentNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ParentNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ReordenatorNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ReordenatorNode.cs.meta index 19f0d9ec..12375b2c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ReordenatorNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ReordenatorNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/ReordenatorNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/ReordenatorNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/BakedGINode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/BakedGINode.cs index dcce16ec..2f61e3aa 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/BakedGINode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/BakedGINode.cs @@ -155,7 +155,7 @@ namespace AmplifyShaderEditor positionSS = string.Format( "( uint2 )( {0}.xy / {0}.w * _ScreenSize.xy )", screenPos ); } - + string localVarName = "bakedGI" + OutputId; if ( dataCollector.TemplateDataCollectorInstance.IsHDRP ) @@ -163,9 +163,9 @@ namespace AmplifyShaderEditor bool unityIsBeta = TemplateHelperFunctions.GetUnityBetaVersion( out int betaVersion ); int unityVersion = TemplateHelperFunctions.GetUnityVersion(); - if ( ASEPackageManagerHelper.CurrentHDRPBaseline == ASESRPBaseline.ASE_SRP_14 && unityVersion >= 20220326 || - ASEPackageManagerHelper.CurrentHDRPBaseline == ASESRPBaseline.ASE_SRP_16 && unityVersion >= 20230220 || - ASEPackageManagerHelper.CurrentHDRPBaseline == ASESRPBaseline.ASE_SRP_17 && unityIsBeta && betaVersion >= 15 || + if ( ASEPackageManagerHelper.CurrentHDRPBaseline == ASESRPBaseline.ASE_SRP_14_X && unityVersion >= 20220326 || + ASEPackageManagerHelper.CurrentHDRPBaseline == ASESRPBaseline.ASE_SRP_16_X && unityVersion >= 20230220 || + ASEPackageManagerHelper.CurrentHDRPBaseline == ASESRPBaseline.ASE_SRP_17_0 && unityIsBeta && betaVersion >= 15 || ASEPackageManagerHelper.CurrentSRPVersion >= ( int )170003 ) { dataCollector.AddToPragmas( UniqueId, "multi_compile_fragment _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2" ); @@ -181,9 +181,9 @@ namespace AmplifyShaderEditor } else { - if ( ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_15 ) + if ( ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_15_X ) { - dataCollector.AddToPragmas( UniqueId, "multi_compile_fragment _ PROBE_VOLUMES_L1 PROBE_VOLUMES_L2" ); + dataCollector.AddToDirectives( "#include_with_pragmas \"Packages/com.unity.render-pipelines.universal/ShaderLibrary/ProbeVolumeVariants.hlsl\"", -1, AdditionalLineType.Custom ); dataCollector.AddFunction( BakedGIBodyURP2[ 0 ], BakedGIBodyURP2, false ); RegisterLocalVariable( 0, string.Format( BakedGIHeaderURP2, positionWS, normalWS, positionSS, uvStaticLightmap, uvDynamicLightmap, m_applyScaling ? "true" : "false" ), ref dataCollector, localVarName ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/BakedGINode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/BakedGINode.cs.meta index 33cad499..fc346dbb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/BakedGINode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/BakedGINode.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/BakedGINode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/BakedGINode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/ExposureNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/ExposureNode.cs index 19232161..59b60fcf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/ExposureNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/ExposureNode.cs @@ -23,7 +23,7 @@ namespace AmplifyShaderEditor return m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ); bool isHDRP = ( dataCollector.CurrentSRPType == TemplateSRPType.HDRP ); - bool isURP17xOrAbove = ( dataCollector.CurrentSRPType == TemplateSRPType.URP && ASEPackageManagerHelper.CurrentSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_17 ); + bool isURP17xOrAbove = ( dataCollector.CurrentSRPType == TemplateSRPType.URP && ASEPackageManagerHelper.CurrentSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_17_0 ); string result; if ( isHDRP || isURP17xOrAbove ) diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/ExposureNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/ExposureNode.cs.meta index f920b284..65a37a0e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/ExposureNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/ExposureNode.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/ExposureNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/ExposureNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/ASEDiffusionProfile.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/ASEDiffusionProfile.cs.meta index 94c26234..1b531aaf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/ASEDiffusionProfile.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/ASEDiffusionProfile.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/ASEDiffusionProfile.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/ASEDiffusionProfile.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/DiffusionProfileNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/DiffusionProfileNode.cs.meta index 378f818c..7d244a62 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/DiffusionProfileNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/DiffusionProfileNode.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/DiffusionProfileNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/DiffusionProfileNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/HDEmissionNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/HDEmissionNode.cs.meta index 11383399..69b7cc8b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/HDEmissionNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/HDEmissionNode.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/HDEmissionNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/HDRP/HDEmissionNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/MaterialQualityNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/MaterialQualityNode.cs.meta index e0e4974d..ce8ca137 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/MaterialQualityNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/MaterialQualityNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/MaterialQualityNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/MaterialQualityNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/URP/ReflectionProbeNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/URP/ReflectionProbeNode.cs index d7f55858..0505ca21 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/URP/ReflectionProbeNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/URP/ReflectionProbeNode.cs @@ -72,14 +72,19 @@ namespace AmplifyShaderEditor if ( dataCollector.IsSRP && dataCollector.CurrentSRPType == TemplateSRPType.URP ) { - if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_12 ) + if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_12_X ) { dataCollector.AddToPragmas( UniqueId, "multi_compile_fragment _ _REFLECTION_PROBE_BLENDING" ); dataCollector.AddToPragmas( UniqueId, "multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION" ); } - if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_14 ) + if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_17_1 ) + { + dataCollector.AddToPragmas( UniqueId, "multi_compile _ _CLUSTER_LIGHT_LOOP" ); + dataCollector.AddToPragmas( UniqueId, "multi_compile_fragment _ _REFLECTION_PROBE_ATLAS" ); + } + else if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_14_X ) { dataCollector.AddToPragmas( UniqueId, "multi_compile _ _FORWARD_PLUS" ); } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/URP/ReflectionProbeNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/URP/ReflectionProbeNode.cs.meta index 275ddeae..c641d284 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/URP/ReflectionProbeNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/URP/ReflectionProbeNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/URP/ReflectionProbeNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SRP/URP/ReflectionProbeNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SignalGeneratorNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SignalGeneratorNode.cs.meta index 1d60e907..81f38a50 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SignalGeneratorNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SignalGeneratorNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SignalGeneratorNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SignalGeneratorNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleAddOpNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleAddOpNode.cs index 463528fd..1b392fc4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleAddOpNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleAddOpNode.cs @@ -23,6 +23,7 @@ namespace AmplifyShaderEditor WirePortDataType.FLOAT3, WirePortDataType.FLOAT4, WirePortDataType.COLOR, + WirePortDataType.FLOAT2x2, WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.INT diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleAddOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleAddOpNode.cs.meta index ea01ea39..d58fc8c9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleAddOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleAddOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleAddOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleAddOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleDivideOpNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleDivideOpNode.cs index 0cafeb3c..97d0d7f4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleDivideOpNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleDivideOpNode.cs @@ -20,6 +20,7 @@ namespace AmplifyShaderEditor WirePortDataType.FLOAT3, WirePortDataType.FLOAT4, WirePortDataType.COLOR, + WirePortDataType.FLOAT2x2, WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.INT diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleDivideOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleDivideOpNode.cs.meta index e0e6bf17..fe92c563 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleDivideOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleDivideOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleDivideOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleDivideOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMaxOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMaxOpNode.cs.meta index 65ffb4ac..bcb886fe 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMaxOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMaxOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMaxOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMaxOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMinOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMinOpNode.cs.meta index 854f20a6..c3b7620b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMinOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMinOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMinOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMinOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMultiplyOpNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMultiplyOpNode.cs index fe5d9bf0..42dab67c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMultiplyOpNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMultiplyOpNode.cs @@ -20,6 +20,7 @@ namespace AmplifyShaderEditor WirePortDataType.FLOAT3, WirePortDataType.FLOAT4, WirePortDataType.COLOR, + WirePortDataType.FLOAT2x2, WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.INT @@ -49,109 +50,181 @@ namespace AmplifyShaderEditor public override string BuildResults( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) { - if( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT3x3 || - m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT4x4 || - m_inputPorts[ 1 ].DataType == WirePortDataType.FLOAT3x3 || - m_inputPorts[ 1 ].DataType == WirePortDataType.FLOAT4x4 ) + if ( m_inputPorts[ 0 ].DataTypeIsMatrix || m_inputPorts[ 1 ].DataTypeIsMatrix ) { m_inputA = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); m_inputB = m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ); - WirePortDataType autoCast = WirePortDataType.OBJECT; - // Check matrix on first input - if( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT3x3 ) - { - switch( m_inputPorts[ 1 ].DataType ) - { - case WirePortDataType.OBJECT: - case WirePortDataType.FLOAT: - case WirePortDataType.INT: - case WirePortDataType.FLOAT2: - case WirePortDataType.FLOAT4: - case WirePortDataType.COLOR: - { - m_inputB = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputB, m_inputPorts[ 1 ].DataType, WirePortDataType.FLOAT3, m_inputB ); - autoCast = WirePortDataType.FLOAT3; - } - break; - case WirePortDataType.FLOAT4x4: - { - m_inputA = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputA, m_inputPorts[ 0 ].DataType, WirePortDataType.FLOAT4x4, m_inputA ); - } - break; - case WirePortDataType.FLOAT3: - case WirePortDataType.FLOAT3x3: break; - } - } - if( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT4x4 ) + // Check matrix on first input + if ( m_inputPorts[ 0 ].DataTypeIsMatrix ) { - switch( m_inputPorts[ 1 ].DataType ) + if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT2x2 ) { - case WirePortDataType.OBJECT: - case WirePortDataType.FLOAT: - case WirePortDataType.INT: - case WirePortDataType.FLOAT2: - case WirePortDataType.FLOAT3: + switch ( m_inputPorts[ 1 ].DataType ) { - m_inputB = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputB, m_inputPorts[ 1 ].DataType, WirePortDataType.FLOAT4, m_inputB ); - autoCast = WirePortDataType.FLOAT4; + case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT: + case WirePortDataType.INT: + case WirePortDataType.FLOAT3: + case WirePortDataType.FLOAT4: + case WirePortDataType.COLOR: + { + m_inputB = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputB, m_inputPorts[ 1 ].DataType, WirePortDataType.FLOAT2, m_inputB ); + autoCast = WirePortDataType.FLOAT2; + } + break; + case WirePortDataType.FLOAT3x3: + { + m_inputA = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputA, m_inputPorts[ 0 ].DataType, WirePortDataType.FLOAT3x3, m_inputA ); + } + break; + case WirePortDataType.FLOAT4x4: + { + m_inputA = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputA, m_inputPorts[ 0 ].DataType, WirePortDataType.FLOAT4x4, m_inputA ); + } + break; + + case WirePortDataType.FLOAT2x2: + case WirePortDataType.FLOAT2: break; } - break; - case WirePortDataType.FLOAT3x3: + } + + if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT3x3 ) + { + switch ( m_inputPorts[ 1 ].DataType ) { - m_inputB = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputB, m_inputPorts[ 1 ].DataType, WirePortDataType.FLOAT4x4, m_inputB ); + case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT: + case WirePortDataType.INT: + case WirePortDataType.FLOAT2: + case WirePortDataType.FLOAT4: + case WirePortDataType.COLOR: + { + m_inputB = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputB, m_inputPorts[ 1 ].DataType, WirePortDataType.FLOAT3, m_inputB ); + autoCast = WirePortDataType.FLOAT3; + } + break; + case WirePortDataType.FLOAT2x2: + { + m_inputA = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputA, m_inputPorts[ 0 ].DataType, WirePortDataType.FLOAT3x3, m_inputA ); + } + break; + case WirePortDataType.FLOAT4x4: + { + m_inputA = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputA, m_inputPorts[ 0 ].DataType, WirePortDataType.FLOAT4x4, m_inputA ); + } + break; + + case WirePortDataType.FLOAT3x3: + case WirePortDataType.FLOAT3: break; + } + } + + if ( m_inputPorts[ 0 ].DataType == WirePortDataType.FLOAT4x4 ) + { + switch ( m_inputPorts[ 1 ].DataType ) + { + case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT: + case WirePortDataType.INT: + case WirePortDataType.FLOAT2: + case WirePortDataType.FLOAT3: + { + m_inputB = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputB, m_inputPorts[ 1 ].DataType, WirePortDataType.FLOAT4, m_inputB ); + autoCast = WirePortDataType.FLOAT4; + } + break; + case WirePortDataType.FLOAT2x2: + { + m_inputB = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputB, m_inputPorts[ 1 ].DataType, WirePortDataType.FLOAT4x4, m_inputB ); + } + break; + case WirePortDataType.FLOAT3x3: + { + m_inputB = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputB, m_inputPorts[ 1 ].DataType, WirePortDataType.FLOAT4x4, m_inputB ); + } + break; + + case WirePortDataType.FLOAT4x4: + case WirePortDataType.FLOAT4: + case WirePortDataType.COLOR: break; } - break; - case WirePortDataType.FLOAT4x4: - case WirePortDataType.FLOAT4: - case WirePortDataType.COLOR: break; } } // Check matrix on second input - if( m_inputPorts[ 1 ].DataType == WirePortDataType.FLOAT3x3 ) + if ( m_inputPorts[ 1 ].DataTypeIsMatrix ) { - switch( m_inputPorts[ 0 ].DataType ) + if ( m_inputPorts[ 1 ].DataType == WirePortDataType.FLOAT2x2 ) { - case WirePortDataType.OBJECT: - case WirePortDataType.FLOAT: - case WirePortDataType.INT: - case WirePortDataType.FLOAT2: - case WirePortDataType.FLOAT4: - case WirePortDataType.COLOR: + switch ( m_inputPorts[ 0 ].DataType ) { - m_inputA = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputA, m_inputPorts[ 0 ].DataType, WirePortDataType.FLOAT3, m_inputA ); - autoCast = WirePortDataType.FLOAT3; + case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT: + case WirePortDataType.INT: + case WirePortDataType.FLOAT3: + case WirePortDataType.FLOAT4: + case WirePortDataType.COLOR: + { + m_inputA = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputA, m_inputPorts[ 0 ].DataType, WirePortDataType.FLOAT2, m_inputA ); + autoCast = WirePortDataType.FLOAT2; + } + break; + + case WirePortDataType.FLOAT4x4: + case WirePortDataType.FLOAT3x3: + case WirePortDataType.FLOAT2x2: + case WirePortDataType.FLOAT2: break; + } + } + + if ( m_inputPorts[ 1 ].DataType == WirePortDataType.FLOAT3x3 ) + { + switch ( m_inputPorts[ 0 ].DataType ) + { + case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT: + case WirePortDataType.INT: + case WirePortDataType.FLOAT2: + case WirePortDataType.FLOAT4: + case WirePortDataType.COLOR: + { + m_inputA = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputA, m_inputPorts[ 0 ].DataType, WirePortDataType.FLOAT3, m_inputA ); + autoCast = WirePortDataType.FLOAT3; + } + break; + case WirePortDataType.FLOAT4x4: + case WirePortDataType.FLOAT3x3: + case WirePortDataType.FLOAT2x2: + case WirePortDataType.FLOAT3: break; + } + } + + if ( m_inputPorts[ 1 ].DataType == WirePortDataType.FLOAT4x4 ) + { + switch ( m_inputPorts[ 0 ].DataType ) + { + case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT: + case WirePortDataType.INT: + case WirePortDataType.FLOAT2: + case WirePortDataType.FLOAT3: + { + m_inputA = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputA, m_inputPorts[ 0 ].DataType, WirePortDataType.FLOAT4, m_inputA ); + autoCast = WirePortDataType.FLOAT4; + } + break; + case WirePortDataType.FLOAT4x4: + case WirePortDataType.FLOAT3x3: + case WirePortDataType.FLOAT2x2: + case WirePortDataType.FLOAT4: + case WirePortDataType.COLOR: break; } - break; - case WirePortDataType.FLOAT4x4: - case WirePortDataType.FLOAT3: - case WirePortDataType.FLOAT3x3: break; } } - if( m_inputPorts[ 1 ].DataType == WirePortDataType.FLOAT4x4 ) - { - switch( m_inputPorts[ 0 ].DataType ) - { - case WirePortDataType.OBJECT: - case WirePortDataType.FLOAT: - case WirePortDataType.INT: - case WirePortDataType.FLOAT2: - case WirePortDataType.FLOAT3: - { - m_inputA = UIUtils.CastPortType( ref dataCollector, CurrentPrecisionType, m_inputA, m_inputPorts[ 0 ].DataType, WirePortDataType.FLOAT4, m_inputA ); - autoCast = WirePortDataType.FLOAT4; - } - break; - case WirePortDataType.FLOAT3x3: - case WirePortDataType.FLOAT4x4: - case WirePortDataType.FLOAT4: - case WirePortDataType.COLOR: break; - } - } string result = "mul( " + m_inputA + ", " + m_inputB + " )"; if( autoCast != WirePortDataType.OBJECT && autoCast != m_outputPorts[ 0 ].DataType ) { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMultiplyOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMultiplyOpNode.cs.meta index b9d44829..6f5c5cda 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMultiplyOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMultiplyOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMultiplyOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleMultiplyOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleRemainderNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleRemainderNode.cs index 7209b94a..3c808b22 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleRemainderNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleRemainderNode.cs @@ -46,6 +46,7 @@ namespace AmplifyShaderEditor result = string.Format( opMode, m_inputA, m_inputB ); } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleRemainderNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleRemainderNode.cs.meta index 657830d7..76903700 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleRemainderNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleRemainderNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleRemainderNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleRemainderNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleSubtractOpNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleSubtractOpNode.cs index eaabab20..7a70ef8e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleSubtractOpNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleSubtractOpNode.cs @@ -20,6 +20,7 @@ namespace AmplifyShaderEditor WirePortDataType.FLOAT3, WirePortDataType.FLOAT4, WirePortDataType.COLOR, + WirePortDataType.FLOAT2x2, WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.INT diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleSubtractOpNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleSubtractOpNode.cs.meta index f60d0874..096ada63 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleSubtractOpNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleSubtractOpNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleSubtractOpNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SimpleNodes/SimpleSubtractOpNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/StickyNoteNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/StickyNoteNode.cs index f9a91e61..083289cd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/StickyNoteNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/StickyNoteNode.cs @@ -129,7 +129,7 @@ namespace AmplifyShaderEditor EditorGUILayout.HelpBox( WarningText, MessageType.Warning ); } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { //base.OnLayout( drawInfo ); CalculatePositionAndVisibility( drawInfo ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/StickyNoteNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/StickyNoteNode.cs.meta index 628f4ba8..60168eaf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/StickyNoteNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/StickyNoteNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/StickyNoteNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/StickyNoteNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ColorInputsNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ColorInputsNode.cs.meta index 69adbb87..0a6f7fe9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ColorInputsNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ColorInputsNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ColorInputsNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ColorInputsNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/GrabScreenPosition.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/GrabScreenPosition.cs.meta index 556f8157..b0ee5b40 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/GrabScreenPosition.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/GrabScreenPosition.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/GrabScreenPosition.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/GrabScreenPosition.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/LocalVertexPosNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/LocalVertexPosNode.cs.meta index 4d3217d3..dc9bde48 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/LocalVertexPosNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/LocalVertexPosNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/LocalVertexPosNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/LocalVertexPosNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/PositionNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/PositionNode.cs.meta index 11b1682f..79736643 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/PositionNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/PositionNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/PositionNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/PositionNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs index 86e9fa99..e2e28375 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs @@ -337,7 +337,7 @@ namespace AmplifyShaderEditor } #if UNITY_2021_1_OR_NEWER - if( ( ContainerGraph.IsLWRP || ContainerGraph.ParentWindow.IsShaderFunctionWindow ) && ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_11 ) + if( ( ContainerGraph.IsLWRP || ContainerGraph.ParentWindow.IsShaderFunctionWindow ) && ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_11_X ) { m_isURP2D = EditorGUILayoutToggle( "2D Renderer" , m_isURP2D); if( m_isURP2D ) @@ -651,6 +651,17 @@ namespace AmplifyShaderEditor } } + public override void ReconnectClipboardReferences( Clipboard clipboard ) + { + // validate node first + int newId = clipboard.GeNewNodeId( m_referenceNodeId ); + if ( ContainerGraph.GetNode( newId ) != null ) + { + m_referenceNodeId = newId; + } + RefreshExternalReferences(); + } + public override string PropertyName { get diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs.meta index 6a1f073a..974e505a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenColorNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenDepthNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenDepthNode.cs.meta index 35d24f76..7698a37c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenDepthNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenDepthNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenDepthNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenDepthNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenPosInputsNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenPosInputsNode.cs.meta index 710eecab..54be18d0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenPosInputsNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenPosInputsNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenPosInputsNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ScreenPosInputsNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/SurfaceShaderINParentNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/SurfaceShaderINParentNode.cs.meta index 7687da3c..f70b0605 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/SurfaceShaderINParentNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/SurfaceShaderINParentNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/SurfaceShaderINParentNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/SurfaceShaderINParentNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs index 07db369a..2e5c5ab2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs @@ -160,7 +160,7 @@ namespace AmplifyShaderEditor texelName = "_TexelSize"; UIUtils.ShowMessage( UniqueId, "Please specify a texture sample on the Texel Size node", MessageSeverity.Warning ); } - + if ( m_variableMode == VariableMode.Create ) { dataCollector.AddToUniforms( UniqueId, "float4 " + texelName + ";", dataCollector.IsSRP ); @@ -304,6 +304,17 @@ namespace AmplifyShaderEditor UpdateTitle(); } + public override void ReconnectClipboardReferences( Clipboard clipboard ) + { + // validate node first + int newId = clipboard.GeNewNodeId( m_referenceNodeId ); + if ( ContainerGraph.GetNode( newId ) != null ) + { + m_referenceNodeId = newId; + } + RefreshExternalReferences(); + } + public override void ReadFromString( ref string[] nodeParams ) { base.ReadFromString( ref nodeParams ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs.meta index 7a8cf4c6..1e294bef 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/TexelSizeNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/UVCoordsParentNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/UVCoordsParentNode.cs.meta index 9aeb9516..c5455cda 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/UVCoordsParentNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/UVCoordsParentNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/UVCoordsParentNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/UVCoordsParentNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs index 5578a1c7..17dca842 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs @@ -15,7 +15,7 @@ namespace AmplifyShaderEditor } [Serializable] - [NodeAttributes( "View Dir", "Camera And Screen", "Normalized View Direction vector.", tags: "camera vector" )] + [NodeAttributes( "View Direction", "Camera And Screen", "Normalized View Direction vector.", tags: "camera vector" )] public sealed class ViewDirInputsCoordNode : SurfaceShaderINParentNode { private const string SpaceStr = "Space"; @@ -108,6 +108,7 @@ namespace AmplifyShaderEditor { if ( m_viewDirSpace == ViewSpace.Tangent ) { + dataCollector.ForceNormal = true; string result = base.GenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalVar ); if ( m_safeNormalize ) { @@ -121,7 +122,7 @@ namespace AmplifyShaderEditor string result = GeneratorUtils.GenerateViewDirection( ref dataCollector, UniqueId, m_safeNormalize ? NormalizeType.Safe : NormalizeType.Regular, space: m_viewDirSpace ); return GetOutputVectorItem( 0, outputId, result ); } - + } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs.meta index d0de73b7..dff65e25 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewDirInputsCoordNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewVectorNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewVectorNode.cs.meta index 9307a4e3..8db876f2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewVectorNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewVectorNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewVectorNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/ViewVectorNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalInputsNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalInputsNode.cs.meta index 5b54857e..c5c47f65 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalInputsNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalInputsNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalInputsNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalInputsNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalVector.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalVector.cs.meta index 3dab2cf7..d80bd674 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalVector.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalVector.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalVector.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldNormalVector.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldPosInputsNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldPosInputsNode.cs.meta index 5eef5e56..a8981402 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldPosInputsNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldPosInputsNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldPosInputsNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldPosInputsNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflInputsNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflInputsNode.cs.meta index 9bd05145..a2d5a1c9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflInputsNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflInputsNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflInputsNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflInputsNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflectionVector.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflectionVector.cs.meta index 205f81e9..172f5722 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflectionVector.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflectionVector.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflectionVector.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/SurfaceShaderInputs/WorldReflectionVector.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/BlendNormalsNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/BlendNormalsNode.cs.meta index 19671f4f..e95202cb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/BlendNormalsNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/BlendNormalsNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/BlendNormalsNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/BlendNormalsNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/HeightMapBlendNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/HeightMapBlendNode.cs.meta index 7276f8ed..d737a530 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/HeightMapBlendNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/HeightMapBlendNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/HeightMapBlendNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/HeightMapBlendNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/PannerNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/PannerNode.cs index e20c8c05..c4fc692f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/PannerNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/PannerNode.cs @@ -26,7 +26,7 @@ namespace AmplifyShaderEditor m_useInternalPortData = true; m_previewShaderGUID = "6f89a5d96bdad114b9bbd0c236cac622"; m_inputPorts[ 2 ].FloatInternalData = 1; - m_continuousPreviewRefresh = true; + ContinuousPreviewRefresh = true; } public override void SetPreviewInputs() @@ -44,7 +44,7 @@ namespace AmplifyShaderEditor base.OnInputPortConnected( portId, otherNodeId, otherPortId, activateNode ); if( portId == 1 ) { - m_continuousPreviewRefresh = false; + ContinuousPreviewRefresh = false; } } @@ -53,7 +53,7 @@ namespace AmplifyShaderEditor base.OnInputPortDisconnected( portId ); if( portId == 1 ) { - m_continuousPreviewRefresh = true; + ContinuousPreviewRefresh = true; } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/PannerNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/PannerNode.cs.meta index e10d4392..222b4cde 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/PannerNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/PannerNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/PannerNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/PannerNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/RotatorNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/RotatorNode.cs index 18aa7781..bc70b560 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/RotatorNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/RotatorNode.cs @@ -40,7 +40,7 @@ namespace AmplifyShaderEditor base.OnInputPortConnected( portId, otherNodeId, otherPortId, activateNode ); if( portId == 2 ) { - m_continuousPreviewRefresh = false; + ContinuousPreviewRefresh = false; } } @@ -49,7 +49,7 @@ namespace AmplifyShaderEditor base.OnInputPortDisconnected( portId ); if( portId == 2 ) { - m_continuousPreviewRefresh = true; + ContinuousPreviewRefresh = true; } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/RotatorNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/RotatorNode.cs.meta index 71d770de..0708ab4d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/RotatorNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/RotatorNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/RotatorNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/RotatorNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerNode.cs index 3ad3fceb..1716fabc 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerNode.cs @@ -205,12 +205,15 @@ namespace AmplifyShaderEditor m_typeId = Shader.PropertyToID( "_Type" ); bool usingTexture = false; - if( m_texPort.IsConnected ) - { - usingTexture = true; - SetPreviewTexture( m_texPort.InputPreviewTexture( ContainerGraph ) ); - } - else if( SoftValidReference && m_referenceSampler.TextureProperty != null ) + + // @diogo: we can't use the preview texture, in this case, because output preview RenderTextures have no mips + //if( m_texPort.IsConnected ) + //{ + // usingTexture = true; + // SetPreviewTexture( m_texPort.InputPreviewTexture( ContainerGraph ) ); + //} + //else + if( SoftValidReference && m_referenceSampler.TextureProperty != null ) { if( m_referenceSampler.TextureProperty.Value != null ) { @@ -344,6 +347,16 @@ namespace AmplifyShaderEditor ConfigureOutputPorts(); } } + + if ( !ContainerGraph.IsSRP ) + { + // @diogo: only BiRP for now + m_assignKeyword = EditorGUILayoutToggle( "Assign Keyword", m_assignKeyword ); + if ( m_assignKeyword ) + { + EditorGUILayout.HelpBox( string.Format( AssignKeywordInfoStr, PropertyName.ToUpper() ), MessageType.Info ); + } + } } public override void AdditionalCheck() @@ -762,9 +775,9 @@ namespace AmplifyShaderEditor m_previewTextProp = this; } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); if( m_drawPreview ) { @@ -1066,8 +1079,8 @@ namespace AmplifyShaderEditor public string SampleTexture( ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar, string portProperty, MipType currMipMode, string propertyName , VariableMode varMode ) { string samplerValue = string.Empty; - string uvCoords = GetUVCoords( ref dataCollector, ignoreLocalVar, portProperty ); - + string uvCoords = GetUVCoords( ref dataCollector, CurrentPrecisionType, ignoreLocalVar, portProperty ); + bool isVertex = ( dataCollector.PortCategory == MasterNodePortCategory.Vertex || dataCollector.PortCategory == MasterNodePortCategory.Tessellation ); bool useMacros = false; @@ -1369,7 +1382,7 @@ namespace AmplifyShaderEditor return samplerOp; } - public string GetUVCoords( ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar, string portProperty ) + public string GetUVCoords( ref MasterNodeDataCollector dataCollector, PrecisionType precisionType, bool ignoreLocalVar, string portProperty ) { bool isVertex = ( dataCollector.PortCategory == MasterNodePortCategory.Vertex || dataCollector.PortCategory == MasterNodePortCategory.Tessellation ); @@ -1420,14 +1433,8 @@ namespace AmplifyShaderEditor m_texCoordsHelper.AddGlobalToSRPBatcher = true; } - if( UIUtils.CurrentWindow.OutsideGraph.IsInstancedShader ) - { - m_texCoordsHelper.CurrentParameterType = PropertyType.InstancedProperty; - } - else - { - m_texCoordsHelper.CurrentParameterType = PropertyType.Global; - } + m_texCoordsHelper.CurrentParameterType = PropertyType.Global; + m_texCoordsHelper.ResetOutputLocals(); m_texCoordsHelper.SetRawPropertyName( propertyName + "_ST" ); texCoordsST = m_texCoordsHelper.GenerateShaderForOutput( 0, ref dataCollector, false ); @@ -1457,7 +1464,7 @@ namespace AmplifyShaderEditor if( dataCollector.MasterNodeCategory == AvailableShaderTypes.Template ) { string result = string.Empty; - if( dataCollector.TemplateDataCollectorInstance.GetCustomInterpolatedData( TemplateHelperFunctions.IntToUVChannelInfo[ m_textureCoordSet ], m_uvPort.DataType, PrecisionType.Float, ref result, false, dataCollector.PortCategory ) ) + if( dataCollector.TemplateDataCollectorInstance.GetCustomInterpolatedData( TemplateHelperFunctions.IntToUVChannelInfo[ m_textureCoordSet ], m_uvPort.DataType, precisionType, ref result, false, dataCollector.PortCategory ) ) { coordInput = result; } @@ -1490,10 +1497,10 @@ namespace AmplifyShaderEditor if( scaleOffset ) { string scaleOffsetValue = GeneratorUtils.GenerateScaleOffsettedUV( m_currentType , coordInput , texCoordsST, false ); - dataCollector.AddLocalVariable( UniqueId , PrecisionType.Float , m_uvPort.DataType , uvName , scaleOffsetValue ); + dataCollector.AddLocalVariable( UniqueId , precisionType, m_uvPort.DataType , uvName , scaleOffsetValue ); } else - dataCollector.AddLocalVariable( UniqueId , PrecisionType.Float , m_uvPort.DataType , uvName , coordInput ); + dataCollector.AddLocalVariable( UniqueId , precisionType, m_uvPort.DataType , uvName , coordInput ); } uvs = uvName; @@ -1518,7 +1525,7 @@ namespace AmplifyShaderEditor if( ( outsideGraph.SamplingMacros || m_currentType == TextureType.Texture2DArray ) && m_currentType != TextureType.Texture1D ) return uvs + ", " + lodLevel; else - return UIUtils.PrecisionWirePortToCgType( PrecisionType.Float, WirePortDataType.FLOAT4 ) + "( " + uvs + uvAppendix + lodLevel + ")"; + return UIUtils.PrecisionWirePortToCgType( precisionType, WirePortDataType.FLOAT4 ) + "( " + uvs + uvAppendix + lodLevel + ")"; } else { @@ -1528,7 +1535,7 @@ namespace AmplifyShaderEditor if( ( outsideGraph.SamplingMacros || m_currentType == TextureType.Texture2DArray ) && m_currentType != TextureType.Texture1D ) return uvs + ", " + lodLevel; else - return UIUtils.PrecisionWirePortToCgType( PrecisionType.Float, WirePortDataType.FLOAT4 ) + "( " + uvs + uvAppendix + lodLevel + ")"; + return UIUtils.PrecisionWirePortToCgType( precisionType, WirePortDataType.FLOAT4 ) + "( " + uvs + uvAppendix + lodLevel + ")"; } else if( m_mipMode == MipType.Derivative ) { @@ -1887,6 +1894,11 @@ namespace AmplifyShaderEditor if( UIUtils.CurrentShaderVersion() > 3201 ) m_currentType = (TextureType)Enum.Parse( typeof( TextureType ), GetCurrentParam( ref nodeParams ) ); + if( UIUtils.CurrentShaderVersion() >= 19902 ) + { + m_assignKeyword = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); + } + if( m_defaultValue == null ) { ConfigureInputPorts(); @@ -1958,6 +1970,17 @@ namespace AmplifyShaderEditor } } + public override void ReconnectClipboardReferences( Clipboard clipboard ) + { + // validate node first + int newId = clipboard.GeNewNodeId( m_referenceNodeId ); + if ( ContainerGraph.GetNode( newId ) != null ) + { + m_referenceNodeId = newId; + } + RefreshExternalReferences(); + } + public override void ReadAdditionalData( ref string[] nodeParams ) { } public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) @@ -1975,6 +1998,7 @@ namespace AmplifyShaderEditor IOUtils.AddFieldValueToString( ref nodeInfo, ( ( m_referenceSampler != null ) ? m_referenceSampler.UniqueId : -1 ) ); IOUtils.AddFieldValueToString( ref nodeInfo, m_mipMode ); IOUtils.AddFieldValueToString( ref nodeInfo, m_currentType ); + IOUtils.AddFieldValueToString( ref nodeInfo, m_assignKeyword ); } public override void WriteAdditionalToString( ref string nodeInfo, ref string connectionsInfo ) { } @@ -2082,24 +2106,24 @@ namespace AmplifyShaderEditor { case TextureType.Texture1D: { - return PropertyAttributes + GetTexture1DPropertyValue(); + return PropertyAttributes + PropertyAttributesSeparator + GetTexture1DPropertyValue(); } case TextureType.ProceduralTexture: case TextureType.Texture2D: { - return PropertyAttributes + GetTexture2DPropertyValue(); + return PropertyAttributes + PropertyAttributesSeparator + GetTexture2DPropertyValue(); } case TextureType.Texture3D: { - return PropertyAttributes + GetTexture3DPropertyValue(); + return PropertyAttributes + PropertyAttributesSeparator + GetTexture3DPropertyValue(); } case TextureType.Cube: { - return PropertyAttributes + GetCubePropertyValue(); + return PropertyAttributes + PropertyAttributesSeparator + GetCubePropertyValue(); } case TextureType.Texture2DArray: { - return PropertyAttributes + GetTexture2DArrayPropertyValue(); + return PropertyAttributes + PropertyAttributesSeparator + GetTexture2DArrayPropertyValue(); } } return string.Empty; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerNode.cs.meta index df06cc12..81d6aa00 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerStateNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerStateNode.cs index 4e041c41..82b3e2cb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerStateNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerStateNode.cs @@ -64,10 +64,10 @@ namespace AmplifyShaderEditor private readonly string[] m_wrapModeStr = { "Repeat", - "Clamp", + "Clamp", "Mirror", "Mirror Once", - "Per-axis" + "Per-axis" }; protected override void CommonInit( int uniqueId ) @@ -374,6 +374,17 @@ namespace AmplifyShaderEditor UpdateTitle(); } + public override void ReconnectClipboardReferences( Clipboard clipboard ) + { + // validate node first + int newId = clipboard.GeNewNodeId( m_referenceNodeId ); + if ( ContainerGraph.GetNode( newId ) != null ) + { + m_referenceNodeId = newId; + } + RefreshExternalReferences(); + } + public override void ReadFromString( ref string[] nodeParams ) { base.ReadFromString( ref nodeParams ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerStateNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerStateNode.cs.meta index e2422132..9f70d640 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerStateNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerStateNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerStateNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/SamplerStateNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCFlipBookUVAnimation.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCFlipBookUVAnimation.cs index dc007aff..dfbc7c7f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCFlipBookUVAnimation.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCFlipBookUVAnimation.cs @@ -107,8 +107,8 @@ namespace AmplifyShaderEditor // round( fmod( x, y ) ) can be replaced with a faster // floor( frac( x / y ) * y + 0.5 ) => div can be muls with 1/y, almost always static/constant // - if( m_outputPorts[ 0 ].IsLocalValue( dataCollector.PortCategory ) ) - return GetOutputVectorItem( 0, outputId, m_outputPorts[ 0 ].LocalValue( dataCollector.PortCategory ) ); + if ( m_outputPorts[ outputId ].IsLocalValue( dataCollector.PortCategory ) ) + return m_outputPorts[ outputId ].LocalValue( dataCollector.PortCategory ); string uv = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); string columns = m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ); @@ -136,7 +136,7 @@ namespace AmplifyShaderEditor { vtotaltiles = "float fbtotaltiles" + OutputId + " = " + columns + " * " + rows + ";"; } - + string vcomment3 = "// Offsets for cols and rows of Flipbook Texture"; string vcolsoffset = "float fbcolsoffset" + OutputId + " = 1.0f / " + columns + ";"; string vrowssoffset = "float fbrowsoffset" + OutputId + " = 1.0f / " + rows + ";"; @@ -203,7 +203,7 @@ namespace AmplifyShaderEditor string voffset = "float2 fboffset" + OutputId + " = float2(fboffsetx" + OutputId + ", fboffsety" + OutputId + ");"; //string voffset = "float2 fboffset" + m_uniqueId + " = float2( ( ( (int)fmod( fbspeed" + m_uniqueId + " , fbtotaltiles" + m_uniqueId + ") % (int)" + columns + " ) * fbcolsoffset" + m_OutputId + " ) , ( ( (int)" + rows + " - ( (int)( ( (int)fmod( fbspeed" + m_uniqueId + " , fbtotaltiles" + m_uniqueId + " ) - ( (int)fmod( fbspeed" + m_uniqueId + " , fbtotaltiles" + m_uniqueId + " ) % (int)" + columns + " ) ) / " + columns + " ) % (int)" + rows + " ) ) * fbrowsoffset" + m_uniqueId + " ) );"; string vcomment15 = "// Flipbook UV"; - string vfbuv = "half2 fbuv" + OutputId + " = " + uv + " * fbtiling" + OutputId + " + fboffset" + OutputId + ";"; + string vfbuv = "float2 fbuv" + OutputId + " = " + uv + " * fbtiling" + OutputId + " + fboffset" + OutputId + ";"; string vcomment16 = "// *** END Flipbook UV Animation vars ***"; string result = "fbuv" + OutputId; @@ -249,6 +249,8 @@ namespace AmplifyShaderEditor dataCollector.AddLocalVariable( UniqueId, frame ); m_outputPorts[ 0 ].SetLocalValue( result, dataCollector.PortCategory ); + m_outputPorts[ 1 ].SetLocalValue( result + ".x", dataCollector.PortCategory ); + m_outputPorts[ 2 ].SetLocalValue( result + ".y", dataCollector.PortCategory ); m_outputPorts[ 3 ].SetLocalValue( "flipbookFrame" + OutputId, dataCollector.PortCategory ); return m_outputPorts[ outputId ].LocalValue( dataCollector.PortCategory ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCFlipBookUVAnimation.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCFlipBookUVAnimation.cs.meta index d0b3f07d..da1f0662 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCFlipBookUVAnimation.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCFlipBookUVAnimation.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCFlipBookUVAnimation.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCFlipBookUVAnimation.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCPixelate.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCPixelate.cs index 3d778d9c..0728afe8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCPixelate.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCPixelate.cs @@ -20,6 +20,7 @@ namespace AmplifyShaderEditor AddInputPort( WirePortDataType.FLOAT2, true, "UV" ); AddInputPort( WirePortDataType.FLOAT, false, "Pixels X" ); AddInputPort( WirePortDataType.FLOAT, false, "Pixels Y" ); + AddInputPort( WirePortDataType.FLOAT2, false, "Pixel Offset" ); AddOutputPort( WirePortDataType.FLOAT2, "Out" ); m_useInternalPortData = true; m_previewShaderGUID = "e2f7e3c513ed18340868b8cbd0d85cfb"; @@ -28,7 +29,13 @@ namespace AmplifyShaderEditor public override void DrawProperties() { base.DrawProperties (); - EditorGUILayout.HelpBox ("Pixelate UV.\n\n - UV is the Texture Coordinates to pixelate.\n - Pixels X is the number of horizontal pixels\n - Pixels Y is the number of vertical pixels.", MessageType.None); + EditorGUILayout.HelpBox ( + "Pixelate UV.\n\n" + + " - UV is the Texture Coordinates to pixelate.\n" + + " - Pixels X is the number of horizontal pixels.\n" + + " - Pixels Y is the number of vertical pixels.\n" + + " - Pixel Offset is relative to pixel corner; e.g. pixel center is at offset (0.5,0.5).", + MessageType.None ); } @@ -37,14 +44,13 @@ namespace AmplifyShaderEditor string uv = m_inputPorts[ 0 ].GeneratePortInstructions( ref dataCollector ); string PixelCount_X = m_inputPorts[ 1 ].GeneratePortInstructions( ref dataCollector ); string PixelCount_Y = m_inputPorts[ 2 ].GeneratePortInstructions( ref dataCollector ); + string PixelOffset = m_inputPorts[ 3 ].GeneratePortInstructions( ref dataCollector ); + + string pixelatedUV = string.Format( "half2 pixelateduv{0} = floor( {1} * float2( {2}, {3} ) + {4} ) / float2( {2}, {3} );", + OutputId, uv, PixelCount_X, PixelCount_Y, PixelOffset ); - string pixelWidth = "float pixelWidth" + OutputId + " = 1.0f / " + PixelCount_X + ";"; - string pixelHeight = "float pixelHeight" + OutputId + " = 1.0f / " + PixelCount_Y + ";"; - string pixelatedUV = "half2 pixelateduv" + OutputId + " = half2((int)(" + uv + ".x / pixelWidth" + OutputId + ") * pixelWidth" + OutputId + ", (int)(" + uv + ".y / pixelHeight" + OutputId + ") * pixelHeight" + OutputId + ");"; string result = "pixelateduv" + OutputId; - dataCollector.AddLocalVariable( UniqueId, pixelWidth ); - dataCollector.AddLocalVariable( UniqueId, pixelHeight ); dataCollector.AddLocalVariable( UniqueId, pixelatedUV ); return GetOutputVectorItem( 0, outputId, result); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCPixelate.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCPixelate.cs.meta index c07c3b55..0fc8c79a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCPixelate.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCPixelate.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCPixelate.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TFHCPixelate.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureCoordinatesNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureCoordinatesNode.cs index fb97426a..d39ee485 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureCoordinatesNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureCoordinatesNode.cs @@ -9,7 +9,7 @@ using System.Collections.Generic; namespace AmplifyShaderEditor { [Serializable] - [NodeAttributes( "Texture Coordinates", "UV Coordinates", "Texture UV coordinates set, if Tex is connected to a texture object it will use that texture scale factors, otherwise uses Tilling and Offset port values", null, KeyCode.U, tags: "uv" )] + [NodeAttributes( "Texture Coordinates", "UV Coordinates", "Texture UV coordinates set, if Tex is connected to a texture object it will use that texture scale factors, otherwise uses Tilling and Offset port values", null, KeyCode.U, tags: "uv texcoord" )] public sealed class TextureCoordinatesNode : ParentNode { @@ -345,14 +345,19 @@ namespace AmplifyShaderEditor } } + public override void ReconnectClipboardReferences( Clipboard clipboard ) + { + // validate node first + int newId = clipboard.GeNewNodeId( m_referenceNodeId ); + if ( ContainerGraph.GetNode( newId ) != null ) + { + m_referenceNodeId = newId; + } + RefreshExternalReferences(); + } + public override void PropagateNodeData( NodeData nodeData, ref MasterNodeDataCollector dataCollector ) { - if( dataCollector != null && dataCollector.TesselationActive ) - { - base.PropagateNodeData( nodeData, ref dataCollector ); - return; - } - if( dataCollector.IsTemplate ) { dataCollector.TemplateDataCollectorInstance.SetUVUsage( m_textureCoordChannel , m_texcoordSize ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureCoordinatesNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureCoordinatesNode.cs.meta index edeb24a7..6e454edd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureCoordinatesNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureCoordinatesNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureCoordinatesNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureCoordinatesNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TexturePropertyNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TexturePropertyNode.cs index 7946d46f..b54b402c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TexturePropertyNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TexturePropertyNode.cs @@ -55,6 +55,9 @@ namespace AmplifyShaderEditor protected const string AutoUnpackNormalsStr = "Normal"; + protected const string AssignKeywordInfoStr = "The material inspector will assign a {0} keyword, to the material, once the texture slot" + + " is assigned. To use it, you'll need a Switch node to create the keyword variants."; + [SerializeField] protected Texture m_defaultValue; @@ -82,6 +85,9 @@ namespace AmplifyShaderEditor [SerializeField] protected TextureType m_currentType = TextureType.Texture2D; + [SerializeField] + protected bool m_assignKeyword; + [SerializeField] protected AutoCastType m_autocastMode = AutoCastType.Auto; @@ -117,6 +123,7 @@ namespace AmplifyShaderEditor base.CommonInit( uniqueId ); GlobalTypeWarningText = string.Format( GlobalTypeWarningText, "Texture" ); m_defaultTextureValue = TexturePropertyValues.white; + m_assignKeyword = false; m_insideSize.Set( PreviewSizeX, PreviewSizeY + 5 ); AddOutputPort( WirePortDataType.SAMPLER2D, "Tex" ); AddOutputPort( WirePortDataType.SAMPLERSTATE, "SS" ); @@ -208,7 +215,7 @@ namespace AmplifyShaderEditor if( m_typeId == -1 ) m_typeId = Shader.PropertyToID( "_Type" ); - m_previewMaterialPassId = 1; + m_previewMaterialPassId = 1; SetPreviewTexture( Value ); //if( Value is Cubemap ) //{ @@ -340,7 +347,7 @@ namespace AmplifyShaderEditor // Texture1D public string GetTexture1DPropertyValue() { - return PropertyName + "(\"" + m_propertyInspectorName + "\", 2D) = \"" + m_defaultTextureValue + "\" {}"; + return PropertyName + "( \"" + m_propertyInspectorName + "\", 2D ) = \"" + m_defaultTextureValue + "\" {}"; } public string GetTexture1DUniformValue() @@ -351,7 +358,7 @@ namespace AmplifyShaderEditor // Texture2D public string GetTexture2DPropertyValue() { - return PropertyName + "(\"" + m_propertyInspectorName + "\", 2D) = \"" + m_defaultTextureValue + "\" {}"; + return PropertyName + "( \"" + m_propertyInspectorName + "\", 2D ) = \"" + m_defaultTextureValue + "\" {}"; } public string GetTexture2DUniformValue() @@ -365,7 +372,7 @@ namespace AmplifyShaderEditor //Texture3D public string GetTexture3DPropertyValue() { - return PropertyName + "(\"" + m_propertyInspectorName + "\", 3D) = \"" + m_defaultTextureValue + "\" {}"; + return PropertyName + "( \"" + m_propertyInspectorName + "\", 3D ) = \"" + m_defaultTextureValue + "\" {}"; } public string GetTexture3DUniformValue() @@ -376,7 +383,7 @@ namespace AmplifyShaderEditor // Cube public string GetCubePropertyValue() { - return PropertyName + "(\"" + m_propertyInspectorName + "\", CUBE) = \"" + m_defaultTextureValue + "\" {}"; + return PropertyName + "( \"" + m_propertyInspectorName + "\", CUBE ) = \"" + m_defaultTextureValue + "\" {}"; } public string GetCubeUniformValue() @@ -387,7 +394,7 @@ namespace AmplifyShaderEditor // Texture2DArray public string GetTexture2DArrayPropertyValue() { - return PropertyName + "(\"" + m_propertyInspectorName + "\", 2DArray) = \"" + m_defaultTextureValue + "\" {}"; + return PropertyName + "( \"" + m_propertyInspectorName + "\", 2DArray ) = \"" + m_defaultTextureValue + "\" {}"; } public string GetTexture2DArrayUniformValue() @@ -434,18 +441,28 @@ namespace AmplifyShaderEditor { m_defaultTextureValue = (TexturePropertyValues)EditorGUILayoutEnumPopup( DefaultTextureStr, m_defaultTextureValue ); - if( !m_drawAutocast ) - return; - - AutoCastType newAutoCast = (AutoCastType)EditorGUILayoutEnumPopup( AutoCastModeStr, m_autocastMode ); - if( newAutoCast != m_autocastMode ) + if( m_drawAutocast ) { - m_autocastMode = newAutoCast; - if( m_autocastMode != AutoCastType.Auto ) + AutoCastType newAutoCast = (AutoCastType)EditorGUILayoutEnumPopup( AutoCastModeStr, m_autocastMode ); + if( newAutoCast != m_autocastMode ) { - ConfigTextureData( m_currentType ); - ConfigureInputPorts(); - ConfigureOutputPorts(); + m_autocastMode = newAutoCast; + if( m_autocastMode != AutoCastType.Auto ) + { + ConfigTextureData( m_currentType ); + ConfigureInputPorts(); + ConfigureOutputPorts(); + } + } + } + + if ( !ContainerGraph.IsSRP ) + { + // @diogo: only BiRP for now + m_assignKeyword = EditorGUILayoutToggle( "Assign Keyword", m_assignKeyword ); + if ( m_assignKeyword ) + { + EditorGUILayout.HelpBox( string.Format( AssignKeywordInfoStr, PropertyName.ToUpper() ), MessageType.Info ); } } } @@ -528,6 +545,12 @@ namespace AmplifyShaderEditor ConfigTextureData( TextureType.Cube ); } + // @diogo: we now default to Tex2D as default, when cast mode is Auto and no texture is assigned + if ( texture == null && m_autocastMode == AutoCastType.Auto ) + { + ConfigTextureData( TextureType.Texture2D ); + } + ConfigureInputPorts(); ConfigureOutputPorts(); } @@ -590,9 +613,9 @@ namespace AmplifyShaderEditor } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); ConfigTextureType(); } @@ -722,7 +745,7 @@ namespace AmplifyShaderEditor public override void CheckIfAutoRegister( ref MasterNodeDataCollector dataCollector ) { - // Also testing inside shader function because node can be used indirectly over a custom expression and directly over a Function Output node + // Also testing inside shader function because node can be used indirectly over a custom expression and directly over a Function Output node // That isn't being used externaly making it to not be registered ( since m_connStatus it set to Connected by being connected to an output node if( CurrentParameterType != PropertyType.Constant && m_autoRegister && ( m_connStatus != NodeConnectionStatus.Connected || InsideShaderFunction ) ) { @@ -762,7 +785,12 @@ namespace AmplifyShaderEditor public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalVar ) { - return BaseGenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalVar ); + string code = BaseGenerateShaderForOutput( outputId, ref dataCollector, ignoreLocalVar ); + if ( m_assignKeyword ) + { + dataCollector.AddToProperties( -1, GetAssignKeywordPropertyValue(), 1000 ); + } + return code; } public override void UpdateMaterial( Material mat ) @@ -853,6 +881,11 @@ namespace AmplifyShaderEditor m_currentType = TextureType.Texture2D; } + if( UIUtils.CurrentShaderVersion() >= 19902 ) + { + m_assignKeyword = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ); + } + ConfigTextureData( m_currentType ); //ConfigFromObject( m_defaultValue ); @@ -906,6 +939,7 @@ namespace AmplifyShaderEditor IOUtils.AddFieldValueToString( ref nodeInfo, m_defaultTextureValue ); IOUtils.AddFieldValueToString( ref nodeInfo, m_autocastMode ); IOUtils.AddFieldValueToString( ref nodeInfo, m_currentType ); + IOUtils.AddFieldValueToString( ref nodeInfo, m_assignKeyword.ToString() ); } public override void WriteAdditionalClipboardData( ref string nodeInfo ) @@ -929,30 +963,35 @@ namespace AmplifyShaderEditor return m_materialMode ? ( m_materialValue != null ? m_materialValue.name : IOUtils.NO_TEXTURES ) : ( m_defaultValue != null ? m_defaultValue.name : IOUtils.NO_TEXTURES ); } + private string GetAssignKeywordPropertyValue() + { + return "[HideInInspector] GenKey_" + PropertyName + "( \"Assign keyword " + PropertyName.ToUpper() + "\", Float ) = 1.0"; + } + public override string GetPropertyValue() { switch( m_currentType ) { case TextureType.Texture1D: { - return PropertyAttributes + GetTexture1DPropertyValue(); + return PropertyAttributes + PropertyAttributesSeparator + GetTexture1DPropertyValue(); } case TextureType.ProceduralTexture: case TextureType.Texture2D: { - return PropertyAttributes + GetTexture2DPropertyValue(); + return PropertyAttributes + PropertyAttributesSeparator + GetTexture2DPropertyValue(); } case TextureType.Texture3D: { - return PropertyAttributes + GetTexture3DPropertyValue(); + return PropertyAttributes + PropertyAttributesSeparator + GetTexture3DPropertyValue(); } case TextureType.Cube: { - return PropertyAttributes + GetCubePropertyValue(); + return PropertyAttributes + PropertyAttributesSeparator + GetCubePropertyValue(); } case TextureType.Texture2DArray: { - return PropertyAttributes + GetTexture2DArrayPropertyValue(); + return PropertyAttributes + PropertyAttributesSeparator + GetTexture2DArrayPropertyValue(); } } return string.Empty; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TexturePropertyNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TexturePropertyNode.cs.meta index 260bed27..abcb830e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TexturePropertyNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TexturePropertyNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TexturePropertyNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TexturePropertyNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureTransformNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureTransformNode.cs index 63533eef..1f6e3bf8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureTransformNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureTransformNode.cs @@ -90,7 +90,7 @@ namespace AmplifyShaderEditor } - PreviewIsDirty = m_continuousPreviewRefresh; + PreviewIsDirty = ContinuousPreviewRefresh; FinishPreviewRender = true; } @@ -330,6 +330,17 @@ namespace AmplifyShaderEditor UpdateTitle(); } + public override void ReconnectClipboardReferences( Clipboard clipboard ) + { + // validate node first + int newId = clipboard.GeNewNodeId( m_referenceNodeId ); + if ( ContainerGraph.GetNode( newId ) != null ) + { + m_referenceNodeId = newId; + } + RefreshExternalReferences(); + } + public override void ReadFromString( ref string[] nodeParams ) { base.ReadFromString( ref nodeParams ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureTransformNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureTransformNode.cs.meta index f88657d2..af376701 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureTransformNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureTransformNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureTransformNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/TextureTransformNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/UnpackScaleNormalNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/UnpackScaleNormalNode.cs.meta index c2947dfe..888e9775 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/UnpackScaleNormalNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/UnpackScaleNormalNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/UnpackScaleNormalNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/UnpackScaleNormalNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/VirtualTextureObject.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/VirtualTextureObject.cs.meta index 8b43dd94..fe42c1b6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/VirtualTextureObject.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/VirtualTextureObject.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/VirtualTextureObject.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Textures/VirtualTextureObject.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/UndoParentNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/UndoParentNode.cs.meta index 6e9cf539..3d41760a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/UndoParentNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/UndoParentNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/UndoParentNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/UndoParentNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BillboardNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BillboardNode.cs.meta index 6d3ff206..2ddafa4d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BillboardNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BillboardNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BillboardNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BillboardNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BitangentVertexDataNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BitangentVertexDataNode.cs.meta index 98756a8b..5e90b5fa 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BitangentVertexDataNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BitangentVertexDataNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BitangentVertexDataNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BitangentVertexDataNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BlendIndicesNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BlendIndicesNode.cs.meta index c8c434ae..0f72c78e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BlendIndicesNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BlendIndicesNode.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BlendIndicesNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BlendIndicesNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BlendWeightsNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BlendWeightsNode.cs.meta index b0e84be8..5a884415 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BlendWeightsNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BlendWeightsNode.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BlendWeightsNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/BlendWeightsNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ColorVertexDataNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ColorVertexDataNode.cs.meta index 16d0d5ff..d0e6a51e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ColorVertexDataNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ColorVertexDataNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ColorVertexDataNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ColorVertexDataNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/NormalVertexDataNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/NormalVertexDataNode.cs.meta index e8d02482..a0e7e4a6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/NormalVertexDataNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/NormalVertexDataNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/NormalVertexDataNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/NormalVertexDataNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectBoundsNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectBoundsNode.cs index 8b89993c..98bce55b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectBoundsNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectBoundsNode.cs @@ -10,7 +10,7 @@ namespace AmplifyShaderEditor [NodeAttributes( "Object Bounds", "Object", "Object Bounds extracted from SRP per-object data" )] public class ObjectBoundsNode : ParentNode { - public const string NodeErrorMsg = "This node requires Universal or High-definition rendering pipeline version 14.0.4 or higher."; + public const string NodeMsg = "This node requires Universal or High-definition rendering pipeline version 14.0.4 or higher."; protected override void CommonInit( int uniqueId ) { @@ -20,7 +20,7 @@ namespace AmplifyShaderEditor AddOutputPort( WirePortDataType.FLOAT3, "Size" ); m_drawPreviewAsSphere = true; m_textLabelWidth = 180; - m_errorMessageTooltip = NodeErrorMsg; + m_errorMessageTooltip = NodeMsg; m_errorMessageTypeIsError = NodeMessageType.Error; } @@ -28,10 +28,20 @@ namespace AmplifyShaderEditor { base.OnNodeLogicUpdate( drawInfo ); + bool isFunction = ( ContainerGraph.CurrentCanvasMode == NodeAvailability.ShaderFunction ); bool isTemplate = ( ContainerGraph.CurrentCanvasMode == NodeAvailability.TemplateShader ); bool isSRP = ( ContainerGraph.CurrentSRPType == TemplateSRPType.URP || ContainerGraph.CurrentSRPType == TemplateSRPType.HDRP ); bool isSRPCompatible = ( ASEPackageManagerHelper.PackageSRPVersion >= 140004 ); - m_showErrorMessage = !isTemplate || !isSRP || !isSRPCompatible; + if ( isFunction ) + { + m_showErrorMessage = !isSRPCompatible; + m_errorMessageTypeIsError = NodeMessageType.Warning; + } + else + { + m_showErrorMessage = !isTemplate || !isSRP || !isSRPCompatible; + } + } public override void DrawProperties() @@ -39,7 +49,7 @@ namespace AmplifyShaderEditor base.DrawProperties(); if ( m_showErrorMessage ) { - EditorGUILayout.HelpBox( NodeErrorMsg, MessageType.Error ); + EditorGUILayout.HelpBox( NodeMsg, ( m_errorMessageTypeIsError == NodeMessageType.Error ) ? MessageType.Error : MessageType.Warning ); } } @@ -47,10 +57,10 @@ namespace AmplifyShaderEditor { if ( m_showErrorMessage ) { - UIUtils.ShowMessage( NodeErrorMsg ); + UIUtils.ShowMessage( NodeMsg ); return GenerateErrorValue(); } - + if ( outputId == 0 ) { return dataCollector.TemplateDataCollectorInstance.GenerateObjectBoundsMin( ref dataCollector, UniqueId ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectBoundsNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectBoundsNode.cs.meta index 9cd19824..b72899d9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectBoundsNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectBoundsNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectBoundsNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectBoundsNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectPositionNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectPositionNode.cs.meta index 63d7ebf3..de90b647 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectPositionNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectPositionNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectPositionNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectPositionNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectScaleNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectScaleNode.cs.meta index daa6dc11..b0bafa43 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectScaleNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectScaleNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectScaleNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/ObjectScaleNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/OutlineNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/OutlineNode.cs.meta index 6ec85c30..f487c0c9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/OutlineNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/OutlineNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/OutlineNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/OutlineNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/PosVertexDataNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/PosVertexDataNode.cs.meta index 9882e520..b00bc193 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/PosVertexDataNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/PosVertexDataNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/PosVertexDataNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/PosVertexDataNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TangentSignVertexDataNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TangentSignVertexDataNode.cs.meta index 8b6cd7e8..b74185c0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TangentSignVertexDataNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TangentSignVertexDataNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TangentSignVertexDataNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TangentSignVertexDataNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TangentVertexDataNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TangentVertexDataNode.cs.meta index a4db98b9..d961b6c2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TangentVertexDataNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TangentVertexDataNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TangentVertexDataNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TangentVertexDataNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/DistanceBasedTessNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/DistanceBasedTessNode.cs.meta index 709cc77f..45645c2b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/DistanceBasedTessNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/DistanceBasedTessNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/DistanceBasedTessNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/DistanceBasedTessNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/EdgeLengthCullTessNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/EdgeLengthCullTessNode.cs.meta index 35e4c82d..effc65d0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/EdgeLengthCullTessNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/EdgeLengthCullTessNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/EdgeLengthCullTessNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/EdgeLengthCullTessNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/EdgeLengthTessNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/EdgeLengthTessNode.cs.meta index 1a966a64..34884025 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/EdgeLengthTessNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/EdgeLengthTessNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/EdgeLengthTessNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/EdgeLengthTessNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/TessellationParentNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/TessellationParentNode.cs.meta index 7cbe6862..8852e7b5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/TessellationParentNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/TessellationParentNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/TessellationParentNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/Tessellation/TessellationParentNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoord1VertexDataNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoord1VertexDataNode.cs.meta index c575c524..0efea152 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoord1VertexDataNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoord1VertexDataNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoord1VertexDataNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoord1VertexDataNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoordVertexDataNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoordVertexDataNode.cs index c066304d..9f03b118 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoordVertexDataNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoordVertexDataNode.cs @@ -31,6 +31,12 @@ namespace AmplifyShaderEditor m_autoWrapProperties = true; m_hasLeftDropdown = true; m_previewShaderGUID = "6c1bee77276896041bbb73b1b9e7f8ac"; + UpdateTitle(); + } + + void UpdateTitle() + { + SetAdditonalTitleText( string.Format( Constants.SubTitleUVChannelFormatStr, m_index, m_texcoordSize ) ); } public override void DrawProperties() @@ -49,6 +55,8 @@ namespace AmplifyShaderEditor { m_currentVertexData = ( m_index == 0 ) ? "texcoord" : "texcoord" + Constants.AvailableUVChannelsStr[ m_index ]; } + + UpdateTitle(); } public override void Draw( DrawInfo drawInfo ) @@ -65,6 +73,8 @@ namespace AmplifyShaderEditor DropdownEditing = false; } } + + UpdateTitle(); } private void UpdateOutput() @@ -91,6 +101,7 @@ namespace AmplifyShaderEditor m_outputPorts[ 3 ].Visible = false; m_outputPorts[ 4 ].Visible = false; } + UpdateTitle(); m_sizeIsDirty = true; } @@ -214,6 +225,8 @@ namespace AmplifyShaderEditor m_texcoordSize = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); UpdateOutput(); } + + UpdateTitle(); } public override void WriteToString( ref string nodeInfo, ref string connectionsInfo ) diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoordVertexDataNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoordVertexDataNode.cs.meta index 243f346e..d191c675 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoordVertexDataNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoordVertexDataNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoordVertexDataNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/TexCoordVertexDataNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexBinormalNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexBinormalNode.cs index 924ffa24..5064c9e6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexBinormalNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexBinormalNode.cs @@ -30,7 +30,7 @@ namespace AmplifyShaderEditor public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar ) { if ( dataCollector.IsTemplate ) - return GetOutputVectorItem( 0, outputId, dataCollector.TemplateDataCollectorInstance.GetWorldBinormal( CurrentPrecisionType ) ); + return GetOutputVectorItem( 0, outputId, dataCollector.TemplateDataCollectorInstance.GetWorldBitangent( CurrentPrecisionType ) ); if( dataCollector.PortCategory == MasterNodePortCategory.Fragment || dataCollector.PortCategory == MasterNodePortCategory.Debug ) { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexBinormalNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexBinormalNode.cs.meta index 9e8fbd40..2537fcd8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexBinormalNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexBinormalNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexBinormalNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexBinormalNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexColorNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexColorNode.cs.meta index 4e803f42..48edfff3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexColorNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexColorNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexColorNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexColorNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexDataNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexDataNode.cs.meta index 89189312..cf4b9faf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexDataNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexDataNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexDataNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexDataNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexTangentNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexTangentNode.cs.meta index e3038180..4664c1ec 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexTangentNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexTangentNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexTangentNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexTangentNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexToFragmentNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexToFragmentNode.cs index 68de3f0e..3dc4106a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexToFragmentNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexToFragmentNode.cs @@ -28,7 +28,8 @@ namespace AmplifyShaderEditor protected override void CommonInit( int uniqueId ) { base.CommonInit( uniqueId ); - m_inputPorts[ 0 ].AddPortForbiddenTypes( WirePortDataType.FLOAT3x3, + m_inputPorts[ 0 ].AddPortForbiddenTypes( WirePortDataType.FLOAT2x2, + WirePortDataType.FLOAT3x3, WirePortDataType.FLOAT4x4, WirePortDataType.SAMPLER1D, WirePortDataType.SAMPLER2D, diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexToFragmentNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexToFragmentNode.cs.meta index 9f48ecee..ba601597 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexToFragmentNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexToFragmentNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexToFragmentNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Nodes/Vertex/VertexToFragmentNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/PreMadeShaders.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/PreMadeShaders.cs.meta index 381e5cb9..436ee75b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/PreMadeShaders.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/PreMadeShaders.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/PreMadeShaders.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/PreMadeShaders.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalDefinesHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalDefinesHelper.cs.meta index fd7e2b26..3a1da39d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalDefinesHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalDefinesHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalDefinesHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalDefinesHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalDirectivesHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalDirectivesHelper.cs.meta index d6a7b8f7..2bedfc87 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalDirectivesHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalDirectivesHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalDirectivesHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalDirectivesHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalIncludesHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalIncludesHelper.cs.meta index e94b96f6..6548ba4d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalIncludesHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalIncludesHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalIncludesHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalIncludesHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalParentHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalParentHelper.cs.meta index 3227dd53..49639db1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalParentHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalParentHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalParentHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalParentHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalPragmasHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalPragmasHelper.cs.meta index f5415cb1..9976f5bd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalPragmasHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalPragmasHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalPragmasHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAdditionalPragmasHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAlphaToMaskModule.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAlphaToMaskModule.cs.meta index 3c9aa123..8af018c6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAlphaToMaskModule.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAlphaToMaskModule.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAlphaToMaskModule.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateAlphaToMaskModule.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateCodeSnippetBase.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateCodeSnippetBase.cs.meta index 88bc8fdb..1d76f048 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateCodeSnippetBase.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateCodeSnippetBase.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateCodeSnippetBase.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateCodeSnippetBase.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateColorMaskModule.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateColorMaskModule.cs.meta index 2e0f2923..31b466be 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateColorMaskModule.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateColorMaskModule.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateColorMaskModule.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateColorMaskModule.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateCullModeModule.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateCullModeModule.cs.meta index ee923ca0..dd00614d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateCullModeModule.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateCullModeModule.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateCullModeModule.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateCullModeModule.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDBItem.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDBItem.cs.meta index 8a1d03d5..39b5d252 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDBItem.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDBItem.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDBItem.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDBItem.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateData.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateData.cs.meta index 53860859..9e444310 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateData.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateData.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateData.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateData.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataCollector.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataCollector.cs index a5389170..b765e1f1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataCollector.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataCollector.cs @@ -404,12 +404,12 @@ namespace AmplifyShaderEditor } else { - if( m_fragmentInputParams != null && m_fragmentInputParams.ContainsKey( TemplateSemantics.SV_IsFrontFacing ) ) - return m_fragmentInputParams[ TemplateSemantics.SV_IsFrontFacing ].Name; + if( m_fragmentInputParams != null && m_fragmentInputParams.ContainsKey( TemplateSemantics.SV_IsFrontFace ) ) + return m_fragmentInputParams[ TemplateSemantics.SV_IsFrontFace ].Name; - string custom = "bool "+ TemplateHelperFunctions.SemanticsDefaultName[ TemplateSemantics.SV_IsFrontFacing ] + " : SV_IsFrontFace"; - RegisterFragInputParams( WirePortDataType.FLOAT, PrecisionType.Half, TemplateHelperFunctions.SemanticsDefaultName[ TemplateSemantics.SV_IsFrontFacing ], TemplateSemantics.SV_IsFrontFacing, custom ); - return m_fragmentInputParams[ TemplateSemantics.SV_IsFrontFacing ].Name; + string custom = "uint "+ TemplateHelperFunctions.SemanticsDefaultName[ TemplateSemantics.SV_IsFrontFace ] + " : SV_IsFrontFace"; + RegisterFragInputParams( WirePortDataType.FLOAT, PrecisionType.Half, TemplateHelperFunctions.SemanticsDefaultName[ TemplateSemantics.SV_IsFrontFace ], TemplateSemantics.SV_IsFrontFace, custom ); + return m_fragmentInputParams[ TemplateSemantics.SV_IsFrontFace ].Name; } } else @@ -419,12 +419,12 @@ namespace AmplifyShaderEditor //RegisterFragInputParams( WirePortDataType.FLOAT, PrecisionType.Half, TemplateHelperFunctions.SemanticsDefaultName[ TemplateSemantics.VFACE ], TemplateSemantics.VFACE ); //return m_fragmentInputParams[ TemplateSemantics.VFACE ].Name; - if( m_fragmentInputParams != null && m_fragmentInputParams.ContainsKey( TemplateSemantics.SV_IsFrontFacing ) ) - return m_fragmentInputParams[ TemplateSemantics.SV_IsFrontFacing ].Name; + if( m_fragmentInputParams != null && m_fragmentInputParams.ContainsKey( TemplateSemantics.SV_IsFrontFace ) ) + return m_fragmentInputParams[ TemplateSemantics.SV_IsFrontFace ].Name; - string custom = "bool " + TemplateHelperFunctions.SemanticsDefaultName[ TemplateSemantics.SV_IsFrontFacing ] + " : SV_IsFrontFace"; - RegisterFragInputParams( WirePortDataType.FLOAT , PrecisionType.Half , TemplateHelperFunctions.SemanticsDefaultName[ TemplateSemantics.SV_IsFrontFacing ] , TemplateSemantics.SV_IsFrontFacing , custom ); - return m_fragmentInputParams[ TemplateSemantics.SV_IsFrontFacing ].Name; + string custom = "uint " + TemplateHelperFunctions.SemanticsDefaultName[ TemplateSemantics.SV_IsFrontFace ] + " : SV_IsFrontFace"; + RegisterFragInputParams( WirePortDataType.FLOAT , PrecisionType.Half , TemplateHelperFunctions.SemanticsDefaultName[ TemplateSemantics.SV_IsFrontFace ] , TemplateSemantics.SV_IsFrontFace , custom ); + return m_fragmentInputParams[ TemplateSemantics.SV_IsFrontFace ].Name; } } @@ -562,7 +562,12 @@ namespace AmplifyShaderEditor size = TemplateHelperFunctions.ChannelToDataType[ m_UVUsage[ UVChannel ] ]; } - if( m_currentDataCollector.PortCategory == MasterNodePortCategory.Vertex ) + if ( TemplateHelperFunctions.InfoToDefine.TryGetValue( TemplateHelperFunctions.IntToUVChannelInfo[ UVChannel ], out string defineValue ) ) + { + m_currentDataCollector.AddToDefines( -1, defineValue ); + } + + if ( m_currentDataCollector.PortCategory == MasterNodePortCategory.Vertex ) { TemplateSemantics semantic = TemplateHelperFunctions.IntToSemantic[ UVChannel ]; @@ -600,6 +605,7 @@ namespace AmplifyShaderEditor case WirePortDataType.UINT4: case WirePortDataType.FLOAT4: case WirePortDataType.COLOR: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: case WirePortDataType.SAMPLER1D: @@ -1004,11 +1010,24 @@ namespace AmplifyShaderEditor info == TemplateInfoOnSematics.OBJECT_POSITION || info == TemplateInfoOnSematics.VIEW_POSITION; - MasterNodePortCategory category = useMasterNodeCategory ? m_currentDataCollector.PortCategory : customCategory; if( category == MasterNodePortCategory.Vertex ) { - if( m_specialVertexLocalVars.ContainsKey( info ) ) + + if ( m_availableVertData.ContainsKey( info ) && !m_availableVertData[ info ].SetAtCompileTime ) + { + string defineValue; + if ( TemplateHelperFunctions.InfoToDefine.TryGetValue( info, out defineValue ) ) + { + m_currentDataCollector.AddToDefines( -1, defineValue ); + } + if ( TemplateHelperFunctions.InfoToDefineVertex.TryGetValue( info, out defineValue ) ) + { + m_currentDataCollector.AddToDefines( -1, defineValue ); + } + } + + if ( m_specialVertexLocalVars.ContainsKey( info ) ) { result = m_specialVertexLocalVars[ info ].LocalVarName; if( m_specialVertexLocalVars[ info ].DataType != type ) @@ -1026,7 +1045,20 @@ namespace AmplifyShaderEditor if( category == MasterNodePortCategory.Fragment ) { - if( m_specialFragmentLocalVars.ContainsKey( info ) ) + if ( m_availableFragData.ContainsKey( info ) && !m_availableFragData[ info ].SetAtCompileTime ) + { + string defineValue; + if ( TemplateHelperFunctions.InfoToDefine.TryGetValue( info, out defineValue ) ) + { + m_currentDataCollector.AddToDefines( -1, defineValue ); + } + if ( TemplateHelperFunctions.InfoToDefineFrag.TryGetValue( info, out defineValue ) ) + { + m_currentDataCollector.AddToDefines( -1, defineValue ); + } + } + + if ( m_specialFragmentLocalVars.ContainsKey( info ) ) { result = m_specialFragmentLocalVars[ info ].LocalVarName; if( m_specialFragmentLocalVars[ info ].DataType != type ) @@ -1303,7 +1335,7 @@ namespace AmplifyShaderEditor } - public string GetWorldBinormal( PrecisionType precisionType, bool useMasterNodeCategory = true, MasterNodePortCategory customCategory = MasterNodePortCategory.Fragment ) + public string GetWorldBitangent( PrecisionType precisionType, bool useMasterNodeCategory = true, MasterNodePortCategory customCategory = MasterNodePortCategory.Fragment ) { string result = string.Empty; if( GetCustomInterpolatedData( TemplateInfoOnSematics.WORLD_BITANGENT, WirePortDataType.FLOAT3, precisionType, ref result, useMasterNodeCategory, customCategory ) ) @@ -1430,8 +1462,8 @@ namespace AmplifyShaderEditor public string GenerateObjectBoundsMin( ref MasterNodeDataCollector dataCollector, int uniqueId ) { string value = string.Empty; - if ( m_currentSRPType != TemplateSRPType.BiRP && ( ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_14 || - ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_14 ) ) + if ( m_currentSRPType != TemplateSRPType.BiRP && ( ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_14_X || + ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_14_X ) ) { value = "unity_RendererBounds_Min.xyz"; } @@ -1446,8 +1478,8 @@ namespace AmplifyShaderEditor public string GenerateObjectBoundsMax( ref MasterNodeDataCollector dataCollector, int uniqueId ) { string value = string.Empty; - if ( m_currentSRPType != TemplateSRPType.BiRP && ( ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_14 || - ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_14 ) ) + if ( m_currentSRPType != TemplateSRPType.BiRP && ( ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_14_X || + ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_14_X ) ) { value = "unity_RendererBounds_Max.xyz"; } @@ -1462,8 +1494,8 @@ namespace AmplifyShaderEditor public string GenerateObjectBoundsSize( ref MasterNodeDataCollector dataCollector, int uniqueId ) { string value = string.Empty; - if ( m_currentSRPType != TemplateSRPType.BiRP && ( ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_14 || - ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_14 ) ) + if ( m_currentSRPType != TemplateSRPType.BiRP && ( ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_14_X || + ASEPackageManagerHelper.CurrentURPBaseline >= ASESRPBaseline.ASE_SRP_14_X ) ) { value = "( unity_RendererBounds_Max.xyz - unity_RendererBounds_Min.xyz )"; } @@ -1650,11 +1682,17 @@ namespace AmplifyShaderEditor public string GetClipPos( bool useMasterNodeCategory = true, MasterNodePortCategory customCategory = MasterNodePortCategory.Fragment ) { - string varName = GeneratorUtils.ClipPositionStr;// "clipPos"; - if( HasCustomInterpolatedData( varName, useMasterNodeCategory, customCategory ) ) + string result = string.Empty; + if ( GetCustomInterpolatedData( TemplateInfoOnSematics.CLIP_POS, WirePortDataType.FLOAT4, PrecisionType.Float, ref result, useMasterNodeCategory, customCategory ) ) + { + return result; + } + + string varName = GeneratorUtils.ClipPositionStr; + if ( HasCustomInterpolatedData( varName, useMasterNodeCategory, customCategory ) ) return varName; - if( !m_availableVertData.ContainsKey( TemplateInfoOnSematics.POSITION ) ) + if ( !m_availableVertData.ContainsKey( TemplateInfoOnSematics.POSITION ) ) { UIUtils.ShowMessage( "Attempting to access inexisting vertex position to calculate clip pos" ); return "half4(0,0,0,0)"; @@ -1770,7 +1808,8 @@ namespace AmplifyShaderEditor if ( !m_currentDataCollector.HasLocalVariableByName( GeneratorUtils.ScreenPosTiledStr ) ) { string screenPosNorm = GetScreenPosNormalized( precision, useMasterNodeCategory, customCategory ); - string value = string.Format( "frac( float4( ( {0}.x * 2 - 1 ) * _ScreenParams.x / _ScreenParams.y, {0}.y * 2 - 1, 0, 0 ) )", screenPosNorm ); + string screenParams = m_currentDataCollector.IsURP ? "_ScaledScreenParams" : "_ScreenParams"; + string value = string.Format( "frac( float4( ( {0}.x * 2 - 1 ) * {1}.x / {1}.y, {0}.y * 2 - 1, 0, 0 ) )", screenPosNorm, screenParams ); m_currentDataCollector.AddLocalVariable( -1, precision, WirePortDataType.FLOAT4, GeneratorUtils.ScreenPosTiledStr, value ); } return GeneratorUtils.ScreenPosTiledStr; @@ -1781,8 +1820,9 @@ namespace AmplifyShaderEditor if ( !m_currentDataCollector.HasLocalVariableByName( GeneratorUtils.ScreenPosPixelStr ) ) { string screenPosNorm = GetScreenPosNormalized( precision, useMasterNodeCategory, customCategory ); + string screenParams = m_currentDataCollector.IsURP ? "_ScaledScreenParams" : "_ScreenParams"; GeneratorUtils.GenerateScreenPosNormToPixelFunction( ref m_currentDataCollector ); - m_currentDataCollector.AddLocalVariable( -1, precision, WirePortDataType.FLOAT4, GeneratorUtils.ScreenPosPixelStr, GeneratorUtils.GenerateScreenPosNormToPixelFunctionCall( screenPosNorm ) ); + m_currentDataCollector.AddLocalVariable( -1, precision, WirePortDataType.FLOAT4, GeneratorUtils.ScreenPosPixelStr, GeneratorUtils.GenerateScreenPosNormToPixelFunctionCall( screenPosNorm, screenParams ) ); } return GeneratorUtils.ScreenPosPixelStr; } @@ -1924,7 +1964,7 @@ namespace AmplifyShaderEditor string worldTangent = GetWorldTangent( precisionType, useMasterNodeCategory, customCategory ); string worldNormal = GetWorldNormal( precisionType, useMasterNodeCategory, customCategory ); - string worldBinormal = GetWorldBinormal( precisionType, useMasterNodeCategory, customCategory ); + string worldBinormal = GetWorldBitangent( precisionType, useMasterNodeCategory, customCategory ); string tanToWorldVar0 = string.Format( "float3( {0}.x, {1}.x, {2}.x )", worldTangent, worldBinormal, worldNormal ); string tanToWorldVar1 = string.Format( "float3( {0}.y, {1}.y, {2}.y )", worldTangent, worldBinormal, worldNormal ); @@ -1948,7 +1988,7 @@ namespace AmplifyShaderEditor { string worldTangent = GetWorldTangent( precisionType ); string worldNormal = GetWorldNormal( precisionType ); - string worldBinormal = GetWorldBinormal( precisionType ); + string worldBinormal = GetWorldBitangent( precisionType ); string varName = GeneratorUtils.TangentToWorldFastStr; if( HasCustomInterpolatedData( varName, useMasterNodeCategory, customCategory ) ) @@ -1971,7 +2011,7 @@ namespace AmplifyShaderEditor { string worldTangent = GetWorldTangent( precisionType ); string worldNormal = GetWorldNormal( precisionType ); - string worldBinormal = GetWorldBinormal( precisionType ); + string worldBinormal = GetWorldBitangent( precisionType ); string varName = GeneratorUtils.WorldToTangentStr;// "worldToTanMat"; if( HasCustomInterpolatedData( varName, useMasterNodeCategory, customCategory ) ) diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataCollector.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataCollector.cs.meta index 0739a3ba..312fc75f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataCollector.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataCollector.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataCollector.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataCollector.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataParent.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataParent.cs.meta index c579562f..50cd4ffc 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataParent.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataParent.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataParent.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDataParent.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDepthModule.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDepthModule.cs.meta index bf441b06..8446ae36 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDepthModule.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDepthModule.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDepthModule.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateDepthModule.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateFragmentDataNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateFragmentDataNode.cs.meta index 83c6b178..5d343d8d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateFragmentDataNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateFragmentDataNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateFragmentDataNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateFragmentDataNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateHelperFunctions.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateHelperFunctions.cs index 4ee7ad0f..27e4e027 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateHelperFunctions.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateHelperFunctions.cs @@ -42,7 +42,7 @@ namespace AmplifyShaderEditor TEXCOORD15, NORMAL, TANGENT, - SV_IsFrontFacing, + SV_IsFrontFace, SV_VertexID, SV_PrimitiveID, SV_InstanceID, @@ -88,7 +88,8 @@ namespace AmplifyShaderEditor BLENDWEIGHTS, BLENDINDICES, OBJECT_POSITION, - VIEW_POSITION + VIEW_POSITION, + LIGHT_ATTENUATION } public enum TemplateShaderPropertiesIdx @@ -558,6 +559,7 @@ namespace AmplifyShaderEditor {WirePortDataType.FLOAT2,2 }, {WirePortDataType.FLOAT3,3 }, {WirePortDataType.FLOAT4,4 }, + {WirePortDataType.FLOAT2x2,0 }, {WirePortDataType.FLOAT3x3,0 }, {WirePortDataType.FLOAT4x4,0 }, {WirePortDataType.COLOR,4 }, @@ -587,7 +589,7 @@ namespace AmplifyShaderEditor {TemplateSemantics.POSITION ,"ase_position"}, {TemplateSemantics.SV_POSITION ,"ase_sv_position"}, {TemplateSemantics.TANGENT ,"ase_tangent"}, - {TemplateSemantics.SV_IsFrontFacing ,"ase_vface"}, + {TemplateSemantics.SV_IsFrontFace ,"ase_vface"}, {TemplateSemantics.SV_VertexID ,"ase_vertexId"}, {TemplateSemantics.SV_InstanceID ,"ase_instanceId"}, {TemplateSemantics.SV_PrimitiveID ,"ase_primitiveId"}, @@ -648,7 +650,8 @@ namespace AmplifyShaderEditor {"op" ,TemplateInfoOnSematics.OBJECT_POSITION}, {"vp" ,TemplateInfoOnSematics.VIEW_POSITION}, {"vf" ,TemplateInfoOnSematics.VFACE}, - {"sc" ,TemplateInfoOnSematics.SHADOWCOORDS} + {"sc" ,TemplateInfoOnSematics.SHADOWCOORDS}, + {"latt" ,TemplateInfoOnSematics.LIGHT_ATTENUATION} }; public static readonly Dictionary InfoToDefineFrag = new Dictionary @@ -709,6 +712,35 @@ namespace AmplifyShaderEditor {TemplateInfoOnSematics.SHADOWCOORDS,"ASE_NEEDS_VERT_SHADOWCOORDS"} }; + public static readonly Dictionary InfoToDefine = new Dictionary + { + {TemplateInfoOnSematics.POSITION ,"ASE_NEEDS_POSITION"}, + {TemplateInfoOnSematics.CLIP_POS ,"ASE_NEEDS_CLIP_POS"}, + {TemplateInfoOnSematics.SCREEN_POSITION,"ASE_NEEDS_SCREEN_POSITION" }, + {TemplateInfoOnSematics.SCREEN_POSITION_NORMALIZED,"ASE_NEEDS_SCREEN_POSITION_NORMALIZED" }, + {TemplateInfoOnSematics.COLOR, "ASE_NEEDS_COLOR"}, + {TemplateInfoOnSematics.TEXTURE_COORDINATES0,"ASE_NEEDS_TEXTURE_COORDINATES0" }, + {TemplateInfoOnSematics.TEXTURE_COORDINATES1,"ASE_NEEDS_TEXTURE_COORDINATES1" }, + {TemplateInfoOnSematics.TEXTURE_COORDINATES2,"ASE_NEEDS_TEXTURE_COORDINATES2" }, + {TemplateInfoOnSematics.TEXTURE_COORDINATES3,"ASE_NEEDS_TEXTURE_COORDINATES3" }, + {TemplateInfoOnSematics.TEXTURE_COORDINATES4,"ASE_NEEDS_TEXTURE_COORDINATES4" }, + {TemplateInfoOnSematics.TEXTURE_COORDINATES5,"ASE_NEEDS_TEXTURE_COORDINATES5" }, + {TemplateInfoOnSematics.TEXTURE_COORDINATES6,"ASE_NEEDS_TEXTURE_COORDINATES6" }, + {TemplateInfoOnSematics.TEXTURE_COORDINATES7,"ASE_NEEDS_TEXTURE_COORDINATES7" }, + {TemplateInfoOnSematics.NORMAL,"ASE_NEEDS_NORMAL" }, + {TemplateInfoOnSematics.TANGENT ,"ASE_NEEDS_TANGENT"}, + {TemplateInfoOnSematics.WORLD_NORMAL,"ASE_NEEDS_WORLD_NORMAL"}, + {TemplateInfoOnSematics.WORLD_TANGENT,"ASE_NEEDS_WORLD_TANGENT"}, + {TemplateInfoOnSematics.WORLD_BITANGENT,"ASE_NEEDS_WORLD_BITANGENT"}, + {TemplateInfoOnSematics.WORLD_VIEW_DIR,"ASE_NEEDS_WORLD_VIEW_DIR"}, + {TemplateInfoOnSematics.WORLD_POSITION,"ASE_NEEDS_WORLD_POSITION"}, + {TemplateInfoOnSematics.RELATIVE_WORLD_POS,"ASE_NEEDS_RELATIVE_WORLD_POS"}, + {TemplateInfoOnSematics.OBJECT_POSITION,"ASE_NEEDS_OBJECT_POSITION"}, + {TemplateInfoOnSematics.VIEW_POSITION,"ASE_NEEDS_VIEW_POSITION"}, + {TemplateInfoOnSematics.VFACE,"ASE_NEEDS_VFACE"}, + {TemplateInfoOnSematics.SHADOWCOORDS,"ASE_NEEDS_SHADOWCOORDS"} + }; + public static readonly Dictionary InfoToLocalVar = new Dictionary { {TemplateInfoOnSematics.POSITION,GeneratorUtils.VertexPosition4Str }, @@ -732,6 +764,7 @@ namespace AmplifyShaderEditor {TemplateInfoOnSematics.VIEW_POSITION, GeneratorUtils.ViewPositionStr}, {TemplateInfoOnSematics.VFACE, GeneratorUtils.VFaceStr}, {TemplateInfoOnSematics.SHADOWCOORDS, GeneratorUtils.ShadowCoordsStr}, + {TemplateInfoOnSematics.LIGHT_ATTENUATION, GeneratorUtils.LightAttenuationStr} }; @@ -758,6 +791,7 @@ namespace AmplifyShaderEditor {TemplateInfoOnSematics.VIEW_POSITION, WirePortDataType.FLOAT3}, {TemplateInfoOnSematics.VFACE, WirePortDataType.FLOAT}, {TemplateInfoOnSematics.SHADOWCOORDS, WirePortDataType.FLOAT4}, + {TemplateInfoOnSematics.LIGHT_ATTENUATION, WirePortDataType.FLOAT} }; public static readonly Dictionary IntToUVChannelInfo = new Dictionary { @@ -842,18 +876,21 @@ namespace AmplifyShaderEditor {"float2" ,WirePortDataType.FLOAT2}, {"float3" ,WirePortDataType.FLOAT3}, {"float4" ,WirePortDataType.FLOAT4}, + {"float2x2" ,WirePortDataType.FLOAT2x2}, {"float3x3" ,WirePortDataType.FLOAT3x3}, {"float4x4" ,WirePortDataType.FLOAT4x4}, {"half" ,WirePortDataType.FLOAT}, {"half2" ,WirePortDataType.FLOAT2}, {"half3" ,WirePortDataType.FLOAT3}, {"half4" ,WirePortDataType.FLOAT4}, + {"half2x2" ,WirePortDataType.FLOAT2x2}, {"half3x3" ,WirePortDataType.FLOAT3x3}, {"half4x4" ,WirePortDataType.FLOAT4x4}, {"fixed" ,WirePortDataType.FLOAT}, {"fixed2" ,WirePortDataType.FLOAT2}, {"fixed3" ,WirePortDataType.FLOAT3}, {"fixed4" ,WirePortDataType.FLOAT4}, + {"fixed2x2" ,WirePortDataType.FLOAT2x2}, {"fixed3x3" ,WirePortDataType.FLOAT3x3}, {"fixed4x4" ,WirePortDataType.FLOAT4x4}, {"int" ,WirePortDataType.INT}, @@ -872,11 +909,11 @@ namespace AmplifyShaderEditor {"2.0",8 }, {"2.5",8 }, {"3.0",10}, - {"3.5",10}, - {"4.0",16}, - {"4.5",16}, - {"4.6",16}, - {"5.0",16} + {"3.5",15}, + {"4.0",15}, + {"4.5",15}, + {"4.6",15}, + {"5.0",15} }; public static readonly string[] AvailableShaderModels = @@ -2470,6 +2507,7 @@ namespace AmplifyShaderEditor { switch( second ) { + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: case WirePortDataType.SAMPLER1D: @@ -2482,6 +2520,7 @@ namespace AmplifyShaderEditor } } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { @@ -2515,6 +2554,7 @@ namespace AmplifyShaderEditor case WirePortDataType.FLOAT2: case WirePortDataType.FLOAT3: case WirePortDataType.FLOAT4: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: case WirePortDataType.COLOR: diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateHelperFunctions.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateHelperFunctions.cs.meta index 30e5b267..ab3ad549 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateHelperFunctions.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateHelperFunctions.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateHelperFunctions.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateHelperFunctions.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateIdManager.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateIdManager.cs.meta index 8997b609..566deefa 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateIdManager.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateIdManager.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateIdManager.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateIdManager.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateInterpData.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateInterpData.cs.meta index 81448f4f..b487aae2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateInterpData.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateInterpData.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateInterpData.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateInterpData.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateLocalVarData.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateLocalVarData.cs.meta index 026cf2d1..d66542e5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateLocalVarData.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateLocalVarData.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateLocalVarData.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateLocalVarData.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateLocalVarsNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateLocalVarsNode.cs.meta index c5ba3ec3..7d28c193 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateLocalVarsNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateLocalVarsNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateLocalVarsNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateLocalVarsNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMasterNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMasterNode.cs.meta index a3d98308..1e07d174 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMasterNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMasterNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMasterNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMasterNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMenuItems.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMenuItems.cs index ab152ae5..022d8d6b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMenuItems.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMenuItems.cs @@ -6,6 +6,51 @@ namespace AmplifyShaderEditor { public class TemplateMenuItems { + [MenuItem( "Assets/Create/Amplify Shader/Built-In/Default Sprites", false, 85 )] + public static void ApplyTemplateBuiltInDefaultSprites() + { + AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "0f8ba0101102bb14ebf021ddadce9b49" ); + } + [MenuItem( "Assets/Create/Amplify Shader/Built-In/Image Effect", false, 85 )] + public static void ApplyTemplateBuiltInImageEffect() + { + AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "c71b220b631b6344493ea3cf87110c93" ); + } + [MenuItem( "Assets/Create/Amplify Shader/Built-In/Lit", false, 85 )] + public static void ApplyTemplateBuiltInLit() + { + AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "ed95fe726fd7b4644bb42f4d1ddd2bcd" ); + } + [MenuItem( "Assets/Create/Amplify Shader/Built-In/Multi Pass Unlit", false, 85 )] + public static void ApplyTemplateBuiltInMultiPassUnlit() + { + AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "e1de45c0d41f68c41b2cc20c8b9c05ef" ); + } + [MenuItem( "Assets/Create/Amplify Shader/Built-In/Particles Alpha Blended", false, 85 )] + public static void ApplyTemplateBuiltInParticlesAlphaBlended() + { + AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "0b6a9f8b4f707c74ca64c0be8e590de0" ); + } + [MenuItem( "Assets/Create/Amplify Shader/Built-In/Post-Processing Stack", false, 85 )] + public static void ApplyTemplateBuiltInPostProcessingStack() + { + AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "32139be9c1eb75640a847f011acf3bcf" ); + } + [MenuItem( "Assets/Create/Amplify Shader/Built-In/Unlit", false, 85 )] + public static void ApplyTemplateBuiltInUnlit() + { + AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "0770190933193b94aaa3065e307002fa" ); + } + [MenuItem( "Assets/Create/Amplify Shader/Built-In/Unlit Lightmap", false, 85 )] + public static void ApplyTemplateBuiltInUnlitLightmap() + { + AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "899e609c083c74c4ca567477c39edef0" ); + } + [MenuItem( "Assets/Create/Amplify Shader/Built-In/Wireframe", false, 85 )] + public static void ApplyTemplateBuiltInWireframe() + { + AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "45bf09b07249a46489d5200e9ba4d9f1" ); + } [MenuItem( "Assets/Create/Amplify Shader/Custom Render Texture/Initialize", false, 85 )] public static void ApplyTemplateCustomRenderTextureInitialize() { @@ -16,46 +61,6 @@ namespace AmplifyShaderEditor { AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "32120270d1b3a8746af2aca8bc749736" ); } - [MenuItem( "Assets/Create/Amplify Shader/Legacy/Default Sprites", false, 85 )] - public static void ApplyTemplateLegacyDefaultSprites() - { - AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "0f8ba0101102bb14ebf021ddadce9b49" ); - } - [MenuItem( "Assets/Create/Amplify Shader/Legacy/Image Effect", false, 85 )] - public static void ApplyTemplateLegacyImageEffect() - { - AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "c71b220b631b6344493ea3cf87110c93" ); - } - [MenuItem( "Assets/Create/Amplify Shader/Legacy/Lit", false, 85 )] - public static void ApplyTemplateLegacyLit() - { - AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "ed95fe726fd7b4644bb42f4d1ddd2bcd" ); - } - [MenuItem( "Assets/Create/Amplify Shader/Legacy/Multi Pass Unlit", false, 85 )] - public static void ApplyTemplateLegacyMultiPassUnlit() - { - AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "e1de45c0d41f68c41b2cc20c8b9c05ef" ); - } - [MenuItem( "Assets/Create/Amplify Shader/Legacy/Particles Alpha Blended", false, 85 )] - public static void ApplyTemplateLegacyParticlesAlphaBlended() - { - AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "0b6a9f8b4f707c74ca64c0be8e590de0" ); - } - [MenuItem( "Assets/Create/Amplify Shader/Legacy/Post-Processing Stack", false, 85 )] - public static void ApplyTemplateLegacyPostProcessingStack() - { - AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "32139be9c1eb75640a847f011acf3bcf" ); - } - [MenuItem( "Assets/Create/Amplify Shader/Legacy/Unlit", false, 85 )] - public static void ApplyTemplateLegacyUnlit() - { - AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "0770190933193b94aaa3065e307002fa" ); - } - [MenuItem( "Assets/Create/Amplify Shader/Legacy/Unlit Lightmap", false, 85 )] - public static void ApplyTemplateLegacyUnlitLightmap() - { - AmplifyShaderEditorWindow.CreateConfirmationTemplateShader( "899e609c083c74c4ca567477c39edef0" ); - } [MenuItem( "Assets/Create/Amplify Shader/UI/Default", false, 85 )] public static void ApplyTemplateUIDefault() { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMenuItems.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMenuItems.cs.meta index 84b19801..5c2ae657 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMenuItems.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMenuItems.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMenuItems.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMenuItems.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModuleHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModuleHelper.cs.meta index fa3b093e..c95cd5d2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModuleHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModuleHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModuleHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModuleHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModuleParent.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModuleParent.cs.meta index 04f92bed..b26c4d3d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModuleParent.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModuleParent.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModuleParent.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModuleParent.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModulesData.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModulesData.cs.meta index f2101758..b4e28d48 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModulesData.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModulesData.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModulesData.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateModulesData.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPass.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPass.cs.meta index 927e42f3..6b58d00d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPass.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPass.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPass.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPass.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassMasterNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassMasterNode.cs index 497b5309..075fa9d2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassMasterNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassMasterNode.cs @@ -1194,7 +1194,7 @@ namespace AmplifyShaderEditor } } - public override void OnNodeLayout( DrawInfo drawInfo ) + public override void OnNodeLayout( DrawInfo drawInfo, NodeUpdateCache cache ) { if( m_invalidNode ) { @@ -1242,7 +1242,7 @@ namespace AmplifyShaderEditor backTracking++; } m_position.y = master.TruePosition.yMax + 1 + 33 * ( backTracking );// ContainerGraph.MultiPassMasterNodes.NodesList[ index - 1 ].TruePosition.yMax; - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); } else { @@ -1253,18 +1253,18 @@ namespace AmplifyShaderEditor forwardTracking++; } m_position.y = master.TruePosition.y - 33 * ( forwardTracking );// ContainerGraph.MultiPassMasterNodes.NodesList[ index - 1 ].TruePosition.yMax; - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); } } else { m_useSquareNodeTitle = false; - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); } } else { - base.OnNodeLayout( drawInfo ); + base.OnNodeLayout( drawInfo, cache ); } } @@ -3082,7 +3082,7 @@ namespace AmplifyShaderEditor m_visiblePorts = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ); m_subShaderModule.ReadFromString( m_templateMultiPass.SubShaders[ m_subShaderIdx ].Modules, ref m_currentReadParamIdx, ref nodeParams ); - m_passModule.ReadFromString( m_templateMultiPass.SubShaders[ m_subShaderIdx ].Passes[ m_passIdx ].Modules, ref m_currentReadParamIdx, ref nodeParams ); + m_passModule.ReadFromString( m_templateMultiPass.SubShaders[ m_subShaderIdx ].Passes[ m_passIdx ].Modules, ref m_currentReadParamIdx, ref nodeParams ); if( UIUtils.CurrentShaderVersion() > 15308 ) { @@ -3161,7 +3161,7 @@ namespace AmplifyShaderEditor void CheckLegacyCustomInspectors() { #if UNITY_2021_2_OR_NEWER - if( m_templateMultiPass.SubShaders[ 0 ].Modules.SRPType == TemplateSRPType.HDRP && ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_11 ) + if( m_templateMultiPass.SubShaders[ 0 ].Modules.SRPType == TemplateSRPType.HDRP && ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_11_X ) { if( Constants.CustomInspectorHDLegacyTo11.ContainsKey( m_customInspectorName ) ) { @@ -3170,7 +3170,7 @@ namespace AmplifyShaderEditor } } - if( m_templateMultiPass.SubShaders[ 0 ].Modules.SRPType == TemplateSRPType.URP && ASEPackageManagerHelper.CurrentURPBaseline>= ASESRPBaseline.ASE_SRP_12 ) + if( m_templateMultiPass.SubShaders[ 0 ].Modules.SRPType == TemplateSRPType.URP && ASEPackageManagerHelper.CurrentURPBaseline>= ASESRPBaseline.ASE_SRP_12_X ) { if( Constants.CustomInspectorURP10To12.ContainsKey( m_customInspectorName ) ) { @@ -3194,7 +3194,7 @@ namespace AmplifyShaderEditor } #elif UNITY_2021_1_OR_NEWER - if( m_templateMultiPass.SubShaders[ 0 ].Modules.SRPType == TemplateSRPType.HDRP && ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_11 ) + if( m_templateMultiPass.SubShaders[ 0 ].Modules.SRPType == TemplateSRPType.HDRP && ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_11_X ) { if( Constants.CustomInspectorHDLegacyTo11.ContainsKey( m_customInspectorName ) ) { @@ -3203,7 +3203,7 @@ namespace AmplifyShaderEditor } } #elif UNITY_2020_2_OR_NEWER - if( m_templateMultiPass.SubShaders[0].Modules.SRPType == TemplateSRPType.HDRP && ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_10 ) + if( m_templateMultiPass.SubShaders[0].Modules.SRPType == TemplateSRPType.HDRP && ASEPackageManagerHelper.CurrentHDRPBaseline >= ASESRPBaseline.ASE_SRP_10_X ) { if( Constants.CustomInspectorHD7To10.ContainsKey( m_customInspectorName ) ) { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassMasterNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassMasterNode.cs.meta index 264bab3a..9a4d9e72 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassMasterNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassMasterNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassMasterNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassMasterNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassSwitchNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassSwitchNode.cs.meta index c42de305..6a6834b7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassSwitchNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassSwitchNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassSwitchNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateMultiPassSwitchNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateNodeParent.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateNodeParent.cs.meta index db007130..3f617d84 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateNodeParent.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateNodeParent.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateNodeParent.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateNodeParent.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsData.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsData.cs index 763d824a..6996bd9e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsData.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsData.cs @@ -636,7 +636,7 @@ namespace AmplifyShaderEditor currentOption.Setup = AseOptionItemSetupDict[ optionItemSetup[ 1 ] ]; } - currentOption.Id = itemIds.Length > 1 ? itemIds[ 1 ] : optionItems[ 1 ]; + currentOption.Id = itemIds.Length > 1 ? itemIds[ 1 ] : currentOption.Name; currentOption.DisplayOptions = optionItems[ 2 ].Split( OptionsDataSeparator ); currentOption.DisableIdx = currentOption.DisplayOptions.Length; optionItems[ 2 ] += ",disable"; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsData.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsData.cs.meta index 9328efd3..d0cec37a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsData.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsData.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsData.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsData.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsDefinesContainer.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsDefinesContainer.cs.meta index 0bf3c6c9..e7c15bee 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsDefinesContainer.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsDefinesContainer.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsDefinesContainer.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsDefinesContainer.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsPort.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsPort.cs.meta index 74c9a3b1..5da0fe52 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsPort.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsPort.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsPort.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsPort.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUI.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUI.cs.meta index bfddefa5..b5796972 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUI.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUI.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUI.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUI.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUIHelper.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUIHelper.cs index eb31647d..d4975781 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUIHelper.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUIHelper.cs @@ -859,6 +859,11 @@ namespace AmplifyShaderEditor for( int i = 0; i < savedOptions; i++ ) { string optionName = nodeParams[ index++ ]; + + // @diogo: In cases like "Category,InvertActionOnDeselection", the actual name should only be the first + // part, to avoid conflicts with the template definition. + optionName = optionName.Split( TemplateOptionsToolsHelper.OptionsDataSeparator )[ 0 ]; + string optionSelection = nodeParams[ index++ ]; Int64 optionTimestamp = ( UIUtils.CurrentShaderVersion() > 18929 ) ? Convert.ToInt64( nodeParams[ index++ ] ):0; m_readOptions.Add( new ReadOptions() { Name = optionName , Selection = optionSelection , Timestamp = optionTimestamp }); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUIHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUIHelper.cs.meta index 3b12d5af..5f942796 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUIHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUIHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUIHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateOptionsUIHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePass.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePass.cs.meta index 65df9ed6..ce06e332 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePass.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePass.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePass.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePass.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePassSelectorHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePassSelectorHelper.cs.meta index 1dfe2403..9915ee5a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePassSelectorHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePassSelectorHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePassSelectorHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePassSelectorHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePostProcessor.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePostProcessor.cs index d79e0b3e..eed8864e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePostProcessor.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePostProcessor.cs @@ -26,6 +26,12 @@ namespace AmplifyShaderEditor static void OnPostprocessAllAssets( string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths ) { + if ( Application.isBatchMode ) + { + // @diogo: not necessary in batch mode, just skip it + return; + } + ASEPackageManagerHelper.RequestInfo(); ASEPackageManagerHelper.Update(); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePostProcessor.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePostProcessor.cs.meta index 2bbd8f92..3fcfbd7f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePostProcessor.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePostProcessor.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePostProcessor.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatePostProcessor.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateRenderPlatformHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateRenderPlatformHelper.cs.meta index 15136d12..750e0a32 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateRenderPlatformHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateRenderPlatformHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateRenderPlatformHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateRenderPlatformHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderData.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderData.cs.meta index 5b2fb09d..3acbc6eb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderData.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderData.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderData.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderData.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderModelModule.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderModelModule.cs.meta index 991f5e52..a0792f25 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderModelModule.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderModelModule.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderModelModule.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderModelModule.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyData.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyData.cs.meta index e34b1d81..67660150 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyData.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyData.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyData.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyData.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyNode.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyNode.cs index 633bfcc4..88639786 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyNode.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyNode.cs @@ -507,6 +507,7 @@ namespace AmplifyShaderEditor break; default: case WirePortDataType.OBJECT: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: m_outputPorts[ 0 ].ChangeProperties( "Out" , m_shaderProperties[ m_currentPropertyIdx ].PropertyDataType , false ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyNode.cs.meta index bca6181f..e8a7fff7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateShaderPropertyNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateSubShader.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateSubShader.cs.meta index db6606b3..eaa8f06a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateSubShader.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateSubShader.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateSubShader.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateSubShader.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateTagsModule.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateTagsModule.cs index b46c3e8e..2f270105 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateTagsModule.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateTagsModule.cs @@ -438,6 +438,18 @@ namespace AmplifyShaderEditor public List AvailableTags { get { return m_availableTags; } } + public bool HasTag( string tagName, string tagValue = "" ) + { + foreach ( var tag in m_availableTags ) + { + if ( tag.TagName.Equals( tagName ) ) + { + return string.IsNullOrEmpty( tagValue ) ? true : tag.TagValue.Equals( tagValue ); + } + } + return false; + } + public bool HasRenderInfo( ref RenderType renderType, ref RenderQueue renderQueue ) { if( !m_validData ) diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateTagsModule.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateTagsModule.cs.meta index fcfffdf5..a22de9d8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateTagsModule.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateTagsModule.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateTagsModule.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateTagsModule.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateVertexData.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateVertexData.cs.meta index a106ca66..1a716212 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateVertexData.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateVertexData.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateVertexData.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateVertexData.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateVertexDataNode.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateVertexDataNode.cs.meta index d7a14f60..f1002de3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateVertexDataNode.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateVertexDataNode.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateVertexDataNode.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplateVertexDataNode.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesBlendModule.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesBlendModule.cs.meta index 7f4753a4..7e352095 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesBlendModule.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesBlendModule.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesBlendModule.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesBlendModule.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesManager.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesManager.cs index 462bc330..c34dabb3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesManager.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesManager.cs @@ -466,7 +466,7 @@ namespace AmplifyShaderEditor public class TemplatesManager : ScriptableObject { public static int MPShaderVersion = 14503; - + public static readonly string TemplateShaderNameBeginTag = "/*ase_name*/"; public static readonly string TemplateStencilTag = "/*ase_stencil*/\n"; public static readonly string TemplateRenderPlatformsTag = "/*ase_render_platforms*/"; @@ -563,17 +563,14 @@ namespace AmplifyShaderEditor { "5056123faa0c79b47ab6ad7e8bf059a4","UI/Default" }, - { "ed95fe726fd7b4644bb42f4d1ddd2bcd","Legacy/Lit"}, - { "0770190933193b94aaa3065e307002fa","Legacy/Unlit"}, - { "899e609c083c74c4ca567477c39edef0","Legacy/Unlit Lightmap" }, - { "e1de45c0d41f68c41b2cc20c8b9c05ef","Legacy/Multi Pass Unlit" }, - - { "32139be9c1eb75640a847f011acf3bcf","Legacy/Post-Processing Stack"}, - { "c71b220b631b6344493ea3cf87110c93","Legacy/Image Effect" }, - - { "0f8ba0101102bb14ebf021ddadce9b49","Legacy/Default Sprites" }, - { "0b6a9f8b4f707c74ca64c0be8e590de0","Legacy/Particles Alpha Blended" }, - + { "ed95fe726fd7b4644bb42f4d1ddd2bcd","Built-In/Lit"}, + { "0770190933193b94aaa3065e307002fa","Built-In/Unlit"}, + { "899e609c083c74c4ca567477c39edef0","Built-In/Unlit Lightmap" }, + { "e1de45c0d41f68c41b2cc20c8b9c05ef","Built-In/Multi Pass Unlit" }, + { "32139be9c1eb75640a847f011acf3bcf","Built-In/Post-Processing Stack"}, + { "c71b220b631b6344493ea3cf87110c93","Built-In/Image Effect" }, + { "0f8ba0101102bb14ebf021ddadce9b49","Built-In/Default Sprites" }, + { "0b6a9f8b4f707c74ca64c0be8e590de0","Built-In/Particles Alpha Blended" }, { URPLitGUID,"Universal/Lit"}, { URPUnlitGUID,"Universal/Unlit"}, @@ -634,15 +631,15 @@ namespace AmplifyShaderEditor bool refreshTemplateMenuItems = false; string[] allShaders = AssetDatabase.FindAssets( "t:shader" ); - var templates = new Dictionary(); - + var templates = new Dictionary(); + // Add official templates first foreach ( KeyValuePair kvp in OfficialTemplates ) { string guid = kvp.Key; string path = AssetDatabase.GUIDToAssetPath( guid ); if ( !string.IsNullOrEmpty( path ) && !templates.ContainsKey( guid ) ) - { + { var desc = new TemplateDescriptor(); desc.template = ScriptableObject.CreateInstance(); desc.name = kvp.Value; @@ -665,15 +662,15 @@ namespace AmplifyShaderEditor } } - Parallel.For( 0, candidates.Count, i => + Parallel.For( 0, candidates.Count, i => { string body = File.ReadAllText( candidates[ i ].Value ); ; if ( body.IndexOf( TemplatesManager.TemplateShaderNameBeginTag ) > -1 ) { candidateBag.Add( candidates[ i ].Key ); - } + } } ); - + foreach ( var guid in candidateBag ) { TemplateDataParent template = GetTemplate( guid ); @@ -685,26 +682,26 @@ namespace AmplifyShaderEditor desc.guid = guid; desc.path = AssetDatabase.GUIDToAssetPath( guid ); desc.isCommunity = true; - templates.Add( desc.guid, desc ); - } + templates.Add( desc.guid, desc ); + } } var templateList = templates.Values.ToArray(); - Parallel.For( 0, templateList.Length, i => + Parallel.For( 0, templateList.Length, i => { TemplateDescriptor desc = templateList[ i ]; desc.template.Init( desc.name, desc.guid, desc.path, desc.isCommunity ); } ); - + foreach ( var pair in templates ) { TemplateDescriptor desc = pair.Value; - + if ( desc.template.IsValid ) { AddTemplate( desc.template ); - } - + } + if ( !desc.isCommunity && !refreshTemplateMenuItems && templateMenuItems.IndexOf( name ) < 0 ) { refreshTemplateMenuItems = true; @@ -766,7 +763,7 @@ namespace AmplifyShaderEditor for ( int i = 0; i < m_sortedTemplates.Count; i++ ) { sorted.Add( m_sortedTemplates[ i ].Name, m_sortedTemplates[ i ].GUID ); - } + } System.Text.StringBuilder fileContents = new System.Text.StringBuilder(); fileContents.Append( "// Amplify Shader Editor - Visual Shader Editing Tool\n" ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesManager.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesManager.cs.meta index 4d8da191..4d17bf7b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesManager.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesManager.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesManager.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesManager.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesStencilBufferModule.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesStencilBufferModule.cs.meta index ec74fce6..da7286e4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesStencilBufferModule.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesStencilBufferModule.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesStencilBufferModule.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Templates/TemplatesStencilBufferModule.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPPSHelperTool.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPPSHelperTool.cs index 782980f4..fcb632b4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPPSHelperTool.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPPSHelperTool.cs @@ -94,23 +94,23 @@ namespace AmplifyShaderEditor { WirePortDataType.SAMPLER2DARRAY,"SetTexture"} }; - public static readonly Dictionary ShaderPropertyToPPSType = new Dictionary() + public static readonly Dictionary ShaderPropertyToPPSType = new Dictionary() { - { UnityEditor.ShaderUtil.ShaderPropertyType.Float,"FloatParameter"}, - { UnityEditor.ShaderUtil.ShaderPropertyType.Range,"FloatParameter"}, - { UnityEditor.ShaderUtil.ShaderPropertyType.Vector,"Vector4Parameter"}, - { UnityEditor.ShaderUtil.ShaderPropertyType.Color,"ColorParameter"}, - { UnityEditor.ShaderUtil.ShaderPropertyType.TexEnv,"TextureParameter"} + { UnityEngine.Rendering.ShaderPropertyType.Float,"FloatParameter"}, + { UnityEngine.Rendering.ShaderPropertyType.Range,"FloatParameter"}, + { UnityEngine.Rendering.ShaderPropertyType.Vector,"Vector4Parameter"}, + { UnityEngine.Rendering.ShaderPropertyType.Color,"ColorParameter"}, + { UnityEngine.Rendering.ShaderPropertyType.Texture,"TextureParameter"} }; - public static readonly Dictionary ShaderPropertyToPPSSet = new Dictionary() + public static readonly Dictionary ShaderPropertyToPPSSet = new Dictionary() { - { UnityEditor.ShaderUtil.ShaderPropertyType.Float,"SetFloat"}, - { UnityEditor.ShaderUtil.ShaderPropertyType.Range,"SetFloat"}, - { UnityEditor.ShaderUtil.ShaderPropertyType.Vector,"SetVector"}, - { UnityEditor.ShaderUtil.ShaderPropertyType.Color,"SetColor"}, - { UnityEditor.ShaderUtil.ShaderPropertyType.TexEnv,"SetTexture"} + { UnityEngine.Rendering.ShaderPropertyType.Float,"SetFloat"}, + { UnityEngine.Rendering.ShaderPropertyType.Range,"SetFloat"}, + { UnityEngine.Rendering.ShaderPropertyType.Vector,"SetVector"}, + { UnityEngine.Rendering.ShaderPropertyType.Color,"SetColor"}, + { UnityEngine.Rendering.ShaderPropertyType.Texture,"SetTexture"} }; private Dictionary m_excludedProperties = new Dictionary @@ -168,12 +168,12 @@ namespace AmplifyShaderEditor void FetchTooltips() { m_tooltips.Clear(); - int propertyCount = UnityEditor.ShaderUtil.GetPropertyCount( m_currentShader ); + int propertyCount = m_currentShader.GetPropertyCount(); for( int i = 0; i < propertyCount; i++ ) { - //UnityEditor.ShaderUtil.ShaderPropertyType type = UnityEditor.ShaderUtil.GetPropertyType( m_currentShader, i ); - string name = UnityEditor.ShaderUtil.GetPropertyName( m_currentShader, i ); - string description = UnityEditor.ShaderUtil.GetPropertyDescription( m_currentShader, i ); + //UnityEngine.Rendering.ShaderPropertyType type = m_currentShader.GetPropertyType( i ); + string name = m_currentShader.GetPropertyName( i ); + string description = m_currentShader.GetPropertyDescription( i ); if( m_excludedProperties.ContainsKey( name )) continue; @@ -313,14 +313,13 @@ namespace AmplifyShaderEditor m_dummyMaterial.shader = m_currentShader; } - int propertyCount = UnityEditor.ShaderUtil.GetPropertyCount( m_currentShader ); + int propertyCount = m_currentShader.GetPropertyCount(); //string allProperties = string.Empty; int validIds = 0; for( int i = 0; i < propertyCount; i++ ) { - UnityEditor.ShaderUtil.ShaderPropertyType type = UnityEditor.ShaderUtil.GetPropertyType( m_currentShader, i ); - string name = UnityEditor.ShaderUtil.GetPropertyName( m_currentShader, i ); - //string description = UnityEditor.ShaderUtil.GetPropertyDescription( m_currentShader, i ); + UnityEngine.Rendering.ShaderPropertyType type = m_currentShader.GetPropertyType( i ); + string name = m_currentShader.GetPropertyName( i ); if( m_excludedProperties.ContainsKey( name )) continue; @@ -328,31 +327,31 @@ namespace AmplifyShaderEditor bool nullPointerCheck = false; switch( type ) { - case UnityEditor.ShaderUtil.ShaderPropertyType.Color: + case UnityEngine.Rendering.ShaderPropertyType.Color: { Color value = m_dummyMaterial.GetColor( name ); defaultValue = string.Format( "value = new Color({0}f,{1}f,{2}f,{3}f)", value.r, value.g, value.b, value.a ); } break; - case UnityEditor.ShaderUtil.ShaderPropertyType.Vector: + case UnityEngine.Rendering.ShaderPropertyType.Vector: { Vector4 value = m_dummyMaterial.GetVector( name ); defaultValue = string.Format( "value = new Vector4({0}f,{1}f,{2}f,{3}f)", value.x, value.y, value.z, value.w ); } break; - case UnityEditor.ShaderUtil.ShaderPropertyType.Float: + case UnityEngine.Rendering.ShaderPropertyType.Float: { float value = m_dummyMaterial.GetFloat( name ); defaultValue = "value = " + value + "f"; } break; - case UnityEditor.ShaderUtil.ShaderPropertyType.Range: + case UnityEngine.Rendering.ShaderPropertyType.Range: { float value = m_dummyMaterial.GetFloat( name ); defaultValue = "value = " + value + "f"; } break; - case UnityEditor.ShaderUtil.ShaderPropertyType.TexEnv: + case UnityEngine.Rendering.ShaderPropertyType.Texture: { nullPointerCheck = true; } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPPSHelperTool.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPPSHelperTool.cs.meta index 162ab4e4..dc853fc4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPPSHelperTool.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPPSHelperTool.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPPSHelperTool.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPPSHelperTool.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPackageManagerHelper.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPackageManagerHelper.cs index 663ea053..c5e171b0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPackageManagerHelper.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPackageManagerHelper.cs @@ -35,15 +35,17 @@ namespace AmplifyShaderEditor public enum ASESRPBaseline { ASE_SRP_INVALID = 0, - ASE_SRP_10 = 100000, - ASE_SRP_11 = 110000, - ASE_SRP_12 = 120000, - ASE_SRP_13 = 130000, - ASE_SRP_14 = 140000, - ASE_SRP_15 = 150000, - ASE_SRP_16 = 160000, - ASE_SRP_17 = 170000 - } + ASE_SRP_10_X = 100000, + ASE_SRP_11_X = 110000, + ASE_SRP_12_X = 120000, + ASE_SRP_13_X = 130000, + ASE_SRP_14_X = 140000, + ASE_SRP_15_X = 150000, + ASE_SRP_16_X = 160000, + ASE_SRP_17_0 = 170000, + ASE_SRP_17_1 = 170100, + ASE_SRP_17_2 = 170200 + } public class ASESRPPackageDesc { @@ -63,27 +65,29 @@ namespace AmplifyShaderEditor [InitializeOnLoad] public static class ASEPackageManagerHelper { - private static string URPPackageId = "com.unity.render-pipelines.universal"; - private static string HDRPPackageId = "com.unity.render-pipelines.high-definition"; + public static readonly string URPPackageId = "com.unity.render-pipelines.universal"; + public static readonly string HDRPPackageId = "com.unity.render-pipelines.high-definition"; - private static string NewVersionDetectedFormat = "A new {0} version {1} was detected and new templates are being imported.\nPlease hit the Update button on your ASE canvas to recompile your shader under the newest version."; - private static string PackageBaseFormat = "ASE_PkgBase_{0}_{1}"; - private static string PackageCRCFormat = "ASE_PkgCRC_{0}_{1}"; + private static readonly string NewVersionDetectedFormat = "A new {0} version {1} was detected and new templates are being imported.\nPlease hit the Update button on your ASE canvas to recompile your shader under the newest version."; + private static readonly string PackageBaseFormat = "ASE_PkgBase_{0}_{1}"; + private static readonly string PackageCRCFormat = "ASE_PkgCRC_{0}_{1}"; - private static string SRPKeywordFormat = "ASE_SRP_VERSION {0}"; - private static string ASEVersionKeywordFormat = "ASE_VERSION {0}"; + private static readonly string SRPKeywordFormat = "ASE_SRP_VERSION {0}"; + private static readonly string ASEVersionKeywordFormat = "ASE_VERSION {0}"; - private static Dictionary m_srpPackageSupport = new Dictionary() + public static readonly Dictionary SRPPackageSupport = new Dictionary() { - { ( int )ASESRPBaseline.ASE_SRP_10, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_10, "b460b52e6c1feae45b70b7ddc2c45bd6", "2243c8b4e1ab6914995699133f67ab5a" ) }, - { ( int )ASESRPBaseline.ASE_SRP_11, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_11, "b460b52e6c1feae45b70b7ddc2c45bd6", "2243c8b4e1ab6914995699133f67ab5a" ) }, - { ( int )ASESRPBaseline.ASE_SRP_12, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_12, "57fcea0ed8b5eb347923c4c21fa31b57", "9a5e61a8b3421b944863d0946e32da0a" ) }, - { ( int )ASESRPBaseline.ASE_SRP_13, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_13, "57fcea0ed8b5eb347923c4c21fa31b57", "9a5e61a8b3421b944863d0946e32da0a" ) }, - { ( int )ASESRPBaseline.ASE_SRP_14, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_14, "2e9da72e7e3196146bf7d27450013734", "89f0b84148d149d4d96b838d7ef60e92" ) }, - { ( int )ASESRPBaseline.ASE_SRP_15, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_15, "0904cdf24ddcd5042b024326476220d5", "19939ee2cdb76e0489b1b8cd4bed7f3d" ) }, - { ( int )ASESRPBaseline.ASE_SRP_16, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_16, "929783250050f8a448821b6ca1f2c578", "70777e8ce9f3c8d4a8182ca2f965cdb2" ) }, - { ( int )ASESRPBaseline.ASE_SRP_17, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_17, "89da50d95d149b744bf10bd27babcf79", "daf511a6dae20e641a9d69d025f023e4" ) }, - }; + { ( int )ASESRPBaseline.ASE_SRP_10_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_10_X, "b460b52e6c1feae45b70b7ddc2c45bd6", "2243c8b4e1ab6914995699133f67ab5a" ) }, + { ( int )ASESRPBaseline.ASE_SRP_11_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_11_X, "b460b52e6c1feae45b70b7ddc2c45bd6", "2243c8b4e1ab6914995699133f67ab5a" ) }, + { ( int )ASESRPBaseline.ASE_SRP_12_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_12_X, "57fcea0ed8b5eb347923c4c21fa31b57", "9a5e61a8b3421b944863d0946e32da0a" ) }, + { ( int )ASESRPBaseline.ASE_SRP_13_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_13_X, "57fcea0ed8b5eb347923c4c21fa31b57", "9a5e61a8b3421b944863d0946e32da0a" ) }, + { ( int )ASESRPBaseline.ASE_SRP_14_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_14_X, "2e9da72e7e3196146bf7d27450013734", "89f0b84148d149d4d96b838d7ef60e92" ) }, + { ( int )ASESRPBaseline.ASE_SRP_15_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_15_X, "0904cdf24ddcd5042b024326476220d5", "19939ee2cdb76e0489b1b8cd4bed7f3d" ) }, + { ( int )ASESRPBaseline.ASE_SRP_16_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_16_X, "929783250050f8a448821b6ca1f2c578", "70777e8ce9f3c8d4a8182ca2f965cdb2" ) }, + { ( int )ASESRPBaseline.ASE_SRP_17_0, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_17_0, "fcc4d2eb0af82e546ae75506872cf092", "ba281a1a00c8ac54c914e0763299f637" ) }, + { ( int )ASESRPBaseline.ASE_SRP_17_1, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_17_1, "cd0a0171c5157b748afe763b89f71211", "e6fc8948257acee42b666d0bfe1d782c" ) }, + { ( int )ASESRPBaseline.ASE_SRP_17_2, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_17_2, "f4990f6ace6142c4bbbf41cdd80b0bd3", "4b5cb8698f2d9c14fadf8e2383441d37" ) }, + }; private static Shader m_lateShader; private static Material m_lateMaterial; @@ -182,12 +186,12 @@ namespace AmplifyShaderEditor } } - public static void StartImporting( string packagePath ) + public static bool StartImporting( string packagePath ) { if ( !Preferences.Project.AutoSRP ) { m_importingPackage = ASEImportFlags.None; - return; + return false; } if ( Application.isPlaying ) @@ -198,14 +202,14 @@ namespace AmplifyShaderEditor m_latePackageToImport = packagePath; Debug.LogWarning( "Amplify Shader Editor requires the \"" + packagePath + "\" package to be installed in order to continue. Please exit Play mode to proceed." ); } - return; + return false; } AssetDatabase.importPackageCancelled += CancelledPackageImport; AssetDatabase.importPackageCompleted += CompletedPackageImport; AssetDatabase.importPackageFailed += FailedPackageImport; AssetDatabase.ImportPackage( packagePath, false ); - //AssetDatabaseEX.ImportPackageImmediately( packagePath ); + return true; } public static void FinishImporter() @@ -314,7 +318,7 @@ namespace AmplifyShaderEditor private static readonly string SemVerPattern = @"^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$"; - private static int PackageVersionStringToCode( string version, out int major, out int minor, out int patch ) + public static int PackageVersionStringToCode( string version, out int major, out int minor, out int patch ) { MatchCollection matches = Regex.Matches( version, SemVerPattern, RegexOptions.Multiline ); @@ -330,14 +334,14 @@ namespace AmplifyShaderEditor return versionCode; } - private static void CodeToPackageVersionElements( int versionCode, out int major, out int minor, out int patch ) + public static void CodeToPackageVersionElements( int versionCode, out int major, out int minor, out int patch ) { major = versionCode / 10000; minor = versionCode / 100 - major * 100; patch = versionCode - ( versionCode / 100 ) * 100; } - private static int PackageVersionElementsToCode( int major, int minor, int patch ) + public static int PackageVersionElementsToCode( int major, int minor, int patch ) { return major * 10000 + minor * 100 + patch; } @@ -385,12 +389,11 @@ namespace AmplifyShaderEditor if ( !File.Exists( testPath0 ) || !File.Exists( testPath1 ) || foundNewVersion ) { - if ( foundNewVersion ) - { - Debug.Log( string.Format( NewVersionDetectedFormat, srpName, version ) ); - } m_importingPackage |= flag; - StartImporting( path ); + if ( StartImporting( path ) && foundNewVersion ) + { + Debug.Log( "[AmplifyShaderEditor] " + string.Format( NewVersionDetectedFormat, srpName, version ) ); + } } } } @@ -407,10 +410,14 @@ namespace AmplifyShaderEditor foreach ( UnityEditor.PackageManager.PackageInfo pi in m_packageListRequest.Result ) { int version = PackageVersionStringToCode( pi.version, out int major, out int minor, out int patch ); - int baseline = PackageVersionElementsToCode( major, 0, 0 ); + + int baselineMajor = major; + int baselineMinor = ( major >= 17 ) ? minor: 0; // from 17+ baseline includes minor version + int baseline = PackageVersionElementsToCode( baselineMajor, baselineMinor, 0 ); + ASESRPPackageDesc match; - if ( pi.name.Equals( URPPackageId ) && m_srpPackageSupport.TryGetValue( baseline, out match ) ) + if ( pi.name.Equals( URPPackageId ) && SRPPackageSupport.TryGetValue( baseline, out match ) ) { // Universal Rendering Pipeline m_currentURPBaseline = match.baseline; @@ -419,7 +426,7 @@ namespace AmplifyShaderEditor CheckPackageImport( ASEImportFlags.URP, match.baseline, match.guidURP, pi.version ); } - else if ( pi.name.Equals( HDRPPackageId ) && m_srpPackageSupport.TryGetValue( baseline, out match ) ) + else if ( pi.name.Equals( HDRPPackageId ) && SRPPackageSupport.TryGetValue( baseline, out match ) ) { // High-Definition Rendering Pipeline m_currentHDRPBaseline = match.baseline; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPackageManagerHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPackageManagerHelper.cs.meta index ad7bbe2a..2dd8c8b6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPackageManagerHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPackageManagerHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPackageManagerHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEPackageManagerHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleAsset.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleAsset.cs.meta index 3a93f53d..9f435727 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleAsset.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleAsset.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleAsset.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleAsset.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleTool.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleTool.cs index c81408a5..2c3e7979 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleTool.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleTool.cs @@ -24,15 +24,15 @@ namespace AmplifyShaderEditor private SerializedObject m_so; private SerializedProperty m_packageContentsOrigin; - private GUIContent m_packageContentsOriginLabel = new GUIContent("Main Content"); + private GUIContent m_packageContentsOriginLabel = new GUIContent("Search Path"); private SerializedProperty m_allExtras; private SerializedProperty m_packageTargetPath; - private GUIContent m_packageTargetPathLabel = new GUIContent( "Target Path" ); + private GUIContent m_packageTargetPathLabel = new GUIContent( "Package Path" ); private SerializedProperty m_packageTargetName; - private GUIContent m_packageTargetNameLabel = new GUIContent( "Target Name" ); + private GUIContent m_packageTargetNameLabel = new GUIContent( "Package Name" ); private SerializedProperty m_allShaders; @@ -135,6 +135,8 @@ namespace AmplifyShaderEditor if( updateProperty ) m_packageContentsOrigin.stringValue = path; + m_allShaders.ClearArray(); + string[] pathArr = { path }; string[] shaderInDir = AssetDatabase.FindAssets( "t:Shader" , pathArr ); for( int shaderIdx = 0 ; shaderIdx < shaderInDir.Length ; shaderIdx++ ) @@ -234,6 +236,48 @@ namespace AmplifyShaderEditor m_so.ApplyModifiedProperties(); } + + public void PackageFreeGUI() + { + m_so.Update(); + EditorGUILayout.Separator(); + + EditorGUILayout.BeginHorizontal(); + { + if ( string.IsNullOrEmpty( m_packageContentsOrigin.stringValue ) ) + { + m_packageContentsOrigin.stringValue = "Assets"; + } + EditorGUILayout.PropertyField( m_packageContentsOrigin, m_packageContentsOriginLabel ); + if ( GUILayout.Button( "Browse", GUILayout.MaxWidth( 55 ) ) ) + { + m_packageContentsOrigin.stringValue = ASESaveBundleTool.FetchPath( "Folder Path", m_packageContentsOrigin.stringValue ); + } + if ( GUILayout.Button( "Fetch", GUILayout.MaxWidth( 45 ) ) ) + { + FetchValidShadersFromPath( m_packageContentsOrigin.stringValue, false ); + } + } + EditorGUILayout.EndHorizontal(); + + if ( m_listExtras != null ) + m_listExtras.DoLayoutList(); + + EditorGUILayout.Separator(); + if ( GUILayout.Button( "Clear" ) ) + { + m_allShaders.ClearArray(); + } + + if ( m_listShaders != null ) + m_listShaders.DoLayoutList(); + + EditorGUILayout.Separator(); + + m_dragAndDropTool.TestDragAndDrop( new Rect( 0, 0, Screen.width, Screen.height ) ); + + m_so.ApplyModifiedProperties(); + } } public class ASESaveBundleTool : EditorWindow @@ -260,7 +304,7 @@ namespace AmplifyShaderEditor [NonSerialized] private GUIStyle m_titleStyle; - [MenuItem( "Window/Amplify Shader Editor/"+ Title , false , 1001 )] + [MenuItem( "Window/Amplify Shader Editor/" + Title, false, priority: 1100 )] static void ShowWindow() { ASESaveBundleTool window = EditorWindow.GetWindow(); @@ -291,7 +335,7 @@ namespace AmplifyShaderEditor DestroyImmediate( m_dummyAsset ); } - + public static string FetchPath( string title, string folderpath ) { folderpath = EditorUtility.OpenFolderPanel( title , folderpath , "" ); @@ -322,7 +366,7 @@ namespace AmplifyShaderEditor pathsList.Add( currentAsset.AllExtras[ i ].Substring( idx ) ); } } - + } AssetDatabase.ExportPackage( pathsList.ToArray() , currentAsset.PackageTargetPath + "/" + currentAsset.PackageTargetName + ".unitypackage" , ExportPackageOptions.Recurse | ExportPackageOptions.Interactive ); } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleTool.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleTool.cs.meta index 744a9d34..63e7b2f5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleTool.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleTool.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleTool.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASESaveBundleTool.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEStartScreen.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEStartScreen.cs index 0d710572..4aaf5b90 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEStartScreen.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEStartScreen.cs @@ -39,7 +39,7 @@ namespace AmplifyShaderEditor private static readonly string FunctionsURL = "https://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/Manual#Shader_Functions"; private static readonly string TemplatesURL = "https://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/Templates"; private static readonly string APIURL = "https://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/API"; - private static readonly string SGtoASEURL = "https://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/Shader_Graph_to_ASE"; + private static readonly string SGtoASEURL = "https://wiki.amplify.pt/index.php?title=Unity_Products:Amplify_Shader_Editor/Shader_Graph_to_ASE"; private static readonly string DiscordURL = "https://discordapp.com/invite/EdrVAP5"; private static readonly string ForumURL = "https://forum.unity.com/threads/best-tool-asset-store-award-amplify-shader-editor-node-based-shader-creation-tool.430959/"; @@ -104,14 +104,16 @@ namespace AmplifyShaderEditor private static Dictionary m_srpSamplePackages = new Dictionary() { - { ( int )ASESRPBaseline.ASE_SRP_10, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_10, "2edbf4a9b9544774bbef617e92429664", "9da5530d5ebfab24c8ecad68795e720f" ) }, - { ( int )ASESRPBaseline.ASE_SRP_11, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_11, "2edbf4a9b9544774bbef617e92429664", "9da5530d5ebfab24c8ecad68795e720f" ) }, - { ( int )ASESRPBaseline.ASE_SRP_12, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_12, "13ab599a7bda4e54fba3e92a13c9580a", "aa102d640b98b5d4781710a3a3dd6983" ) }, - { ( int )ASESRPBaseline.ASE_SRP_13, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_13, "13ab599a7bda4e54fba3e92a13c9580a", "aa102d640b98b5d4781710a3a3dd6983" ) }, - { ( int )ASESRPBaseline.ASE_SRP_14, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_14, "f6f268949ccf3f34fa4d18e92501ed82", "7a0bb33169d95ec499136d59cb25918b" ) }, - { ( int )ASESRPBaseline.ASE_SRP_15, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_15, "69bc3229216b1504ea3e28b5820bbb0d", "641c955d37d2fac4f87e00ac5c9d9bd8" ) }, - { ( int )ASESRPBaseline.ASE_SRP_16, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_16, "4f665a06c5a2aa5499fa1c79ac058999", "2690f45490c175045bbdc63395bf6278" ) }, - { ( int )ASESRPBaseline.ASE_SRP_17, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_17, "47fc5ccecd261894994c1e9e827cf553", "f42c2bc4dab4723429b0d30b635c3035" ) }, + { ( int )ASESRPBaseline.ASE_SRP_10_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_10_X, "2edbf4a9b9544774bbef617e92429664", "9da5530d5ebfab24c8ecad68795e720f" ) }, + { ( int )ASESRPBaseline.ASE_SRP_11_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_11_X, "2edbf4a9b9544774bbef617e92429664", "9da5530d5ebfab24c8ecad68795e720f" ) }, + { ( int )ASESRPBaseline.ASE_SRP_12_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_12_X, "13ab599a7bda4e54fba3e92a13c9580a", "aa102d640b98b5d4781710a3a3dd6983" ) }, + { ( int )ASESRPBaseline.ASE_SRP_13_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_13_X, "13ab599a7bda4e54fba3e92a13c9580a", "aa102d640b98b5d4781710a3a3dd6983" ) }, + { ( int )ASESRPBaseline.ASE_SRP_14_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_14_X, "f6f268949ccf3f34fa4d18e92501ed82", "7a0bb33169d95ec499136d59cb25918b" ) }, + { ( int )ASESRPBaseline.ASE_SRP_15_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_15_X, "69bc3229216b1504ea3e28b5820bbb0d", "641c955d37d2fac4f87e00ac5c9d9bd8" ) }, + { ( int )ASESRPBaseline.ASE_SRP_16_X, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_16_X, "4f665a06c5a2aa5499fa1c79ac058999", "2690f45490c175045bbdc63395bf6278" ) }, + { ( int )ASESRPBaseline.ASE_SRP_17_0, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_17_0, "8a87ed432fe2d97498c0de5fae312e35", "fbd1fd9b3a70fad429d1eaaa5799c2a5" ) }, + { ( int )ASESRPBaseline.ASE_SRP_17_1, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_17_1, "7c3bfbbeb9427b94099254e2e2768ad4", "3579d9cf4b75c564faa8fffc58a9f3f6" ) }, + { ( int )ASESRPBaseline.ASE_SRP_17_2, new ASESRPPackageDesc( ASESRPBaseline.ASE_SRP_17_2, "c5303861611f41c438a30be552da5de4", "0023a0858ba124646a55dfcb7231ed46" ) }, }; private void OnEnable() @@ -119,9 +121,9 @@ namespace AmplifyShaderEditor rt = new RenderTexture( 16, 16, 0 ); rt.Create(); - m_startup = (Preferences.ShowOption)EditorPrefs.GetInt( Preferences.User.Keys.StartUp, 0 ); + m_startup = ( Preferences.ShowOption )EditorPrefs.GetInt( Preferences.User.Keys.StartUp, 0 ); - if( textIcon == null ) + if ( textIcon == null ) { Texture icon = EditorGUIUtility.IconContent( "TextAsset Icon" ).image; var cache = RenderTexture.active; @@ -141,7 +143,7 @@ namespace AmplifyShaderEditor SGtoASEbutton = new GUIContent( " Shader Graph to ASE", textIcon ); } - if( packageIcon == null ) + if ( packageIcon == null ) { packageIcon = EditorGUIUtility.IconContent( "BuildSettings.Editor.Small" ).image; HDRPbutton = new GUIContent( " HDRP Samples", packageIcon ); @@ -149,18 +151,18 @@ namespace AmplifyShaderEditor BuiltInbutton = new GUIContent( " Built-In Samples", packageIcon ); } - if( webIcon == null ) + if ( webIcon == null ) { webIcon = EditorGUIUtility.IconContent( "BuildSettings.Web.Small" ).image; DiscordButton = new GUIContent( " Discord", webIcon ); ForumButton = new GUIContent( " Unity Forum", webIcon ); } - if( m_changeLog == null ) + if ( m_changeLog == null ) { var changelog = AssetDatabase.LoadAssetAtPath( AssetDatabase.GUIDToAssetPath( ChangeLogGUID ) ); string lastUpdate = string.Empty; - if(changelog != null ) + if ( changelog != null ) { int oldestReleaseIndex = changelog.text.LastIndexOf( string.Format( "v{0}.{1}.{2}", VersionInfo.Major, VersionInfo.Minor, VersionInfo.Release ) ); @@ -178,7 +180,7 @@ namespace AmplifyShaderEditor private void OnDisable() { - if( rt != null ) + if ( rt != null ) { rt.Release(); DestroyImmediate( rt ); @@ -187,37 +189,48 @@ namespace AmplifyShaderEditor public void OnGUI() { - if( !m_infoDownloaded ) + if ( !m_infoDownloaded ) { m_infoDownloaded = true; StartBackgroundTask( StartRequest( ChangelogURL, () => { - var temp = ChangeLogInfo.CreateFromJSON( www.downloadHandler.text ); - if( temp != null && temp.Version >= m_changeLog.Version ) + if ( string.IsNullOrEmpty( www.error ) ) { - m_changeLog = temp; + ChangeLogInfo temp; + try + { + temp = ChangeLogInfo.CreateFromJSON( www.downloadHandler.text ); + } + catch ( Exception ) + { + temp = null; + } + if ( temp != null && temp.Version >= m_changeLog.Version ) + { + m_changeLog = temp; + } + + int version = m_changeLog.Version; + int major = version / 10000; + int minor = version / 1000 - major * 10; + int release = version / 100 - ( version / 1000 ) * 10; + int revision = version - ( version / 100 ) * 100; + + m_newVersion = major + "." + minor + "." + release + ( revision > 0 ? "." + revision : "" ); + + Repaint(); } - - int version = m_changeLog.Version; - int major = version / 10000; - int minor = version / 1000 - major * 10; - int release = version / 100 - ( version / 1000 ) * 10; - int revision = version - ( version / 100 ) * 100; - - m_newVersion = major + "." + minor + "." + release + ( revision > 0 ? "." + revision : "" ); - - Repaint(); } ) ); } - if( m_buttonStyle == null ) + if ( m_buttonStyle == null ) { m_buttonStyle = new GUIStyle( GUI.skin.button ); m_buttonStyle.alignment = TextAnchor.MiddleLeft; } - if( m_buttonLeftStyle == null ) + if ( m_buttonLeftStyle == null ) { m_buttonLeftStyle = new GUIStyle( "ButtonLeft" ); m_buttonLeftStyle.alignment = TextAnchor.MiddleLeft; @@ -225,7 +238,7 @@ namespace AmplifyShaderEditor m_buttonLeftStyle.margin.right = 0; } - if( m_buttonRightStyle == null ) + if ( m_buttonRightStyle == null ) { m_buttonRightStyle = new GUIStyle( "ButtonRight" ); m_buttonRightStyle.alignment = TextAnchor.MiddleLeft; @@ -233,7 +246,7 @@ namespace AmplifyShaderEditor m_buttonRightStyle.margin.left = 0; } - if( m_minibuttonStyle == null ) + if ( m_minibuttonStyle == null ) { m_minibuttonStyle = new GUIStyle( "MiniButton" ); m_minibuttonStyle.alignment = TextAnchor.MiddleLeft; @@ -243,7 +256,7 @@ namespace AmplifyShaderEditor m_minibuttonStyle.hover.textColor = m_buttonStyle.hover.textColor; } - if( m_labelStyle == null ) + if ( m_labelStyle == null ) { m_labelStyle = new GUIStyle( "BoldLabel" ); m_labelStyle.margin = new RectOffset( 4, 4, 4, 4 ); @@ -251,7 +264,7 @@ namespace AmplifyShaderEditor m_labelStyle.fontSize = 13; } - if( m_linkStyle == null ) + if ( m_linkStyle == null ) { var inv = AssetDatabase.LoadAssetAtPath( AssetDatabase.GUIDToAssetPath( "1004d06b4b28f5943abdf2313a22790a" ) ); // find a better solution for transparent buttons m_linkStyle = new GUIStyle(); @@ -271,44 +284,63 @@ namespace AmplifyShaderEditor { GUILayout.Label( SamplesTitle, m_labelStyle ); EditorGUILayout.BeginHorizontal(); - if( GUILayout.Button( HDRPbutton, m_buttonLeftStyle ) ) - ImportSample( HDRPbutton.text, TemplateSRPType.HDRP ); + + if ( GUILayout.Button( HDRPbutton, m_buttonLeftStyle ) ) + { + if ( ASEPackageManagerHelper.CurrentHDRPBaseline != ASESRPBaseline.ASE_SRP_INVALID ) + { + ImportSample( HDRPbutton.text, TemplateSRPType.HDRP ); + } + else + { + EditorUtility.DisplayDialog( "Import Sample", "Import failed because a valid HDRP package could not be found on this project.\n\nPlease install the \"High Definition RP\" package via \"Window/Package Manager\" before attempting to import HDRP samples again.", "OK" ); + } + } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); - if( GUILayout.Button( URPbutton, m_buttonLeftStyle ) ) - ImportSample( URPbutton.text, TemplateSRPType.URP ); + if ( GUILayout.Button( URPbutton, m_buttonLeftStyle ) ) + { + if ( ASEPackageManagerHelper.CurrentURPBaseline != ASESRPBaseline.ASE_SRP_INVALID ) + { + ImportSample( URPbutton.text, TemplateSRPType.URP ); + } + else + { + EditorUtility.DisplayDialog( "Import Sample", "Import failed because valid URP package could not be found on this project.\n\nPlease install the \"Universal RP\" package via \"Window/Package Manager\" before attempting to import URP samples again.", "OK" ); + } + } EditorGUILayout.EndHorizontal(); - if( GUILayout.Button( BuiltInbutton, m_buttonStyle ) ) + if ( GUILayout.Button( BuiltInbutton, m_buttonStyle ) ) ImportSample( BuiltInbutton.text, TemplateSRPType.BiRP ); GUILayout.Space( 10 ); GUILayout.Label( ResourcesTitle, m_labelStyle ); - if( GUILayout.Button( Manualbutton, m_buttonStyle ) ) + if ( GUILayout.Button( Manualbutton, m_buttonStyle ) ) Application.OpenURL( ManualURL ); - if( GUILayout.Button( Basicbutton, m_buttonStyle ) ) + if ( GUILayout.Button( Basicbutton, m_buttonStyle ) ) Application.OpenURL( BasicURL ); - if( GUILayout.Button( Beginnerbutton, m_buttonStyle ) ) + if ( GUILayout.Button( Beginnerbutton, m_buttonStyle ) ) Application.OpenURL( BeginnerURL ); - if( GUILayout.Button( Nodesbutton, m_buttonStyle ) ) + if ( GUILayout.Button( Nodesbutton, m_buttonStyle ) ) Application.OpenURL( NodesURL ); - if( GUILayout.Button( SRPusebutton, m_buttonStyle ) ) + if ( GUILayout.Button( SRPusebutton, m_buttonStyle ) ) Application.OpenURL( SRPURL ); - if( GUILayout.Button( Functionsbutton, m_buttonStyle ) ) + if ( GUILayout.Button( Functionsbutton, m_buttonStyle ) ) Application.OpenURL( FunctionsURL ); - if( GUILayout.Button( Templatesbutton, m_buttonStyle ) ) + if ( GUILayout.Button( Templatesbutton, m_buttonStyle ) ) Application.OpenURL( TemplatesURL ); - if( GUILayout.Button( APIbutton, m_buttonStyle ) ) + if ( GUILayout.Button( APIbutton, m_buttonStyle ) ) Application.OpenURL( APIURL ); if ( GUILayout.Button( SGtoASEbutton, m_buttonStyle ) ) @@ -322,11 +354,11 @@ namespace AmplifyShaderEditor GUILayout.Label( CommunityTitle, m_labelStyle ); EditorGUILayout.BeginHorizontal( GUILayout.ExpandWidth( true ) ); { - if( GUILayout.Button( DiscordButton, GUILayout.ExpandWidth( true ) ) ) + if ( GUILayout.Button( DiscordButton, GUILayout.ExpandWidth( true ) ) ) { Application.OpenURL( DiscordURL ); } - if( GUILayout.Button( ForumButton, GUILayout.ExpandWidth( true ) ) ) + if ( GUILayout.Button( ForumButton, GUILayout.ExpandWidth( true ) ) ) { Application.OpenURL( ForumURL ); } @@ -344,7 +376,7 @@ namespace AmplifyShaderEditor GUILayout.Label( "Installed Version: " + VersionInfo.StaticToString() ); - if( m_changeLog.Version > VersionInfo.FullNumber ) + if ( m_changeLog.Version > VersionInfo.FullNumber ) { var cache = GUI.color; GUI.color = Color.red; @@ -361,10 +393,10 @@ namespace AmplifyShaderEditor EditorGUILayout.BeginHorizontal(); GUILayout.Label( "Download links:" ); - if( GUILayout.Button( "Amplify", m_linkStyle ) ) + if ( GUILayout.Button( "Amplify", m_linkStyle ) ) Application.OpenURL( SiteURL ); GUILayout.Label( "-" ); - if( GUILayout.Button( "Asset Store", m_linkStyle ) ) + if ( GUILayout.Button( "Asset Store", m_linkStyle ) ) Application.OpenURL( StoreURL ); EditorGUILayout.EndHorizontal(); GUILayout.Space( 7 ); @@ -383,17 +415,17 @@ namespace AmplifyShaderEditor EditorGUILayout.EndHorizontal(); - EditorGUILayout.BeginHorizontal( "ProjectBrowserBottomBarBg", GUILayout.ExpandWidth( true ), GUILayout.Height(22) ); + EditorGUILayout.BeginHorizontal( "ProjectBrowserBottomBarBg", GUILayout.ExpandWidth( true ), GUILayout.Height( 22 ) ); { GUILayout.FlexibleSpace(); EditorGUI.BeginChangeCheck(); var cache = EditorGUIUtility.labelWidth; EditorGUIUtility.labelWidth = 100; - m_startup = (Preferences.ShowOption)EditorGUILayout.EnumPopup( "Show At Startup", m_startup, GUILayout.Width( 220 ) ); + m_startup = ( Preferences.ShowOption )EditorGUILayout.EnumPopup( "Show At Startup", m_startup, GUILayout.Width( 220 ) ); EditorGUIUtility.labelWidth = cache; - if( EditorGUI.EndChangeCheck() ) + if ( EditorGUI.EndChangeCheck() ) { - EditorPrefs.SetInt( Preferences.User.Keys.StartUp, (int)m_startup ); + EditorPrefs.SetInt( Preferences.User.Keys.StartUp, ( int )m_startup ); } } EditorGUILayout.EndHorizontal(); @@ -401,7 +433,7 @@ namespace AmplifyShaderEditor void ImportSample( string pipeline, TemplateSRPType srpType ) { - if( EditorUtility.DisplayDialog( "Import Sample", "This will import the samples for" + pipeline.Replace( " Samples", "" ) + ", please make sure the pipeline is properly installed and/or selected before importing the samples.\n\nContinue?", "Yes", "No" ) ) + if ( EditorUtility.DisplayDialog( "Import Sample", "This will import the samples for" + pipeline.Replace( " Samples", "" ) + ", please make sure the pipeline is properly installed and/or selected before importing the samples.\n\nContinue?", "Yes", "No" ) ) { AssetDatabase.ImportPackage( AssetDatabase.GUIDToAssetPath( ResourcesGUID ), false ); @@ -452,14 +484,14 @@ namespace AmplifyShaderEditor IEnumerator StartRequest( string url, Action success = null ) { - using( www = UnityWebRequest.Get( url ) ) + using ( www = UnityWebRequest.Get( url ) ) { yield return www.SendWebRequest(); - while( www.isDone == false ) + while ( www.isDone == false ) yield return null; - if( success != null ) + if ( success != null ) success(); } } @@ -472,16 +504,16 @@ namespace AmplifyShaderEditor { try { - if( update.MoveNext() == false ) + if ( update.MoveNext() == false ) { - if( end != null ) + if ( end != null ) end(); EditorApplication.update -= closureCallback; } } - catch( Exception ex ) + catch ( Exception ex ) { - if( end != null ) + if ( end != null ) end(); Debug.LogException( ex ); EditorApplication.update -= closureCallback; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEStartScreen.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEStartScreen.cs.meta index 5364bbc8..08066335 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEStartScreen.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEStartScreen.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/ASEStartScreen.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASEStartScreen.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASETextureArrayCreator.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASETextureArrayCreator.cs.meta index f632381e..29985402 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASETextureArrayCreator.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASETextureArrayCreator.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/ASETextureArrayCreator.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ASETextureArrayCreator.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/BatchUpdateShaders.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/BatchUpdateShaders.cs new file mode 100644 index 00000000..02602b6e --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/BatchUpdateShaders.cs @@ -0,0 +1,155 @@ +using UnityEngine; +using UnityEditor; +using UnityEditorInternal; +using System; +using System.Collections.Generic; +using System.Text.RegularExpressions; + +namespace AmplifyShaderEditor +{ + public class BatchUpdateShaders : EditorWindow + { + private const string UpdateAllStr = "Update All"; + private const string UpdateAllStyle = "prebutton"; + + + [SerializeField] + private ASESaveBundleAsset m_asset; + + [SerializeField] + private ASESaveBundleAsset m_dummyAsset; + + private GUIStyle m_contentStyle = null; + + private Vector2 m_scrollPos; + private GUIContent m_ViewToolIcon; + + ASESaveBundleAssetEditor m_editor; + + private const string Title = "Batch Update Shaders"; + + [NonSerialized] + private GUIStyle m_titleStyle; + + [MenuItem( "Window/Amplify Shader Editor/" + Title, false, priority: 1100 )] + static void ShowWindow() + { + var window = EditorWindow.GetWindow(); + window.titleContent.text = "Batch Update..."; + window.titleContent.tooltip = Title; + window.minSize = new Vector2( 302 , 350 ); + window.Show(); + } + + private void OnEnable() + { + if( m_contentStyle == null ) + { + m_contentStyle = new GUIStyle( GUIStyle.none ); + m_contentStyle.margin = new RectOffset( 6 , 4 , 5 , 5 ); + } + + if( m_ViewToolIcon == null ) + { + m_ViewToolIcon = EditorGUIUtility.IconContent( "icons/d_ViewToolZoom.png" ); + } + } + + private void OnDestroy() + { + DestroyImmediate( m_editor ); + if( m_dummyAsset != null && m_dummyAsset != m_asset ) + DestroyImmediate( m_dummyAsset ); + } + + + public static string FetchPath( string title, string folderpath ) + { + folderpath = EditorUtility.OpenFolderPanel( title , folderpath , "" ); + folderpath = FileUtil.GetProjectRelativePath( folderpath ); + if( string.IsNullOrEmpty( folderpath ) ) + folderpath = "Assets"; + + return folderpath; + } + + private bool m_updatingShaders = false; + + private void OnGUI() + { + if( m_updatingShaders ) + { + m_updatingShaders = EditorPrefs.HasKey( AmplifyShaderEditorWindow.ASEFileList ); + } + + + if( m_titleStyle == null ) + { + m_titleStyle = new GUIStyle( "BoldLabel" ); + m_titleStyle.fontSize = 13; + m_titleStyle.alignment = TextAnchor.MiddleCenter; + } + + + EditorGUILayout.LabelField( Title , m_titleStyle ); + EditorGUI.BeginDisabledGroup( m_updatingShaders ); + { + ASESaveBundleAsset currentAsset = null; + if( m_dummyAsset == null ) + { + m_dummyAsset = ScriptableObject.CreateInstance(); + m_dummyAsset.name = "Dummy"; + } + currentAsset = m_dummyAsset; + + m_scrollPos = EditorGUILayout.BeginScrollView( m_scrollPos , GUILayout.Height( position.height ) ); + { + float cachedWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = 100; + EditorGUILayout.BeginVertical( m_contentStyle ); + { + EditorGUI.BeginDisabledGroup( currentAsset.AllShaders.Count <= 0 ); + { + // Update all shaders + if( GUILayout.Button( UpdateAllStr ) ) + { + m_updatingShaders = true; + string[] assetPaths = new string[ currentAsset.AllShaders.Count ]; + for( int i = 0 ; i < assetPaths.Length ; i++ ) + { + assetPaths[ i ] = AssetDatabase.GetAssetPath( currentAsset.AllShaders[ i ] ); + } + AmplifyShaderEditorWindow.LoadAndSaveList( assetPaths ); + } + } + EditorGUI.EndDisabledGroup(); + + EditorGUILayout.Separator(); + + if( Event.current.type == EventType.Layout ) + { + if( m_editor == null ) + { + m_editor = Editor.CreateEditor( currentAsset , typeof( ASESaveBundleAssetEditor ) ) as ASESaveBundleAssetEditor; + } + else + { + if( m_editor.Instance != currentAsset ) + { + DestroyImmediate( m_editor ); + m_editor = Editor.CreateEditor( currentAsset , typeof( ASESaveBundleAssetEditor ) ) as ASESaveBundleAssetEditor; + } + } + } + if( m_editor != null ) + m_editor.PackageFreeGUI(); + + } + EditorGUILayout.EndVertical(); + } + EditorGUILayout.EndScrollView(); + } + EditorGUI.EndDisabledGroup(); + } + } +} diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/BatchUpdateShaders.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/BatchUpdateShaders.cs.meta new file mode 100644 index 00000000..381ebefb --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/BatchUpdateShaders.cs.meta @@ -0,0 +1,19 @@ +fileFormatVersion: 2 +guid: 6ee118a25f852d340ae5078747d62094 +timeCreated: 1634216888 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/BatchUpdateShaders.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomMaterialInspector.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomMaterialInspector.cs index bb752722..c2b09dc4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomMaterialInspector.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomMaterialInspector.cs @@ -138,16 +138,16 @@ namespace AmplifyShaderEditor System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; Shader shader = mat.shader; - int propertyCount = UnityEditor.ShaderUtil.GetPropertyCount( shader ); + int propertyCount = shader.GetPropertyCount(); string allProperties = string.Empty; for( int i = 0; i < propertyCount; i++ ) { - UnityEditor.ShaderUtil.ShaderPropertyType type = UnityEditor.ShaderUtil.GetPropertyType( shader, i ); - string name = UnityEditor.ShaderUtil.GetPropertyName( shader, i ); + UnityEngine.Rendering.ShaderPropertyType type = shader.GetPropertyType( i ); + string name = shader.GetPropertyName( i ); string valueStr = string.Empty; switch( type ) { - case UnityEditor.ShaderUtil.ShaderPropertyType.Color: + case UnityEngine.Rendering.ShaderPropertyType.Color: { Color value = mat.GetColor( name ); valueStr = value.r.ToString() + IOUtils.VECTOR_SEPARATOR + @@ -156,7 +156,7 @@ namespace AmplifyShaderEditor value.a.ToString(); } break; - case UnityEditor.ShaderUtil.ShaderPropertyType.Vector: + case UnityEngine.Rendering.ShaderPropertyType.Vector: { Vector4 value = mat.GetVector( name ); valueStr = value.x.ToString() + IOUtils.VECTOR_SEPARATOR + @@ -165,19 +165,19 @@ namespace AmplifyShaderEditor value.w.ToString(); } break; - case UnityEditor.ShaderUtil.ShaderPropertyType.Float: + case UnityEngine.Rendering.ShaderPropertyType.Float: { float value = mat.GetFloat( name ); valueStr = value.ToString(); } break; - case UnityEditor.ShaderUtil.ShaderPropertyType.Range: + case UnityEngine.Rendering.ShaderPropertyType.Range: { float value = mat.GetFloat( name ); valueStr = value.ToString(); } break; - case UnityEditor.ShaderUtil.ShaderPropertyType.TexEnv: + case UnityEngine.Rendering.ShaderPropertyType.Texture: { Texture value = mat.GetTexture( name ); valueStr = AssetDatabase.GetAssetPath( value ); @@ -223,10 +223,10 @@ namespace AmplifyShaderEditor } else if( mat.HasProperty( valuesArr[ 0 ] ) ) { - UnityEditor.ShaderUtil.ShaderPropertyType type = (UnityEditor.ShaderUtil.ShaderPropertyType)Enum.Parse( typeof( UnityEditor.ShaderUtil.ShaderPropertyType ), valuesArr[ 1 ] ); + UnityEngine.Rendering.ShaderPropertyType type = (UnityEngine.Rendering.ShaderPropertyType)Enum.Parse( typeof( UnityEngine.Rendering.ShaderPropertyType ), valuesArr[ 1 ] ); switch( type ) { - case UnityEditor.ShaderUtil.ShaderPropertyType.Color: + case UnityEngine.Rendering.ShaderPropertyType.Color: { string[] colorVals = valuesArr[ 2 ].Split( IOUtils.VECTOR_SEPARATOR ); if( colorVals.Length != 4 ) @@ -244,7 +244,7 @@ namespace AmplifyShaderEditor } } break; - case UnityEditor.ShaderUtil.ShaderPropertyType.Vector: + case UnityEngine.Rendering.ShaderPropertyType.Vector: { string[] vectorVals = valuesArr[ 2 ].Split( IOUtils.VECTOR_SEPARATOR ); if( vectorVals.Length != 4 ) @@ -262,17 +262,17 @@ namespace AmplifyShaderEditor } } break; - case UnityEditor.ShaderUtil.ShaderPropertyType.Float: + case UnityEngine.Rendering.ShaderPropertyType.Float: { mat.SetFloat( valuesArr[ 0 ], Convert.ToSingle( valuesArr[ 2 ] ) ); } break; - case UnityEditor.ShaderUtil.ShaderPropertyType.Range: + case UnityEngine.Rendering.ShaderPropertyType.Range: { mat.SetFloat( valuesArr[ 0 ], Convert.ToSingle( valuesArr[ 2 ] ) ); } break; - case UnityEditor.ShaderUtil.ShaderPropertyType.TexEnv: + case UnityEngine.Rendering.ShaderPropertyType.Texture: { string[] texVals = valuesArr[ 2 ].Split( IOUtils.VECTOR_SEPARATOR ); if( texVals.Length != 5 ) @@ -341,7 +341,13 @@ namespace AmplifyShaderEditor for( int i = 0; i < properties.Length; i++ ) { - if( ( properties[ i ].flags & ( MaterialProperty.PropFlags.HideInInspector | MaterialProperty.PropFlags.PerRendererData ) ) == MaterialProperty.PropFlags.None ) + #if UNITY_6000_2_OR_NEWER + int propertyFlags = ( int )properties[ i ].propertyFlags; + #else + int propertyFlags = ( int )properties[ i ].flags; + #endif + + if ( ( propertyFlags & ( ( int )UnityEngine.Rendering.ShaderPropertyFlags.HideInInspector | ( int )UnityEngine.Rendering.ShaderPropertyFlags.PerRendererData ) ) == ( int )UnityEngine.Rendering.ShaderPropertyFlags.None ) { // Removed no scale offset one line texture property for consistency :( sad face //if( ( properties[ i ].flags & MaterialProperty.PropFlags.NoScaleOffset ) == MaterialProperty.PropFlags.NoScaleOffset ) @@ -396,13 +402,58 @@ namespace AmplifyShaderEditor UIUtils.CopyValuesFromMaterial( mat ); } - if( materialEditor.RequiresConstantRepaint() && m_lastRenderedTime + 0.032999999821186066 < EditorApplication.timeSinceStartup ) + // @diogo: set useful texture keywords in case someone wants to use them + SetTextureKeywords( mat ); + + if( materialEditor.RequiresConstantRepaint() && m_lastRenderedTime + ( 1.0f / 30.0f ) < EditorApplication.timeSinceStartup ) { this.m_lastRenderedTime = EditorApplication.timeSinceStartup; materialEditor.Repaint(); } } + static void EnsureKeywordState( Material mat, string keyword, bool state ) + { + if ( state && !mat.IsKeywordEnabled( keyword ) ) + { + mat.EnableKeyword( keyword ); + } + else if ( !state && mat.IsKeywordEnabled( keyword ) ) + { + mat.DisableKeyword( keyword ); + } + } + + private bool FindGenKeyForTextureProperty( Material mat, string propertyName ) + { + int propertyCount = mat.shader.GetPropertyCount(); + for ( int i = 0; i < propertyCount; i++ ) + { + if ( mat.shader.GetPropertyType( i ) == UnityEngine.Rendering.ShaderPropertyType.Float && + mat.shader.GetPropertyName( i ).StartsWith( "GenKey_" + propertyName ) ) + { + return true; + } + } + return false; + } + + private void SetTextureKeywords( Material mat ) + { + int propertyCount = mat.shader.GetPropertyCount(); + for ( int i = 0; i < propertyCount; i++ ) + { + if ( mat.shader.GetPropertyType( i ) == UnityEngine.Rendering.ShaderPropertyType.Texture ) + { + string name = mat.shader.GetPropertyName( i ); + if ( !name.StartsWith( "GenKey_" ) && FindGenKeyForTextureProperty( mat, name ) ) + { + EnsureKeywordState( mat, name.ToUpper(), mat.HasProperty( name ) && ( mat.GetTexture( name ) != null ) ); + } + } + } + } + private void Init() { string guid = EditorPrefs.GetString( PreviewModelPref, "" ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomMaterialInspector.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomMaterialInspector.cs.meta index fcbec57e..3d88aeb9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomMaterialInspector.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomMaterialInspector.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/CustomMaterialInspector.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomMaterialInspector.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomShaderInspector.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomShaderInspector.cs index 2025ef6c..3df68907 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomShaderInspector.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomShaderInspector.cs @@ -236,10 +236,10 @@ namespace AmplifyShaderEditor private static string GetPropertyType( Shader s, int index ) { - UnityEditor.ShaderUtil.ShaderPropertyType propertyType = UnityEditor.ShaderUtil.GetPropertyType( s, index ); - if ( propertyType == UnityEditor.ShaderUtil.ShaderPropertyType.TexEnv ) + UnityEngine.Rendering.ShaderPropertyType propertyType = s.GetPropertyType( index ); + if ( propertyType == UnityEngine.Rendering.ShaderPropertyType.Texture ) { - return CustomShaderInspector.kTextureTypes[ ( int ) UnityEditor.ShaderUtil.GetTexDim( s, index ) ]; + return CustomShaderInspector.kTextureTypes[ ( int ) s.GetPropertyTextureDimension( index ) ]; } return CustomShaderInspector.kPropertyTypes[ ( int ) propertyType ]; } @@ -305,7 +305,11 @@ namespace AmplifyShaderEditor } EditorGUILayout.LabelField( "Disable batching", label, new GUILayoutOption[ 0 ] ); ShowKeywords( shader ); - srpCompatibilityCheckMaterial.SetPass( 0 ); + + if ( !AmplifyShaderEditorWindow.IsSavingToDisk ) + { + srpCompatibilityCheckMaterial.SetPass( 0 ); + } int shaderActiveSubshaderIndex = ShaderUtilEx.GetShaderActiveSubshaderIndex( shader ); int sRPBatcherCompatibilityCode = ShaderUtilEx.GetSRPBatcherCompatibilityCode( shader, shaderActiveSubshaderIndex ); @@ -349,11 +353,11 @@ namespace AmplifyShaderEditor { GUILayout.Space( 5f ); GUILayout.Label( "Properties:", EditorStyles.boldLabel, new GUILayoutOption[ 0 ] ); - int propertyCount = UnityEditor.ShaderUtil.GetPropertyCount( s ); + int propertyCount = s.GetPropertyCount(); for ( int i = 0; i < propertyCount; i++ ) { - string propertyName = UnityEditor.ShaderUtil.GetPropertyName( s, i ); - string label = CustomShaderInspector.GetPropertyType( s, i ) + UnityEditor.ShaderUtil.GetPropertyDescription( s, i ); + string propertyName = s.GetPropertyName( i ); + string label = CustomShaderInspector.GetPropertyType( s, i ) + s.GetPropertyDescription( i ); EditorGUILayout.LabelField( propertyName, label, new GUILayoutOption[ 0 ] ); } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomShaderInspector.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomShaderInspector.cs.meta index eb7b0aad..b9395d05 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomShaderInspector.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomShaderInspector.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/CustomShaderInspector.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/CustomShaderInspector.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/EditorVariablesManager.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/EditorVariablesManager.cs.meta index a4af2e6b..1b090d41 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/EditorVariablesManager.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/EditorVariablesManager.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/EditorVariablesManager.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/EditorVariablesManager.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GeneratorUtils.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GeneratorUtils.cs index 981a9844..a09db70d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GeneratorUtils.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GeneratorUtils.cs @@ -51,6 +51,7 @@ namespace AmplifyShaderEditor public const string RelativeWorldPositionStr = "ase_positionRWS"; public const string VFaceStr = "ase_vface"; public const string ShadowCoordsStr = "ase_shadowCoords"; + public const string LightAttenuationStr = "ase_lightAtten"; public const string WorldLightDirStr = "ase_lightDirWS"; public const string ObjectLightDirStr = "ase_lightDirOS"; public const string WorldNormalStr = "ase_normalWS"; @@ -116,15 +117,15 @@ namespace AmplifyShaderEditor "}\n" }; - private static readonly string ScreenPosNormToPixelFunctionHeader = "ASEScreenPositionNormalizedToPixel( {0} )"; + private static readonly string ScreenPosNormToPixelFunctionHeader = "ASEScreenPositionNormalizedToPixel( {0}, {1} )"; private static readonly string[] ScreenPosNormToPixelFunctionBody = { - "float4 ASEScreenPositionNormalizedToPixel( float4 screenPosNorm )\n", + "float4 ASEScreenPositionNormalizedToPixel( float4 screenPosNorm, float4 screenParams )\n", "{\n", - "\tfloat4 screenPosPixel = screenPosNorm * float4( _ScreenParams.xy, 1, 1 );\n", + "\tfloat4 screenPosPixel = screenPosNorm * float4( screenParams.xy, 1, 1 );\n", "\t#if UNITY_UV_STARTS_AT_TOP\n", - "\t\tscreenPosPixel.xy = float2( screenPosPixel.x, ( _ProjectionParams.x < 0 ) ? _ScreenParams.y - screenPosPixel.y : screenPosPixel.y );\n", + "\t\tscreenPosPixel.xy = float2( screenPosPixel.x, ( _ProjectionParams.x < 0 ) ? screenParams.y - screenPosPixel.y : screenPosPixel.y );\n", "\t#else\n", - "\t\tscreenPosPixel.xy = float2( screenPosPixel.x, ( _ProjectionParams.x > 0 ) ? _ScreenParams.y - screenPosPixel.y : screenPosPixel.y );\n", + "\t\tscreenPosPixel.xy = float2( screenPosPixel.x, ( _ProjectionParams.x > 0 ) ? screenParams.y - screenPosPixel.y : screenPosPixel.y );\n", "\t#endif\n", "\treturn screenPosPixel;\n", "}\n" @@ -402,7 +403,7 @@ namespace AmplifyShaderEditor static public string GenerateWorldBitangent( ref MasterNodeDataCollector dataCollector, int uniqueId ) { if ( dataCollector.IsTemplate ) - return dataCollector.TemplateDataCollectorInstance.GetWorldBinormal( UIUtils.CurrentWindow.CurrentGraph.CurrentPrecision ); + return dataCollector.TemplateDataCollectorInstance.GetWorldBitangent( UIUtils.CurrentWindow.CurrentGraph.CurrentPrecision ); string precisionType = UIUtils.PrecisionWirePortToCgType( UIUtils.CurrentWindow.CurrentGraph.CurrentPrecision, WirePortDataType.FLOAT3 ); string result = "WorldNormalVector( " + Constants.InputVarStr + ", " + precisionType + "( 0, 1, 0 ) )"; @@ -489,7 +490,7 @@ namespace AmplifyShaderEditor string worldTangent = GenerateWorldTangent( ref dataCollector, uniqueId ); string worldBitangent = GenerateWorldBitangent( ref dataCollector, uniqueId ); - string result = string.Format( "float3x3({0}.x,{1}.x,{2}.x,{0}.y,{1}.y,{2}.y,{0}.z,{1}.z,{2}.z)", worldTangent, worldBitangent, worldNormal ); + string result = string.Format( "float3x3( {0}.x, {1}.x, {2}.x, {0}.y, {1}.y, {2}.y, {0}.z, {1}.z, {2}.z )", worldTangent, worldBitangent, worldNormal ); dataCollector.AddLocalVariable( uniqueId, precision, WirePortDataType.FLOAT3x3, TangentToWorldFastStr, result ); return TangentToWorldFastStr; } @@ -756,6 +757,11 @@ namespace AmplifyShaderEditor //else if( maxSize == WirePortDataType.FLOAT4 ) // sizeDif = "4"; + if ( !dataCollector.IsTemplate && ( size == WirePortDataType.FLOAT3 || size == WirePortDataType.FLOAT4 ) ) + { + dataCollector.UsingHigherSizeTexcoords = true; + } + if ( !dataCollector.IsTemplate && index > 3 ) { string texCoordNameIn = TemplateHelperFunctions.BaseInterpolatorName + index; @@ -1030,7 +1036,8 @@ namespace AmplifyShaderEditor static public string GenerateScreenPositionTiled( ref MasterNodeDataCollector dataCollector, int uniqueId, PrecisionType precision, bool addInput = true ) { string screenPosNorm = GenerateScreenPositionNormalized( ref dataCollector, uniqueId, precision, addInput ); - string value = string.Format( "frac( float4( ( {0}.x * 2 - 1 ) * _ScreenParams.x / _ScreenParams.y, {0}.y * 2 - 1, 0, 0 ) )", screenPosNorm ); + string screenParams = dataCollector.IsURP ? "_ScaledScreenParams" : "_ScreenParams"; + string value = string.Format( "frac( float4( ( {0}.x * 2 - 1 ) * {1}.x / {1}.y, {0}.y * 2 - 1, 0, 0 ) )", screenPosNorm, screenParams ); dataCollector.AddLocalVariable( uniqueId, precision, WirePortDataType.FLOAT4, GeneratorUtils.ScreenPosTiledStr, value ); return GeneratorUtils.ScreenPosTiledStr; } @@ -1040,16 +1047,17 @@ namespace AmplifyShaderEditor dataCollector.AddFunction( ScreenPosNormToPixelFunctionBody[ 0 ], ScreenPosNormToPixelFunctionBody, false ); } - static public string GenerateScreenPosNormToPixelFunctionCall( string screenPosNorm ) + static public string GenerateScreenPosNormToPixelFunctionCall( string screenPosNorm, string screenParams ) { - return string.Format( ScreenPosNormToPixelFunctionHeader, screenPosNorm ); + return string.Format( ScreenPosNormToPixelFunctionHeader, screenPosNorm, screenParams ); } static public string GenerateScreenPositionPixel( ref MasterNodeDataCollector dataCollector, int uniqueId, PrecisionType precision, bool addInput = true ) { string screenPosNorm = GenerateScreenPositionNormalized( ref dataCollector, uniqueId, precision, addInput ); + string screenParams = dataCollector.IsURP ? "_ScaledScreenParams" : "_ScreenParams"; GenerateScreenPosNormToPixelFunction( ref dataCollector ); - string value = GenerateScreenPosNormToPixelFunctionCall( screenPosNorm ); + string value = GenerateScreenPosNormToPixelFunctionCall( screenPosNorm, screenParams ); dataCollector.AddLocalVariable( uniqueId, precision, WirePortDataType.FLOAT4, GeneratorUtils.ScreenPosPixelStr, value ); return GeneratorUtils.ScreenPosPixelStr; } @@ -1411,7 +1419,8 @@ namespace AmplifyShaderEditor if ( !dataCollector.HasLocalVariableByName( GeneratorUtils.ScreenPosTiledStr ) ) { string screenPosNorm = GenerateScreenPositionNormalizedOnFrag( ref dataCollector, uniqueId, precision ); - string value = string.Format( "frac( float4( ( {0}.x * 2 - 1 ) * _ScreenParams.x / _ScreenParams.y, {0}.y * 2 - 1, 0, 0 ) )", screenPosNorm ); + string screenParams = dataCollector.IsURP ? "_ScaledScreenParams" : "_ScreenParams"; + string value = string.Format( "frac( float4( ( {0}.x * 2 - 1 ) * {1}.x / {1}.y, {0}.y * 2 - 1, 0, 0 ) )", screenPosNorm, screenParams ); dataCollector.AddLocalVariable( -1, precision, WirePortDataType.FLOAT4, GeneratorUtils.ScreenPosTiledStr, value ); } return GeneratorUtils.ScreenPosTiledStr; @@ -1427,8 +1436,9 @@ namespace AmplifyShaderEditor if ( !dataCollector.HasLocalVariableByName( GeneratorUtils.ScreenPosPixelStr ) ) { string screenPosNorm = GenerateScreenPositionNormalizedOnFrag( ref dataCollector, uniqueId, precision ); + string screenParams = dataCollector.IsURP ? "_ScaledScreenParams" : "_ScreenParams"; GeneratorUtils.GenerateScreenPosNormToPixelFunction( ref dataCollector ); - dataCollector.AddLocalVariable( -1, precision, WirePortDataType.FLOAT4, GeneratorUtils.ScreenPosPixelStr, GeneratorUtils.GenerateScreenPosNormToPixelFunctionCall( screenPosNorm ) ); + dataCollector.AddLocalVariable( -1, precision, WirePortDataType.FLOAT4, GeneratorUtils.ScreenPosPixelStr, GeneratorUtils.GenerateScreenPosNormToPixelFunctionCall( screenPosNorm, screenParams ) ); } return GeneratorUtils.ScreenPosPixelStr; } @@ -1614,6 +1624,7 @@ namespace AmplifyShaderEditor finalFunction[ 0 ] = string.Format( funcVersion[ 0 ] , "4" ); break; default: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: case WirePortDataType.INT: @@ -1683,6 +1694,52 @@ namespace AmplifyShaderEditor } //MATRIX INVERSE + // 2x2 + public static string Inverse2x2Header = "Inverse2x2( {0} )"; + public static string[] Inverse2x2Function = + { + "{0}2x2 Inverse2x2({0}2x2 input)\n", + "{\n", + "\treturn {0}2x2( input._m11, -input._m01, -input._m10, input._m00 ) / determinant( input );\n", + "}\n" + }; + + public static bool[] Inverse2x2FunctionFlags = + { + true, + false, + true, + false + }; + + public static void Add2x2InverseFunction( ref MasterNodeDataCollector dataCollector, string precisionString ) + { + if ( !dataCollector.HasFunction( Inverse2x2Header ) ) + { + //Hack to be used util indent is properly used + int currIndent = UIUtils.ShaderIndentLevel; + if ( dataCollector.IsTemplate ) + { + UIUtils.ShaderIndentLevel = 0; + } + else + { + UIUtils.ShaderIndentLevel = 1; + UIUtils.ShaderIndentLevel++; + } + string finalFunction = string.Empty; + for ( int i = 0; i < Inverse2x2Function.Length; i++ ) + { + finalFunction += UIUtils.ShaderIndentTabs + ( Inverse2x2FunctionFlags[ i ] ? string.Format( Inverse2x2Function[ i ], precisionString ) : Inverse2x2Function[ i ] ); + } + + + UIUtils.ShaderIndentLevel = currIndent; + + dataCollector.AddFunction( Inverse2x2Header, finalFunction ); + } + } + // 3x3 public static string Inverse3x3Header = "Inverse3x3( {0} )"; public static string[] Inverse3x3Function = diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GeneratorUtils.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GeneratorUtils.cs.meta index 2ecfe94a..136db114 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GeneratorUtils.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GeneratorUtils.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/GeneratorUtils.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GeneratorUtils.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GenericMessage.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GenericMessage.cs.meta index 7547efea..a86ce662 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GenericMessage.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GenericMessage.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/GenericMessage.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/GenericMessage.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/IOUtils.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/IOUtils.cs index 76730325..c703e89c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/IOUtils.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/IOUtils.cs @@ -93,11 +93,11 @@ namespace AmplifyShaderEditor { get { - if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_13 ) + if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_13_X ) { return "#define {1} UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT({0} , {1})"; } - else if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_12 ) + else if ( ASEPackageManagerHelper.PackageSRPVersion >= ( int )ASESRPBaseline.ASE_SRP_12_X ) { return "#define {1} UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO({0} , Metadata{1})"; } @@ -826,16 +826,22 @@ namespace AmplifyShaderEditor return data.r.ToString() + VECTOR_SEPARATOR + data.g.ToString() + VECTOR_SEPARATOR + data.b.ToString() + VECTOR_SEPARATOR + data.a.ToString(); } + public static string Matrix2x2ToString( Matrix4x4 matrix ) + { + return matrix[ 0, 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 0, 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + + matrix[ 1, 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 1, 1 ].ToString(); + } + public static string Matrix3x3ToString( Matrix4x4 matrix ) { - return matrix[ 0 , 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 0 , 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 0 , 2 ].ToString() + IOUtils.VECTOR_SEPARATOR + + return matrix[ 0 , 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 0 , 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 0 , 2 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 1 , 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 1 , 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 1 , 2 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 2 , 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 2 , 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 2 , 2 ].ToString(); } public static string Matrix4x4ToString( Matrix4x4 matrix ) { - return matrix[ 0 , 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 0 , 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 0 , 2 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 0 , 3 ].ToString() + IOUtils.VECTOR_SEPARATOR + + return matrix[ 0 , 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 0 , 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 0 , 2 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 0 , 3 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 1 , 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 1 , 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 1 , 2 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 1 , 3 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 2 , 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 2 , 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 2 , 2 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 2 , 3 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 3 , 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 3 , 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 3 , 2 ].ToString() + IOUtils.VECTOR_SEPARATOR + matrix[ 3 , 3 ].ToString(); @@ -890,23 +896,37 @@ namespace AmplifyShaderEditor return Color.white; } + public static Matrix4x4 StringToMatrix2x2( string data ) + { + string[] parsedData = data.Split( VECTOR_SEPARATOR ); + if ( parsedData.Length == 4 ) + { + Matrix4x4 matrix = Matrix4x4.identity; + matrix[ 0, 0 ] = Convert.ToSingle( parsedData[ 0 ] ); + matrix[ 0, 1 ] = Convert.ToSingle( parsedData[ 1 ] ); + matrix[ 1, 0 ] = Convert.ToSingle( parsedData[ 2 ] ); + matrix[ 1, 1 ] = Convert.ToSingle( parsedData[ 3 ] ); + matrix[ 1, 1 ] = Convert.ToSingle( parsedData[ 3 ] ); + return matrix; + } + return Matrix4x4.identity; + } + public static Matrix4x4 StringToMatrix3x3( string data ) { string[] parsedData = data.Split( VECTOR_SEPARATOR ); if( parsedData.Length == 9 ) { - Matrix4x4 matrix = new Matrix4x4(); - matrix[ 0 , 0 ] = Convert.ToSingle( parsedData[ 0 ] ); - matrix[ 0 , 1 ] = Convert.ToSingle( parsedData[ 1 ] ); - matrix[ 0 , 2 ] = Convert.ToSingle( parsedData[ 2 ] ); - - matrix[ 1 , 0 ] = Convert.ToSingle( parsedData[ 3 ] ); - matrix[ 1 , 1 ] = Convert.ToSingle( parsedData[ 4 ] ); - matrix[ 1 , 2 ] = Convert.ToSingle( parsedData[ 5 ] ); - - matrix[ 2 , 0 ] = Convert.ToSingle( parsedData[ 6 ] ); - matrix[ 2 , 1 ] = Convert.ToSingle( parsedData[ 7 ] ); - matrix[ 2 , 2 ] = Convert.ToSingle( parsedData[ 8 ] ); + Matrix4x4 matrix = Matrix4x4.identity; + matrix[ 0, 0 ] = Convert.ToSingle( parsedData[ 0 ] ); + matrix[ 0, 1 ] = Convert.ToSingle( parsedData[ 1 ] ); + matrix[ 0, 2 ] = Convert.ToSingle( parsedData[ 2 ] ); + matrix[ 1, 0 ] = Convert.ToSingle( parsedData[ 3 ] ); + matrix[ 1, 1 ] = Convert.ToSingle( parsedData[ 4 ] ); + matrix[ 1, 2 ] = Convert.ToSingle( parsedData[ 5 ] ); + matrix[ 2, 0 ] = Convert.ToSingle( parsedData[ 6 ] ); + matrix[ 2, 1 ] = Convert.ToSingle( parsedData[ 7 ] ); + matrix[ 2, 2 ] = Convert.ToSingle( parsedData[ 8 ] ); return matrix; } return Matrix4x4.identity; @@ -918,25 +938,22 @@ namespace AmplifyShaderEditor if( parsedData.Length == 16 ) { Matrix4x4 matrix = new Matrix4x4(); - matrix[ 0 , 0 ] = Convert.ToSingle( parsedData[ 0 ] ); - matrix[ 0 , 1 ] = Convert.ToSingle( parsedData[ 1 ] ); - matrix[ 0 , 2 ] = Convert.ToSingle( parsedData[ 2 ] ); - matrix[ 0 , 3 ] = Convert.ToSingle( parsedData[ 3 ] ); - - matrix[ 1 , 0 ] = Convert.ToSingle( parsedData[ 4 ] ); - matrix[ 1 , 1 ] = Convert.ToSingle( parsedData[ 5 ] ); - matrix[ 1 , 2 ] = Convert.ToSingle( parsedData[ 6 ] ); - matrix[ 1 , 3 ] = Convert.ToSingle( parsedData[ 7 ] ); - - matrix[ 2 , 0 ] = Convert.ToSingle( parsedData[ 8 ] ); - matrix[ 2 , 1 ] = Convert.ToSingle( parsedData[ 9 ] ); - matrix[ 2 , 2 ] = Convert.ToSingle( parsedData[ 10 ] ); - matrix[ 2 , 3 ] = Convert.ToSingle( parsedData[ 11 ] ); - - matrix[ 3 , 0 ] = Convert.ToSingle( parsedData[ 12 ] ); - matrix[ 3 , 1 ] = Convert.ToSingle( parsedData[ 13 ] ); - matrix[ 3 , 2 ] = Convert.ToSingle( parsedData[ 14 ] ); - matrix[ 3 , 3 ] = Convert.ToSingle( parsedData[ 15 ] ); + matrix[ 0, 0 ] = Convert.ToSingle( parsedData[ 0 ] ); + matrix[ 0, 1 ] = Convert.ToSingle( parsedData[ 1 ] ); + matrix[ 0, 2 ] = Convert.ToSingle( parsedData[ 2 ] ); + matrix[ 0, 3 ] = Convert.ToSingle( parsedData[ 3 ] ); + matrix[ 1, 0 ] = Convert.ToSingle( parsedData[ 4 ] ); + matrix[ 1, 1 ] = Convert.ToSingle( parsedData[ 5 ] ); + matrix[ 1, 2 ] = Convert.ToSingle( parsedData[ 6 ] ); + matrix[ 1, 3 ] = Convert.ToSingle( parsedData[ 7 ] ); + matrix[ 2, 0 ] = Convert.ToSingle( parsedData[ 8 ] ); + matrix[ 2, 1 ] = Convert.ToSingle( parsedData[ 9 ] ); + matrix[ 2, 2 ] = Convert.ToSingle( parsedData[ 10 ] ); + matrix[ 2, 3 ] = Convert.ToSingle( parsedData[ 11 ] ); + matrix[ 3, 0 ] = Convert.ToSingle( parsedData[ 12 ] ); + matrix[ 3, 1 ] = Convert.ToSingle( parsedData[ 13 ] ); + matrix[ 3, 2 ] = Convert.ToSingle( parsedData[ 14 ] ); + matrix[ 3, 3 ] = Convert.ToSingle( parsedData[ 15 ] ); return matrix; } return Matrix4x4.identity; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/IOUtils.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/IOUtils.cs.meta index 1fa944f3..71d41e1b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/IOUtils.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/IOUtils.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/IOUtils.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/IOUtils.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InlineProperty.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InlineProperty.cs.meta index cb4115f0..563ebff7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InlineProperty.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InlineProperty.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/InlineProperty.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InlineProperty.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InlinePropertyTable.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InlinePropertyTable.cs.meta index bc9e29b6..a7df7764 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InlinePropertyTable.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InlinePropertyTable.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/InlinePropertyTable.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InlinePropertyTable.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InvalidDataChecker.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InvalidDataChecker.cs index 5f9837eb..5922fbf8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InvalidDataChecker.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InvalidDataChecker.cs @@ -54,7 +54,7 @@ namespace AmplifyShaderEditor { EditorApplication.update -= Update; - if( !EditorApplication.isPlayingOrWillChangePlaymode ) + if( !EditorApplication.isPlayingOrWillChangePlaymode && !Application.isBatchMode ) { Preferences.ShowOption show = Preferences.ShowOption.Never; if( !EditorPrefs.HasKey( Preferences.User.Keys.StartUp ) ) diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InvalidDataChecker.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InvalidDataChecker.cs.meta index aaeef2d7..9b2da34a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InvalidDataChecker.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InvalidDataChecker.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/InvalidDataChecker.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/InvalidDataChecker.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/NodeExporterUtils.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/NodeExporterUtils.cs.meta index 0219e21a..17c5223f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/NodeExporterUtils.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/NodeExporterUtils.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/NodeExporterUtils.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/NodeExporterUtils.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/NodeUpdateCache.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/NodeUpdateCache.cs new file mode 100644 index 00000000..99e5c82f --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/NodeUpdateCache.cs @@ -0,0 +1,25 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace AmplifyShaderEditor +{ + public class NodeUpdateCache : HashSet + { + public bool Touch( ParentNode node ) + { + if ( Contains( node ) ) + { + // @diogo: already touched; cache hit + return true; + } + else + { + // @diogo: not touched yet; cache miss + Add( node ); + return false; + } + } + + } +} diff --git a/Assets/External/Proxima/Editor/PfxImporter.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/NodeUpdateCache.cs.meta similarity index 51% rename from Assets/External/Proxima/Editor/PfxImporter.cs.meta rename to Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/NodeUpdateCache.cs.meta index 77ead7b9..51422ad9 100644 --- a/Assets/External/Proxima/Editor/PfxImporter.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/NodeUpdateCache.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 1f0da27eff826494b99f5e680d9acda9 +guid: 9c46fc0ec7fe47c4482962f3756cfc88 MonoImporter: externalObjects: {} serializedVersion: 2 @@ -11,8 +11,8 @@ MonoImporter: assetBundleVariant: AssetOrigin: serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Editor/PfxImporter.cs - uploadId: 684082 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/NodeUpdateCache.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.Project.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.Project.cs index 4bafd120..ea60e74d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.Project.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.Project.cs @@ -29,7 +29,7 @@ namespace AmplifyShaderEditor public const bool DefineSymbol = true; public const string TemplateExtensions = ".shader;.shader.template"; } - + [Serializable] private struct Layout { @@ -60,11 +60,6 @@ namespace AmplifyShaderEditor if ( e.GetType() == typeof( FileNotFoundException ) ) { ResetSettings(); - - // @diogo: try to retrieve the old preferences if file does not exist yet - Values.AutoSRP = EditorPrefs.GetBool( "ASEAutoSRP", Defaults.AutoSRP ); - Values.DefineSymbol = EditorPrefs.GetBool( "ASEDefineSymbol", Defaults.DefineSymbol ); - SaveSettings(); } else diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.Project.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.Project.cs.meta index 196a6a87..23ebfbf2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.Project.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.Project.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.Project.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.Project.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.User.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.User.cs index e9a427d6..72178210 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.User.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.User.cs @@ -1,6 +1,7 @@ // Amplify Shader Editor - Visual Shader Editing Tool // Copyright (c) Amplify Creations, Lda +using System.Collections.Generic; using UnityEditor; using UnityEngine; @@ -26,6 +27,8 @@ namespace AmplifyShaderEditor public static readonly GUIContent LogShaderCompile = new GUIContent( "Log Shader Compile", "Log message to console when a shader compilation is finished." ); public static readonly GUIContent LogBatchCompile = new GUIContent( "Log Batch Compile", "Log message to console when a batch compilation is finished." ); public static readonly GUIContent UpdateOnSceneSave = new GUIContent( "Update on Scene save (Ctrl+S)", "ASE is aware of Ctrl+S and will use it to save shader." ); + public static readonly GUIContent PreviewUpdateFrequency = new GUIContent( "Preview Update Frequency", "Frequency limit, in Hz/FPS, at which we allow previews to refresh." ); + public static readonly GUIContent PreviewQuality = new GUIContent( "Preview Quality", "Adjusts size and precision of preview textures to save VRAM: Low, Medium, High (default)" ); public static readonly GUIContent DisablePreviews = new GUIContent( "Disable Node Previews", "Disable preview on nodes from being updated to boost up performance on large graphs." ); public static readonly GUIContent DisableMaterialMode = new GUIContent( "Disable Material Mode", "Disable enter Material Mode graph when double-clicking on material asset." ); public static readonly GUIContent ForceTemplateMinShaderModel = new GUIContent( "Force Template Min. Shader Model", "If active, when loading a shader its shader model will be replaced by the one specified in template if what is loaded is below the one set over the template." ); @@ -41,6 +44,8 @@ namespace AmplifyShaderEditor public const bool LogShaderCompile = false; public const bool LogBatchCompile = false; public const bool UpdateOnSceneSave = true; + public const int PreviewUpdateFrequency = 60; + public const int PreviewQuality = 1; public const bool DisablePreviews = false; public const bool DisableMaterialMode = false; public const bool ForceTemplateMinShaderModel = true; @@ -57,6 +62,8 @@ namespace AmplifyShaderEditor public static string LogShaderCompile = "ASELogShaderCompile"; public static string LogBatchCompile = "ASELogBatchCompile"; public static string UpdateOnSceneSave = "ASEUpdateOnSceneSave"; + public static string PreviewUpdateFrequency = "ASEPreviewUpdateFrequency"; + public static string PreviewQuality = "ASEPreviewQuality"; public static string DisablePreviews = "ASEActivatePreviews"; public static string DisableMaterialMode = "ASEDisableMaterialMode"; public static string ForceTemplateMinShaderModel = "ASEForceTemplateMinShaderModel"; @@ -70,6 +77,8 @@ namespace AmplifyShaderEditor public static bool LogShaderCompile = Defaults.LogShaderCompile; public static bool LogBatchCompile = Defaults.LogBatchCompile; public static bool UpdateOnSceneSave = Defaults.UpdateOnSceneSave; + public static int PreviewUpdateFrequency = Defaults.PreviewUpdateFrequency; + public static int PreviewQuality = Defaults.PreviewQuality; public static bool DisablePreviews = Defaults.DisablePreviews; public static bool DisableMaterialMode = Defaults.DisableMaterialMode; public static bool ForceTemplateMinShaderModel = Defaults.ForceTemplateMinShaderModel; @@ -84,6 +93,8 @@ namespace AmplifyShaderEditor EditorPrefs.DeleteKey( Keys.LogShaderCompile ); EditorPrefs.DeleteKey( Keys.LogBatchCompile ); EditorPrefs.DeleteKey( Keys.UpdateOnSceneSave ); + EditorPrefs.DeleteKey( Keys.PreviewUpdateFrequency ); + EditorPrefs.DeleteKey( Keys.PreviewQuality ); EditorPrefs.DeleteKey( Keys.DisablePreviews ); EditorPrefs.DeleteKey( Keys.DisableMaterialMode ); EditorPrefs.DeleteKey( Keys.ForceTemplateMinShaderModel ); @@ -96,6 +107,8 @@ namespace AmplifyShaderEditor LogShaderCompile = Defaults.LogShaderCompile; LogBatchCompile = Defaults.LogBatchCompile; UpdateOnSceneSave = Defaults.UpdateOnSceneSave; + PreviewUpdateFrequency = Defaults.PreviewUpdateFrequency; + PreviewQuality = Defaults.PreviewQuality; DisablePreviews = Defaults.DisablePreviews; DisableMaterialMode = Defaults.DisableMaterialMode; ForceTemplateMinShaderModel = Defaults.ForceTemplateMinShaderModel; @@ -111,6 +124,8 @@ namespace AmplifyShaderEditor LogShaderCompile = EditorPrefs.GetBool( Keys.LogShaderCompile, Defaults.LogShaderCompile ); LogBatchCompile = EditorPrefs.GetBool( Keys.LogBatchCompile, Defaults.LogBatchCompile ); UpdateOnSceneSave = EditorPrefs.GetBool( Keys.UpdateOnSceneSave, Defaults.UpdateOnSceneSave ); + PreviewUpdateFrequency = EditorPrefs.GetInt( Keys.PreviewUpdateFrequency, Defaults.PreviewUpdateFrequency ); + PreviewQuality = EditorPrefs.GetInt( Keys.PreviewQuality, Defaults.PreviewQuality ); DisablePreviews = EditorPrefs.GetBool( Keys.DisablePreviews, Defaults.DisablePreviews ); DisableMaterialMode = EditorPrefs.GetBool( Keys.DisableMaterialMode, Defaults.DisableMaterialMode ); ForceTemplateMinShaderModel = EditorPrefs.GetBool( Keys.ForceTemplateMinShaderModel, Defaults.ForceTemplateMinShaderModel ); @@ -132,12 +147,30 @@ namespace AmplifyShaderEditor EditorPrefs.SetBool( Keys.LogShaderCompile, LogShaderCompile ); EditorPrefs.SetBool( Keys.LogBatchCompile, LogBatchCompile ); EditorPrefs.SetBool( Keys.UpdateOnSceneSave, UpdateOnSceneSave ); + EditorPrefs.SetInt( Keys.PreviewUpdateFrequency, PreviewUpdateFrequency ); + EditorPrefs.SetInt( Keys.PreviewQuality, PreviewQuality ); EditorPrefs.SetBool( Keys.DisablePreviews, DisablePreviews ); EditorPrefs.SetBool( Keys.DisableMaterialMode, DisableMaterialMode ); EditorPrefs.SetBool( Keys.ForceTemplateMinShaderModel, ForceTemplateMinShaderModel ); EditorPrefs.SetBool( Keys.ForceTemplateInlineProperties, ForceTemplateInlineProperties ); } + static readonly string[] FrequencyOptions = { "30 hz", "60 hz", "120 hz", "240 hz", "Unlimited" }; + static readonly int[] FrequencyOptionsIndexToValue = { 30, 60, 120, 240, 10000 }; + static readonly Dictionary FrequencyOptionsValueToIndex = new Dictionary() + { + { FrequencyOptionsIndexToValue[ 0 ], 0 }, + { FrequencyOptionsIndexToValue[ 1 ], 1 }, + { FrequencyOptionsIndexToValue[ 2 ], 2 }, + { FrequencyOptionsIndexToValue[ 3 ], 3 }, + { FrequencyOptionsIndexToValue[ 4 ], 4 } + }; + + static readonly string[] PreviewQualityOptions = { "Low", "Medium", "High" }; + + public static int PreviewSize { get { return ( PreviewQuality < 2 ) ? 64 : 128; } } + public static RenderTextureFormat PreviewFormat { get { return ( PreviewQuality < 1 ) ? RenderTextureFormat.ARGBHalf : RenderTextureFormat.ARGBFloat; } } + public static void InspectorLayout() { StartUp = ( ShowOption )EditorGUILayout.EnumPopup( Styles.StartUp, StartUp ); @@ -147,6 +180,8 @@ namespace AmplifyShaderEditor LogShaderCompile = EditorGUILayout.Toggle( Styles.LogShaderCompile, LogShaderCompile ); LogBatchCompile = EditorGUILayout.Toggle( Styles.LogBatchCompile, LogBatchCompile ); UpdateOnSceneSave = EditorGUILayout.Toggle( Styles.UpdateOnSceneSave, UpdateOnSceneSave ); + PreviewUpdateFrequency = FrequencyOptionsIndexToValue[ EditorGUILayout.Popup( Styles.PreviewUpdateFrequency, FrequencyOptionsValueToIndex[ PreviewUpdateFrequency ], FrequencyOptions ) ]; + PreviewQuality = ( int )EditorGUILayout.Popup( Styles.PreviewQuality, PreviewQuality, PreviewQualityOptions ); DisablePreviews = EditorGUILayout.Toggle( Styles.DisablePreviews, DisablePreviews ); DisableMaterialMode = EditorGUILayout.Toggle( Styles.DisableMaterialMode, DisableMaterialMode ); ForceTemplateMinShaderModel = EditorGUILayout.Toggle( Styles.ForceTemplateMinShaderModel, ForceTemplateMinShaderModel ); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.User.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.User.cs.meta index 3fce2bbf..a7b15372 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.User.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.User.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.User.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.User.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.cs.meta index 06ce93e7..8e9e0519 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.cs.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/Preferences.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/RectExtension.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/RectExtension.cs.meta index 914ece74..7cadde14 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/RectExtension.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/RectExtension.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/RectExtension.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/RectExtension.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/SamplerStateAutoGenerator.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/SamplerStateAutoGenerator.cs.meta index 96486d27..e0700f2a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/SamplerStateAutoGenerator.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/SamplerStateAutoGenerator.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/SamplerStateAutoGenerator.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/SamplerStateAutoGenerator.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ShaderBodyTokenizer.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ShaderBodyTokenizer.cs.meta index aeb86783..c4b4e5ba 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ShaderBodyTokenizer.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ShaderBodyTokenizer.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/ShaderBodyTokenizer.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ShaderBodyTokenizer.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ShortcutsManager.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ShortcutsManager.cs.meta index 022f1612..e380bae2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ShortcutsManager.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ShortcutsManager.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/ShortcutsManager.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/ShortcutsManager.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/TextureArrayCreatorAsset.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/TextureArrayCreatorAsset.cs.meta index 8b3936f1..86f45c12 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/TextureArrayCreatorAsset.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/TextureArrayCreatorAsset.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/TextureArrayCreatorAsset.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/TextureArrayCreatorAsset.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/TipsWindow.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/TipsWindow.cs.meta index 4ce789e7..37fc2d3d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/TipsWindow.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/TipsWindow.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/TipsWindow.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/TipsWindow.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UIUtils.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UIUtils.cs index 21f00b39..4a3ffa4b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UIUtils.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UIUtils.cs @@ -28,8 +28,8 @@ namespace AmplifyShaderEditor WORLD_POS, WORLD_REFL, WORLD_NORMAL, - FRONT_FACING, - FRONT_FACING_VFACE, + FRONT_FACE, + FRONT_FACE_VFACE, INTERNALDATA } @@ -624,6 +624,7 @@ namespace AmplifyShaderEditor { WirePortDataType.FLOAT2, new Color(1f,1f,0f,1f)}, { WirePortDataType.FLOAT3, new Color(0.5f,0.5f,1f,1f)}, { WirePortDataType.FLOAT4, new Color(1f,0,1f,1f)}, + { WirePortDataType.FLOAT2x2, new Color(0.5f,1f,0.5f,1f)}, { WirePortDataType.FLOAT3x3, new Color(0.5f,1f,0.5f,1f)}, { WirePortDataType.FLOAT4x4, new Color(0.5f,1f,0.5f,1f)}, { WirePortDataType.COLOR, new Color(1f,0,1f,1f)}, @@ -642,6 +643,7 @@ namespace AmplifyShaderEditor { WirePortDataType.FLOAT2, "Vector2"}, { WirePortDataType.FLOAT3, "Vector3"}, { WirePortDataType.FLOAT4, "Vector4"}, + { WirePortDataType.FLOAT2x2, "2x2 Matrix"}, { WirePortDataType.FLOAT3x3, "3x3 Matrix"}, { WirePortDataType.FLOAT4x4, "4x4 Matrix"}, { WirePortDataType.COLOR, "Color"}, @@ -665,8 +667,8 @@ namespace AmplifyShaderEditor { SurfaceInputs.WORLD_POS, "{0}3 worldPos"}, { SurfaceInputs.WORLD_REFL, "{0}3 worldRefl"}, { SurfaceInputs.WORLD_NORMAL,"{0}3 worldNormal"}, - { SurfaceInputs.FRONT_FACING, Constants.IsFrontFacingInput}, - { SurfaceInputs.FRONT_FACING_VFACE, Constants.IsFrontFacingInputVFACE}, + { SurfaceInputs.FRONT_FACE, Constants.IsFrontFaceInput}, + { SurfaceInputs.FRONT_FACE_VFACE, Constants.IsFrontFaceInput}, { SurfaceInputs.INTERNALDATA, Constants.InternalData} }; @@ -681,7 +683,7 @@ namespace AmplifyShaderEditor { SurfaceInputs.WORLD_POS, "worldPos"}, { SurfaceInputs.WORLD_REFL, "worldRefl"}, { SurfaceInputs.WORLD_NORMAL, "worldNormal"}, - { SurfaceInputs.FRONT_FACING, Constants.IsFrontFacingVariable}, + { SurfaceInputs.FRONT_FACE, Constants.IsFrontFaceVariable}, }; private static Dictionary m_precisionTypeToCg = new Dictionary() @@ -704,6 +706,7 @@ namespace AmplifyShaderEditor {WirePortDataType.FLOAT2, "{0}2"}, {WirePortDataType.FLOAT3, "{0}3"}, {WirePortDataType.FLOAT4, "{0}4"}, + {WirePortDataType.FLOAT2x2, "{0}2x2"}, {WirePortDataType.FLOAT3x3, "{0}3x3"}, {WirePortDataType.FLOAT4x4, "{0}4x4"}, {WirePortDataType.COLOR, "{0}4"}, @@ -722,6 +725,7 @@ namespace AmplifyShaderEditor {WirePortDataType.FLOAT2, "{0}2"}, {WirePortDataType.FLOAT3, "{0}3"}, {WirePortDataType.FLOAT4, "{0}4"}, + {WirePortDataType.FLOAT2x2, "{0}2x2"}, {WirePortDataType.FLOAT3x3, "{0}3x3"}, {WirePortDataType.FLOAT4x4, "{0}4x4"}, {WirePortDataType.COLOR, "{0}4"}, @@ -740,6 +744,7 @@ namespace AmplifyShaderEditor {WirePortDataType.FLOAT2, "{0}2"}, {WirePortDataType.FLOAT3, "{0}3"}, {WirePortDataType.FLOAT4, "{0}4"}, + {WirePortDataType.FLOAT2x2, "{0}2x2"}, {WirePortDataType.FLOAT3x3, "{0}3x3"}, {WirePortDataType.FLOAT4x4, "{0}4x4"}, {WirePortDataType.COLOR, "{0}4"}, @@ -758,6 +763,7 @@ namespace AmplifyShaderEditor {WirePortDataType.FLOAT2, "float2"}, {WirePortDataType.FLOAT3, "float3"}, {WirePortDataType.FLOAT4, "float4"}, + {WirePortDataType.FLOAT2x2, "float2x2"}, {WirePortDataType.FLOAT3x3, "float3x3"}, {WirePortDataType.FLOAT4x4, "float4x4"}, {WirePortDataType.COLOR, "float4"}, @@ -816,15 +822,16 @@ namespace AmplifyShaderEditor {WirePortDataType.SAMPLER3D, 0}, {WirePortDataType.SAMPLERCUBE, 0}, {WirePortDataType.SAMPLER2DARRAY, 0}, - {WirePortDataType.FLOAT3x3, 1}, - {WirePortDataType.FLOAT4x4, 2}, - {WirePortDataType.INT, 3}, - {WirePortDataType.UINT, 3}, - {WirePortDataType.FLOAT, 4}, - {WirePortDataType.FLOAT2, 5}, - {WirePortDataType.FLOAT3, 6}, - {WirePortDataType.FLOAT4, 7}, - {WirePortDataType.COLOR, 7} + {WirePortDataType.FLOAT2x2, 1}, + {WirePortDataType.FLOAT3x3, 2}, + {WirePortDataType.FLOAT4x4, 3}, + {WirePortDataType.INT, 4}, + {WirePortDataType.UINT, 4}, + {WirePortDataType.FLOAT, 5}, + {WirePortDataType.FLOAT2, 6}, + {WirePortDataType.FLOAT3, 7}, + {WirePortDataType.FLOAT4, 8}, + {WirePortDataType.COLOR, 8} }; private static readonly string IncorrectInputConnectionErrorMsg = "Input Port {0} from node {1} has type {2}\nwhich is incompatible with connection of type {3} from port {4} on node {5}"; @@ -838,11 +845,11 @@ namespace AmplifyShaderEditor private static RectOffset SwitchNodeOverflow; private static RectOffset SwitchNodePadding; - private static RenderTexture m_dummyPreviewRT; + private static RenderTexture m_previewDisabledRT; + public static void ForceExampleShaderCompilation() { CurrentWindow.ForceMaterialsToUpdate( ref m_exampleMaterialIDs ); - } public static void Destroy() @@ -860,12 +867,7 @@ namespace AmplifyShaderEditor Initialized = false; - if( m_dummyPreviewRT != null ) - m_dummyPreviewRT.Release(); - - ScriptableObject.DestroyImmediate( m_dummyPreviewRT ); - - m_dummyPreviewRT = null; + m_previewDisabledRT = null; PlusStyle = null; MinusStyle = null; m_textInfo = null; @@ -1433,6 +1435,7 @@ namespace AmplifyShaderEditor case WirePortDataType.FLOAT2: case WirePortDataType.FLOAT3: case WirePortDataType.FLOAT4: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: case WirePortDataType.COLOR: @@ -1495,6 +1498,7 @@ namespace AmplifyShaderEditor case WirePortDataType.FLOAT2: case WirePortDataType.FLOAT3: case WirePortDataType.FLOAT4: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: case WirePortDataType.COLOR: @@ -1570,17 +1574,12 @@ namespace AmplifyShaderEditor result = localVarName; } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: - { - string localVal = CreateLocalValueName( currentPrecision , newType , localVarName , ( ( useRealValue ) ? value.ToString() : parameterName ) ); - dataCollector.AddToLocalVariables( dataCollector.PortCategory , -1 , localVal ); - result = localVarName; - } - break; case WirePortDataType.FLOAT4x4: { - string localVal = CreateLocalValueName( currentPrecision , newType , localVarName , ( ( useRealValue ) ? value.ToString() : parameterName ) ); - dataCollector.AddToLocalVariables( dataCollector.PortCategory , -1 , localVal ); + string localVal = CreateLocalValueName( currentPrecision, newType, localVarName, ( ( useRealValue ) ? value.ToString() : parameterName ) ); + dataCollector.AddToLocalVariables( dataCollector.PortCategory, -1, localVal ); result = localVarName; } break; @@ -1734,22 +1733,8 @@ namespace AmplifyShaderEditor } } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: - { - //Matrix4x4 matrixVal = useRealValue ? ( Matrix4x4 ) value : Matrix4x4.identity; - //switch ( newType ) - //{ - // case WirePortDataType.OBJECT: - // case WirePortDataType.FLOAT4x4: - // { - // result = ( useRealValue ) ? precisionStr + "4x4(" + matrixVal.m00 + " , " + matrixVal.m01 + " , " + matrixVal.m02 + " , " + matrixVal.m03 + " , " + - // matrixVal.m10 + " , " + matrixVal.m11 + " , " + matrixVal.m12 + " , " + matrixVal.m10 + " , " + - // matrixVal.m20 + " , " + matrixVal.m21 + " , " + matrixVal.m22 + " , " + matrixVal.m20 + " , " + - // matrixVal.m30 + " , " + matrixVal.m31 + " , " + matrixVal.m32 + " , " + matrixVal.m30 + " )" : precisionStr + "4x4(" + parameterName + ")"; - // } - // break; - //} - } break; case WirePortDataType.FLOAT4x4: { @@ -1832,13 +1817,8 @@ namespace AmplifyShaderEditor result = localVarName; } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: - { - string localVal = CreateLocalValueName( currentPrecision , oldType , localVarName , ( ( useRealValue ) ? value.ToString() : parameterName ) ); - dataCollector.AddToLocalVariables( dataCollector.PortCategory , -1 , localVal ); - result = localVarName; - } - break; case WirePortDataType.FLOAT4x4: { string localVal = CreateLocalValueName( currentPrecision , oldType , localVarName , ( ( useRealValue ) ? value.ToString() : parameterName ) ); @@ -1874,13 +1854,8 @@ namespace AmplifyShaderEditor result = localVarName; } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: - { - string localVal = CreateLocalValueName( currentPrecision , oldType , localVarName , ( ( useRealValue ) ? value.ToString() : parameterName ) ); - dataCollector.AddToLocalVariables( dataCollector.PortCategory , -1 , localVal ); - result = localVarName; - } - break; case WirePortDataType.FLOAT4x4: { string localVal = CreateLocalValueName( currentPrecision , oldType , localVarName , ( ( useRealValue ) ? value.ToString() : parameterName ) ); @@ -1947,15 +1922,24 @@ namespace AmplifyShaderEditor return true; } break; + case WirePortDataType.FLOAT2x2: + { + if( to == WirePortDataType.FLOAT3x3 || + to == WirePortDataType.FLOAT4x4 ) + return true; + } + break; case WirePortDataType.FLOAT3x3: { - if( to == WirePortDataType.FLOAT4x4 ) + if( to == WirePortDataType.FLOAT2x2 || + to == WirePortDataType.FLOAT4x4 ) return true; } break; case WirePortDataType.FLOAT4x4: { - if( to == WirePortDataType.FLOAT3x3 ) + if( to == WirePortDataType.FLOAT2x2 || + to == WirePortDataType.FLOAT3x3 ) return true; } break; @@ -3161,19 +3145,20 @@ namespace AmplifyShaderEditor return body; } - public static RenderTexture DummyRT + public static RenderTexture PreviewDisabledRT { get { - if( m_dummyPreviewRT == null ) + if( m_previewDisabledRT == null ) { - m_dummyPreviewRT = new RenderTexture( 128 , 128 , 0 , RenderTextureFormat.ARGB32 ); + Texture2D previewDisabledTex = AssetDatabase.LoadAssetAtPath( AssetDatabase.GUIDToAssetPath( "ecc13992716d1174aa27e126e4e9b66e" ) ); + m_previewDisabledRT = new RenderTexture( 128 , 128 , 0 , RenderTextureFormat.ARGB32 ); RenderTexture temp = RenderTexture.active; - RenderTexture.active = m_dummyPreviewRT; - Graphics.Blit( Texture2D.blackTexture , m_dummyPreviewRT ); + RenderTexture.active = m_previewDisabledRT; + Graphics.Blit( previewDisabledTex, m_previewDisabledRT ); RenderTexture.active = temp; } - return m_dummyPreviewRT; + return m_previewDisabledRT; } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UIUtils.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UIUtils.cs.meta index 742c0782..b61f3616 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UIUtils.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UIUtils.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/UIUtils.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UIUtils.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UndoUtils.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UndoUtils.cs.meta index ae5e6445..abff2f25 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UndoUtils.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UndoUtils.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/UndoUtils.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UndoUtils.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UpperLeftWidgetHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UpperLeftWidgetHelper.cs.meta index d0608815..62d8b45b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UpperLeftWidgetHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UpperLeftWidgetHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/UpperLeftWidgetHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/UpperLeftWidgetHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/WindowHelper.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/WindowHelper.cs.meta index 1252a187..81d00e5a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/WindowHelper.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/WindowHelper.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/WindowHelper.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/WindowHelper.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/WindowsUtil.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/WindowsUtil.cs.meta index bc11aaac..d0a6f72c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/WindowsUtil.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/WindowsUtil.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Utils/WindowsUtil.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Utils/WindowsUtil.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/About.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/About.cs.meta index c494cf7f..6902ef52 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/About.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/About.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Version/About.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/About.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/VersionInfo.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/VersionInfo.cs index 6eb7e9ea..89f8526a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/VersionInfo.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/VersionInfo.cs @@ -10,8 +10,8 @@ namespace AmplifyShaderEditor { public const byte Major = 1; public const byte Minor = 9; - public const byte Release = 8; - public static byte Revision = 1; + public const byte Release = 9; + public static byte Revision = 4; public static string StaticToString() { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/VersionInfo.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/VersionInfo.cs.meta index ed32abd0..2752fcc5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/VersionInfo.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/VersionInfo.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Version/VersionInfo.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Version/VersionInfo.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/GLDraw.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/GLDraw.cs.meta index 48c63db3..2341e501 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/GLDraw.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/GLDraw.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Wires/GLDraw.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/GLDraw.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/InputPort.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/InputPort.cs index bbbe8a29..d804a0f4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/InputPort.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/InputPort.cs @@ -266,6 +266,7 @@ namespace AmplifyShaderEditor } } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { @@ -275,15 +276,18 @@ namespace AmplifyShaderEditor } else { - int count = Mathf.Min( data.Length, 16 ); + int size = 4; + size = ( m_dataType == WirePortDataType.FLOAT3x3 ) ? 3 : size; + size = ( m_dataType == WirePortDataType.FLOAT2x2 ) ? 2 : size; + int overallIdx = 0; for( int i = 0; i < 4; i++ ) { for( int j = 0; j < 4; j++ ) { - if( overallIdx < count ) + if ( i < size && j < size ) { - m_previewInternalMatrix4x4[ i, j ] = Convert.ToSingle( data[ overallIdx ] ); + m_previewInternalMatrix4x4[ i, j ] = Convert.ToSingle( data[ i * size + j ] ); } else { @@ -359,14 +363,23 @@ namespace AmplifyShaderEditor m_internalDataWrapper = "float4( {0} )"; } break; + case WirePortDataType.FLOAT2x2: + { + m_internalData = m_previewInternalMatrix4x4[ 0, 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 0, 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + + m_previewInternalMatrix4x4[ 1, 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 1, 1 ].ToString(); + + m_internalDataWrapper = "float2x2( {0} )"; + + } + break; case WirePortDataType.FLOAT3x3: { m_internalData = m_previewInternalMatrix4x4[ 0, 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 0, 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 0, 2 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 1, 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 1, 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 1, 2 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 2, 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 2, 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 2, 2 ].ToString(); - m_internalDataWrapper = "float3x3( {0} )"; - + m_internalDataWrapper = "float3x3( {0} )"; + } break; case WirePortDataType.FLOAT4x4: @@ -376,12 +389,38 @@ namespace AmplifyShaderEditor m_previewInternalMatrix4x4[ 2, 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 2, 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 2, 2 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 2, 3 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 3, 0 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 3, 1 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 3, 2 ].ToString() + IOUtils.VECTOR_SEPARATOR + m_previewInternalMatrix4x4[ 3, 3 ].ToString(); - m_internalDataWrapper = "float4x4( {0} )"; + m_internalDataWrapper = "float4x4( {0} )"; } break; } } + //This gets the 2x2 matrix inside of the 4x4 + private string Matrix2x2WrappedData() + { + string tempInternal = string.Empty; + + string[] data = String.IsNullOrEmpty( m_internalData ) ? null : m_internalData.Split( IOUtils.VECTOR_SEPARATOR ); + if ( data.Length == 16 ) + { + int o = 0; + for ( int i = 0; i < 3; i++ ) + { + if ( i == 2 || i == 4 ) + o += 2; + tempInternal += data[ i + o ] + IOUtils.VECTOR_SEPARATOR; + } + + tempInternal += data[ 5 ]; + + return String.Format( m_internalDataWrapper, tempInternal ); + } + else + { + return String.Format( m_internalDataWrapper, m_internalData ); + } + } + //This gets the 3x3 matrix inside of the 4x4 private string Matrix3x3WrappedData() { @@ -439,7 +478,9 @@ namespace AmplifyShaderEditor else { UpdateInternalDataFromVariables( true ); - if( DataType == WirePortDataType.FLOAT3x3 ) + if ( DataType == WirePortDataType.FLOAT2x2 ) + result = Matrix2x2WrappedData(); + else if ( DataType == WirePortDataType.FLOAT3x3 ) result = Matrix3x3WrappedData(); else if( DataType == WirePortDataType.SAMPLER2D ) result = SamplerWrappedData( ref dataCollector ); @@ -467,7 +508,9 @@ namespace AmplifyShaderEditor UpdateInternalDataFromVariables( true ); if( !String.IsNullOrEmpty( m_internalDataWrapper ) ) { - if( DataType == WirePortDataType.FLOAT3x3 ) + if ( DataType == WirePortDataType.FLOAT2x2 ) + result = Matrix2x2WrappedData(); + else if ( DataType == WirePortDataType.FLOAT3x3 ) result = Matrix3x3WrappedData(); else result = String.Format( m_internalDataWrapper, m_internalData ); @@ -502,7 +545,9 @@ namespace AmplifyShaderEditor UpdateInternalDataFromVariables( true ); if( !String.IsNullOrEmpty( m_internalDataWrapper ) ) { - if( DataType == WirePortDataType.FLOAT3x3 ) + if ( DataType == WirePortDataType.FLOAT2x2 ) + result = Matrix2x2WrappedData(); + else if ( DataType == WirePortDataType.FLOAT3x3 ) result = Matrix3x3WrappedData(); else result = String.Format( m_internalDataWrapper, m_internalData ); @@ -599,6 +644,26 @@ namespace AmplifyShaderEditor Vector4InternalData = owner.EditorGUIVector4Field( rect, label, Vector4InternalData ); } break; + case WirePortDataType.FLOAT2x2: + { + Matrix4x4 matrix = Matrix4x4InternalData; + Vector2 currVec2 = Vector2.zero; + for ( int i = 0; i < 2; i++ ) + { + Vector4 currVec = matrix.GetRow( i ); + currVec2.Set( currVec.x, currVec.y ); + EditorGUI.BeginChangeCheck(); + currVec2 = owner.EditorGUIVector2Field( rect, label + "[ " + i + " ]", currVec2 ); + rect.y += 2 * EditorGUIUtility.singleLineHeight; + if ( EditorGUI.EndChangeCheck() ) + { + currVec.Set( currVec2.x, currVec2.y, currVec.z, currVec.w ); + matrix.SetRow( i, currVec ); + } + } + Matrix4x4InternalData = matrix; + } + break; case WirePortDataType.FLOAT3x3: { Matrix4x4 matrix = Matrix4x4InternalData; @@ -675,6 +740,25 @@ namespace AmplifyShaderEditor Vector4InternalData = owner.EditorGUILayoutVector4Field( label, Vector4InternalData ); } break; + case WirePortDataType.FLOAT2x2: + { + Matrix4x4 matrix = Matrix4x4InternalData; + Vector2 currVec2 = Vector2.zero; + for ( int i = 0; i < 2; i++ ) + { + Vector4 currVec = matrix.GetRow( i ); + currVec2.Set( currVec.x, currVec.y ); + EditorGUI.BeginChangeCheck(); + currVec2 = owner.EditorGUILayoutVector2Field( label + "[ " + i + " ]", currVec2 ); + if ( EditorGUI.EndChangeCheck() ) + { + currVec.Set( currVec2.x, currVec2.y, currVec.z, currVec.w ); + matrix.SetRow( i, currVec ); + } + } + Matrix4x4InternalData = matrix; + } + break; case WirePortDataType.FLOAT3x3: { Matrix4x4 matrix = Matrix4x4InternalData; @@ -733,7 +817,7 @@ namespace AmplifyShaderEditor case WirePortDataType.UINT: case WirePortDataType.INT: return m_previewInternalInt == 0; case WirePortDataType.FLOAT2: - return (Mathf.Abs( m_previewInternalVec2.x ) < 0.001f && + return (Mathf.Abs( m_previewInternalVec2.x ) < 0.001f && Mathf.Abs( m_previewInternalVec2.y ) < 0.001f); case WirePortDataType.FLOAT3: return (Mathf.Abs( m_previewInternalVec3.x ) < 0.001f && @@ -863,6 +947,7 @@ namespace AmplifyShaderEditor case WirePortDataType.FLOAT2: m_previewInternalVec2.x = m_previewInternalFloat; break; case WirePortDataType.FLOAT3: m_previewInternalVec3.x = m_previewInternalFloat; break; case WirePortDataType.FLOAT4: m_previewInternalVec4.x = m_previewInternalFloat; break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { @@ -891,6 +976,7 @@ namespace AmplifyShaderEditor m_previewInternalVec4.y = m_previewInternalVec2.y; break; } + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { @@ -925,6 +1011,7 @@ namespace AmplifyShaderEditor m_previewInternalVec4.z = m_previewInternalVec3.z; break; } + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { @@ -960,6 +1047,7 @@ namespace AmplifyShaderEditor m_previewInternalVec3.z = m_previewInternalVec4.z; break; } + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { @@ -978,6 +1066,7 @@ namespace AmplifyShaderEditor } break; } + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { @@ -1010,6 +1099,7 @@ namespace AmplifyShaderEditor m_previewInternalVec4.w = m_previewInternalColor.a; break; } + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { @@ -1028,8 +1118,9 @@ namespace AmplifyShaderEditor case WirePortDataType.FLOAT2: m_previewInternalVec2.x = m_previewInternalInt; break; case WirePortDataType.FLOAT3: m_previewInternalVec3.x = m_previewInternalInt; break; case WirePortDataType.FLOAT4: m_previewInternalVec4.x = m_previewInternalInt; break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: - case WirePortDataType.FLOAT4x4: + case WirePortDataType.FLOAT4x4: { // @diogo: not applicable break; @@ -1178,7 +1269,7 @@ namespace AmplifyShaderEditor { if( m_inputPreviewTexture == null ) { - m_inputPreviewTexture = new RenderTexture( Constants.PreviewSize , Constants.PreviewSize , 0, Constants.PreviewFormat , RenderTextureReadWrite.Linear ); + m_inputPreviewTexture = new RenderTexture( Preferences.User.PreviewSize , Preferences.User.PreviewSize , 0, Preferences.User.PreviewFormat , RenderTextureReadWrite.Linear ); m_inputPreviewTexture.wrapMode = TextureWrapMode.Repeat; } @@ -1228,6 +1319,7 @@ namespace AmplifyShaderEditor InputPreviewMaterial.SetColor( CachedColorPropertyID, m_previewInternalColor ); } break; + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: { @@ -1394,6 +1486,7 @@ namespace AmplifyShaderEditor case WirePortDataType.FLOAT2: case WirePortDataType.FLOAT3: case WirePortDataType.FLOAT4: + case WirePortDataType.FLOAT2x2: case WirePortDataType.FLOAT3x3: case WirePortDataType.FLOAT4x4: case WirePortDataType.COLOR: diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/InputPort.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/InputPort.cs.meta index 5259ee01..8c132e05 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/InputPort.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/InputPort.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Wires/InputPort.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/InputPort.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/OutputPort.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/OutputPort.cs index 4a2557b8..2805147b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/OutputPort.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/OutputPort.cs @@ -50,6 +50,7 @@ namespace AmplifyShaderEditor case WirePortDataType.FLOAT3: value = "half3(0,0,0)"; break; case WirePortDataType.COLOR: case WirePortDataType.FLOAT4: value = "half4(0,0,0,0)"; break; + case WirePortDataType.FLOAT2x2: value = "half2x2(0,0,0,0)"; break; case WirePortDataType.FLOAT3x3: value = "half3x3(0,0,0,0,0,0,0,0,0)"; break; case WirePortDataType.FLOAT4x4: value = "half4x4(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)"; break; } @@ -258,12 +259,12 @@ namespace AmplifyShaderEditor { if( Preferences.User.DisablePreviews ) { - return UIUtils.DummyRT; + return UIUtils.PreviewDisabledRT; } if( m_outputPreview == null ) { - m_outputPreview = new RenderTexture( Constants.PreviewSize , Constants.PreviewSize , 0 , Constants.PreviewFormat , RenderTextureReadWrite.Linear ); + m_outputPreview = new RenderTexture( Preferences.User.PreviewSize , Preferences.User.PreviewSize , 0 , Preferences.User.PreviewFormat , RenderTextureReadWrite.Linear ); m_outputPreview.wrapMode = TextureWrapMode.Repeat; if( OnNewPreviewRTCreatedEvent != null ) OnNewPreviewRTCreatedEvent(); diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/OutputPort.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/OutputPort.cs.meta index 7b39ee5d..9aa8c839 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/OutputPort.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/OutputPort.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Wires/OutputPort.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/OutputPort.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WireBezierReference.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WireBezierReference.cs.meta index b8cdf918..00da801e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WireBezierReference.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WireBezierReference.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Wires/WireBezierReference.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WireBezierReference.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WirePort.cs b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WirePort.cs index c7e1b078..8142d994 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WirePort.cs +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WirePort.cs @@ -26,7 +26,8 @@ namespace AmplifyShaderEditor UINT = 1 << 14, SAMPLER2DARRAY = 1 << 15, SAMPLERSTATE = 1 << 16, - UINT4 = 1 << 17 + UINT4 = 1 << 17, + FLOAT2x2 = 1 << 18 } public enum VariableQualifiers @@ -578,6 +579,11 @@ namespace AmplifyShaderEditor set { m_isEditable = value; } } + public bool DataTypeIsMatrix + { + get { return DataType == WirePortDataType.FLOAT2x2 || DataType == WirePortDataType.FLOAT3x3 || DataType == WirePortDataType.FLOAT4x4; } + } + public bool Available { get { return m_visible && !m_locked; } } public override string ToString() { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WirePort.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WirePort.cs.meta index fc2ee96e..023a97a8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WirePort.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WirePort.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Wires/WirePort.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WirePort.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WireReference.cs.meta b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WireReference.cs.meta index e3c37585..97019347 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WireReference.cs.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WireReference.cs.meta @@ -14,6 +14,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/Editor/Wires/WireReference.cs - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/Editor/Wires/WireReference.cs + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/GUISkins/MainSkin.guiskin.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/GUISkins/MainSkin.guiskin.meta index 95b1e650..5d137123 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/GUISkins/MainSkin.guiskin.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/GUISkins/MainSkin.guiskin.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/GUISkins/MainSkin.guiskin - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/GUISkins/MainSkin.guiskin + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/Bezier1X2AA.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/Bezier1X2AA.png.meta index a5da5792..4c503cc5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/Bezier1X2AA.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/Bezier1X2AA.png.meta @@ -61,6 +61,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Nodes/Bezier1X2AA.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/Bezier1X2AA.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/GPUInstancingIconOFF.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/GPUInstancingIconOFF.png.meta index c3776115..f0ad418c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/GPUInstancingIconOFF.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/GPUInstancingIconOFF.png.meta @@ -60,6 +60,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Nodes/GPUInstancingIconOFF.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/GPUInstancingIconOFF.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/GPUInstancingIconON.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/GPUInstancingIconON.png.meta index df31fe94..30c79666 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/GPUInstancingIconON.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/GPUInstancingIconON.png.meta @@ -60,6 +60,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Nodes/GPUInstancingIconON.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/GPUInstancingIconON.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/LinkIcon.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/LinkIcon.png.meta index ee057362..a928c57d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/LinkIcon.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/LinkIcon.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Nodes/LinkIcon.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/LinkIcon.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/MasterNodeIconOFF.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/MasterNodeIconOFF.png.meta index 88cd06c8..d04a3b22 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/MasterNodeIconOFF.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/MasterNodeIconOFF.png.meta @@ -60,6 +60,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Nodes/MasterNodeIconOFF.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/MasterNodeIconOFF.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/MasterNodeIconON.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/MasterNodeIconON.png.meta index c14c8ca4..c172aa81 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/MasterNodeIconON.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/MasterNodeIconON.png.meta @@ -60,6 +60,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Nodes/MasterNodeIconON.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/MasterNodeIconON.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/TextureReferenceBg.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/TextureReferenceBg.png.meta index 22b12be1..0e499e29 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/TextureReferenceBg.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/TextureReferenceBg.png.meta @@ -118,6 +118,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Nodes/TextureReferenceBg.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Nodes/TextureReferenceBg.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/IndirectSpecularPreview.exr.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/IndirectSpecularPreview.exr.meta index c6ad9e69..6e32d68f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/IndirectSpecularPreview.exr.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/IndirectSpecularPreview.exr.meta @@ -71,6 +71,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/IndirectSpecularPreview.exr - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/IndirectSpecularPreview.exr + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/LinearPreviews.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/LinearPreviews.shader index 899203d2..7434679b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/LinearPreviews.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/LinearPreviews.shader @@ -68,7 +68,7 @@ Shader "Hidden/LinearMaterial" c.rgb *= _Mask.rgb; c.a = tex2D( _GUIClipTexture, i.clipUV ).a; - return c; + return saturate( c ); } ENDCG } @@ -119,7 +119,7 @@ Shader "Hidden/LinearMaterial" c.rgb *= alpha; c.a = tex2D( _GUIClipTexture, i.clipUV ).a; - return c; + return saturate( c ); } ENDCG } @@ -170,7 +170,7 @@ Shader "Hidden/LinearMaterial" c.rgb = lerp( back, c.rgb, c.a ); c.a = tex2D( _GUIClipTexture, i.clipUV ).a; - return c; + return saturate( c ); } ENDCG } @@ -224,7 +224,7 @@ Shader "Hidden/LinearMaterial" c.rgb = lerp( back, c.rgb, c.a * alpha); c.a = tex2D( _GUIClipTexture, i.clipUV ).a; - return c; + return saturate( c ); } ENDCG } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/LinearPreviews.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/LinearPreviews.shader.meta index 74b835e3..a89cd54d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/LinearPreviews.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/LinearPreviews.shader.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/LinearPreviews.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/LinearPreviews.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview.cginc.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview.cginc.meta index e77ecb04..2577fdf5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview.cginc.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview.cginc.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview.cginc - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview.cginc + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ACosOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ACosOpNode.shader.meta index c14e139e..a6a38b77 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ACosOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ACosOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ACosOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ACosOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ASinOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ASinOpNode.shader.meta index c866b1c8..ac82390e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ASinOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ASinOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ASinOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ASinOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ATan2OpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ATan2OpNode.shader.meta index 8153937a..5fccd2c8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ATan2OpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ATan2OpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ATan2OpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ATan2OpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ATanOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ATanOpNode.shader.meta index e9c2b7d2..25916751 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ATanOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ATanOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ATanOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ATanOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AbsOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AbsOpNode.shader.meta index 11e8ed04..3e708c3e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AbsOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AbsOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AbsOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AbsOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AllNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AllNode.shader.meta index 50ff679b..3face691 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AllNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AllNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AllNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AllNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AnyNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AnyNode.shader.meta index b202d2c1..94202ab7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AnyNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AnyNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AnyNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AnyNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AppendNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AppendNode.shader.meta index a70e5f8e..65768d70 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AppendNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AppendNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AppendNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_AppendNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BlendNormalsNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BlendNormalsNode.shader.meta index 128f98cd..942a895a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BlendNormalsNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BlendNormalsNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BlendNormalsNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BlendNormalsNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BlendOpsNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BlendOpsNode.shader.meta index 8116b491..0a8141a6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BlendOpsNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BlendOpsNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BlendOpsNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BlendOpsNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BreakToComponentsNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BreakToComponentsNode.shader.meta index dc4b6d57..e8e9523f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BreakToComponentsNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BreakToComponentsNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BreakToComponentsNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_BreakToComponentsNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CameraDirection.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CameraDirection.shader new file mode 100644 index 00000000..dc803ac4 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CameraDirection.shader @@ -0,0 +1,20 @@ +Shader "Hidden/CameraDirection" +{ + SubShader + { + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragment frag + #include "UnityCG.cginc" + #include "Preview.cginc" + + float4 frag( v2f_img i ) : SV_Target + { + return float4( -UNITY_MATRIX_V[ 2 ].xyz, 0 ); + } + ENDCG + } + } +} diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CameraDirection.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CameraDirection.shader.meta new file mode 100644 index 00000000..58145a64 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CameraDirection.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 61e2b74575969cb4c8746f6e41267b12 +timeCreated: 1488289785 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CameraDirection.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CeilOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CeilOpNode.shader.meta index e92aae3f..f1782492 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CeilOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CeilOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CeilOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CeilOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ClampOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ClampOpNode.shader.meta index 9b559c99..9acb3e5d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ClampOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ClampOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ClampOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ClampOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Clip.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Clip.shader.meta index 5fafdbc1..61dee391 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Clip.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Clip.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Clip.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Clip.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ClipPlanes.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ClipPlanes.shader.meta index 026b2209..5f62bd7c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ClipPlanes.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ClipPlanes.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ClipPlanes.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ClipPlanes.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ColorNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ColorNode.shader.meta index 9a88bd1b..8b40a191 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ColorNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ColorNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ColorNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ColorNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ColorSpaceDouble.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ColorSpaceDouble.shader.meta index 68f51f8c..6860fd31 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ColorSpaceDouble.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ColorSpaceDouble.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ColorSpaceDouble.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ColorSpaceDouble.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Compare.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Compare.shader.meta index eaf910f5..5ed3b474 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Compare.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Compare.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Compare.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Compare.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComponentMaskNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComponentMaskNode.shader.meta index 7725fe13..c79211c4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComponentMaskNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComponentMaskNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComponentMaskNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComponentMaskNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader.meta index 79a2c2aa..4d3ace11 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ComputeScreenPos.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ConditionalIfNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ConditionalIfNode.shader.meta index 3014d154..7c34b176 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ConditionalIfNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ConditionalIfNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ConditionalIfNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ConditionalIfNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CosOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CosOpNode.shader.meta index 84a2535d..9668f792 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CosOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CosOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CosOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CosOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CosTime.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CosTime.shader.meta index 824e9a27..9a98f5a9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CosTime.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CosTime.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CosTime.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CosTime.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CoshOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CoshOpNode.shader.meta index 33aa84c1..ec781f18 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CoshOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CoshOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CoshOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CoshOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CrossProductOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CrossProductOpNode.shader.meta index c59cd0ab..ca257e6a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CrossProductOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CrossProductOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CrossProductOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_CrossProductOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DdxOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DdxOpNode.shader.meta index aa76aa40..92f7a54e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DdxOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DdxOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DdxOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DdxOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DdyOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DdyOpNode.shader.meta index 680d9303..bbf6022b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DdyOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DdyOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DdyOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DdyOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeDepthNormalNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeDepthNormalNode.shader.meta index 45b11d18..ba17298d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeDepthNormalNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeDepthNormalNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeDepthNormalNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeDepthNormalNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeFloatRGBAHlpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeFloatRGBAHlpNode.shader.meta index a845d991..546dd841 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeFloatRGBAHlpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeFloatRGBAHlpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeFloatRGBAHlpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeFloatRGBAHlpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeFloatRGHlpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeFloatRGHlpNode.shader.meta index 15a53875..1787c9c3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeFloatRGHlpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeFloatRGHlpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeFloatRGHlpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeFloatRGHlpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeLightmapHlpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeLightmapHlpNode.shader.meta index ae5ac7f2..71c69c88 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeLightmapHlpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeLightmapHlpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeLightmapHlpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeLightmapHlpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeViewNormalStereoHlpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeViewNormalStereoHlpNode.shader.meta index 86d92a3e..4008ac42 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeViewNormalStereoHlpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeViewNormalStereoHlpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeViewNormalStereoHlpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DecodeViewNormalStereoHlpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DegreesOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DegreesOpNode.shader.meta index c3f50a72..2965b723 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DegreesOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DegreesOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DegreesOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DegreesOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DeltaTime.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DeltaTime.shader.meta index 30ca5a60..edc16a60 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DeltaTime.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DeltaTime.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DeltaTime.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DeltaTime.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DesaturateNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DesaturateNode.shader.meta index d95ffa35..3792c1c5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DesaturateNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DesaturateNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DesaturateNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DesaturateNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DiffuseAndSpecularFromMetallic.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DiffuseAndSpecularFromMetallic.shader.meta index 4e62e69d..60e2ee89 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DiffuseAndSpecularFromMetallic.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DiffuseAndSpecularFromMetallic.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DiffuseAndSpecularFromMetallic.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DiffuseAndSpecularFromMetallic.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DistanceOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DistanceOpNode.shader.meta index 861e5c9b..16c3b966 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DistanceOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DistanceOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DistanceOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DistanceOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DotProductOpNode.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DotProductOpNode.shader index f99a3670..8384ed85 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DotProductOpNode.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DotProductOpNode.shader @@ -17,15 +17,15 @@ Shader "Hidden/DotProductOpNode" sampler2D _A; sampler2D _B; - int _Type_PID; + int _Type; float4 frag(v2f_img i) : SV_Target { float4 a = tex2D(_A, i.uv); float4 b = tex2D(_B, i.uv); - + float result; - switch ( _Type_PID ) + switch ( _Type ) { case 1: result = dot( a.x, b.x ); break; case 2: result = dot( a.xy, b.xy ); break; diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DotProductOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DotProductOpNode.shader.meta index a3504ede..cae7610b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DotProductOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DotProductOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DotProductOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DotProductOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DynamicAppendNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DynamicAppendNode.shader.meta index c645049e..7f458e64 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DynamicAppendNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DynamicAppendNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DynamicAppendNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_DynamicAppendNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeFloatRGBAHlpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeFloatRGBAHlpNode.shader.meta index c8acfa79..c80272ff 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeFloatRGBAHlpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeFloatRGBAHlpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeFloatRGBAHlpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeFloatRGBAHlpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeFloatRGHlpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeFloatRGHlpNode.shader.meta index 16f94992..1bdc1c80 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeFloatRGHlpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeFloatRGHlpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeFloatRGHlpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeFloatRGHlpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeViewNormalStereoHlpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeViewNormalStereoHlpNode.shader.meta index 1c8a19d2..4a0e720f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeViewNormalStereoHlpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeViewNormalStereoHlpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeViewNormalStereoHlpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EncodeViewNormalStereoHlpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Exp2OpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Exp2OpNode.shader.meta index 41876bf1..93c58d67 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Exp2OpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Exp2OpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Exp2OpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Exp2OpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ExpOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ExpOpNode.shader.meta index 940a0dd2..3b01cdb7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ExpOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ExpOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ExpOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ExpOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EyeIndex.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EyeIndex.shader new file mode 100644 index 00000000..84d53dd1 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EyeIndex.shader @@ -0,0 +1,20 @@ +Shader "Hidden/EyeIndex" +{ + SubShader + { + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragment frag + #include "UnityCG.cginc" + #include "Preview.cginc" + + float4 frag( v2f_img i ) : SV_Target + { + return unity_StereoEyeIndex; + } + ENDCG + } + } +} diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EyeIndex.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EyeIndex.shader.meta new file mode 100644 index 00000000..989e9e9c --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EyeIndex.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 4ddc7827e3370c54b920471c2f47cdc9 +timeCreated: 1488289785 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_EyeIndex.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FWidthOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FWidthOpNode.shader.meta index 8260f8a9..f4090471 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FWidthOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FWidthOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FWidthOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FWidthOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FaceVariableNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FaceVariableNode.shader.meta index 30d084c0..adc11100 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FaceVariableNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FaceVariableNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FaceVariableNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FaceVariableNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FlipNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FlipNode.shader.meta index 80bfa776..092dcba1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FlipNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FlipNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FlipNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FlipNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FloorOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FloorOpNode.shader.meta index 206b3dde..9d042362 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FloorOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FloorOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FloorOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FloorOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FmodOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FmodOpNode.shader.meta index 6d2acc2f..40544631 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FmodOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FmodOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FmodOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FmodOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FogAndAmbientColors.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FogAndAmbientColors.shader.meta index 4e680e4c..f70febba 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FogAndAmbientColors.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FogAndAmbientColors.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FogAndAmbientColors.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FogAndAmbientColors.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FogParams.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FogParams.shader.meta index d6de97aa..5ed22dab 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FogParams.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FogParams.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FogParams.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FogParams.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FractNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FractNode.shader.meta index d11c0375..616c1850 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FractNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FractNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FractNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FractNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FresnelNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FresnelNode.shader.meta index 613f53b4..9e69f902 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FresnelNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FresnelNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FresnelNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FresnelNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionInputNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionInputNode.shader.meta index 648a9110..fa6de8b9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionInputNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionInputNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionInputNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionInputNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionNode.shader.meta index afadafa0..02266950 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionOutputNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionOutputNode.shader.meta index 17ae4529..21d1bad7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionOutputNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionOutputNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionOutputNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_FunctionOutputNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GammaToLinearNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GammaToLinearNode.shader.meta index c678b6e0..6919211f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GammaToLinearNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GammaToLinearNode.shader.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GammaToLinearNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GammaToLinearNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GetLocalVarNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GetLocalVarNode.shader.meta index 5682b52f..93e01277 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GetLocalVarNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GetLocalVarNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GetLocalVarNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GetLocalVarNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GradientSample.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GradientSample.shader.meta index 0a83933c..b45cfaab 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GradientSample.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GradientSample.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GradientSample.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GradientSample.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GrayscaleNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GrayscaleNode.shader.meta index dd73bb6e..97921019 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GrayscaleNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GrayscaleNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GrayscaleNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_GrayscaleNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HSVToRGBNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HSVToRGBNode.shader.meta index 7a55cf5f..ac82361f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HSVToRGBNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HSVToRGBNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HSVToRGBNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HSVToRGBNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HeightMapTextureBlend.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HeightMapTextureBlend.shader.meta index 95b11aea..d3bda0cb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HeightMapTextureBlend.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HeightMapTextureBlend.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HeightMapTextureBlend.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_HeightMapTextureBlend.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IndirectDiffuseLight.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IndirectDiffuseLight.shader.meta index 9ef12c1d..22531dea 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IndirectDiffuseLight.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IndirectDiffuseLight.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IndirectDiffuseLight.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IndirectDiffuseLight.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IndirectSpecularLight.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IndirectSpecularLight.shader.meta index 41c60a91..f7edda6a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IndirectSpecularLight.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IndirectSpecularLight.shader.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IndirectSpecularLight.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IndirectSpecularLight.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_InstanceIDNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_InstanceIDNode.shader.meta index 82b61875..079cc54b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_InstanceIDNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_InstanceIDNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_InstanceIDNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_InstanceIDNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IntNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IntNode.shader.meta index 422e39dd..a35632f5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IntNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IntNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IntNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IntNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IsInfinite.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IsInfinite.shader.meta index 2174d499..0db50fb6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IsInfinite.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IsInfinite.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IsInfinite.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IsInfinite.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IsNaN.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IsNaN.shader.meta index b87ccd13..06545d6b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IsNaN.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IsNaN.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IsNaN.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_IsNaN.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LODFadeNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LODFadeNode.shader.meta index 51d08d62..51839d90 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LODFadeNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LODFadeNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LODFadeNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LODFadeNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LayeredBlendNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LayeredBlendNode.shader.meta index 8a9b35b7..4eb86df7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LayeredBlendNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LayeredBlendNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LayeredBlendNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LayeredBlendNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LengthOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LengthOpNode.shader.meta index 9141f38f..f79145bb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LengthOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LengthOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LengthOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LengthOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LerpOp.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LerpOp.shader.meta index d87b8ac6..606b87c7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LerpOp.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LerpOp.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LerpOp.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LerpOp.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LightAttenuation.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LightAttenuation.shader.meta index 57cae23b..a7977e10 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LightAttenuation.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LightAttenuation.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LightAttenuation.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LightAttenuation.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LightColorNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LightColorNode.shader.meta index beccd9c8..f6144c75 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LightColorNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LightColorNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LightColorNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LightColorNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LinearDepthNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LinearDepthNode.shader.meta index 8d8fad09..8d4e94ea 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LinearDepthNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LinearDepthNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LinearDepthNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LinearDepthNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LinearToGammaNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LinearToGammaNode.shader.meta index 32ce70de..7bc7fa44 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LinearToGammaNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LinearToGammaNode.shader.meta @@ -13,6 +13,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LinearToGammaNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LinearToGammaNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Log10OpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Log10OpNode.shader.meta index c59207e3..33f53e27 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Log10OpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Log10OpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Log10OpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Log10OpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Log2OpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Log2OpNode.shader.meta index 3d8d5e7c..a90330ce 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Log2OpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Log2OpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Log2OpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Log2OpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LogOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LogOpNode.shader.meta index c8367f1c..39a98383 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LogOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LogOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LogOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LogOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LuminanceNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LuminanceNode.shader.meta index 9c4918ff..63893c39 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LuminanceNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LuminanceNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LuminanceNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_LuminanceNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NaNNode.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NaNNode.shader new file mode 100644 index 00000000..220edce7 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NaNNode.shader @@ -0,0 +1,20 @@ +Shader "Hidden/NaNNode" +{ + SubShader + { + Pass + { + CGPROGRAM + #pragma vertex vert_img + #pragma fragment frag + #include "UnityCG.cginc" + #include "Preview.cginc" + + float4 frag(v2f_img i) : SV_Target + { + return asfloat( -1 ); + } + ENDCG + } + } +} diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NaNNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NaNNode.shader.meta new file mode 100644 index 00000000..1a0d1c88 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NaNNode.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 03fb3d95e1b55ab4cb38baad013bb0a7 +timeCreated: 1488289785 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NaNNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NandNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NandNode.shader.meta index 9e5f9413..17d79ea9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NandNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NandNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NandNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NandNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NegateNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NegateNode.shader.meta index 19d33e0d..4583f2f9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NegateNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NegateNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NegateNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NegateNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NodeMasking.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NodeMasking.shader.meta index 85305148..2d00194c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NodeMasking.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NodeMasking.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NodeMasking.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NodeMasking.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NoiseGeneratorNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NoiseGeneratorNode.shader.meta index 8e275dd8..5c127198 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NoiseGeneratorNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NoiseGeneratorNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NoiseGeneratorNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NoiseGeneratorNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NormalVertexDataNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NormalVertexDataNode.shader.meta index f5f136a0..d7c4af67 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NormalVertexDataNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NormalVertexDataNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NormalVertexDataNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NormalVertexDataNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NormalizeNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NormalizeNode.shader.meta index 4ed156af..98199bd7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NormalizeNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NormalizeNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NormalizeNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NormalizeNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NotNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NotNode.shader.meta index 129faae3..a97681c0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NotNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NotNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NotNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_NotNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjSpaceLightDirHlpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjSpaceLightDirHlpNode.shader.meta index 283e64d0..a3b32ca0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjSpaceLightDirHlpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjSpaceLightDirHlpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjSpaceLightDirHlpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjSpaceLightDirHlpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjSpaceViewDirHlpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjSpaceViewDirHlpNode.shader.meta index 11058156..c7f67fac 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjSpaceViewDirHlpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjSpaceViewDirHlpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjSpaceViewDirHlpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjSpaceViewDirHlpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectPositionNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectPositionNode.shader.meta index d9b5be8e..47c92a11 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectPositionNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectPositionNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectPositionNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectPositionNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectScaleNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectScaleNode.shader.meta index 6377ccc6..1df2f1a5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectScaleNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectScaleNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectScaleNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectScaleNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToClipPos.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToClipPos.shader.meta index d646ab7c..cde65252 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToClipPos.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToClipPos.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToClipPos.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToClipPos.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToViewPos.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToViewPos.shader.meta index bd012c0c..d237c917 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToViewPos.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToViewPos.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToViewPos.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToViewPos.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToWorldTransfNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToWorldTransfNode.shader.meta index 62ca5696..1a6ce4a4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToWorldTransfNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToWorldTransfNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToWorldTransfNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ObjectToWorldTransfNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_OneMinusNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_OneMinusNode.shader.meta index 08fe74ae..3b86b228 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_OneMinusNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_OneMinusNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_OneMinusNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_OneMinusNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_OrthoParams.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_OrthoParams.shader.meta index de13e7d7..26d1209d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_OrthoParams.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_OrthoParams.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_OrthoParams.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_OrthoParams.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PannerNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PannerNode.shader.meta index ca7b823f..160f1999 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PannerNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PannerNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PannerNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PannerNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ParallaxMappingNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ParallaxMappingNode.shader.meta index fc804e23..4c64c583 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ParallaxMappingNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ParallaxMappingNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ParallaxMappingNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ParallaxMappingNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ParallaxOffset.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ParallaxOffset.shader.meta index 18c014c8..796694e0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ParallaxOffset.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ParallaxOffset.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ParallaxOffset.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ParallaxOffset.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PiNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PiNode.shader.meta index 07c7371d..a832b234 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PiNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PiNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PiNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PiNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PosVertexDataNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PosVertexDataNode.shader.meta index d35411c3..3a208688 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PosVertexDataNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PosVertexDataNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PosVertexDataNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PosVertexDataNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PositionNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PositionNode.shader.meta index 6a19352c..e79ce084 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PositionNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PositionNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PositionNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PositionNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PosterizeNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PosterizeNode.shader.meta index c6b6b20a..f0049fff 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PosterizeNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PosterizeNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PosterizeNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PosterizeNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PowerNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PowerNode.shader.meta index 3260be75..3a57c2bb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PowerNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PowerNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PowerNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PowerNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PrimitiveIDVariableNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PrimitiveIDVariableNode.shader.meta index f9549f2f..a692475b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PrimitiveIDVariableNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PrimitiveIDVariableNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PrimitiveIDVariableNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_PrimitiveIDVariableNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ProjectionParams.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ProjectionParams.shader.meta index 27be6c3b..8e05868a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ProjectionParams.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ProjectionParams.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ProjectionParams.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ProjectionParams.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RGBToHSVNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RGBToHSVNode.shader.meta index 42738541..05051fbf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RGBToHSVNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RGBToHSVNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RGBToHSVNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RGBToHSVNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RadiansOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RadiansOpNode.shader.meta index d4a0a095..46c685e4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RadiansOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RadiansOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RadiansOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RadiansOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RangedFloatNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RangedFloatNode.shader.meta index 6a8b0c91..7d8772b6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RangedFloatNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RangedFloatNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RangedFloatNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RangedFloatNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReciprocalNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReciprocalNode.shader.meta index 8eb5431c..dc4fb1e3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReciprocalNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReciprocalNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReciprocalNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReciprocalNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReflectOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReflectOpNode.shader.meta index bdc96ce7..916b12f8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReflectOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReflectOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReflectOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReflectOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReflectionProbe.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReflectionProbe.shader.meta index cca960fe..336d7be3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReflectionProbe.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReflectionProbe.shader.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReflectionProbe.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ReflectionProbe.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RefractOpVec.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RefractOpVec.shader.meta index 458dc983..949a3be7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RefractOpVec.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RefractOpVec.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RefractOpVec.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RefractOpVec.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RegisterLocalVarNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RegisterLocalVarNode.shader.meta index b8214b6a..737e4d96 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RegisterLocalVarNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RegisterLocalVarNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RegisterLocalVarNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RegisterLocalVarNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RelayNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RelayNode.shader.meta index 7d73d032..308869ec 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RelayNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RelayNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RelayNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RelayNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader.meta index b5b42bec..626ac82b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RotatorNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RoundOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RoundOpNode.shader.meta index 3f51153a..d7273129 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RoundOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RoundOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RoundOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RoundOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RsqrtOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RsqrtOpNode.shader.meta index ebf695be..4152a7e8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RsqrtOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RsqrtOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RsqrtOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_RsqrtOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SamplerNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SamplerNode.shader.meta index db58774b..a3ff5910 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SamplerNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SamplerNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SamplerNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SamplerNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SaturateNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SaturateNode.shader.meta index 9d1cfa54..6fe518d7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SaturateNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SaturateNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SaturateNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SaturateNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScaleAndOffsetNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScaleAndOffsetNode.shader.meta index f4cabf4b..e1e7a4e3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScaleAndOffsetNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScaleAndOffsetNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScaleAndOffsetNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScaleAndOffsetNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScaleNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScaleNode.shader.meta index d711e3a2..f9fc6f8d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScaleNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScaleNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScaleNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScaleNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScreenParams.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScreenParams.shader.meta index fe70d260..74dd3433 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScreenParams.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScreenParams.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScreenParams.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScreenParams.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScreenPosInputsNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScreenPosInputsNode.shader.meta index 7dd9c94a..eb6a510b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScreenPosInputsNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScreenPosInputsNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScreenPosInputsNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ScreenPosInputsNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ShadeVertexLights.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ShadeVertexLights.shader.meta index f552488f..9ad3bb70 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ShadeVertexLights.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ShadeVertexLights.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ShadeVertexLights.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ShadeVertexLights.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SignOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SignOpNode.shader.meta index c8ff6a5f..41a46000 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SignOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SignOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SignOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SignOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleAddOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleAddOpNode.shader.meta index 430c72b1..51ca5464 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleAddOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleAddOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleAddOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleAddOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleContrastNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleContrastNode.shader.meta index a2ab2b1e..cafda7f5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleContrastNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleContrastNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleContrastNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleContrastNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleDivideOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleDivideOpNode.shader.meta index decdf461..0d02470e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleDivideOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleDivideOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleDivideOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleDivideOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMaxOp.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMaxOp.shader.meta index a21bd9a2..7eaea7f1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMaxOp.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMaxOp.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMaxOp.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMaxOp.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMinNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMinNode.shader.meta index 698a0f07..465bffb6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMinNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMinNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMinNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMinNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMultiplyOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMultiplyOpNode.shader.meta index a3c1607c..f0591769 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMultiplyOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMultiplyOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMultiplyOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleMultiplyOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleRemainderNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleRemainderNode.shader.meta index de83328d..7b98478f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleRemainderNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleRemainderNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleRemainderNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleRemainderNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleSubtractOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleSubtractOpNode.shader.meta index 50a5407c..9685b785 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleSubtractOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleSubtractOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleSubtractOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleSubtractOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleTimeNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleTimeNode.shader.meta index 4916d890..c8667970 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleTimeNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleTimeNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleTimeNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimpleTimeNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimplifiedFModOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimplifiedFModOpNode.shader.meta index 72b060a4..23d9e2d7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimplifiedFModOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimplifiedFModOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimplifiedFModOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SimplifiedFModOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinOpNode.shader.meta index 7bf30ca1..55df6016 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinTimeNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinTimeNode.shader.meta index a46a68a1..f2f574fb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinTimeNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinTimeNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinTimeNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinTimeNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinhOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinhOpNode.shader.meta index 52f1ad03..bd6ba89e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinhOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinhOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinhOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SinhOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SmoothstepOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SmoothstepOpNode.shader.meta index 6daf871f..54531c38 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SmoothstepOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SmoothstepOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SmoothstepOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SmoothstepOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SqrtOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SqrtOpNode.shader.meta index 5ed4a497..50e87e86 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SqrtOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SqrtOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SqrtOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SqrtOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_StaticSwitchNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_StaticSwitchNode.shader.meta index 9debd369..7c6c7ff3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_StaticSwitchNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_StaticSwitchNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_StaticSwitchNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_StaticSwitchNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_StepOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_StepOpNode.shader.meta index 05bf446d..1106ebf6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_StepOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_StepOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_StepOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_StepOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SummedBlendNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SummedBlendNode.shader.meta index 006e4be5..2fce6df2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SummedBlendNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SummedBlendNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SummedBlendNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SummedBlendNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchByFaceNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchByFaceNode.shader.meta index 470140f9..362f9c7d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchByFaceNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchByFaceNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchByFaceNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchByFaceNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchBySRPVersionNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchBySRPVersionNode.shader.meta index 588b6d23..72b57192 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchBySRPVersionNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchBySRPVersionNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchBySRPVersionNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchBySRPVersionNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchNode.shader.meta index ddc7ba30..b379ba4d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwitchNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwizzleNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwizzleNode.shader.meta index cf6d17c7..b2c8aa15 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwizzleNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwizzleNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwizzleNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_SwizzleNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareEqual.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareEqual.shader.meta index 83c74524..39025416 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareEqual.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareEqual.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareEqual.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareEqual.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareGreater.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareGreater.shader.meta index 64e2bbe4..f2c7c0ed 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareGreater.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareGreater.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareGreater.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareGreater.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareGreaterEqual.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareGreaterEqual.shader.meta index 85289cd7..fc44c470 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareGreaterEqual.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareGreaterEqual.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareGreaterEqual.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareGreaterEqual.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareLessNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareLessNode.shader.meta index 3bc81c82..30f92290 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareLessNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareLessNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareLessNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareLessNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareLowerEqual.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareLowerEqual.shader.meta index cab3780b..43e2d09b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareLowerEqual.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareLowerEqual.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareLowerEqual.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareLowerEqual.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareNotEqual.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareNotEqual.shader.meta index f69be248..2e35d313 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareNotEqual.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareNotEqual.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareNotEqual.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareNotEqual.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareWithRange.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareWithRange.shader.meta index 8dc12334..af3cb7ab 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareWithRange.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareWithRange.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareWithRange.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCCompareWithRange.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCFlipBookUVAnimation.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCFlipBookUVAnimation.shader.meta index 9b9989b0..44ebbd00 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCFlipBookUVAnimation.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCFlipBookUVAnimation.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCFlipBookUVAnimation.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCFlipBookUVAnimation.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCIf.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCIf.shader.meta index f10e0027..ccbd26dc 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCIf.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCIf.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCIf.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCIf.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCPixelateUV.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCPixelateUV.shader index fb2f9161..20a9d0a4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCPixelateUV.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCPixelateUV.shader @@ -5,6 +5,7 @@ Shader "Hidden/TFHCPixelateUV" _A ("_UV", 2D) = "white" {} _B ("_PixelX", 2D) = "white" {} _C ("_PixelY", 2D) = "white" {} + _D ("_PixelOffset", 2D) = "black" {} } SubShader { @@ -19,15 +20,17 @@ Shader "Hidden/TFHCPixelateUV" sampler2D _A; sampler2D _B; sampler2D _C; + sampler2D _D; float4 frag(v2f_img i) : SV_Target { float2 uv = tex2D( _A, i.uv ).rg; float pix = tex2D( _B, i.uv ).r; float piy = tex2D( _C, i.uv ).r; + float2 poffset = tex2D( _D, i.uv ).rg; float2 steppedPixel = float2( pix, piy ); - float2 pixelatedUV = floor( uv * steppedPixel ) / steppedPixel; + float2 pixelatedUV = floor( uv * steppedPixel + poffset ) / steppedPixel; return float4(pixelatedUV, 0 , 0); } ENDCG diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCPixelateUV.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCPixelateUV.shader.meta index 4236dfb9..2be75251 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCPixelateUV.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCPixelateUV.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCPixelateUV.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCPixelateUV.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCRemap.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCRemap.shader.meta index 1c7aa8a3..a451eebb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCRemap.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCRemap.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCRemap.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TFHCRemap.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TanOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TanOpNode.shader.meta index d3b2a0c0..83331a29 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TanOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TanOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TanOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TanOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TangentSignVertexDataNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TangentSignVertexDataNode.shader.meta index 7824aca2..c999ec5b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TangentSignVertexDataNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TangentSignVertexDataNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TangentSignVertexDataNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TangentSignVertexDataNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TangentVertexDataNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TangentVertexDataNode.shader.meta index 5288297c..cd4256b8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TangentVertexDataNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TangentVertexDataNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TangentVertexDataNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TangentVertexDataNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TanhOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TanhOpNode.shader.meta index 62ba8324..2cb22afb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TanhOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TanhOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TanhOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TanhOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TauNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TauNode.shader.meta index 6e0d4c12..4a680643 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TauNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TauNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TauNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TauNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TemplateShaderProperty.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TemplateShaderProperty.shader.meta index c44b7aeb..4929d411 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TemplateShaderProperty.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TemplateShaderProperty.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TemplateShaderProperty.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TemplateShaderProperty.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexCoordVertexDataNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexCoordVertexDataNode.shader.meta index 3cf23ff4..e671e777 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexCoordVertexDataNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexCoordVertexDataNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexCoordVertexDataNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexCoordVertexDataNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexelSize.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexelSize.shader.meta index 66c3ef86..0d23d0fa 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexelSize.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexelSize.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexelSize.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexelSize.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Texture2D.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Texture2D.shader.meta index 0477b944..5156bc9e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Texture2D.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Texture2D.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Texture2D.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Texture2D.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureArrayNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureArrayNode.shader.meta index 48a6c102..16b30352 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureArrayNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureArrayNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureArrayNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureArrayNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureCoordinatesNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureCoordinatesNode.shader.meta index 26a95657..556e3559 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureCoordinatesNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureCoordinatesNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureCoordinatesNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureCoordinatesNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexturePropertyNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexturePropertyNode.shader.meta index 1b1eb224..fab4281c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexturePropertyNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexturePropertyNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexturePropertyNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TexturePropertyNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureTransform.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureTransform.shader.meta index de01bc8f..1e5680ee 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureTransform.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureTransform.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureTransform.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TextureTransform.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TimeNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TimeNode.shader.meta index b5d39d0f..9bbce2cd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TimeNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TimeNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TimeNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TimeNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ToggleSwitchNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ToggleSwitchNode.shader.meta index 21b5b87e..eca0b394 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ToggleSwitchNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ToggleSwitchNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ToggleSwitchNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ToggleSwitchNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TriplanarNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TriplanarNode.shader.meta index 2158fe44..ce8bfb0f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TriplanarNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TriplanarNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TriplanarNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TriplanarNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TruncOpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TruncOpNode.shader.meta index b6ce84e7..6e752d26 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TruncOpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TruncOpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TruncOpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TruncOpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TwoSidedSignNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TwoSidedSignNode.shader.meta index 8943daeb..94062c3c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TwoSidedSignNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TwoSidedSignNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TwoSidedSignNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_TwoSidedSignNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_UnpackScaleNormalNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_UnpackScaleNormalNode.shader.meta index be92b01d..9d1fa62a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_UnpackScaleNormalNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_UnpackScaleNormalNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_UnpackScaleNormalNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_UnpackScaleNormalNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector2Node.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector2Node.shader.meta index 69ab979f..2dbc12f5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector2Node.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector2Node.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector2Node.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector2Node.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector3Node.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector3Node.shader.meta index 90edbf4f..07c054b2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector3Node.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector3Node.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector3Node.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector3Node.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector4Node.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector4Node.shader.meta index c9eb0e7f..fe0e7d38 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector4Node.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector4Node.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector4Node.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_Vector4Node.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexBinormalNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexBinormalNode.shader.meta index 59628faf..21c2dfb7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexBinormalNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexBinormalNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexBinormalNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexBinormalNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexColorNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexColorNode.shader.meta index 7ed03862..9acc552a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexColorNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexColorNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexColorNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexColorNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexIdVariableNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexIdVariableNode.shader.meta index ca74c146..3d5660d0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexIdVariableNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexIdVariableNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexIdVariableNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexIdVariableNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexTangentNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexTangentNode.shader.meta index 40dee147..68741982 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexTangentNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexTangentNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexTangentNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VertexTangentNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ViewDirInputsCoordNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ViewDirInputsCoordNode.shader.meta index 5a1748fb..4a3b6f2c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ViewDirInputsCoordNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ViewDirInputsCoordNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ViewDirInputsCoordNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ViewDirInputsCoordNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ViewVector.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ViewVector.shader.meta index 14e51c30..ae3b88f5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ViewVector.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ViewVector.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ViewVector.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ViewVector.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VoronoiNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VoronoiNode.shader.meta index 2b66b192..0d223367 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VoronoiNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VoronoiNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VoronoiNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_VoronoiNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WeightedBlendNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WeightedBlendNode.shader.meta index 0daf7c1a..ff0f5dfd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WeightedBlendNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WeightedBlendNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WeightedBlendNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WeightedBlendNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WireNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WireNode.shader.meta index fd4c18ce..ce8b63c0 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WireNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WireNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WireNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WireNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldNormalVector.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldNormalVector.shader.meta index 5e7c3bcd..7479584d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldNormalVector.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldNormalVector.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldNormalVector.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldNormalVector.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldPosInputsNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldPosInputsNode.shader.meta index 20156398..57a74f27 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldPosInputsNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldPosInputsNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldPosInputsNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldPosInputsNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldReflectionVector.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldReflectionVector.shader.meta index 86b6992c..e90e5b33 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldReflectionVector.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldReflectionVector.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldReflectionVector.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldReflectionVector.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceCameraPos.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceCameraPos.shader.meta index b4ecbf92..f16497e9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceCameraPos.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceCameraPos.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceCameraPos.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceCameraPos.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceLightDirHlpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceLightDirHlpNode.shader.meta index 5e0b40db..1d87e23e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceLightDirHlpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceLightDirHlpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceLightDirHlpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceLightDirHlpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceLightPosNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceLightPosNode.shader.meta index c66d0876..e09a1961 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceLightPosNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceLightPosNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceLightPosNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceLightPosNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceViewDirHlpNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceViewDirHlpNode.shader.meta index 4719d047..6281b5d5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceViewDirHlpNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceViewDirHlpNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceViewDirHlpNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldSpaceViewDirHlpNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldToObjectTransfNode.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldToObjectTransfNode.shader.meta index a0271b38..9b239eac 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldToObjectTransfNode.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldToObjectTransfNode.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldToObjectTransfNode.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldToObjectTransfNode.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldTransformParams.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldTransformParams.shader.meta index b2a00113..d2c34997 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldTransformParams.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldTransformParams.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldTransformParams.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_WorldTransformParams.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ZBufferParams.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ZBufferParams.shader.meta index 0516e146..30b44607 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ZBufferParams.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ZBufferParams.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ZBufferParams.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/Preview_ZBufferParams.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/TextureArrayInspector.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/TextureArrayInspector.shader.meta index 8ced9dea..91a6e64e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/TextureArrayInspector.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/TextureArrayInspector.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Previews/TextureArrayInspector.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Previews/TextureArrayInspector.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Alpha Merge.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Alpha Merge.asset.meta index 61dc8602..c0de5b89 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Alpha Merge.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Alpha Merge.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Alpha + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Alpha Merge.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Alpha Split.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Alpha Split.asset.meta index 7741434a..2b4d8788 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Alpha Split.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Alpha Split.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Alpha + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Alpha Split.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/And.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/And.asset.meta index 21547c64..d1a0c68d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/And.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/And.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/And.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/And.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bacteria Smoothstep.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bacteria Smoothstep.asset.meta index 482f5e9a..ec287c26 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bacteria Smoothstep.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bacteria Smoothstep.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bacteria + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bacteria Smoothstep.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bacteria.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bacteria.asset.meta index fc440b58..53bf31d1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bacteria.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bacteria.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bacteria.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bacteria.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bicubic Precompute.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bicubic Precompute.asset.meta index 47ec9068..a6549884 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bicubic Precompute.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bicubic Precompute.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bicubic + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bicubic Precompute.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bicubic Sample.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bicubic Sample.asset.meta index 92874220..3b478b0f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bicubic Sample.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bicubic Sample.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bicubic + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bicubic Sample.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bidirectional Parallax Mapping.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bidirectional Parallax Mapping.asset.meta index 692675f9..cef47b94 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bidirectional Parallax Mapping.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bidirectional Parallax Mapping.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bidirectional + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bidirectional Parallax Mapping.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blackbody.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blackbody.asset.meta index a8335e12..08dc722a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blackbody.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blackbody.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blackbody.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blackbody.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blinn-Phong Half Vector.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blinn-Phong Half Vector.asset.meta index 3f548034..0922235f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blinn-Phong Half Vector.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blinn-Phong Half Vector.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blinn-Phong + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blinn-Phong Half Vector.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blinn-Phong Light.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blinn-Phong Light.asset.meta index 36b6173e..3c128ffc 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blinn-Phong Light.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blinn-Phong Light.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blinn-Phong + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Blinn-Phong Light.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/BlinnPhongLightWrap.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/BlinnPhongLightWrap.asset.meta index d79c43b3..fe9280b2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/BlinnPhongLightWrap.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/BlinnPhongLightWrap.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/BlinnPhongLightWrap.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/BlinnPhongLightWrap.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/BoxMask.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/BoxMask.asset.meta index a0a1bd62..8c7f9e98 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/BoxMask.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/BoxMask.asset.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/BoxMask.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/BoxMask.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bricks Pattern.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bricks Pattern.asset.meta index 53b48b29..ba45e458 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bricks Pattern.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bricks Pattern.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bricks + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Bricks Pattern.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Checkerboard.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Checkerboard.asset.meta index 42b1bb22..b7b9e462 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Checkerboard.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Checkerboard.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Checkerboard.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Checkerboard.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Color Mask.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Color Mask.asset.meta index 01cae6e8..52071967 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Color Mask.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Color Mask.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Color + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Color Mask.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Compute Mip Level.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Compute Mip Level.asset.meta index c49d78e7..88e1712f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Compute Mip Level.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Compute Mip Level.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Compute + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Compute Mip Level.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/ComputeFilterWidth.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/ComputeFilterWidth.asset.meta index 5b5dfdc0..f8e35af7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/ComputeFilterWidth.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/ComputeFilterWidth.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/ComputeFilterWidth.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/ComputeFilterWidth.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/ConstantBiasScale.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/ConstantBiasScale.asset.meta index c033bf9c..ea5b7aa5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/ConstantBiasScale.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/ConstantBiasScale.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/ConstantBiasScale.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/ConstantBiasScale.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/CotangentFrame.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/CotangentFrame.asset.meta index e39d34bc..8d925e6e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/CotangentFrame.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/CotangentFrame.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/CotangentFrame.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/CotangentFrame.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Create Orthogonal Vector.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Create Orthogonal Vector.asset.meta index 72660019..12e76573 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Create Orthogonal Vector.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Create Orthogonal Vector.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Create + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Create Orthogonal Vector.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Custom Screen Position.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Custom Screen Position.asset.meta index 8e4e0d9f..0e64afb3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Custom Screen Position.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Custom Screen Position.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Custom + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Custom Screen Position.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Decode Directional Lighmap.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Decode Directional Lighmap.asset.meta index 326e8298..ef93f669 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Decode Directional Lighmap.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Decode Directional Lighmap.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Decode + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Decode Directional Lighmap.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/DepthMaskedRefraction.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/DepthMaskedRefraction.asset.meta index 4b7b8b7f..1e5e3d3d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/DepthMaskedRefraction.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/DepthMaskedRefraction.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/DepthMaskedRefraction.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/DepthMaskedRefraction.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Derive Tangent Basis.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Derive Tangent Basis.asset.meta index 19a33e10..55d3506e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Derive Tangent Basis.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Derive Tangent Basis.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Derive + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Derive Tangent Basis.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Detail Albedo.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Detail Albedo.asset.meta index ee996b30..5155e945 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Detail Albedo.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Detail Albedo.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Detail + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Detail Albedo.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Device Depth.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Device Depth.asset.meta index 5b3caac5..8a73c51b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Device Depth.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Device Depth.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Device + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Device Depth.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Dielectric Specular.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Dielectric Specular.asset.meta index 6a267e2c..27c0531b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Dielectric Specular.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Dielectric Specular.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Dielectric + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Dielectric Specular.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Dots Pattern.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Dots Pattern.asset.meta index 75172ba7..15aa702e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Dots Pattern.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Dots Pattern.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Dots + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Dots Pattern.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Ellipse.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Ellipse.asset.meta index 4b14f874..6f2aa62a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Ellipse.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Ellipse.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Ellipse.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Ellipse.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Fade Transition.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Fade Transition.asset.meta index 6766fc53..e06c73c9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Fade Transition.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Fade Transition.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Fade + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Fade Transition.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchHDColorPyramid.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchHDColorPyramid.asset.meta index ba86465d..9798d9cf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchHDColorPyramid.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchHDColorPyramid.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchHDColorPyramid.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchHDColorPyramid.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchLightmapValue.asset b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchLightmapValue.asset index 83b3308d..bf93cde4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchLightmapValue.asset +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchLightmapValue.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e6203b1ed17dc18d944ff81baebe330ea673bace7d8ed31fe6598c8cae534077 -size 7582 +oid sha256:4a6427e23fce619e57dee223b3bfde7acc696a87aaeac2992bdc2563b1376cfb +size 7665 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchLightmapValue.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchLightmapValue.asset.meta index c4ae74f3..f94dc026 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchLightmapValue.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchLightmapValue.asset.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchLightmapValue.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/FetchLightmapValue.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flipbook.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flipbook.asset.meta index dd74e0b6..ff6461e6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flipbook.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flipbook.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flipbook.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flipbook.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flow.asset b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flow.asset index 712c4f79..bbbc09a4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flow.asset +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flow.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f16e98e20d1208d85bbc198b8bbb6e634066b5a9feb09cf543ef0759d96978f -size 8773 +oid sha256:7dcb826df2b50429b7805bf2bcff0d2ce13ea34ce99698be6d1f87ed1bff4bb4 +size 12482 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flow.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flow.asset.meta index 61b339fd..c185a68e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flow.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flow.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flow.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Flow.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Four Splats First Pass Terrain.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Four Splats First Pass Terrain.asset.meta index ad1b962b..c0f2b221 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Four Splats First Pass Terrain.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Four Splats First Pass Terrain.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Four + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Four Splats First Pass Terrain.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Grid.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Grid.asset.meta index c347bd7d..5b739528 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Grid.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Grid.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Grid.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Grid.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/HDRP Decal UVs.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/HDRP Decal UVs.asset.meta index a5a6aff9..4a43cd48 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/HDRP Decal UVs.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/HDRP Decal UVs.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/HDRP + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/HDRP Decal UVs.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Half Lambert Term.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Half Lambert Term.asset.meta index acc0aa91..2d6cbfc8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Half Lambert Term.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Half Lambert Term.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Half + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Half Lambert Term.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hash 22.asset b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hash 22.asset new file mode 100644 index 00000000..8175396f --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hash 22.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c72bc6292a0ea8cdd20fee1f30b986119844ce9512847c8b2c8780a604db5f9 +size 5759 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hash 22.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hash 22.asset.meta new file mode 100644 index 00000000..e471d0c6 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hash 22.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 06a5811c77de878498d3c93c4fd438d5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hash + 22.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Height-based Blending.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Height-based Blending.asset.meta index f5d13447..642b338b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Height-based Blending.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Height-based Blending.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Height-based + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Height-based Blending.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Herringbone.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Herringbone.asset.meta index 2da35fd8..23d5e490 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Herringbone.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Herringbone.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Herringbone.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Herringbone.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hex Lattice.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hex Lattice.asset.meta index 16921873..fe740341 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hex Lattice.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hex Lattice.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hex + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Hex Lattice.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Houndstooth.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Houndstooth.asset.meta index c75f33df..3ac767ce 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Houndstooth.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Houndstooth.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Houndstooth.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Houndstooth.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Inverse Lerp.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Inverse Lerp.asset.meta index b023fd5e..7e78bec7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Inverse Lerp.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Inverse Lerp.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Inverse + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Inverse Lerp.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lambert Light.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lambert Light.asset.meta index f9fc724e..1f95fe80 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lambert Light.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lambert Light.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lambert + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lambert Light.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lerp White To.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lerp White To.asset.meta index dcbe59f7..61bae59a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lerp White To.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lerp White To.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lerp + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lerp White To.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lightmap UV.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lightmap UV.asset.meta index 463aa45f..3430d6bc 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lightmap UV.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lightmap UV.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lightmap + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Lightmap UV.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Metal Reflectance.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Metal Reflectance.asset.meta index 75f386a8..9b882dfa 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Metal Reflectance.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Metal Reflectance.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Metal + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Metal Reflectance.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Midtones Control.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Midtones Control.asset.meta index c7f1db4f..79b8c416 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Midtones Control.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Midtones Control.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Midtones + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Midtones Control.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Noise Sine Wave.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Noise Sine Wave.asset.meta index fc75135b..6a5cdf7f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Noise Sine Wave.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Noise Sine Wave.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Noise + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Noise Sine Wave.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Non Stereo Screen Pos.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Non Stereo Screen Pos.asset.meta index 4c54648d..0df4b756 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Non Stereo Screen Pos.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Non Stereo Screen Pos.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Non + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Non Stereo Screen Pos.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal Face.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal Face.asset.meta index aa642b58..e7acbb76 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal Face.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal Face.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal Face.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Height.asset b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Height.asset index 7beb9075..9853753b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Height.asset +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Height.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5790ef313a8ddd0010db11eca633c7ce8bff5d51f304ef80e7172f5dece610b8 -size 3440 +oid sha256:9117c31a90810e73bf5878903294a0b1aa20e8ed00d7c310619d9aca625ffc69 +size 7518 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Height.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Height.asset.meta index 6b0e836c..dcbc9ef2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Height.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Height.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Height.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Texture.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Texture.asset.meta index b380190d..851922ca 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Texture.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Texture.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal From Texture.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal Reconstruct Z.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal Reconstruct Z.asset.meta index 0f25e466..374a224b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal Reconstruct Z.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal Reconstruct Z.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Normal Reconstruct Z.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/NormalCreate.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/NormalCreate.asset.meta index ee7788b7..ab3b022c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/NormalCreate.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/NormalCreate.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/NormalCreate.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/NormalCreate.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Or.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Or.asset.meta index db7895a3..34d4d1b8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Or.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Or.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Or.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Or.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PerturbNormal.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PerturbNormal.asset.meta index 81e15510..040138a2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PerturbNormal.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PerturbNormal.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PerturbNormal.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PerturbNormal.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PerturbNormalHQ.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PerturbNormalHQ.asset.meta index b2ffdaa3..89cc748c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PerturbNormalHQ.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PerturbNormalHQ.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PerturbNormalHQ.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PerturbNormalHQ.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Polar Coordinates.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Polar Coordinates.asset.meta index 3a6432d8..0c8e2374 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Polar Coordinates.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Polar Coordinates.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Polar + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Polar Coordinates.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Polygon.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Polygon.asset.meta index f17a89ce..2f9c8765 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Polygon.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Polygon.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Polygon.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Polygon.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PreparePerturbNormalHQ.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PreparePerturbNormalHQ.asset.meta index 8718ed19..3d925ac8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PreparePerturbNormalHQ.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PreparePerturbNormalHQ.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PreparePerturbNormalHQ.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/PreparePerturbNormalHQ.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Procedural Sample.asset b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Procedural Sample.asset index 2d4ba32c..fc9bff10 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Procedural Sample.asset +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Procedural Sample.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ee9e0e31b958471e032a87499cba27357a998bdd0bdb9fd70a9211cdea36622 -size 68676 +oid sha256:a5ec695509b02c8ab4fbab4c5bd9e5d7f9c618e9b8ac4f4649d86c4b4f25951f +size 59758 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Procedural Sample.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Procedural Sample.asset.meta index c2983cf6..b8154136 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Procedural Sample.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Procedural Sample.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Procedural + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Procedural Sample.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Projection.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Projection.asset.meta index 7bf311cc..d46298d1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Projection.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Projection.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Projection.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Projection.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Radial Shear.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Radial Shear.asset.meta index 9207a4ee..307f2af4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Radial Shear.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Radial Shear.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Radial + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Radial Shear.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/RadialUVDistortion.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/RadialUVDistortion.asset.meta index 59e9997a..f238f4b8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/RadialUVDistortion.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/RadialUVDistortion.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/RadialUVDistortion.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/RadialUVDistortion.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Random Range.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Random Range.asset.meta index a7a38fdd..b5bbf8f3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Random Range.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Random Range.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Random + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Random Range.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Reconstruct World Position From Depth.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Reconstruct World Position From Depth.asset.meta index 4276e050..24663a62 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Reconstruct World Position From Depth.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Reconstruct World Position From Depth.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Reconstruct + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Reconstruct World Position From Depth.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rectangle.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rectangle.asset.meta index 91a177c4..c7993f6b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rectangle.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rectangle.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rectangle.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rectangle.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rejection.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rejection.asset.meta index 6610c7b8..3e2f38cb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rejection.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rejection.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rejection.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rejection.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Replace Color.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Replace Color.asset.meta index 284fe1bf..d57611c2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Replace Color.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Replace Color.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Replace + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Replace Color.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rounded Polygon.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rounded Polygon.asset.meta index de89ccf4..cefdc817 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rounded Polygon.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rounded Polygon.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rounded + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rounded Polygon.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rounded Rectangle.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rounded Rectangle.asset.meta index d8b09e1e..d2e3f5bf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rounded Rectangle.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rounded Rectangle.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rounded + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Rounded Rectangle.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SRP Additional Light.asset b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SRP Additional Light.asset index 48eec723..2a06f11d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SRP Additional Light.asset +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SRP Additional Light.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c2227876ac9daf75563f8f13faa1f7783b60c54962dd5354ceb0027d4ce567e -size 40400 +oid sha256:3368c8865199387e64525a90618978d29e4898eacc7d23c0b9ee4defae04305b +size 65239 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SRP Additional Light.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SRP Additional Light.asset.meta index 87fb2f1a..4b63c634 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SRP Additional Light.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SRP Additional Light.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SRP + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SRP Additional Light.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sample Lightmap.asset b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sample Lightmap.asset index fbf275e4..9425df92 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sample Lightmap.asset +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sample Lightmap.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a2d027f4974396b9e1e7026312e3e09f74e66ac66c8ec517b6dc7881caa938e1 -size 27708 +oid sha256:c8c63596c6c973061b9fc6efff9eda7b59266a2470e87da81b1f45493bb32dee +size 27891 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sample Lightmap.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sample Lightmap.asset.meta index c3b688b9..88b418dd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sample Lightmap.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sample Lightmap.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sample + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sample Lightmap.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Saturation.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Saturation.asset.meta index 13a7f65a..ae25f289 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Saturation.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Saturation.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Saturation.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Saturation.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sawtooth Wave.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sawtooth Wave.asset.meta index 7c8d0441..7eb27006 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sawtooth Wave.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sawtooth Wave.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sawtooth + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Sawtooth Wave.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Shadow Mask.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Shadow Mask.asset.meta index 1155502a..4cf6ee2f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Shadow Mask.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Shadow Mask.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Shadow + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Shadow Mask.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Simple HUE.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Simple HUE.asset.meta index a2c4a865..5cb912ae 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Simple HUE.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Simple HUE.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Simple + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Simple HUE.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Smooth Wave.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Smooth Wave.asset.meta index 27f09c36..2d3f5014 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Smooth Wave.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Smooth Wave.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Smooth + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Smooth Wave.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SphereMask.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SphereMask.asset.meta index 96822392..8e5d8b63 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SphereMask.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SphereMask.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SphereMask.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/SphereMask.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Spherize.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Spherize.asset.meta index 5ce6a67d..c038a260 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Spherize.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Spherize.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Spherize.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Spherize.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Spiral.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Spiral.asset.meta index 122c7339..ce5b5969 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Spiral.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Spiral.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Spiral.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Spiral.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Square Wave.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Square Wave.asset.meta index c2353836..b27d4eb7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Square Wave.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Square Wave.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Square + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Square Wave.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Square.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Square.asset.meta index 590d8821..68bbc483 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Square.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Square.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Square.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Square.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Step Antialiasing.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Step Antialiasing.asset.meta index 6fd0825d..e33a1b38 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Step Antialiasing.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Step Antialiasing.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Step + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Step Antialiasing.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stereo Screen Pos.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stereo Screen Pos.asset.meta index ebe962ce..db87888f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stereo Screen Pos.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stereo Screen Pos.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stereo + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stereo Screen Pos.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stochastic Tiling.asset b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stochastic Tiling.asset new file mode 100644 index 00000000..7f218c97 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stochastic Tiling.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e943561e551d2026bc762758c532426d889f7f905e448e158fac7afb0294a16 +size 17253 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stochastic Tiling.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stochastic Tiling.asset.meta new file mode 100644 index 00000000..274f65e2 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stochastic Tiling.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 5ae36763c55315e49aaf645621f0a81b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stochastic + Tiling.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stripes.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stripes.asset.meta index 3548a951..1070d849 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stripes.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stripes.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stripes.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Stripes.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Terrain Wind Animate Vertex.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Terrain Wind Animate Vertex.asset.meta index dde755d2..5d50bdbe 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Terrain Wind Animate Vertex.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Terrain Wind Animate Vertex.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Terrain + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Terrain Wind Animate Vertex.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Terrain Wind Value.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Terrain Wind Value.asset.meta index 686e217f..1cd9e4d7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Terrain Wind Value.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Terrain Wind Value.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Terrain + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Terrain Wind Value.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triangle Wave.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triangle Wave.asset.meta index 6dee4f66..5d5ff84d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triangle Wave.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triangle Wave.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triangle + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triangle Wave.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triplanar Weights.asset b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triplanar Weights.asset new file mode 100644 index 00000000..8bf0b40d --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triplanar Weights.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd4d946cddb0c31f5c5369cf4b20c0916c035c8235c9bb9e477f0a4a2b7e4b72 +size 4785 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triplanar Weights.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triplanar Weights.asset.meta new file mode 100644 index 00000000..614ded1f --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triplanar Weights.asset.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 67a80b7d06399524e86d86d2fe26d047 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Triplanar + Weights.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Truchet.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Truchet.asset.meta index 64f9544c..b726a9dd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Truchet.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Truchet.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Truchet.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Truchet.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Twirl.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Twirl.asset.meta index 7433c864..0063d408 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Twirl.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Twirl.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Twirl.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Twirl.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/UI-Sprite Effect Layer.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/UI-Sprite Effect Layer.asset.meta index 43360cc8..de65e65a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/UI-Sprite Effect Layer.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/UI-Sprite Effect Layer.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/UI-Sprite + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/UI-Sprite Effect Layer.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/URP Tangent To World Normal.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/URP Tangent To World Normal.asset.meta index a8baa479..6ac5ea93 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/URP Tangent To World Normal.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/URP Tangent To World Normal.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/URP + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/URP Tangent To World Normal.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Whirl.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Whirl.asset.meta index 40a2b46d..3a77cf45 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Whirl.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Whirl.asset.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Whirl.asset - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Whirl.asset + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/World Normal Face.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/World Normal Face.asset.meta index 1cba4ea7..19b80751 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/World Normal Face.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/World Normal Face.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/World + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/World Normal Face.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Zig Zag.asset.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Zig Zag.asset.meta index 31a27a35..453251bd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Zig Zag.asset.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Zig Zag.asset.meta @@ -10,7 +10,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Zig + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderFunctions/Zig Zag.asset - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderLibrary/ShaderLibrary.txt.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderLibrary/ShaderLibrary.txt.meta index c86ecea2..3473e417 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderLibrary/ShaderLibrary.txt.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderLibrary/ShaderLibrary.txt.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/ShaderLibrary/ShaderLibrary.txt - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/ShaderLibrary/ShaderLibrary.txt + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Shaders/ASESShaderSelectorUnlit.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Shaders/ASESShaderSelectorUnlit.shader.meta index 2a164c8a..4989cecf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Shaders/ASESShaderSelectorUnlit.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Shaders/ASESShaderSelectorUnlit.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Shaders/ASESShaderSelectorUnlit.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Shaders/ASESShaderSelectorUnlit.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Shaders/Unlit-ColoredAlpha.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Shaders/Unlit-ColoredAlpha.shader.meta index 1e7bee72..d32b1190 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Shaders/Unlit-ColoredAlpha.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Shaders/Unlit-ColoredAlpha.shader.meta @@ -15,6 +15,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Shaders/Unlit-ColoredAlpha.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Shaders/Unlit-ColoredAlpha.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/CustomRT/CustomRTInit.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/CustomRT/CustomRTInit.shader.meta index df3c06b4..b4ecdb2b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/CustomRT/CustomRTInit.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/CustomRT/CustomRTInit.shader.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/CustomRT/CustomRTInit.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/CustomRT/CustomRTInit.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/CustomRT/CustomRTUpdate.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/CustomRT/CustomRTUpdate.shader.meta index 6ee6d8dc..ec9afa6b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/CustomRT/CustomRTUpdate.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/CustomRT/CustomRTUpdate.shader.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/CustomRT/CustomRTUpdate.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/CustomRT/CustomRTUpdate.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 10x.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 10x.unitypackage index 908fbf04..aa51db74 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 10x.unitypackage +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 10x.unitypackage @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b2eff3c4d15939753f9d0d498db9a311e9a29b1a15fdfbefa5e0c4913764fad1 -size 81674 +oid sha256:7e1ae690f08eed777a7073228245c893c51d06bf2bd2f346fe358deef199bd5b +size 84545 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 10x.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 10x.unitypackage.meta index 05d8b33c..1ea7e1d1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 10x.unitypackage.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 10x.unitypackage.meta @@ -9,6 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 10x.unitypackage - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP + 10x.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 12x.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 12x.unitypackage index 78cfc26a..de33cdc1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 12x.unitypackage +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 12x.unitypackage @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d8ab1a0c8ee3f7f0ea8bde7aa8fe9181ebaa9d9fb450fce61bc0edf59ead6bb0 -size 102704 +oid sha256:842a425a3a8658a54a22844df61de339b5e8a7b5ff977e9231b673874594dfb6 +size 104671 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 12x.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 12x.unitypackage.meta index a94bff61..805a42d8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 12x.unitypackage.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 12x.unitypackage.meta @@ -9,6 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 12x.unitypackage - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP + 12x.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 14x.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 14x.unitypackage index b2d5dc90..d5fb0f3b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 14x.unitypackage +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 14x.unitypackage @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:42ea94e9d286b34d33e91dd2da641e3e2847f1bae4426f3d8da24b48c6b3d0a6 -size 102340 +oid sha256:e993cfa34590f88001ece264e5af229de28ece901726fb62a6003ba30f38c7b8 +size 106917 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 14x.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 14x.unitypackage.meta index 1a74bff5..7ee63001 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 14x.unitypackage.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 14x.unitypackage.meta @@ -9,6 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 14x.unitypackage - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP + 14x.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 15x.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 15x.unitypackage index c22ed554..766dce44 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 15x.unitypackage +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 15x.unitypackage @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cb8f82ba93f1314392326a8b80b0aee134ea9f81bbec7bcb8a578ca232a60277 -size 103435 +oid sha256:db0b4f7165c1463a1d7b1586a1e16fb4a0ad887620738d10b7db113da4e77c08 +size 108414 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 15x.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 15x.unitypackage.meta index 19562cdc..267e5e3a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 15x.unitypackage.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 15x.unitypackage.meta @@ -9,6 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 15x.unitypackage - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP + 15x.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 16x.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 16x.unitypackage index 7150b2b8..acf66dc4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 16x.unitypackage +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 16x.unitypackage @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e2808260f8e477db85c96de4f26ab2ce2add3d147d33d4f9311e11f21e18b43 -size 103342 +oid sha256:510048101287bf1697e0d7b476550f183ec0ec7b41ac73a0eb48f5e2835419dd +size 108227 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 16x.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 16x.unitypackage.meta index 71278615..9450119a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 16x.unitypackage.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 16x.unitypackage.meta @@ -9,6 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 16x.unitypackage - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP + 16x.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.0.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.0.unitypackage new file mode 100644 index 00000000..e6d7808a --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.0.unitypackage @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6ec17653d25ae924da72195ff3dd6b5545e72b97d646509e5ab86680c13d387 +size 110423 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.0.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.0.unitypackage.meta new file mode 100644 index 00000000..82d5fdae --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.0.unitypackage.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: ba281a1a00c8ac54c914e0763299f637 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP + 17.0.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.1.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.1.unitypackage new file mode 100644 index 00000000..2732dd04 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.1.unitypackage @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aeb3a1bcb7b4472a055f4f488e12515edae1c40fc818364e9b824df08a7f7131 +size 110636 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.1.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.1.unitypackage.meta new file mode 100644 index 00000000..b672b10c --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.1.unitypackage.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: e6fc8948257acee42b666d0bfe1d782c +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP + 17.1.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.2.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.2.unitypackage new file mode 100644 index 00000000..2ef2af40 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.2.unitypackage @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4e2a5d8dfd3be5b756b8253dfab1ca2b207c360ab2f4beb3e0794cf0a8cd290 +size 110653 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.2.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.2.unitypackage.meta new file mode 100644 index 00000000..2c8add35 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP 17.2.unitypackage.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: 4b5cb8698f2d9c14fadf8e2383441d37 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/HDRP + 17.2.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Lit.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Lit.shader index 4e0dc523..b9d6d138 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Lit.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Lit.shader @@ -1,8 +1,9 @@ -Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ +Shader /*ase_name*/ "Hidden/Built-In/Lit" /*end*/ { Properties { /*ase_props*/ + //_TransmissionShadow( "Transmission Shadow", Range( 0, 1 ) ) = 0.5 //_TransStrength( "Trans Strength", Range( 0, 50 ) ) = 1 //_TransNormal( "Trans Normal Distortion", Range( 0, 1 ) ) = 0.5 @@ -10,36 +11,74 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ //_TransDirect( "Trans Direct", Range( 0, 1 ) ) = 0.9 //_TransAmbient( "Trans Ambient", Range( 0, 1 ) ) = 0.1 //_TransShadow( "Trans Shadow", Range( 0, 1 ) ) = 0.5 + //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 //_TessMin( "Tess Min Distance", Float ) = 10 //_TessMax( "Tess Max Distance", Float ) = 25 //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 + //_SpecularHighlights("Specular Highlights", Float) = 1.0 //_GlossyReflections("Reflections", Float) = 1.0 + + //_InstancedTerrainNormals("Specular Highlights", Float) = 1.0 } SubShader { /*ase_subshader_options:Name=Additional Options - Option:Workflow,InvertActionOnDeselection:Specular,Metallic:Metallic - Metallic:ShowPort:Metallic - Specular:ShowPort:Specular + Option:Category,InvertActionOnDeselection:Geometry,Terrain,Impostor:Geometry + Geometry:SetDefine:ASE_GEOMETRY + Terrain:SetDefine:ASE_TERRAIN + Terrain:ShowOption: Instanced Terrain Normals + Impostor:SetDefine:ASE_IMPOSTOR + Option: Instanced Terrain Normals:Force Vertex,Force Pixel,Material Option:Force Pixel + Force Vertex?Category=Terrain:SetShaderProperty:_InstancedTerrainNormals,//[KeywordEnum(Vertex, Pixel)] _InstancedTerrainNormals("Instanced Terrain Normals", Float) = 1.0 + Force Pixel?Category=Terrain:SetDefine:ForwardBase:_INSTANCEDTERRAINNORMALS_PIXEL + Force Pixel?Category=Terrain:SetDefine:ForwardAdd:_INSTANCEDTERRAINNORMALS_PIXEL + Force Pixel?Category=Terrain:SetDefine:Deferred:_INSTANCEDTERRAINNORMALS_PIXEL + Force Pixel?Category=Terrain:SetShaderProperty:_InstancedTerrainNormals,//[KeywordEnum(Vertex, Pixel)] _InstancedTerrainNormals("Instanced Terrain Normals", Float) = 1.0 + Material Option?Category=Terrain:SetDefine:ForwardBase:pragma shader_feature _INSTANCEDTERRAINNORMALS_PIXEL + Material Option?Category=Terrain:SetDefine:ForwardAdd:pragma shader_feature _INSTANCEDTERRAINNORMALS_PIXEL + Material Option?Category=Terrain:SetDefine:Deferred:pragma shader_feature _INSTANCEDTERRAINNORMALS_PIXEL + Material Option?Category=Terrain:SetShaderProperty:_InstancedTerrainNormals,[KeywordEnum(Vertex, Pixel)] _InstancedTerrainNormals("Instanced Terrain Normals", Float) = 1.0 + Option:Workflow:Specular,Metallic,BlinnPhong,Lambert:Metallic Specular:SetDefine:_SPECULAR_SETUP 1 + Specular:RemoveDefine:ASE_LIGHTING_SIMPLE 1 + Specular:ShowPort:Specular + Specular:HidePort:Metallic + Specular:ShowPort:Smoothness + Specular:ShowPort:Occlusion + Metallic:RemoveDefine:_SPECULAR_SETUP 1 + Metallic:RemoveDefine:ASE_LIGHTING_SIMPLE 1 + Metallic:HidePort:Specular + Metallic:ShowPort:Metallic + Metallic:ShowPort:Smoothness + Metallic:ShowPort:Occlusion + BlinnPhong:SetDefine:_SPECULAR_SETUP 1 + BlinnPhong:SetDefine:ASE_LIGHTING_SIMPLE 1 + BlinnPhong:ShowPort:Specular + BlinnPhong:HidePort:Metallic + BlinnPhong:ShowPort:Smoothness + BlinnPhong:HidePort:Occlusion + Lambert:RemoveDefine:_SPECULAR_SETUP 1 + Lambert:SetDefine:ASE_LIGHTING_SIMPLE 1 + Lambert:HidePort:Specular + Lambert:HidePort:Metallic + Lambert:HidePort:Smoothness + Lambert:HidePort:Occlusion Option:Surface:Opaque,Transparent:Opaque Opaque:SetPropertyOnSubShader:RenderType,Opaque Opaque:SetPropertyOnSubShader:RenderQueue,Geometry Opaque:SetPropertyOnSubShader:ZWrite,On Opaque:HideOption: Blend Opaque:HideOption: Dither Shadows - Opaque:HideOption: Refraction Model Transparent:SetPropertyOnSubShader:RenderType,Transparent Transparent:SetPropertyOnSubShader:RenderQueue,Transparent Transparent:SetPropertyOnSubShader:ZWrite,Off Transparent:ShowOption: Blend Transparent:ShowOption: Dither Shadows - Transparent:ShowOption: Refraction Model Option: Blend:Alpha,Premultiply,Additive,Multiply,Translucent,Custom:Alpha Alpha:SetPropertyOnPass:ForwardBase:BlendRGB,SrcAlpha,OneMinusSrcAlpha Alpha:SetPropertyOnPass:ForwardAdd:BlendRGB,SrcAlpha,One @@ -52,15 +91,6 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ disable,Premultiply,Additive,Multiply,Translucent,Custom:RemoveDefine:_ALPHABLEND_ON 1 disable,Alpha,Additive,Multiply,Translucent,Custom:RemoveDefine:_ALPHAPREMULTIPLY_ON 1 disable,Translucent:SetPropertyOnPass:ForwardBase:BlendRGB,One,Zero - Option: Refraction Model:None:None - None,disable:HidePort:ForwardBase:Refraction Index - None,disable:HidePort:ForwardBase:Refraction Color - None,disable:RemoveDefine:ASE_REFRACTION 1 - None,disable:RemoveDefine:ASE_NEEDS_FRAG_SCREEN_POSITION - Legacy:ShowPort:ForwardBase:Refraction Index - Legacy:ShowPort:ForwardBase:Refraction Color - Legacy:SetDefine:ASE_REFRACTION 1 - Legacy:SetDefine:ASE_NEEDS_FRAG_SCREEN_POSITION Option: Dither Shadows:false,true:true true:SetDefine:UNITY_STANDARD_USE_DITHER_MASK 1 false,disable:RemoveDefine:UNITY_STANDARD_USE_DITHER_MASK 1 @@ -68,9 +98,29 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ On:SetPropertyOnSubShader:CullMode,Off Cull Back:SetPropertyOnSubShader:CullMode,Back Cull Front:SetPropertyOnSubShader:CullMode,Front + Option:Alpha Clipping:false,true:false + true:ShowOption: Use Shadow Threshold + true:ShowPort:ForwardBase:Alpha Clip Threshold + true:SetDefine:pragma multi_compile_local _ALPHATEST_ON + false:HideOption: Use Shadow Threshold + false:HidePort:ForwardBase:Alpha Clip Threshold + false:RemoveDefine:pragma multi_compile_local _ALPHATEST_ON + Option: Use Shadow Threshold:false,true:false + true:SetDefine:_ALPHATEST_SHADOW_ON 1 + true:ShowPort:ForwardBase:Alpha Clip Threshold Shadow + true:SetShaderProperty:_UseShadowThreshold,1 + false,disable:RemoveDefine:_ALPHATEST_SHADOW_ON 1 + false,disable:HidePort:ForwardBase:Alpha Clip Threshold Shadow Option:Deferred Pass:false,true:true true:IncludePass:Deferred false:ExcludePass:Deferred + Option:Normal Space,InvertActionOnDeselection:Tangent,Object,World:Tangent + Tangent:SetDefine:ASE_FRAGMENT_NORMAL 0 + Tangent:SetPortName:ForwardBase:_Normal,Normal + Object:SetDefine:ASE_FRAGMENT_NORMAL 1 + Object:SetPortName:ForwardBase:_Normal,Normal OS + World:SetDefine:ASE_FRAGMENT_NORMAL 2 + World:SetPortName:ForwardBase:_Normal,Normal WS Option:Transmission:false,true:false false:RemoveDefine:ASE_TRANSMISSION 1 false:HidePort:ForwardBase:Transmission @@ -130,23 +180,62 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ false,disable:ExcludePass:ShadowCaster true:ShowOption: Use Shadow Threshold false:HideOption: Use Shadow Threshold - Option: Use Shadow Threshold:false,true:false - true:ShowPort:ForwardBase:Alpha Clip Threshold Shadow - false,disable:HidePort:ForwardBase:Alpha Clip Threshold Shadow Option:Receive Shadows:false,true:true - true:SetDefine:ASE_NEEDS_FRAG_SHADOWCOORDS - false:RemoveDefine:ASE_NEEDS_FRAG_SHADOWCOORDS + true:SetDefine:ASE_RECEIVE_SHADOWS + false:RemoveDefine:ASE_RECEIVE_SHADOWS + Option:Receive Specular:Force Off,Force On,Material Toggle:Material Toggle + Force On:RemoveDefine:ForwardBase:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Force On:RemoveDefine:ForwardAdd:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Force On:RemoveDefine:Deferred:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Force On:RemoveDefine:ForwardBase:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Force On:RemoveDefine:ForwardAdd:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Force On:RemoveDefine:Deferred:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Force On:SetShaderProperty:_SpecularHighlights,//[ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 + Force Off:RemoveDefine:ForwardBase:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Force Off:RemoveDefine:ForwardAdd:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Force Off:RemoveDefine:Deferred:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Force Off:SetDefine:ForwardBase:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Force Off:SetDefine:ForwardAdd:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Force Off:SetDefine:Deferred:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Force Off:SetShaderProperty:_SpecularHighlights,//[ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 + Material Toggle:SetDefine:ForwardBase:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Material Toggle:SetDefine:ForwardAdd:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Material Toggle:SetDefine:Deferred:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Material Toggle:RemoveDefine:ForwardBase:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Material Toggle:RemoveDefine:ForwardAdd:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Material Toggle:RemoveDefine:Deferred:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Material Toggle:SetShaderProperty:_SpecularHighlights,[ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 + Option:Receive Reflections:Force Off,Force On,Material Toggle:Material Toggle + Force On:RemoveDefine:ForwardBase:pragma multi_compile_local_fragment _GLOSSYREFLECTIONS_OFF + Force On:RemoveDefine:Deferred:pragma multi_compile_local_fragment _GLOSSYREFLECTIONS_OFF + Force On:RemoveDefine:ForwardBase:pragma shader_feature_local_fragment _GLOSSYREFLECTIONS_OFF + Force On:RemoveDefine:Deferred:pragma shader_feature_local_fragment _GLOSSYREFLECTIONS_OFF + Force On:SetShaderProperty:_GlossyReflections,//[ToggleOff] _GlossyReflections("Reflections", Float) = 1.0 + Force Off:RemoveDefine:ForwardBase:pragma shader_feature_local_fragment _GLOSSYREFLECTIONS_OFF + Force Off:RemoveDefine:Deferred:pragma shader_feature_local_fragment _GLOSSYREFLECTIONS_OFF + Force Off:SetDefine:ForwardBase:pragma multi_compile_local_fragment _GLOSSYREFLECTIONS_OFF + Force Off:SetDefine:Deferred:pragma multi_compile_local_fragment _GLOSSYREFLECTIONS_OFF + Force Off:SetShaderProperty:_GlossyReflections,//[ToggleOff] _GlossyReflections("Reflections", Float) = 1.0 + Material Toggle:SetDefine:ForwardBase:pragma shader_feature_local_fragment _GLOSSYREFLECTIONS_OFF + Material Toggle:SetDefine:Deferred:pragma shader_feature_local_fragment _GLOSSYREFLECTIONS_OFF + Material Toggle:RemoveDefine:ForwardBase:pragma multi_compile_local_fragment _GLOSSYREFLECTIONS_OFF + Material Toggle:RemoveDefine:Deferred:pragma multi_compile_local_fragment _GLOSSYREFLECTIONS_OFF + Material Toggle:SetShaderProperty:_GlossyReflections,[ToggleOff] _GlossyReflections("Reflections", Float) = 1.0 Option:GPU Instancing:false,true:true true:SetDefine:pragma multi_compile_instancing false:RemoveDefine:pragma multi_compile_instancing Option:LOD CrossFade:false,true:true - true:SetDefine:pragma multi_compile __ LOD_FADE_CROSSFADE - false:RemoveDefine:pragma multi_compile __ LOD_FADE_CROSSFADE + true:SetDefine:pragma multi_compile _ LOD_FADE_CROSSFADE + false:RemoveDefine:pragma multi_compile _ LOD_FADE_CROSSFADE Option:Built-in Fog:false,true:true - true:SetDefine:pragma multi_compile_fog - false:RemoveDefine:pragma multi_compile_fog - true:SetDefine:ASE_FOG 1 - false:RemoveDefine:ASE_FOG 1 + true:SetDefine:ExtraPrePass:pragma multi_compile_fog + true:SetDefine:ForwardBase:pragma multi_compile_fog + true:SetDefine:ForwardAdd:pragma multi_compile_fog + true:SetDefine:ASE_FOG + false:SetDefine:ExtraPrePass:pragma multi_compile_fog + false:SetDefine:ForwardBase:pragma multi_compile_fog + false:SetDefine:ForwardAdd:pragma multi_compile_fog + false:SetDefine:ASE_FOG Option:Ambient Light:false,true:true true:RemoveDefine:ASE_NO_AMBIENT 1 false:SetDefine:ASE_NO_AMBIENT 1 @@ -161,6 +250,11 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ false:HidePort:ForwardBase:Baked GI true:SetDefine:ASE_BAKEDGI 1 false:RemoveDefine:ASE_BAKEDGI 1 + Option:Write Depth:false,true:false + true:SetDefine:ASE_DEPTH_WRITE_ON + true:ShowPort:ForwardBase:_DeviceDepth + false,disable:RemoveDefine:ASE_DEPTH_WRITE_ON + false,disable:HidePort:ForwardBase:_DeviceDepth Option:Extra Pre Pass:false,true:false true:IncludePass:ExtraPrePass false,disable:ExcludePass:ExtraPrePass @@ -225,16 +319,6 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ Change:SetMaterialProperty:_TessMaxDisp Change:SetShaderProperty:_TessMaxDisp,_TessMaxDisp( "Max Displacement", Float ) = 25 Inline,disable:SetShaderProperty:_TessMaxDisp,//_TessMaxDisp( "Max Displacement", Float ) = 25 - Option:Fwd Specular Highlights Toggle:false,true:false - true:SetShaderProperty:_SpecularHighlights,[ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 - false:SetShaderProperty:_SpecularHighlights,//[ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 - true:SetDefine:pragma shader_feature _SPECULARHIGHLIGHTS_OFF - false:RemoveDefine:pragma shader_feature _SPECULARHIGHLIGHTS_OFF - Option:Fwd Reflections Toggle:false,true:false - true:SetShaderProperty:_GlossyReflections,[ToggleOff] _GlossyReflections("Reflections", Float) = 1.0 - false:SetShaderProperty:_GlossyReflections,//[ToggleOff] _GlossyReflections("Reflections", Float) = 1.0 - true:SetDefine:pragma shader_feature _GLOSSYREFLECTIONS_OFF - false:RemoveDefine:pragma shader_feature _GLOSSYREFLECTIONS_OFF Option:Disable Batching:False,True,LOD Fading:False False:SetPropertyOnSubShader:DisableBatching,False True:SetPropertyOnSubShader:DisableBatching,True @@ -245,12 +329,31 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ Relative:SetPortName:ForwardBase:15,Vertex Offset Absolute:SetPortName:ExtraPrePass:3,Vertex Position Relative:SetPortName:ExtraPrePass:3,Vertex Offset - Port:ForwardBase:Alpha Clip Threshold - On:SetDefine:_ALPHATEST_ON 1 - Port:ForwardBase:Alpha Clip Threshold Shadow - On:SetDefine:_ALPHATEST_SHADOW_ON 1 */ + + /*ase_unity_cond_begin:<=10000000*/ + // A list of master node input port IDs; will be excluded from generated shaders. + // 0 => Frag: Albedo + // 1 => Frag: Normal + // 2 => Frag: Emission + // 3 => Frag: Specular + // 4 => Frag: Metallic + // 5 => Frag: Smoothness + // 6 => Frag: Occlusion + // 7 => Frag: Alpha + // 8 => Frag: Alpha Clip Threshold + // 9 => Frag: Alpha Clip Threshold Shadow + // 10 => Frag: Baked GI + // 13 => Frag: Transmission + // 14 => Frag: Translucency + // 15 => Vert: Vertex Offset + // 16 => Vert: Vertex Normal + // 17 => Vert: Vertex Tangent + // 28 => Frag: Depth + /*ase_unity_cond_end*/ + Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" "DisableBatching" = "False" } + LOD 0 Cull Back @@ -258,110 +361,121 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ ZWrite On ZTest LEqual ColorMask RGBA + /*ase_stencil*/ + /*ase_all_modules*/ CGINCLUDE - #pragma target 3.5 + #pragma target 3.5 - float4 FixedTess( float tessValue ) - { - return tessValue; - } - - float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) - { - float3 wpos = mul(o2w,vertex).xyz; - float dist = distance (wpos, cameraPos); - float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; - return f; - } - - float4 CalcTriEdgeTessFactors (float3 triVertexFactors) - { - float4 tess; - tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); - tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); - tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); - tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; - return tess; - } - - float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) - { - float dist = distance (0.5 * (wpos0+wpos1), cameraPos); - float len = distance(wpos0, wpos1); - float f = max(len * scParams.y / (edgeLen * dist), 1.0); - return f; - } - - float DistanceFromPlane (float3 pos, float4 plane) - { - float d = dot (float4(pos,1.0f), plane); - return d; - } - - bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) - { - float4 planeTest; - planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); - planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + - (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); - return !all (planeTest); - } - - float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) - { - float3 f; - f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); - f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); - f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); - - return CalcTriEdgeTessFactors (f); - } - - float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); - tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); - tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); - tess.w = (tess.x + tess.y + tess.z) / 3.0f; - return tess; - } - - float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) - { - float3 pos0 = mul(o2w,v0).xyz; - float3 pos1 = mul(o2w,v1).xyz; - float3 pos2 = mul(o2w,v2).xyz; - float4 tess; - - if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) + float4 FixedTess( float tessValue ) { - tess = 0.0f; + return tessValue; } - else + + float CalcDistanceTessFactor (float4 vertex, float minDist, float maxDist, float tess, float4x4 o2w, float3 cameraPos ) { + float3 wpos = mul(o2w,vertex).xyz; + float dist = distance (wpos, cameraPos); + float f = clamp(1.0 - (dist - minDist) / (maxDist - minDist), 0.01, 1.0) * tess; + return f; + } + + float4 CalcTriEdgeTessFactors (float3 triVertexFactors) + { + float4 tess; + tess.x = 0.5 * (triVertexFactors.y + triVertexFactors.z); + tess.y = 0.5 * (triVertexFactors.x + triVertexFactors.z); + tess.z = 0.5 * (triVertexFactors.x + triVertexFactors.y); + tess.w = (triVertexFactors.x + triVertexFactors.y + triVertexFactors.z) / 3.0f; + return tess; + } + + float CalcEdgeTessFactor (float3 wpos0, float3 wpos1, float edgeLen, float3 cameraPos, float4 scParams ) + { + float dist = distance (0.5 * (wpos0+wpos1), cameraPos); + float len = distance(wpos0, wpos1); + float f = max(len * scParams.y / (edgeLen * dist), 1.0); + return f; + } + + float DistanceFromPlane (float3 pos, float4 plane) + { + float d = dot (float4(pos,1.0f), plane); + return d; + } + + bool WorldViewFrustumCull (float3 wpos0, float3 wpos1, float3 wpos2, float cullEps, float4 planes[6] ) + { + float4 planeTest; + planeTest.x = (( DistanceFromPlane(wpos0, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + + (( DistanceFromPlane(wpos1, planes[0]) > -cullEps) ? 1.0f : 0.0f ) + + (( DistanceFromPlane(wpos2, planes[0]) > -cullEps) ? 1.0f : 0.0f ); + planeTest.y = (( DistanceFromPlane(wpos0, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + + (( DistanceFromPlane(wpos1, planes[1]) > -cullEps) ? 1.0f : 0.0f ) + + (( DistanceFromPlane(wpos2, planes[1]) > -cullEps) ? 1.0f : 0.0f ); + planeTest.z = (( DistanceFromPlane(wpos0, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + + (( DistanceFromPlane(wpos1, planes[2]) > -cullEps) ? 1.0f : 0.0f ) + + (( DistanceFromPlane(wpos2, planes[2]) > -cullEps) ? 1.0f : 0.0f ); + planeTest.w = (( DistanceFromPlane(wpos0, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + + (( DistanceFromPlane(wpos1, planes[3]) > -cullEps) ? 1.0f : 0.0f ) + + (( DistanceFromPlane(wpos2, planes[3]) > -cullEps) ? 1.0f : 0.0f ); + return !all (planeTest); + } + + float4 DistanceBasedTess( float4 v0, float4 v1, float4 v2, float tess, float minDist, float maxDist, float4x4 o2w, float3 cameraPos ) + { + float3 f; + f.x = CalcDistanceTessFactor (v0,minDist,maxDist,tess,o2w,cameraPos); + f.y = CalcDistanceTessFactor (v1,minDist,maxDist,tess,o2w,cameraPos); + f.z = CalcDistanceTessFactor (v2,minDist,maxDist,tess,o2w,cameraPos); + + return CalcTriEdgeTessFactors (f); + } + + float4 EdgeLengthBasedTess( float4 v0, float4 v1, float4 v2, float edgeLength, float4x4 o2w, float3 cameraPos, float4 scParams ) + { + float3 pos0 = mul(o2w,v0).xyz; + float3 pos1 = mul(o2w,v1).xyz; + float3 pos2 = mul(o2w,v2).xyz; + float4 tess; tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); tess.w = (tess.x + tess.y + tess.z) / 3.0f; + return tess; + } + + float4 EdgeLengthBasedTessCull( float4 v0, float4 v1, float4 v2, float edgeLength, float maxDisplacement, float4x4 o2w, float3 cameraPos, float4 scParams, float4 planes[6] ) + { + float3 pos0 = mul(o2w,v0).xyz; + float3 pos1 = mul(o2w,v1).xyz; + float3 pos2 = mul(o2w,v2).xyz; + float4 tess; + + if (WorldViewFrustumCull(pos0, pos1, pos2, maxDisplacement, planes)) + { + tess = 0.0f; + } + else + { + tess.x = CalcEdgeTessFactor (pos1, pos2, edgeLength, cameraPos, scParams); + tess.y = CalcEdgeTessFactor (pos2, pos0, edgeLength, cameraPos, scParams); + tess.z = CalcEdgeTessFactor (pos0, pos1, edgeLength, cameraPos, scParams); + tess.w = (tess.x + tess.y + tess.z) / 3.0f; + } + return tess; + } + + float4 ComputeClipSpacePosition( float2 screenPosNorm, float deviceDepth ) + { + float4 positionCS = float4( screenPosNorm * 2.0 - 1.0, deviceDepth, 1.0 ); + #if UNITY_UV_STARTS_AT_TOP + positionCS.y = -positionCS.y; + #endif + return positionCS; } - return tess; - } ENDCG /*ase_pass*/ @@ -376,265 +490,268 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ ZTest LEqual Offset 0,0 ColorMask RGBA + /*ase_stencil*/ CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma multi_compile_fwdbase - #ifndef UNITY_PASS_FORWARDBASE - #define UNITY_PASS_FORWARDBASE - #endif - #include "HLSLSupport.cginc" - #ifndef UNITY_INSTANCED_LOD_FADE - #define UNITY_INSTANCED_LOD_FADE - #endif - #ifndef UNITY_INSTANCED_SH - #define UNITY_INSTANCED_SH - #endif - #ifndef UNITY_INSTANCED_LIGHTMAPSTS - #define UNITY_INSTANCED_LIGHTMAPSTS - #endif - #include "UnityShaderVariables.cginc" - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "UnityPBSLighting.cginc" - #include "AutoLight.cginc" + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_fwdbase + #ifndef UNITY_PASS_FORWARDBASE + #define UNITY_PASS_FORWARDBASE + #endif + #include "HLSLSupport.cginc" + #if defined( ASE_GEOMETRY ) || defined( ASE_IMPOSTOR ) + #ifndef UNITY_INSTANCED_LOD_FADE + #define UNITY_INSTANCED_LOD_FADE + #endif + #ifndef UNITY_INSTANCED_SH + #define UNITY_INSTANCED_SH + #endif + #ifndef UNITY_INSTANCED_LIGHTMAPSTS + #define UNITY_INSTANCED_LIGHTMAPSTS + #endif + #endif + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" - /*ase_pragma*/ - struct appdata { - float4 vertex : POSITION; - float4 tangent : TANGENT; - float3 normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vdata:p=p;t=t;n=n;uv1=tc1.xyzw;uv2=tc2.xyzw*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; + /*ase_pragma*/ - struct v2f { - #if UNITY_VERSION >= 201810 - UNITY_POSITION(pos); - #else + struct appdata + { + float4 vertex : POSITION; + half3 normal : NORMAL; + half4 tangent : TANGENT; + float4 texcoord1 : TEXCOORD1; + float4 texcoord2 : TEXCOORD2; + /*ase_vdata:p=p;t=t;n=n;uv1=tc1.xyzw;uv2=tc2.xyzw*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { float4 pos : SV_POSITION; + float4 positionWS : TEXCOORD0; // xyz = positionWS, w = fogCoord + half3 normalWS : TEXCOORD1; + half4 tangentWS : TEXCOORD2; + UNITY_LIGHTING_COORDS( 3, 4 ) + /*ase_interp(5,):sp=sp;wp=tc0.xyz;wn=tc1.xyz;wt=tc2.xyz*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + + #ifdef ASE_TESSELLATION + float _TessPhongStrength; + float _TessValue; + float _TessMin; + float _TessMax; + float _TessEdgeLength; + float _TessMaxDisp; #endif - #if defined(UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS) && UNITY_VERSION >= 201810 && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - UNITY_LIGHTING_COORDS(2,3) - #elif defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if UNITY_VERSION >= 201710 - UNITY_SHADOW_COORDS(2) + + /*ase_globals*/ + + /*ase_funcs*/ + + v2f VertexFunction (appdata v /*ase_vert_input*/ ) { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f,o); + UNITY_TRANSFER_INSTANCE_ID(v,o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + /*ase_vert_code:v=appdata;o=v2f*/ + + #ifdef ASE_ABSOLUTE_VERTEX_POS + float3 defaultVertexValue = v.vertex.xyz; #else - SHADOW_COORDS(2) + float3 defaultVertexValue = float3(0, 0, 0); #endif - #endif - #ifdef ASE_FOG - UNITY_FOG_COORDS(4) - #endif - float4 tSpace0 : TEXCOORD5; - float4 tSpace1 : TEXCOORD6; - float4 tSpace2 : TEXCOORD7; - /*ase_interp(8,):sp=sp.xyzw;sc=tc2;wn.xyz=tc5.xyz;wt.xyz=tc6.xyz;wbt.xyz=tc7.xyz;wp.x=tc5.w;wp.y=tc6.w;wp.z=tc7.w*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;3;-1;_VertexP*/defaultVertexValue/*end*/; + #ifdef ASE_ABSOLUTE_VERTEX_POS + v.vertex.xyz = vertexValue; + #else + v.vertex.xyz += vertexValue; + #endif + v.vertex.w = 1; + v.normal = /*ase_vert_out:Vertex Normal;Float3;4;-1;_VertexNormalP*/v.normal/*end*/; + v.tangent = /*ase_vert_out:Vertex Tangent;Float4;5;-1;_VertexTangentP*/v.tangent/*end*/; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - /*ase_globals*/ + float3 positionWS = mul( unity_ObjectToWorld, v.vertex ).xyz; + half3 normalWS = UnityObjectToWorldNormal( v.normal ); + half3 tangentWS = UnityObjectToWorldDir( v.tangent.xyz ); - /*ase_funcs*/ + o.pos = UnityObjectToClipPos( v.vertex ); + o.positionWS.xyz = positionWS; + o.normalWS = normalWS; + o.tangentWS = half4( tangentWS, v.tangent.w ); - v2f VertexFunction (appdata v /*ase_vert_input*/ ) { - UNITY_SETUP_INSTANCE_ID(v); - v2f o; - UNITY_INITIALIZE_OUTPUT(v2f,o); - UNITY_TRANSFER_INSTANCE_ID(v,o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - /*ase_vert_code:v=appdata;o=v2f*/ - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;3;-1;_VertexP*/defaultVertexValue/*end*/; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.vertex.w = 1; - v.normal = /*ase_vert_out:Vertex Normal;Float3;4;-1;_VertexNormalP*/v.normal/*end*/; - v.tangent = /*ase_vert_out:Vertex Tangent;Float4;5;-1;_VertexTangentP*/v.tangent/*end*/; - - o.pos = UnityObjectToClipPos(v.vertex); - float3 worldPos = mul(unity_ObjectToWorld, v.vertex).xyz; - fixed3 worldNormal = UnityObjectToWorldNormal(v.normal); - fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz); - fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w; - fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign; - o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x); - o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y); - o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z); - - #if UNITY_VERSION >= 201810 && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) UNITY_TRANSFER_LIGHTING(o, v.texcoord1.xy); - #elif defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if UNITY_VERSION >= 201710 - UNITY_TRANSFER_SHADOW(o, v.texcoord1.xy); - #else - TRANSFER_SHADOW(o); + #if defined( ASE_FOG ) + o.positionWS.w = o.pos.z; #endif - #endif + return o; + } - #ifdef ASE_FOG - UNITY_TRANSFER_FOG(o,o.pos); - #endif - return o; - } + #if defined(ASE_TESSELLATION) + struct VertexControl + { + float4 vertex : INTERNALTESSPOS; + half4 tangent : TANGENT; + half3 normal : NORMAL; + float4 texcoord1 : TEXCOORD1; + float4 texcoord2 : TEXCOORD2; + /*ase_vcontrol*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float4 tangent : TANGENT; - float3 normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vcontrol*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; + struct TessellationFactors + { + float edge[3] : SV_TessFactor; + float inside : SV_InsideTessFactor; + }; - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; + VertexControl vert ( appdata v ) + { + VertexControl o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_TRANSFER_INSTANCE_ID(v, o); + o.vertex = v.vertex; + o.tangent = v.tangent; + o.normal = v.normal; + o.texcoord1 = v.texcoord1; + o.texcoord2 = v.texcoord2; + /*ase_control_code:v=appdata;o=VertexControl*/ + return o; + } - VertexControl vert ( appdata v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.tangent = v.tangent; - o.normal = v.normal; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - /*ase_control_code:v=appdata;o=VertexControl*/ - return o; - } + TessellationFactors TessellationFunction (InputPatch v) + { + TessellationFactors o; + float4 tf = 1; + float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; + float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; + #if defined(ASE_FIXED_TESSELLATION) + tf = FixedTess( tessValue ); + #elif defined(ASE_DISTANCE_TESSELLATION) + tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); + #elif defined(ASE_LENGTH_TESSELLATION) + tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); + #elif defined(ASE_LENGTH_CULL_TESSELLATION) + tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); + #endif + o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; + return o; + } - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; - float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } + [domain("tri")] + [partitioning("fractional_odd")] + [outputtopology("triangle_cw")] + [patchconstantfunc("TessellationFunction")] + [outputcontrolpoints(3)] + VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) + { + return patch[id]; + } - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - appdata o = (appdata) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.tangent = patch[0].tangent * bary.x + patch[1].tangent * bary.y + patch[2].tangent * bary.z; - o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); - float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - v2f vert ( appdata v ) - { - return VertexFunction( v ); - } - #endif - - fixed4 frag (v2f IN /*ase_frag_input*/ - #ifdef _DEPTHOFFSET_ON - , out float outputDepth : SV_Depth - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(IN); - - #ifdef LOD_FADE_CROSSFADE - UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); - #endif - - #if defined(_SPECULAR_SETUP) - SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0; + [domain("tri")] + v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) + { + appdata o = (appdata) 0; + o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; + o.tangent = patch[0].tangent * bary.x + patch[1].tangent * bary.y + patch[2].tangent * bary.z; + o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; + o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; + o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; + /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ + #if defined(ASE_PHONG_TESSELLATION) + float3 pp[3]; + for (int i = 0; i < 3; ++i) + pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; + o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; + #endif + UNITY_TRANSFER_INSTANCE_ID(patch[0], o); + return VertexFunction(o); + } #else - SurfaceOutputStandard o = (SurfaceOutputStandard)0; - #endif - /*ase_local_var:wt*/float3 WorldTangent = float3(IN.tSpace0.x,IN.tSpace1.x,IN.tSpace2.x); - /*ase_local_var:wbt*/float3 WorldBiTangent = float3(IN.tSpace0.y,IN.tSpace1.y,IN.tSpace2.y); - /*ase_local_var:wn*/float3 WorldNormal = float3(IN.tSpace0.z,IN.tSpace1.z,IN.tSpace2.z); - /*ase_local_var:wp*/float3 worldPos = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - /*ase_local_var:wvd*/float3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos)); - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - UNITY_LIGHT_ATTENUATION(atten, IN, worldPos) - #else - /*ase_local_var:sc*/half atten = 1; + v2f vert ( appdata v ) + { + return VertexFunction( v ); + } #endif - /*ase_frag_code:IN=v2f*/ - float3 Color = /*ase_frag_out:Color;Float3;0;-1;_ColorP*/fixed3( 0, 0, 0 )/*end*/; - float Alpha = /*ase_frag_out:Alpha;Float;1;-1;_AlphaP*/1/*end*/; - float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;2;-1;_AlphaClipP*/0.5/*end*/; + half4 frag( v2f IN /*ase_frag_input*/ + #if defined( ASE_DEPTH_WRITE_ON ) + , out float outputDepth : SV_Depth + #endif + ) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(IN); - float4 c = float4( Color, Alpha ); + #ifdef LOD_FADE_CROSSFADE + UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); + #endif - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); - #endif + #if defined(ASE_LIGHTING_SIMPLE) + SurfaceOutput o = (SurfaceOutput)0; + #else + #if defined(_SPECULAR_SETUP) + SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0; + #else + SurfaceOutputStandard o = (SurfaceOutputStandard)0; + #endif + #endif - #ifdef _DEPTHOFFSET_ON - outputDepth = IN.pos.z; - #endif + half atten; + { + #if defined( ASE_RECEIVE_SHADOWS ) + UNITY_LIGHT_ATTENUATION( temp, IN, IN.positionWS.xyz ) + atten = temp; + #else + atten = 1; + #endif + } - #ifdef ASE_FOG - UNITY_APPLY_FOG(IN.fogCoord, c); - #endif - return c; - } + /*ase_local_var:wp*/float3 PositionWS = IN.positionWS.xyz; + /*ase_local_var:wvd*/half3 ViewDirWS = normalize( UnityWorldSpaceViewDir( PositionWS ) ); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( IN.pos.xy * ( _ScreenParams.zw - 1.0 ), IN.pos.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, IN.pos.z ) * IN.pos.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:wn*/half3 NormalWS = IN.normalWS; + /*ase_local_var:wt*/half3 TangentWS = IN.tangentWS.xyz; + /*ase_local_var:wbt*/half3 BitangentWS = cross( IN.normalWS, IN.tangentWS.xyz ) * IN.tangentWS.w * unity_WorldTransformParams.w; + /*ase_local_var:latt*/half3 LightAtten = atten; + float FogCoord = IN.positionWS.w; + + /*ase_frag_code:IN=v2f*/ + + half3 Color = /*ase_frag_out:Color;Float3;0;-1;_ColorP*/half3( 0, 0, 0 )/*end*/; + half Alpha = /*ase_frag_out:Alpha;Float;1;-1;_AlphaP*/1/*end*/; + half AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;2;-1;_AlphaClipP*/0.5/*end*/; + + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;28;-1;_DeviceDepth*/IN.pos.z/*end*/; + #endif + + half4 c = half4( Color, Alpha ); + + #ifdef _ALPHATEST_ON + clip( Alpha - AlphaClipThreshold ); + #endif + + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; + #endif + + #if defined( ASE_FOG ) + UNITY_APPLY_FOG( FogCoord, c ); + #endif + return c; + } ENDCG } @@ -648,436 +765,470 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ Blend One Zero CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma multi_compile_fwdbase - #ifndef UNITY_PASS_FORWARDBASE - #define UNITY_PASS_FORWARDBASE - #endif - #include "HLSLSupport.cginc" - #ifndef UNITY_INSTANCED_LOD_FADE - #define UNITY_INSTANCED_LOD_FADE - #endif - #ifndef UNITY_INSTANCED_SH - #define UNITY_INSTANCED_SH - #endif - #ifndef UNITY_INSTANCED_LIGHTMAPSTS - #define UNITY_INSTANCED_LIGHTMAPSTS - #endif - #include "UnityShaderVariables.cginc" - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "UnityPBSLighting.cginc" - #include "AutoLight.cginc" + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_fwdbase + #ifndef UNITY_PASS_FORWARDBASE + #define UNITY_PASS_FORWARDBASE + #endif + #include "HLSLSupport.cginc" + #if defined( ASE_GEOMETRY ) || defined( ASE_IMPOSTOR ) + #ifndef UNITY_INSTANCED_LOD_FADE + #define UNITY_INSTANCED_LOD_FADE + #endif + #ifndef UNITY_INSTANCED_SH + #define UNITY_INSTANCED_SH + #endif + #ifndef UNITY_INSTANCED_LIGHTMAPSTS + #define UNITY_INSTANCED_LIGHTMAPSTS + #endif + #endif + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" - /*ase_pragma*/ - struct appdata { - float4 vertex : POSITION; - float4 tangent : TANGENT; - float3 normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vdata:p=p;t=t;n=n;uv1=tc1.xyzw;uv2=tc2.xyzw*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; + #if defined( UNITY_INSTANCING_ENABLED ) && defined( ASE_INSTANCED_TERRAIN ) && ( defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) || defined(_INSTANCEDTERRAINNORMALS_PIXEL) ) + #define ENABLE_TERRAIN_PERPIXEL_NORMAL + #endif - struct v2f { - #if UNITY_VERSION >= 201810 - UNITY_POSITION(pos); - #else + /*ase_pragma*/ + + struct appdata + { + float4 vertex : POSITION; + half3 normal : NORMAL; + half4 tangent : TANGENT; + float4 texcoord : TEXCOORD0; + float4 texcoord1 : TEXCOORD1; + float4 texcoord2 : TEXCOORD2; + /*ase_vdata:p=p;t=t;n=n;uv0=tc0.xyzw;uv1=tc1.xyzw;uv2=tc2.xyzw*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { float4 pos : SV_POSITION; - #endif - #if defined(LIGHTMAP_ON) || (!defined(LIGHTMAP_ON) && SHADER_TARGET >= 30) - float4 lmap : TEXCOORD0; - #endif - #if !defined(LIGHTMAP_ON) && UNITY_SHOULD_SAMPLE_SH - half3 sh : TEXCOORD1; - #endif - #if defined(UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS) && UNITY_VERSION >= 201810 && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - UNITY_LIGHTING_COORDS(2,3) - #elif defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if UNITY_VERSION >= 201710 - UNITY_SHADOW_COORDS(2) - #else - SHADOW_COORDS(2) - #endif - #endif - #ifdef ASE_FOG - UNITY_FOG_COORDS(4) - #endif - float4 tSpace0 : TEXCOORD5; - float4 tSpace1 : TEXCOORD6; - float4 tSpace2 : TEXCOORD7; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD8; - #endif - /*ase_interp(9,):sp=sp.xyzw;sc=tc2;wn.xyz=tc5.xyz;wt.xyz=tc6.xyz;wbt.xyz=tc7.xyz;wp.x=tc5.w;wp.y=tc6.w;wp.z=tc7.w;spu=tc8*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - /*ase_globals*/ - - /*ase_funcs*/ - - v2f VertexFunction (appdata v /*ase_vert_input*/ ) { - UNITY_SETUP_INSTANCE_ID(v); - v2f o; - UNITY_INITIALIZE_OUTPUT(v2f,o); - UNITY_TRANSFER_INSTANCE_ID(v,o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - /*ase_vert_code:v=appdata;o=v2f*/ - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;15;-1;_Vertex*/defaultVertexValue/*end*/; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.vertex.w = 1; - v.normal = /*ase_vert_out:Vertex Normal;Float3;16;-1;_VertexNormal*/v.normal/*end*/; - v.tangent = /*ase_vert_out:Vertex Tangent;Float4;17;-1;_VertexTangent*/v.tangent/*end*/; - - o.pos = UnityObjectToClipPos(v.vertex); - float3 worldPos = mul(unity_ObjectToWorld, v.vertex).xyz; - fixed3 worldNormal = UnityObjectToWorldNormal(v.normal); - fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz); - fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w; - fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign; - o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x); - o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y); - o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z); - - #ifdef DYNAMICLIGHTMAP_ON - o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - #ifdef LIGHTMAP_ON - o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - #ifndef LIGHTMAP_ON - #if UNITY_SHOULD_SAMPLE_SH && !UNITY_SAMPLE_FULL_SH_PER_PIXEL - o.sh = 0; - #ifdef VERTEXLIGHT_ON - o.sh += Shade4PointLights ( - unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0, - unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb, - unity_4LightAtten0, worldPos, worldNormal); - #endif - o.sh = ShadeSHPerVertex (worldNormal, o.sh); - #endif - #endif - - #if UNITY_VERSION >= 201810 && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - UNITY_TRANSFER_LIGHTING(o, v.texcoord1.xy); - #elif defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if UNITY_VERSION >= 201710 - UNITY_TRANSFER_SHADOW(o, v.texcoord1.xy); - #else - TRANSFER_SHADOW(o); - #endif - #endif - - #ifdef ASE_FOG - UNITY_TRANSFER_FOG(o,o.pos); - #endif - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(o.pos); - #endif - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float4 tangent : TANGENT; - float3 normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vcontrol*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( appdata v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.tangent = v.tangent; - o.normal = v.normal; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - /*ase_control_code:v=appdata;o=VertexControl*/ - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; - float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - appdata o = (appdata) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.tangent = patch[0].tangent * bary.x + patch[1].tangent * bary.y + patch[2].tangent * bary.z; - o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); - float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - v2f vert ( appdata v ) - { - return VertexFunction( v ); - } - #endif - - fixed4 frag (v2f IN /*ase_frag_input*/ - #ifdef _DEPTHOFFSET_ON - , out float outputDepth : SV_Depth - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(IN); - - #ifdef LOD_FADE_CROSSFADE - UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); - #endif - - #if defined(_SPECULAR_SETUP) - SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0; - #else - SurfaceOutputStandard o = (SurfaceOutputStandard)0; - #endif - /*ase_local_var:wt*/float3 WorldTangent = float3(IN.tSpace0.x,IN.tSpace1.x,IN.tSpace2.x); - /*ase_local_var:wbt*/float3 WorldBiTangent = float3(IN.tSpace0.y,IN.tSpace1.y,IN.tSpace2.y); - /*ase_local_var:wn*/float3 WorldNormal = float3(IN.tSpace0.z,IN.tSpace1.z,IN.tSpace2.z); - /*ase_local_var:wp*/float3 worldPos = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - /*ase_local_var:wvd*/float3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos)); - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - UNITY_LIGHT_ATTENUATION(atten, IN, worldPos) - #else - /*ase_local_var:sc*/half atten = 1; - #endif - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - /*ase_local_var:spu*/float4 ScreenPos = IN.screenPos; - #endif - - /*ase_frag_code:IN=v2f*/ - o.Albedo = /*ase_frag_out:Albedo;Float3;0;-1;_Albedo*/fixed3( 0.5, 0.5, 0.5 )/*end*/; - o.Normal = /*ase_frag_out:Normal;Float3;1;-1;_Normal*/fixed3( 0, 0, 1 )/*end*/; - o.Emission = /*ase_frag_out:Emission;Float3;2;-1;_Emission*/half3( 0, 0, 0 )/*end*/; - #if defined(_SPECULAR_SETUP) - o.Specular = /*ase_frag_out:Specular;Float3;3;-1;_Specular*/fixed3( 0, 0, 0 )/*end*/; - #else - o.Metallic = /*ase_frag_out:Metallic;Float;4;-1;_Metallic*/0/*end*/; - #endif - o.Smoothness = /*ase_frag_out:Smoothness;Float;5;-1;_Smoothness*/0/*end*/; - o.Occlusion = /*ase_frag_out:Occlusion;Float;6;-1;_Occlusion*/1/*end*/; - o.Alpha = /*ase_frag_out:Alpha;Float;7;-1;_Alpha*/1/*end*/; - float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;8;-1;_AlphaClip*/0.5/*end*/; - float AlphaClipThresholdShadow = /*ase_frag_out:Alpha Clip Threshold Shadow;Float;9;-1;_AlphaClipShadow*/0.5/*end*/; - float3 BakedGI = /*ase_frag_out:Baked GI;Float3;10;-1;_BakedGI*/0/*end*/; - float3 RefractionColor = /*ase_frag_out:Refraction Color;Float3;11;-1;_RefractionColor*/1/*end*/; - float RefractionIndex = /*ase_frag_out:Refraction Index;Float;12;-1;_RefractionIndex*/1/*end*/; - float3 Transmission = /*ase_frag_out:Transmission;Float3;13;-1;_Transmission*/1/*end*/; - float3 Translucency = /*ase_frag_out:Translucency;Float3;14;-1;_Translucency*/1/*end*/; - - #ifdef _ALPHATEST_ON - clip( o.Alpha - AlphaClipThreshold ); - #endif - - #ifdef _DEPTHOFFSET_ON - outputDepth = IN.pos.z; - #endif - - #ifndef USING_DIRECTIONAL_LIGHT - fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos)); - #else - fixed3 lightDir = _WorldSpaceLightPos0.xyz; - #endif - - fixed4 c = 0; - float3 worldN; - worldN.x = dot(IN.tSpace0.xyz, o.Normal); - worldN.y = dot(IN.tSpace1.xyz, o.Normal); - worldN.z = dot(IN.tSpace2.xyz, o.Normal); - worldN = normalize(worldN); - o.Normal = worldN; - - UnityGI gi; - UNITY_INITIALIZE_OUTPUT(UnityGI, gi); - gi.indirect.diffuse = 0; - gi.indirect.specular = 0; - gi.light.color = _LightColor0.rgb; - gi.light.dir = lightDir; - - UnityGIInput giInput; - UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput); - giInput.light = gi.light; - giInput.worldPos = worldPos; - giInput.worldViewDir = worldViewDir; - giInput.atten = atten; - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - giInput.lightmapUV = IN.lmap; - #else - giInput.lightmapUV = 0.0; - #endif - #if UNITY_SHOULD_SAMPLE_SH && !UNITY_SAMPLE_FULL_SH_PER_PIXEL - giInput.ambient = IN.sh; - #else - giInput.ambient.rgb = 0.0; - #endif - giInput.probeHDR[0] = unity_SpecCube0_HDR; - giInput.probeHDR[1] = unity_SpecCube1_HDR; - #if defined(UNITY_SPECCUBE_BLENDING) || defined(UNITY_SPECCUBE_BOX_PROJECTION) - giInput.boxMin[0] = unity_SpecCube0_BoxMin; - #endif - #ifdef UNITY_SPECCUBE_BOX_PROJECTION - giInput.boxMax[0] = unity_SpecCube0_BoxMax; - giInput.probePosition[0] = unity_SpecCube0_ProbePosition; - giInput.boxMax[1] = unity_SpecCube1_BoxMax; - giInput.boxMin[1] = unity_SpecCube1_BoxMin; - giInput.probePosition[1] = unity_SpecCube1_ProbePosition; - #endif - - #if defined(_SPECULAR_SETUP) - LightingStandardSpecular_GI(o, giInput, gi); - #else - LightingStandard_GI( o, giInput, gi ); - #endif - - #ifdef ASE_BAKEDGI - gi.indirect.diffuse = BakedGI; - #endif - - #if UNITY_SHOULD_SAMPLE_SH && !defined(LIGHTMAP_ON) && defined(ASE_NO_AMBIENT) - gi.indirect.diffuse = 0; - #endif - - #if defined(_SPECULAR_SETUP) - c += LightingStandardSpecular (o, worldViewDir, gi); - #else - c += LightingStandard( o, worldViewDir, gi ); - #endif + float4 positionWS : TEXCOORD0; // xyz = positionWS, w = fogCoord + half3 normalWS : TEXCOORD1; + float4 tangentWS : TEXCOORD2; // holds terrainUV ifdef ENABLE_TERRAIN_PERPIXEL_NORMAL + half4 ambientOrLightmapUV : TEXCOORD3; + UNITY_LIGHTING_COORDS( 4, 5 ) + /*ase_interp(6,):sp=sp;wp=tc0.xyz;wn=tc1.xyz;wt=tc2.xyz*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; #ifdef ASE_TRANSMISSION - { - float shadow = /*ase_inline_begin*/_TransmissionShadow/*ase_inline_end*/; - #ifdef DIRECTIONAL - float3 lightAtten = lerp( _LightColor0.rgb, gi.light.color, shadow ); - #else - float3 lightAtten = gi.light.color; - #endif - half3 transmission = max(0 , -dot(o.Normal, gi.light.dir)) * lightAtten * Transmission; - c.rgb += o.Albedo * transmission; - } + float _TransmissionShadow; #endif - #ifdef ASE_TRANSLUCENCY - { - float shadow = /*ase_inline_begin*/_TransShadow/*ase_inline_end*/; - float normal = /*ase_inline_begin*/_TransNormal/*ase_inline_end*/; - float scattering = /*ase_inline_begin*/_TransScattering/*ase_inline_end*/; - float direct = /*ase_inline_begin*/_TransDirect/*ase_inline_end*/; - float ambient = /*ase_inline_begin*/_TransAmbient/*ase_inline_end*/; - float strength = /*ase_inline_begin*/_TransStrength/*ase_inline_end*/; + float _TransStrength; + float _TransNormal; + float _TransScattering; + float _TransDirect; + float _TransAmbient; + float _TransShadow; + #endif + #ifdef ASE_TESSELLATION + float _TessPhongStrength; + float _TessValue; + float _TessMin; + float _TessMax; + float _TessEdgeLength; + float _TessMaxDisp; + #endif - #ifdef DIRECTIONAL - float3 lightAtten = lerp( _LightColor0.rgb, gi.light.color, shadow ); + /*ase_globals*/ + + /*ase_funcs*/ + + v2f VertexFunction( appdata v /*ase_vert_input*/ ) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f,o); + UNITY_TRANSFER_INSTANCE_ID(v,o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + /*ase_vert_code:v=appdata;o=v2f*/ + + #ifdef ASE_ABSOLUTE_VERTEX_POS + float3 defaultVertexValue = v.vertex.xyz; #else - float3 lightAtten = gi.light.color; + float3 defaultVertexValue = float3(0, 0, 0); #endif - half3 lightDir = gi.light.dir + o.Normal * normal; - half transVdotL = pow( saturate( dot( worldViewDir, -lightDir ) ), scattering ); - half3 translucency = lightAtten * (transVdotL * direct + gi.indirect.diffuse * ambient) * Translucency; - c.rgb += o.Albedo * translucency * strength; + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;15;-1;_Vertex*/defaultVertexValue/*end*/; + #ifdef ASE_ABSOLUTE_VERTEX_POS + v.vertex.xyz = vertexValue; + #else + v.vertex.xyz += vertexValue; + #endif + v.vertex.w = 1; + v.normal = /*ase_vert_out:Vertex Normal;Float3;16;-1;_VertexNormal*/v.normal/*end*/; + v.tangent = /*ase_vert_out:Vertex Tangent;Float4;17;-1;_VertexTangent*/v.tangent/*end*/; + + float3 positionWS = mul( unity_ObjectToWorld, v.vertex ).xyz; + half3 normalWS = UnityObjectToWorldNormal( v.normal ); + half3 tangentWS = UnityObjectToWorldDir( v.tangent.xyz ); + + o.pos = UnityObjectToClipPos( v.vertex ); + o.positionWS.xyz = positionWS; + o.normalWS = normalWS; + o.tangentWS = half4( tangentWS, v.tangent.w ); + + o.ambientOrLightmapUV = 0; + #ifdef LIGHTMAP_ON + o.ambientOrLightmapUV.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #elif UNITY_SHOULD_SAMPLE_SH + #ifdef VERTEXLIGHT_ON + o.ambientOrLightmapUV.rgb += Shade4PointLights( + unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0, + unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb, + unity_4LightAtten0, positionWS, normalWS ); + #endif + o.ambientOrLightmapUV.rgb = ShadeSHPerVertex( normalWS, o.ambientOrLightmapUV.rgb ); + #endif + #ifdef DYNAMICLIGHTMAP_ON + o.ambientOrLightmapUV.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + #endif + + #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) + o.tangentWS.zw = v.texcoord.xy; + o.tangentWS.xy = v.texcoord.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif + + UNITY_TRANSFER_LIGHTING(o, v.texcoord1.xy); + #if defined( ASE_FOG ) + o.positionWS.w = o.pos.z; + #endif + return o; + } + + #if defined(ASE_TESSELLATION) + struct VertexControl + { + float4 vertex : INTERNALTESSPOS; + half4 tangent : TANGENT; + half3 normal : NORMAL; + float4 texcoord : TEXCOORD0; + float4 texcoord1 : TEXCOORD1; + float4 texcoord2 : TEXCOORD2; + /*ase_vcontrol*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct TessellationFactors + { + float edge[3] : SV_TessFactor; + float inside : SV_InsideTessFactor; + }; + + VertexControl vert ( appdata v ) + { + VertexControl o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_TRANSFER_INSTANCE_ID(v, o); + o.vertex = v.vertex; + o.tangent = v.tangent; + o.normal = v.normal; + o.texcoord = v.texcoord; + o.texcoord1 = v.texcoord1; + o.texcoord2 = v.texcoord2; + /*ase_control_code:v=appdata;o=VertexControl*/ + return o; + } + + TessellationFactors TessellationFunction (InputPatch v) + { + TessellationFactors o; + float4 tf = 1; + float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; + float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; + #if defined(ASE_FIXED_TESSELLATION) + tf = FixedTess( tessValue ); + #elif defined(ASE_DISTANCE_TESSELLATION) + tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); + #elif defined(ASE_LENGTH_TESSELLATION) + tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); + #elif defined(ASE_LENGTH_CULL_TESSELLATION) + tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); + #endif + o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; + return o; + } + + [domain("tri")] + [partitioning("fractional_odd")] + [outputtopology("triangle_cw")] + [patchconstantfunc("TessellationFunction")] + [outputcontrolpoints(3)] + VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) + { + return patch[id]; + } + + [domain("tri")] + v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) + { + appdata o = (appdata) 0; + o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; + o.tangent = patch[0].tangent * bary.x + patch[1].tangent * bary.y + patch[2].tangent * bary.z; + o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; + o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; + o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; + o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; + /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ + #if defined(ASE_PHONG_TESSELLATION) + float3 pp[3]; + for (int i = 0; i < 3; ++i) + pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; + o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; + #endif + UNITY_TRANSFER_INSTANCE_ID(patch[0], o); + return VertexFunction(o); + } + #else + v2f vert ( appdata v ) + { + return VertexFunction( v ); } #endif - //#ifdef ASE_REFRACTION - // float4 projScreenPos = ScreenPos / ScreenPos.w; - // float3 refractionOffset = ( RefractionIndex - 1.0 ) * mul( UNITY_MATRIX_V, WorldNormal ).xyz * ( 1.0 - dot( WorldNormal, WorldViewDirection ) ); - // projScreenPos.xy += refractionOffset.xy; - // float3 refraction = UNITY_SAMPLE_SCREENSPACE_TEXTURE( _GrabTexture, projScreenPos ) * RefractionColor; - // color.rgb = lerp( refraction, color.rgb, color.a ); - // color.a = 1; - //#endif + half4 frag( v2f IN /*ase_frag_input*/ + #if defined( ASE_DEPTH_WRITE_ON ) + , out float outputDepth : SV_Depth + #endif + ) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(IN); - c.rgb += o.Emission; + #ifdef LOD_FADE_CROSSFADE + UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); + #endif - #ifdef ASE_FOG - UNITY_APPLY_FOG(IN.fogCoord, c); - #endif - return c; - } + #if defined(ASE_LIGHTING_SIMPLE) + SurfaceOutput o = (SurfaceOutput)0; + #else + #if defined(_SPECULAR_SETUP) + SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0; + #else + SurfaceOutputStandard o = (SurfaceOutputStandard)0; + #endif + #endif + + half atten; + { + #if defined( ASE_RECEIVE_SHADOWS ) + UNITY_LIGHT_ATTENUATION( temp, IN, IN.positionWS.xyz ) + atten = temp; + #else + atten = 1; + #endif + } + + /*ase_local_var:wp*/float3 PositionWS = IN.positionWS.xyz; + /*ase_local_var:wvd*/half3 ViewDirWS = normalize( UnityWorldSpaceViewDir( PositionWS ) ); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( IN.pos.xy * ( _ScreenParams.zw - 1.0 ), IN.pos.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, IN.pos.z ) * IN.pos.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:wn*/half3 NormalWS = IN.normalWS; + /*ase_local_var:wt*/half3 TangentWS = IN.tangentWS.xyz; + /*ase_local_var:wbt*/half3 BitangentWS = cross( IN.normalWS, IN.tangentWS.xyz ) * IN.tangentWS.w * unity_WorldTransformParams.w; + /*ase_local_var:latt*/half3 LightAtten = atten; + float FogCoord = IN.positionWS.w; + + #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) + float2 sampleCoords = (IN.tangentWS.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; + NormalWS = UnityObjectToWorldNormal(normalize(tex2D(_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); + TangentWS = -cross(unity_ObjectToWorld._13_23_33, NormalWS); + BitangentWS = cross(NormalWS, -TangentWS); + #endif + + /*ase_frag_code:IN=v2f*/ + + o.Albedo = /*ase_frag_out:Albedo;Float3;0;-1;_Albedo*/half3( 0.5, 0.5, 0.5 )/*end*/; + o.Normal = /*ase_frag_out:Normal;Float3;1;-1;_Normal*/half3( 0, 0, 1 )/*end*/; + + half3 Specular = /*ase_frag_out:Specular;Float3;3;-1;_Specular*/half3( 0, 0, 0 )/*end*/; + half Metallic = /*ase_frag_out:Metallic;Float;4;-1;_Metallic*/0/*end*/; + half Smoothness = /*ase_frag_out:Smoothness;Float;5;-1;_Smoothness*/0/*end*/; + half Occlusion = /*ase_frag_out:Occlusion;Float;6;-1;_Occlusion*/1/*end*/; + + #if defined(ASE_LIGHTING_SIMPLE) + o.Specular = Specular.x; + o.Gloss = Smoothness; + #else + #if defined(_SPECULAR_SETUP) + o.Specular = Specular; + #else + o.Metallic = Metallic; + #endif + o.Occlusion = Occlusion; + o.Smoothness = Smoothness; + #endif + + o.Emission = /*ase_frag_out:Emission;Float3;2;-1;_Emission*/half3( 0, 0, 0 )/*end*/; + o.Alpha = /*ase_frag_out:Alpha;Float;7;-1;_Alpha*/1/*end*/; + half AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;8;-1;_AlphaClip*/0.5/*end*/; + half AlphaClipThresholdShadow = /*ase_frag_out:Alpha Clip Threshold Shadow;Float;9;-1;_AlphaClipShadow*/0.5/*end*/; + half3 BakedGI = /*ase_frag_out:Baked GI;Float3;10;-1;_BakedGI*/0/*end*/; + half3 Transmission = /*ase_frag_out:Transmission;Float3;13;-1;_Transmission*/1/*end*/; + half3 Translucency = /*ase_frag_out:Translucency;Float3;14;-1;_Translucency*/1/*end*/; + + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;28;-1;_DeviceDepth*/IN.pos.z/*end*/; + #endif + + #ifdef _ALPHATEST_ON + clip( o.Alpha - AlphaClipThreshold ); + #endif + + #if defined( ASE_CHANGES_WORLD_POS ) + { + #if defined( ASE_RECEIVE_SHADOWS ) + UNITY_LIGHT_ATTENUATION( temp, IN, PositionWS ) + LightAtten = temp; + #else + LightAtten = 1; + #endif + } + #endif + + #if ( ASE_FRAGMENT_NORMAL == 0 ) + o.Normal = normalize( o.Normal.x * TangentWS + o.Normal.y * BitangentWS + o.Normal.z * NormalWS ); + #elif ( ASE_FRAGMENT_NORMAL == 1 ) + o.Normal = UnityObjectToWorldNormal( o.Normal ); + #elif ( ASE_FRAGMENT_NORMAL == 2 ) + // @diogo: already in world-space; do nothing + #endif + + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; + #endif + + #ifndef USING_DIRECTIONAL_LIGHT + half3 lightDir = normalize( UnityWorldSpaceLightDir( PositionWS ) ); + #else + half3 lightDir = _WorldSpaceLightPos0.xyz; + #endif + + UnityGI gi; + UNITY_INITIALIZE_OUTPUT(UnityGI, gi); + gi.indirect.diffuse = 0; + gi.indirect.specular = 0; + gi.light.color = _LightColor0.rgb; + gi.light.dir = lightDir; + + UnityGIInput giInput; + UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput); + giInput.light = gi.light; + giInput.worldPos = PositionWS; + giInput.worldViewDir = ViewDirWS; + giInput.atten = atten; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + giInput.lightmapUV = IN.ambientOrLightmapUV; + #else + giInput.lightmapUV = 0.0; + #endif + #if UNITY_SHOULD_SAMPLE_SH && !UNITY_SAMPLE_FULL_SH_PER_PIXEL + giInput.ambient = IN.ambientOrLightmapUV.rgb; + #else + giInput.ambient.rgb = 0.0; + #endif + giInput.probeHDR[0] = unity_SpecCube0_HDR; + giInput.probeHDR[1] = unity_SpecCube1_HDR; + #if defined(UNITY_SPECCUBE_BLENDING) || defined(UNITY_SPECCUBE_BOX_PROJECTION) + giInput.boxMin[0] = unity_SpecCube0_BoxMin; + #endif + #ifdef UNITY_SPECCUBE_BOX_PROJECTION + giInput.boxMax[0] = unity_SpecCube0_BoxMax; + giInput.probePosition[0] = unity_SpecCube0_ProbePosition; + giInput.boxMax[1] = unity_SpecCube1_BoxMax; + giInput.boxMin[1] = unity_SpecCube1_BoxMin; + giInput.probePosition[1] = unity_SpecCube1_ProbePosition; + #endif + + #if defined(ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) + LightingBlinnPhong_GI(o, giInput, gi); + #else + LightingLambert_GI(o, giInput, gi); + #endif + #else + #if defined(_SPECULAR_SETUP) + LightingStandardSpecular_GI(o, giInput, gi); + #else + LightingStandard_GI(o, giInput, gi); + #endif + #endif + + #ifdef ASE_BAKEDGI + gi.indirect.diffuse = BakedGI; + #endif + + #if UNITY_SHOULD_SAMPLE_SH && !defined(LIGHTMAP_ON) && defined(ASE_NO_AMBIENT) + gi.indirect.diffuse = 0; + #endif + + half4 c = 0; + #if defined(ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) + c += LightingBlinnPhong (o, ViewDirWS, gi); + #else + c += LightingLambert( o, gi ); + #endif + #else + #if defined(_SPECULAR_SETUP) + c += LightingStandardSpecular (o, ViewDirWS, gi); + #else + c += LightingStandard(o, ViewDirWS, gi); + #endif + #endif + + #ifdef ASE_TRANSMISSION + { + half shadow = /*ase_inline_begin*/_TransmissionShadow/*ase_inline_end*/; + #ifdef DIRECTIONAL + half3 lightAtten = lerp( _LightColor0.rgb, gi.light.color, shadow ); + #else + half3 lightAtten = gi.light.color; + #endif + half3 transmission = max(0 , -dot(o.Normal, gi.light.dir)) * lightAtten * Transmission; + c.rgb += o.Albedo * transmission; + } + #endif + + #ifdef ASE_TRANSLUCENCY + { + half shadow = /*ase_inline_begin*/_TransShadow/*ase_inline_end*/; + half normal = /*ase_inline_begin*/_TransNormal/*ase_inline_end*/; + half scattering = /*ase_inline_begin*/_TransScattering/*ase_inline_end*/; + half direct = /*ase_inline_begin*/_TransDirect/*ase_inline_end*/; + half ambient = /*ase_inline_begin*/_TransAmbient/*ase_inline_end*/; + half strength = /*ase_inline_begin*/_TransStrength/*ase_inline_end*/; + + #ifdef DIRECTIONAL + half3 lightAtten = lerp( _LightColor0.rgb, gi.light.color, shadow ); + #else + half3 lightAtten = gi.light.color; + #endif + half3 lightDir = gi.light.dir + o.Normal * normal; + half transVdotL = pow( saturate( dot( ViewDirWS, -lightDir ) ), scattering ); + half3 translucency = lightAtten * (transVdotL * direct + gi.indirect.diffuse * ambient) * Translucency; + c.rgb += o.Albedo * translucency * strength; + } + #endif + + c.rgb += o.Emission; + + #if defined( ASE_FOG ) + UNITY_APPLY_FOG( FogCoord, c ); + #endif + return c; + } ENDCG } @@ -1091,363 +1242,399 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ Blend One One CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma skip_variants INSTANCING_ON - #pragma multi_compile_fwdadd_fullshadows - #ifndef UNITY_PASS_FORWARDADD - #define UNITY_PASS_FORWARDADD - #endif - #include "HLSLSupport.cginc" - #if !defined( UNITY_INSTANCED_LOD_FADE ) - #define UNITY_INSTANCED_LOD_FADE - #endif - #if !defined( UNITY_INSTANCED_SH ) - #define UNITY_INSTANCED_SH - #endif - #if !defined( UNITY_INSTANCED_LIGHTMAPSTS ) - #define UNITY_INSTANCED_LIGHTMAPSTS - #endif - #include "UnityShaderVariables.cginc" - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "UnityPBSLighting.cginc" - #include "AutoLight.cginc" + #pragma vertex vert + #pragma fragment frag + #pragma skip_variants INSTANCING_ON + #pragma multi_compile_fwdadd_fullshadows + #ifndef UNITY_PASS_FORWARDADD + #define UNITY_PASS_FORWARDADD + #endif + #include "HLSLSupport.cginc" + #if defined( ASE_GEOMETRY ) || defined( ASE_IMPOSTOR ) + #ifndef UNITY_INSTANCED_LOD_FADE + #define UNITY_INSTANCED_LOD_FADE + #endif + #ifndef UNITY_INSTANCED_SH + #define UNITY_INSTANCED_SH + #endif + #ifndef UNITY_INSTANCED_LIGHTMAPSTS + #define UNITY_INSTANCED_LIGHTMAPSTS + #endif + #endif + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" - /*ase_pragma*/ - struct appdata { - float4 vertex : POSITION; - float4 tangent : TANGENT; - float3 normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vdata:p=p;t=t;n=n;uv1=tc1.xyzw;uv2=tc2.xyzw*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - struct v2f { - #if UNITY_VERSION >= 201810 - UNITY_POSITION(pos); - #else + #if defined( UNITY_INSTANCING_ENABLED ) && defined( ASE_INSTANCED_TERRAIN ) && ( defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) || defined(_INSTANCEDTERRAINNORMALS_PIXEL) ) + #define ENABLE_TERRAIN_PERPIXEL_NORMAL + #endif + + /*ase_pragma*/ + + struct appdata + { + float4 vertex : POSITION; + half3 normal : NORMAL; + half4 tangent : TANGENT; + float4 texcoord : TEXCOORD0; + float4 texcoord1 : TEXCOORD1; + float4 texcoord2 : TEXCOORD2; + /*ase_vdata:p=p;t=t;n=n;uv0=tc0.xyzw;uv1=tc1.xyzw;uv2=tc2.xyzw*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { float4 pos : SV_POSITION; - #endif - #if UNITY_VERSION >= 201810 && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - UNITY_LIGHTING_COORDS(1,2) - #elif defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if UNITY_VERSION >= 201710 - UNITY_SHADOW_COORDS(1) - #else - SHADOW_COORDS(1) - #endif - #endif - #ifdef ASE_FOG - UNITY_FOG_COORDS(3) - #endif - float4 tSpace0 : TEXCOORD5; - float4 tSpace1 : TEXCOORD6; - float4 tSpace2 : TEXCOORD7; - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - float4 screenPos : TEXCOORD8; - #endif - /*ase_interp(9,):sp=sp.xyzw;sc=tc1;wn.xyz=tc5.xyz;wt.xyz=tc6.xyz;wbt.xyz=tc7.xyz;wp.x=tc5.w;wp.y=tc6.w;wp.z=tc7.w;spu=tc8*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - /*ase_globals*/ - - /*ase_funcs*/ - - v2f VertexFunction (appdata v /*ase_vert_input*/ ) { - UNITY_SETUP_INSTANCE_ID(v); - v2f o; - UNITY_INITIALIZE_OUTPUT(v2f,o); - UNITY_TRANSFER_INSTANCE_ID(v,o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - /*ase_vert_code:v=appdata;o=v2f*/ - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;11;-1;_Vertex*/defaultVertexValue/*end*/; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.vertex.w = 1; - v.normal = /*ase_vert_out:Vertex Normal;Float3;12;-1;_VertexNormal*/v.normal/*end*/; - v.tangent = /*ase_vert_out:Vertex Tangent;Float4;13;-1;_VertexTangent*/v.tangent/*end*/; - - o.pos = UnityObjectToClipPos(v.vertex); - float3 worldPos = mul(unity_ObjectToWorld, v.vertex).xyz; - fixed3 worldNormal = UnityObjectToWorldNormal(v.normal); - fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz); - fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w; - fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign; - o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x); - o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y); - o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z); - - #if UNITY_VERSION >= 201810 && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - UNITY_TRANSFER_LIGHTING(o, v.texcoord1.xy); - #elif defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if UNITY_VERSION >= 201710 - UNITY_TRANSFER_SHADOW(o, v.texcoord1.xy); - #else - TRANSFER_SHADOW(o); - #endif - #endif - - #ifdef ASE_FOG - UNITY_TRANSFER_FOG(o,o.pos); - #endif - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - o.screenPos = ComputeScreenPos(o.pos); - #endif - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float4 tangent : TANGENT; - float3 normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vcontrol*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( appdata v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.tangent = v.tangent; - o.normal = v.normal; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - /*ase_control_code:v=appdata;o=VertexControl*/ - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; - float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - appdata o = (appdata) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.tangent = patch[0].tangent * bary.x + patch[1].tangent * bary.y + patch[2].tangent * bary.z; - o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); - float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - v2f vert ( appdata v ) - { - return VertexFunction( v ); - } - #endif - - fixed4 frag ( v2f IN /*ase_frag_input*/ - #ifdef _DEPTHOFFSET_ON - , out float outputDepth : SV_Depth - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(IN); - - #ifdef LOD_FADE_CROSSFADE - UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); - #endif - - #if defined(_SPECULAR_SETUP) - SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0; - #else - SurfaceOutputStandard o = (SurfaceOutputStandard)0; - #endif - /*ase_local_var:wt*/float3 WorldTangent = float3(IN.tSpace0.x,IN.tSpace1.x,IN.tSpace2.x); - /*ase_local_var:wbt*/float3 WorldBiTangent = float3(IN.tSpace0.y,IN.tSpace1.y,IN.tSpace2.y); - /*ase_local_var:wn*/float3 WorldNormal = float3(IN.tSpace0.z,IN.tSpace1.z,IN.tSpace2.z); - /*ase_local_var:wp*/float3 worldPos = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - /*ase_local_var:wvd*/float3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos)); - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - UNITY_LIGHT_ATTENUATION(atten, IN, worldPos) - #else - /*ase_local_var:sc*/half atten = 1; - #endif - #if defined(ASE_NEEDS_FRAG_SCREEN_POSITION) - /*ase_local_var:spu*/float4 ScreenPos = IN.screenPos; - #endif - - - /*ase_frag_code:IN=v2f*/ - o.Albedo = /*ase_frag_out:Albedo;Float3;0;-1;_Albedo*/fixed3( 0.5, 0.5, 0.5 )/*end*/; - o.Normal = /*ase_frag_out:Normal;Float3;1;-1;_Normal*/fixed3( 0, 0, 1 )/*end*/; - o.Emission = /*ase_frag_out:Emission;Float3;2;-1;_Emission*/half3( 0, 0, 0 )/*end*/; - #if defined(_SPECULAR_SETUP) - o.Specular = /*ase_frag_out:Specular;Float3;3;-1;_Specular*/fixed3( 0, 0, 0 )/*end*/; - #else - o.Metallic = /*ase_frag_out:Metallic;Float;4;-1;_Metallic*/0/*end*/; - #endif - o.Smoothness = /*ase_frag_out:Smoothness;Float;5;-1;_Smoothness*/0/*end*/; - o.Occlusion = /*ase_frag_out:Occlusion;Float;6;-1;_Occlusion*/1/*end*/; - o.Alpha = /*ase_frag_out:Alpha;Float;7;-1;_Alpha*/1/*end*/; - float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;8;-1;_AlphaClip*/0.5/*end*/; - float3 Transmission = /*ase_frag_out:Transmission;Float3;9;-1;_Transmission*/1/*end*/; - float3 Translucency = /*ase_frag_out:Translucency;Float3;10;-1;_Translucency*/1/*end*/; - - #ifdef _ALPHATEST_ON - clip( o.Alpha - AlphaClipThreshold ); - #endif - - #ifdef _DEPTHOFFSET_ON - outputDepth = IN.pos.z; - #endif - - #ifndef USING_DIRECTIONAL_LIGHT - fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos)); - #else - fixed3 lightDir = _WorldSpaceLightPos0.xyz; - #endif - - fixed4 c = 0; - float3 worldN; - worldN.x = dot(IN.tSpace0.xyz, o.Normal); - worldN.y = dot(IN.tSpace1.xyz, o.Normal); - worldN.z = dot(IN.tSpace2.xyz, o.Normal); - worldN = normalize(worldN); - o.Normal = worldN; - - UnityGI gi; - UNITY_INITIALIZE_OUTPUT(UnityGI, gi); - gi.indirect.diffuse = 0; - gi.indirect.specular = 0; - gi.light.color = _LightColor0.rgb; - gi.light.dir = lightDir; - gi.light.color *= atten; - - #if defined(_SPECULAR_SETUP) - c += LightingStandardSpecular( o, worldViewDir, gi ); - #else - c += LightingStandard( o, worldViewDir, gi ); - #endif + float4 positionWS : TEXCOORD0; // xyz = positionWS, w = fogCoord + half3 normalWS : TEXCOORD1; + float4 tangentWS : TEXCOORD2; // holds terrainUV ifdef ENABLE_TERRAIN_PERPIXEL_NORMAL + UNITY_LIGHTING_COORDS( 3, 4 ) + /*ase_interp(5,):sp=sp;wp=tc0.xyz;wn=tc1.xyz*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; #ifdef ASE_TRANSMISSION - { - float shadow = /*ase_inline_begin*/_TransmissionShadow/*ase_inline_end*/; - #ifdef DIRECTIONAL - float3 lightAtten = lerp( _LightColor0.rgb, gi.light.color, shadow ); - #else - float3 lightAtten = gi.light.color; - #endif - half3 transmission = max(0 , -dot(o.Normal, gi.light.dir)) * lightAtten * Transmission; - c.rgb += o.Albedo * transmission; - } + float _TransmissionShadow; #endif - #ifdef ASE_TRANSLUCENCY - { - float shadow = /*ase_inline_begin*/_TransShadow/*ase_inline_end*/; - float normal = /*ase_inline_begin*/_TransNormal/*ase_inline_end*/; - float scattering = /*ase_inline_begin*/_TransScattering/*ase_inline_end*/; - float direct = /*ase_inline_begin*/_TransDirect/*ase_inline_end*/; - float ambient = /*ase_inline_begin*/_TransAmbient/*ase_inline_end*/; - float strength = /*ase_inline_begin*/_TransStrength/*ase_inline_end*/; + float _TransStrength; + float _TransNormal; + float _TransScattering; + float _TransDirect; + float _TransAmbient; + float _TransShadow; + #endif + #ifdef ASE_TESSELLATION + float _TessPhongStrength; + float _TessValue; + float _TessMin; + float _TessMax; + float _TessEdgeLength; + float _TessMaxDisp; + #endif - #ifdef DIRECTIONAL - float3 lightAtten = lerp( _LightColor0.rgb, gi.light.color, shadow ); + /*ase_globals*/ + + /*ase_funcs*/ + + v2f VertexFunction (appdata v /*ase_vert_input*/ ) { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f,o); + UNITY_TRANSFER_INSTANCE_ID(v,o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + /*ase_vert_code:v=appdata;o=v2f*/ + + #ifdef ASE_ABSOLUTE_VERTEX_POS + float3 defaultVertexValue = v.vertex.xyz; #else - float3 lightAtten = gi.light.color; + float3 defaultVertexValue = float3(0, 0, 0); #endif - half3 lightDir = gi.light.dir + o.Normal * normal; - half transVdotL = pow( saturate( dot( worldViewDir, -lightDir ) ), scattering ); - half3 translucency = lightAtten * (transVdotL * direct + gi.indirect.diffuse * ambient) * Translucency; - c.rgb += o.Albedo * translucency * strength; + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;15;-1;_Vertex*/defaultVertexValue/*end*/; + #ifdef ASE_ABSOLUTE_VERTEX_POS + v.vertex.xyz = vertexValue; + #else + v.vertex.xyz += vertexValue; + #endif + v.vertex.w = 1; + v.normal = /*ase_vert_out:Vertex Normal;Float3;16;-1;_VertexNormal*/v.normal/*end*/; + v.tangent = /*ase_vert_out:Vertex Tangent;Float4;17;-1;_VertexTangent*/v.tangent/*end*/; + + float3 positionWS = mul( unity_ObjectToWorld, v.vertex ).xyz; + half3 normalWS = UnityObjectToWorldNormal( v.normal ); + half3 tangentWS = UnityObjectToWorldDir( v.tangent.xyz ); + + o.pos = UnityObjectToClipPos( v.vertex ); + o.positionWS.xyz = positionWS; + o.normalWS = normalWS; + o.tangentWS = half4( tangentWS, v.tangent.w ); + + UNITY_TRANSFER_LIGHTING(o, v.texcoord1.xy); + #if defined( ASE_FOG ) + o.positionWS.w = o.pos.z; + #endif + + #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) + o.tangentWS.zw = v.texcoord.xy; + o.tangentWS.xy = v.texcoord.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif + return o; + } + + #if defined(ASE_TESSELLATION) + struct VertexControl + { + float4 vertex : INTERNALTESSPOS; + half4 tangent : TANGENT; + half3 normal : NORMAL; + float4 texcoord : TEXCOORD0; + float4 texcoord1 : TEXCOORD1; + float4 texcoord2 : TEXCOORD2; + /*ase_vcontrol*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct TessellationFactors + { + float edge[3] : SV_TessFactor; + float inside : SV_InsideTessFactor; + }; + + VertexControl vert ( appdata v ) + { + VertexControl o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_TRANSFER_INSTANCE_ID(v, o); + o.vertex = v.vertex; + o.tangent = v.tangent; + o.normal = v.normal; + o.texcoord = v.texcoord; + o.texcoord1 = v.texcoord1; + o.texcoord2 = v.texcoord2; + /*ase_control_code:v=appdata;o=VertexControl*/ + return o; + } + + TessellationFactors TessellationFunction (InputPatch v) + { + TessellationFactors o; + float4 tf = 1; + float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; + float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; + #if defined(ASE_FIXED_TESSELLATION) + tf = FixedTess( tessValue ); + #elif defined(ASE_DISTANCE_TESSELLATION) + tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); + #elif defined(ASE_LENGTH_TESSELLATION) + tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); + #elif defined(ASE_LENGTH_CULL_TESSELLATION) + tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); + #endif + o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; + return o; + } + + [domain("tri")] + [partitioning("fractional_odd")] + [outputtopology("triangle_cw")] + [patchconstantfunc("TessellationFunction")] + [outputcontrolpoints(3)] + VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) + { + return patch[id]; + } + + [domain("tri")] + v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) + { + appdata o = (appdata) 0; + o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; + o.tangent = patch[0].tangent * bary.x + patch[1].tangent * bary.y + patch[2].tangent * bary.z; + o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; + o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; + o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; + o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; + /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ + #if defined(ASE_PHONG_TESSELLATION) + float3 pp[3]; + for (int i = 0; i < 3; ++i) + pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; + o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; + #endif + UNITY_TRANSFER_INSTANCE_ID(patch[0], o); + return VertexFunction(o); + } + #else + v2f vert ( appdata v ) + { + return VertexFunction( v ); } #endif - //#ifdef ASE_REFRACTION - // float4 projScreenPos = ScreenPos / ScreenPos.w; - // float3 refractionOffset = ( RefractionIndex - 1.0 ) * mul( UNITY_MATRIX_V, WorldNormal ).xyz * ( 1.0 - dot( WorldNormal, WorldViewDirection ) ); - // projScreenPos.xy += refractionOffset.xy; - // float3 refraction = UNITY_SAMPLE_SCREENSPACE_TEXTURE( _GrabTexture, projScreenPos ) * RefractionColor; - // color.rgb = lerp( refraction, color.rgb, color.a ); - // color.a = 1; - //#endif + half4 frag ( v2f IN /*ase_frag_input*/ + #if defined( ASE_DEPTH_WRITE_ON ) + , out float outputDepth : SV_Depth + #endif + ) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(IN); - #ifdef ASE_FOG - UNITY_APPLY_FOG(IN.fogCoord, c); - #endif - return c; - } + #ifdef LOD_FADE_CROSSFADE + UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); + #endif + + #if defined(ASE_LIGHTING_SIMPLE) + SurfaceOutput o = (SurfaceOutput)0; + #else + #if defined(_SPECULAR_SETUP) + SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0; + #else + SurfaceOutputStandard o = (SurfaceOutputStandard)0; + #endif + #endif + + half atten; + { + #if defined( ASE_RECEIVE_SHADOWS ) + UNITY_LIGHT_ATTENUATION( temp, IN, IN.positionWS.xyz ) + atten = temp; + #else + atten = 1; + #endif + } + + /*ase_local_var:wp*/float3 PositionWS = IN.positionWS.xyz; + /*ase_local_var:wvd*/half3 ViewDirWS = normalize( UnityWorldSpaceViewDir( PositionWS ) ); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( IN.pos.xy * ( _ScreenParams.zw - 1.0 ), IN.pos.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, IN.pos.z ) * IN.pos.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:wn*/half3 NormalWS = IN.normalWS; + /*ase_local_var:wt*/half3 TangentWS = IN.tangentWS.xyz; + /*ase_local_var:wbt*/half3 BitangentWS = cross( IN.normalWS, IN.tangentWS.xyz ) * IN.tangentWS.w * unity_WorldTransformParams.w; + /*ase_local_var:latt*/half3 LightAtten = atten; + float FogCoord = IN.positionWS.w; + + #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) + float2 sampleCoords = (IN.tangentWS.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; + NormalWS = UnityObjectToWorldNormal(normalize(tex2D(_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); + TangentWS = -cross(unity_ObjectToWorld._13_23_33, NormalWS); + BitangentWS = cross(NormalWS, -TangentWS); + #endif + + /*ase_frag_code:IN=v2f*/ + + o.Albedo = /*ase_frag_out:Albedo;Float3;0;-1;_Albedo*/half3( 0.5, 0.5, 0.5 )/*end*/; + o.Normal = /*ase_frag_out:Normal;Float3;1;-1;_Normal*/half3( 0, 0, 1 )/*end*/; + + half3 Specular = /*ase_frag_out:Specular;Float3;3;-1;_Specular*/half3( 0, 0, 0 )/*end*/; + half Metallic = /*ase_frag_out:Metallic;Float;4;-1;_Metallic*/0/*end*/; + half Smoothness = /*ase_frag_out:Smoothness;Float;5;-1;_Smoothness*/0/*end*/; + half Occlusion = /*ase_frag_out:Occlusion;Float;6;-1;_Occlusion*/1/*end*/; + + #if defined(ASE_LIGHTING_SIMPLE) + o.Specular = Specular.x; + o.Gloss = Smoothness; + #else + #if defined(_SPECULAR_SETUP) + o.Specular = Specular; + #else + o.Metallic = Metallic; + #endif + o.Occlusion = Occlusion; + o.Smoothness = Smoothness; + #endif + + o.Emission = /*ase_frag_out:Emission;Float3;2;-1;_Emission*/half3( 0, 0, 0 )/*end*/; + o.Alpha = /*ase_frag_out:Alpha;Float;7;-1;_Alpha*/1/*end*/; + half AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;8;-1;_AlphaClip*/0.5/*end*/; + half3 Transmission = /*ase_frag_out:Transmission;Float3;13;-1;_Transmission*/1/*end*/; + half3 Translucency = /*ase_frag_out:Translucency;Float3;14;-1;_Translucency*/1/*end*/; + + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;28;-1;_DeviceDepth*/IN.pos.z/*end*/; + #endif + + #ifdef _ALPHATEST_ON + clip( o.Alpha - AlphaClipThreshold ); + #endif + + #if defined( ASE_CHANGES_WORLD_POS ) + { + #if defined( ASE_RECEIVE_SHADOWS ) + UNITY_LIGHT_ATTENUATION( temp, IN, PositionWS ) + LightAtten = temp; + #else + LightAtten = 1; + #endif + } + #endif + + #if ( ASE_FRAGMENT_NORMAL == 0 ) + o.Normal = normalize( o.Normal.x * TangentWS + o.Normal.y * BitangentWS + o.Normal.z * NormalWS ); + #elif ( ASE_FRAGMENT_NORMAL == 1 ) + o.Normal = UnityObjectToWorldNormal( o.Normal ); + #elif ( ASE_FRAGMENT_NORMAL == 2 ) + // @diogo: already in world-space; do nothing + #endif + + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; + #endif + + #ifndef USING_DIRECTIONAL_LIGHT + half3 lightDir = normalize( UnityWorldSpaceLightDir( PositionWS ) ); + #else + half3 lightDir = _WorldSpaceLightPos0.xyz; + #endif + + UnityGI gi; + UNITY_INITIALIZE_OUTPUT(UnityGI, gi); + gi.indirect.diffuse = 0; + gi.indirect.specular = 0; + gi.light.color = _LightColor0.rgb; + gi.light.dir = lightDir; + gi.light.color *= atten; + + half4 c = 0; + #if defined(ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) + c += LightingBlinnPhong (o, ViewDirWS, gi); + #else + c += LightingLambert( o, gi ); + #endif + #else + #if defined(_SPECULAR_SETUP) + c += LightingStandardSpecular(o, ViewDirWS, gi); + #else + c += LightingStandard(o, ViewDirWS, gi); + #endif + #endif + + #ifdef ASE_TRANSMISSION + { + half shadow = /*ase_inline_begin*/_TransmissionShadow/*ase_inline_end*/; + #ifdef DIRECTIONAL + half3 lightAtten = lerp( _LightColor0.rgb, gi.light.color, shadow ); + #else + half3 lightAtten = gi.light.color; + #endif + half3 transmission = max(0 , -dot(o.Normal, gi.light.dir)) * lightAtten * Transmission; + c.rgb += o.Albedo * transmission; + } + #endif + + #ifdef ASE_TRANSLUCENCY + { + half shadow = /*ase_inline_begin*/_TransShadow/*ase_inline_end*/; + half normal = /*ase_inline_begin*/_TransNormal/*ase_inline_end*/; + half scattering = /*ase_inline_begin*/_TransScattering/*ase_inline_end*/; + half direct = /*ase_inline_begin*/_TransDirect/*ase_inline_end*/; + half ambient = /*ase_inline_begin*/_TransAmbient/*ase_inline_end*/; + half strength = /*ase_inline_begin*/_TransStrength/*ase_inline_end*/; + + #ifdef DIRECTIONAL + half3 lightAtten = lerp( _LightColor0.rgb, gi.light.color, shadow ); + #else + half3 lightAtten = gi.light.color; + #endif + half3 lightDir = gi.light.dir + o.Normal * normal; + half transVdotL = pow( saturate( dot( ViewDirWS, -lightDir ) ), scattering ); + half3 translucency = lightAtten * (transVdotL * direct + gi.indirect.diffuse * ambient) * Translucency; + c.rgb += o.Albedo * translucency * strength; + } + #endif + + #if defined( ASE_FOG ) + UNITY_APPLY_FOG( FogCoord, c ); + #endif + return c; + } ENDCG } @@ -1461,352 +1648,402 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ AlphaToMask Off CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma target 3.5 - #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 - #pragma multi_compile_prepassfinal - #ifndef UNITY_PASS_DEFERRED - #define UNITY_PASS_DEFERRED - #endif - #include "HLSLSupport.cginc" - #if !defined( UNITY_INSTANCED_LOD_FADE ) - #define UNITY_INSTANCED_LOD_FADE - #endif - #if !defined( UNITY_INSTANCED_SH ) - #define UNITY_INSTANCED_SH - #endif - #if !defined( UNITY_INSTANCED_LIGHTMAPSTS ) - #define UNITY_INSTANCED_LIGHTMAPSTS - #endif - #include "UnityShaderVariables.cginc" - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "UnityPBSLighting.cginc" + #pragma vertex vert + #pragma fragment frag + #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 + #pragma multi_compile_prepassfinal + #ifndef UNITY_PASS_DEFERRED + #define UNITY_PASS_DEFERRED + #endif + #include "HLSLSupport.cginc" + #if defined( ASE_GEOMETRY ) || defined( ASE_IMPOSTOR ) + #ifndef UNITY_INSTANCED_LOD_FADE + #define UNITY_INSTANCED_LOD_FADE + #endif + #ifndef UNITY_INSTANCED_SH + #define UNITY_INSTANCED_SH + #endif + #ifndef UNITY_INSTANCED_LIGHTMAPSTS + #define UNITY_INSTANCED_LIGHTMAPSTS + #endif + #endif + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" - /*ase_pragma*/ - struct appdata { - float4 vertex : POSITION; - float4 tangent : TANGENT; - float3 normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vdata:p=p;t=t;n=n;uv1=tc1.xyzw;uv2=tc2.xyzw*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; + #if defined( UNITY_INSTANCING_ENABLED ) && defined( ASE_INSTANCED_TERRAIN ) && ( defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) || defined(_INSTANCEDTERRAINNORMALS_PIXEL) ) + #define ENABLE_TERRAIN_PERPIXEL_NORMAL + #endif - struct v2f { - #if UNITY_VERSION >= 201810 - UNITY_POSITION(pos); - #else + /*ase_pragma*/ + + struct appdata + { + float4 vertex : POSITION; + half3 normal : NORMAL; + half4 tangent : TANGENT; + float4 texcoord : TEXCOORD0; + float4 texcoord1 : TEXCOORD1; + float4 texcoord2 : TEXCOORD2; + /*ase_vdata:p=p;t=t;n=n;uv0=tc0.xyzw;uv1=tc1.xyzw;uv2=tc2.xyzw*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { float4 pos : SV_POSITION; - #endif - float4 lmap : TEXCOORD2; - #ifndef LIGHTMAP_ON - #if UNITY_SHOULD_SAMPLE_SH && !UNITY_SAMPLE_FULL_SH_PER_PIXEL - half3 sh : TEXCOORD3; - #endif - #else - #ifdef DIRLIGHTMAP_OFF - float4 lmapFadePos : TEXCOORD4; - #endif - #endif - float4 tSpace0 : TEXCOORD5; - float4 tSpace1 : TEXCOORD6; - float4 tSpace2 : TEXCOORD7; - /*ase_interp(8,):sp=sp.xyzw;wn.xyz=tc5.xyz;wt.xyz=tc6.xyz;wbt.xyz=tc7.xyz;wp.x=tc5.w;wp.y=tc6.w;wp.z=tc7.w*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; + float4 positionWS : TEXCOORD0; // xyz = positionWS, w = fogCoord + half3 normalWS : TEXCOORD1; + float4 tangentWS : TEXCOORD2; // holds terrainUV ifdef ENABLE_TERRAIN_PERPIXEL_NORMAL + half4 ambientOrLightmapUV : TEXCOORD3; + /*ase_interp(4,):sp=sp;wp=tc0.xyz;wn=tc1.xyz;wt=tc2.xyz*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; - #ifdef LIGHTMAP_ON - float4 unity_LightmapFade; - #endif - fixed4 unity_Ambient; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - /*ase_globals*/ - - /*ase_funcs*/ - - v2f VertexFunction (appdata v /*ase_vert_input*/ ) { - UNITY_SETUP_INSTANCE_ID(v); - v2f o; - UNITY_INITIALIZE_OUTPUT(v2f,o); - UNITY_TRANSFER_INSTANCE_ID(v,o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - /*ase_vert_code:v=appdata;o=v2f*/ - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;10;-1;_Vertex*/defaultVertexValue/*end*/; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.vertex.w = 1; - v.normal = /*ase_vert_out:Vertex Normal;Float3;11;-1;_VertexNormal*/v.normal/*end*/; - v.tangent = /*ase_vert_out:Vertex Tangent;Float4;12;-1;_VertexTangent*/v.tangent/*end*/; - - o.pos = UnityObjectToClipPos(v.vertex); - float3 worldPos = mul(unity_ObjectToWorld, v.vertex).xyz; - fixed3 worldNormal = UnityObjectToWorldNormal(v.normal); - fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz); - fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w; - fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign; - o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x); - o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y); - o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z); - - #ifdef DYNAMICLIGHTMAP_ON - o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #else - o.lmap.zw = 0; - #endif #ifdef LIGHTMAP_ON - o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw; - #ifdef DIRLIGHTMAP_OFF - o.lmapFadePos.xyz = (mul(unity_ObjectToWorld, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w; - o.lmapFadePos.w = (-UnityObjectToViewPos(v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w); + float4 unity_LightmapFade; + #endif + half4 unity_Ambient; + #ifdef ASE_TESSELLATION + float _TessPhongStrength; + float _TessValue; + float _TessMin; + float _TessMax; + float _TessEdgeLength; + float _TessMaxDisp; + #endif + + /*ase_globals*/ + + /*ase_funcs*/ + + v2f VertexFunction (appdata v /*ase_vert_input*/ ) { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f,o); + UNITY_TRANSFER_INSTANCE_ID(v,o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + /*ase_vert_code:v=appdata;o=v2f*/ + + #ifdef ASE_ABSOLUTE_VERTEX_POS + float3 defaultVertexValue = v.vertex.xyz; + #else + float3 defaultVertexValue = float3(0, 0, 0); #endif - #else - o.lmap.xy = 0; - #if UNITY_SHOULD_SAMPLE_SH && !UNITY_SAMPLE_FULL_SH_PER_PIXEL - o.sh = 0; - o.sh = ShadeSHPerVertex (worldNormal, o.sh); + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;15;-1;_Vertex*/defaultVertexValue/*end*/; + #ifdef ASE_ABSOLUTE_VERTEX_POS + v.vertex.xyz = vertexValue; + #else + v.vertex.xyz += vertexValue; #endif - #endif - return o; - } + v.vertex.w = 1; + v.normal = /*ase_vert_out:Vertex Normal;Float3;16;-1;_VertexNormal*/v.normal/*end*/; + v.tangent = /*ase_vert_out:Vertex Tangent;Float4;17;-1;_VertexTangent*/v.tangent/*end*/; - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float4 tangent : TANGENT; - float3 normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vcontrol*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; + float3 positionWS = mul( unity_ObjectToWorld, v.vertex ).xyz; + half3 normalWS = UnityObjectToWorldNormal( v.normal ); + half3 tangentWS = UnityObjectToWorldDir( v.tangent.xyz ); - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; + o.pos = UnityObjectToClipPos( v.vertex ); + o.positionWS.xyz = positionWS; + o.normalWS = normalWS; + o.tangentWS = half4( tangentWS, v.tangent.w ); - VertexControl vert ( appdata v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.tangent = v.tangent; - o.normal = v.normal; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - /*ase_control_code:v=appdata;o=VertexControl*/ - return o; - } + o.ambientOrLightmapUV = 0; + #ifdef LIGHTMAP_ON + o.ambientOrLightmapUV.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #elif UNITY_SHOULD_SAMPLE_SH + #ifdef VERTEXLIGHT_ON + o.ambientOrLightmapUV.rgb += Shade4PointLights( + unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0, + unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb, + unity_4LightAtten0, positionWS, normalWS ); + #endif + o.ambientOrLightmapUV.rgb = ShadeSHPerVertex( normalWS, o.ambientOrLightmapUV.rgb ); + #endif + #ifdef DYNAMICLIGHTMAP_ON + o.ambientOrLightmapUV.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + #endif - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; - float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } + #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) + o.tangentWS.zw = v.texcoord.xy; + o.tangentWS.xy = v.texcoord.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif + return o; + } - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } + #if defined(ASE_TESSELLATION) + struct VertexControl + { + float4 vertex : INTERNALTESSPOS; + half4 tangent : TANGENT; + half3 normal : NORMAL; + float4 texcoord : TEXCOORD0; + float4 texcoord1 : TEXCOORD1; + float4 texcoord2 : TEXCOORD2; + /*ase_vcontrol*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; - [domain("tri")] - v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - appdata o = (appdata) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.tangent = patch[0].tangent * bary.x + patch[1].tangent * bary.y + patch[2].tangent * bary.z; - o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); - float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - v2f vert ( appdata v ) - { - return VertexFunction( v ); - } - #endif + struct TessellationFactors + { + float edge[3] : SV_TessFactor; + float inside : SV_InsideTessFactor; + }; - void frag (v2f IN /*ase_frag_input*/ - , out half4 outGBuffer0 : SV_Target0 - , out half4 outGBuffer1 : SV_Target1 - , out half4 outGBuffer2 : SV_Target2 - , out half4 outEmission : SV_Target3 - #if defined(SHADOWS_SHADOWMASK) && (UNITY_ALLOWED_MRT_COUNT > 4) - , out half4 outShadowMask : SV_Target4 - #endif - #ifdef _DEPTHOFFSET_ON - , out float outputDepth : SV_Depth - #endif - ) - { - UNITY_SETUP_INSTANCE_ID(IN); + VertexControl vert ( appdata v ) + { + VertexControl o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_TRANSFER_INSTANCE_ID(v, o); + o.vertex = v.vertex; + o.tangent = v.tangent; + o.normal = v.normal; + o.texcoord = v.texcoord; + o.texcoord1 = v.texcoord1; + o.texcoord2 = v.texcoord2; + /*ase_control_code:v=appdata;o=VertexControl*/ + return o; + } - #ifdef LOD_FADE_CROSSFADE - UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); - #endif + TessellationFactors TessellationFunction (InputPatch v) + { + TessellationFactors o; + float4 tf = 1; + float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; + float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; + #if defined(ASE_FIXED_TESSELLATION) + tf = FixedTess( tessValue ); + #elif defined(ASE_DISTANCE_TESSELLATION) + tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); + #elif defined(ASE_LENGTH_TESSELLATION) + tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); + #elif defined(ASE_LENGTH_CULL_TESSELLATION) + tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); + #endif + o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; + return o; + } - #if defined(_SPECULAR_SETUP) - SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0; + [domain("tri")] + [partitioning("fractional_odd")] + [outputtopology("triangle_cw")] + [patchconstantfunc("TessellationFunction")] + [outputcontrolpoints(3)] + VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) + { + return patch[id]; + } + + [domain("tri")] + v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) + { + appdata o = (appdata) 0; + o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; + o.tangent = patch[0].tangent * bary.x + patch[1].tangent * bary.y + patch[2].tangent * bary.z; + o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; + o.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; + o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; + o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; + /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ + #if defined(ASE_PHONG_TESSELLATION) + float3 pp[3]; + for (int i = 0; i < 3; ++i) + pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; + o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; + #endif + UNITY_TRANSFER_INSTANCE_ID(patch[0], o); + return VertexFunction(o); + } #else - SurfaceOutputStandard o = (SurfaceOutputStandard)0; - #endif - /*ase_local_var:wt*/float3 WorldTangent = float3(IN.tSpace0.x,IN.tSpace1.x,IN.tSpace2.x); - /*ase_local_var:wbt*/float3 WorldBiTangent = float3(IN.tSpace0.y,IN.tSpace1.y,IN.tSpace2.y); - /*ase_local_var:wn*/float3 WorldNormal = float3(IN.tSpace0.z,IN.tSpace1.z,IN.tSpace2.z); - /*ase_local_var:wp*/float3 worldPos = float3(IN.tSpace0.w,IN.tSpace1.w,IN.tSpace2.w); - /*ase_local_var:wvd*/float3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos)); - /*ase_local_var:sc*/half atten = 1; - - /*ase_frag_code:IN=v2f*/ - o.Albedo = /*ase_frag_out:Albedo;Float3;0;-1;_Albedo*/fixed3( 0.5, 0.5, 0.5 )/*end*/; - o.Normal = /*ase_frag_out:Normal;Float3;1;-1;_Normal*/fixed3( 0, 0, 1 )/*end*/; - o.Emission = /*ase_frag_out:Emission;Float3;2;-1;_Emission*/half3( 0, 0, 0 )/*end*/; - #if defined(_SPECULAR_SETUP) - o.Specular = /*ase_frag_out:Specular;Float3;3;-1;_Specular*/fixed3( 0, 0, 0 )/*end*/; - #else - o.Metallic = /*ase_frag_out:Metallic;Float;4;-1;_Metallic*/0/*end*/; - #endif - o.Smoothness = /*ase_frag_out:Smoothness;Float;5;-1;_Smoothness*/0/*end*/; - o.Occlusion = /*ase_frag_out:Occlusion;Float;6;-1;_Occlusion*/1/*end*/; - o.Alpha = /*ase_frag_out:Alpha;Float;7;-1;_Alpha*/1/*end*/; - float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;8;-1;_AlphaClip*/0.5/*end*/; - float3 BakedGI = /*ase_frag_out:Baked GI;Float3;9;-1;_BakedGI*/0/*end*/; - - #ifdef _ALPHATEST_ON - clip( o.Alpha - AlphaClipThreshold ); + v2f vert ( appdata v ) + { + return VertexFunction( v ); + } #endif - #ifdef _DEPTHOFFSET_ON - outputDepth = IN.pos.z; - #endif + void frag (v2f IN /*ase_frag_input*/ + , out half4 outGBuffer0 : SV_Target0 + , out half4 outGBuffer1 : SV_Target1 + , out half4 outGBuffer2 : SV_Target2 + , out half4 outEmission : SV_Target3 + #if defined(SHADOWS_SHADOWMASK) && (UNITY_ALLOWED_MRT_COUNT > 4) + , out half4 outShadowMask : SV_Target4 + #endif + #if defined( ASE_DEPTH_WRITE_ON ) + , out float outputDepth : SV_Depth + #endif + ) + { + UNITY_SETUP_INSTANCE_ID(IN); - #ifndef USING_DIRECTIONAL_LIGHT - fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos)); - #else - fixed3 lightDir = _WorldSpaceLightPos0.xyz; - #endif + #ifdef LOD_FADE_CROSSFADE + UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); + #endif - float3 worldN; - worldN.x = dot(IN.tSpace0.xyz, o.Normal); - worldN.y = dot(IN.tSpace1.xyz, o.Normal); - worldN.z = dot(IN.tSpace2.xyz, o.Normal); - worldN = normalize(worldN); - o.Normal = worldN; + #if defined(ASE_LIGHTING_SIMPLE) + SurfaceOutput o = (SurfaceOutput)0; + #else + #if defined(_SPECULAR_SETUP) + SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0; + #else + SurfaceOutputStandard o = (SurfaceOutputStandard)0; + #endif + #endif - UnityGI gi; - UNITY_INITIALIZE_OUTPUT(UnityGI, gi); - gi.indirect.diffuse = 0; - gi.indirect.specular = 0; - gi.light.color = 0; - gi.light.dir = half3(0,1,0); + /*ase_local_var:wp*/float3 PositionWS = IN.positionWS.xyz; + /*ase_local_var:wvd*/half3 ViewDirWS = normalize( UnityWorldSpaceViewDir( PositionWS ) ); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( IN.pos.xy * ( _ScreenParams.zw - 1.0 ), IN.pos.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, IN.pos.z ) * IN.pos.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:wn*/half3 NormalWS = IN.normalWS; + /*ase_local_var:wt*/half3 TangentWS = IN.tangentWS.xyz; + /*ase_local_var:wbt*/half3 BitangentWS = cross( IN.normalWS, IN.tangentWS.xyz ) * IN.tangentWS.w * unity_WorldTransformParams.w; - UnityGIInput giInput; - UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput); - giInput.light = gi.light; - giInput.worldPos = worldPos; - giInput.worldViewDir = worldViewDir; - giInput.atten = atten; - #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) - giInput.lightmapUV = IN.lmap; - #else - giInput.lightmapUV = 0.0; - #endif - #if UNITY_SHOULD_SAMPLE_SH && !UNITY_SAMPLE_FULL_SH_PER_PIXEL - giInput.ambient = IN.sh; - #else - giInput.ambient.rgb = 0.0; - #endif - giInput.probeHDR[0] = unity_SpecCube0_HDR; - giInput.probeHDR[1] = unity_SpecCube1_HDR; - #if defined(UNITY_SPECCUBE_BLENDING) || defined(UNITY_SPECCUBE_BOX_PROJECTION) - giInput.boxMin[0] = unity_SpecCube0_BoxMin; - #endif - #ifdef UNITY_SPECCUBE_BOX_PROJECTION - giInput.boxMax[0] = unity_SpecCube0_BoxMax; - giInput.probePosition[0] = unity_SpecCube0_ProbePosition; - giInput.boxMax[1] = unity_SpecCube1_BoxMax; - giInput.boxMin[1] = unity_SpecCube1_BoxMin; - giInput.probePosition[1] = unity_SpecCube1_ProbePosition; - #endif + #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) + float2 sampleCoords = (IN.tangentWS.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; + NormalWS = UnityObjectToWorldNormal(normalize(tex2D(_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); + TangentWS = -cross(unity_ObjectToWorld._13_23_33, NormalWS); + BitangentWS = cross(NormalWS, -TangentWS); + #endif - #if defined(_SPECULAR_SETUP) - LightingStandardSpecular_GI( o, giInput, gi ); - #else - LightingStandard_GI( o, giInput, gi ); - #endif + /*ase_frag_code:IN=v2f*/ - #ifdef ASE_BAKEDGI - gi.indirect.diffuse = BakedGI; - #endif + o.Albedo = /*ase_frag_out:Albedo;Float3;0;-1;_Albedo*/half3( 0.5, 0.5, 0.5 )/*end*/; + o.Normal = /*ase_frag_out:Normal;Float3;1;-1;_Normal*/half3( 0, 0, 1 )/*end*/; - #if UNITY_SHOULD_SAMPLE_SH && !defined(LIGHTMAP_ON) && defined(ASE_NO_AMBIENT) + half3 Specular = /*ase_frag_out:Specular;Float3;3;-1;_Specular*/half3( 0, 0, 0 )/*end*/; + half Metallic = /*ase_frag_out:Metallic;Float;4;-1;_Metallic*/0/*end*/; + half Smoothness = /*ase_frag_out:Smoothness;Float;5;-1;_Smoothness*/0/*end*/; + half Occlusion = /*ase_frag_out:Occlusion;Float;6;-1;_Occlusion*/1/*end*/; + + #if defined(ASE_LIGHTING_SIMPLE) + o.Specular = Specular.x; + o.Gloss = Smoothness; + #else + #if defined(_SPECULAR_SETUP) + o.Specular = Specular; + #else + o.Metallic = Metallic; + #endif + o.Occlusion = Occlusion; + o.Smoothness = Smoothness; + #endif + + o.Emission = /*ase_frag_out:Emission;Float3;2;-1;_Emission*/half3( 0, 0, 0 )/*end*/; + o.Alpha = /*ase_frag_out:Alpha;Float;7;-1;_Alpha*/1/*end*/; + half AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;8;-1;_AlphaClip*/0.5/*end*/; + half3 BakedGI = /*ase_frag_out:Baked GI;Float3;10;-1;_BakedGI*/0/*end*/; + + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;28;-1;_DeviceDepth*/IN.pos.z/*end*/; + #endif + + #if ( ASE_FRAGMENT_NORMAL == 0 ) + o.Normal = normalize( o.Normal.x * TangentWS + o.Normal.y * BitangentWS + o.Normal.z * NormalWS ); + #elif ( ASE_FRAGMENT_NORMAL == 1 ) + o.Normal = UnityObjectToWorldNormal( o.Normal ); + #elif ( ASE_FRAGMENT_NORMAL == 2 ) + // @diogo: already in world-space; do nothing + #endif + + #ifdef _ALPHATEST_ON + clip( o.Alpha - AlphaClipThreshold ); + #endif + + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; + #endif + + #ifndef USING_DIRECTIONAL_LIGHT + half3 lightDir = normalize( UnityWorldSpaceLightDir( PositionWS ) ); + #else + half3 lightDir = _WorldSpaceLightPos0.xyz; + #endif + + UnityGI gi; + UNITY_INITIALIZE_OUTPUT(UnityGI, gi); gi.indirect.diffuse = 0; - #endif + gi.indirect.specular = 0; + gi.light.color = 0; + gi.light.dir = half3( 0, 1, 0 ); - #if defined(_SPECULAR_SETUP) - outEmission = LightingStandardSpecular_Deferred( o, worldViewDir, gi, outGBuffer0, outGBuffer1, outGBuffer2 ); - #else - outEmission = LightingStandard_Deferred( o, worldViewDir, gi, outGBuffer0, outGBuffer1, outGBuffer2 ); - #endif + UnityGIInput giInput; + UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput); + giInput.light = gi.light; + giInput.worldPos = PositionWS; + giInput.worldViewDir = ViewDirWS; + giInput.atten = 1; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + giInput.lightmapUV = IN.ambientOrLightmapUV; + #else + giInput.lightmapUV = 0.0; + #endif + #if UNITY_SHOULD_SAMPLE_SH && !UNITY_SAMPLE_FULL_SH_PER_PIXEL + giInput.ambient = IN.ambientOrLightmapUV.rgb; + #else + giInput.ambient.rgb = 0.0; + #endif + giInput.probeHDR[0] = unity_SpecCube0_HDR; + giInput.probeHDR[1] = unity_SpecCube1_HDR; + #if defined(UNITY_SPECCUBE_BLENDING) || defined(UNITY_SPECCUBE_BOX_PROJECTION) + giInput.boxMin[0] = unity_SpecCube0_BoxMin; + #endif + #ifdef UNITY_SPECCUBE_BOX_PROJECTION + giInput.boxMax[0] = unity_SpecCube0_BoxMax; + giInput.probePosition[0] = unity_SpecCube0_ProbePosition; + giInput.boxMax[1] = unity_SpecCube1_BoxMax; + giInput.boxMin[1] = unity_SpecCube1_BoxMin; + giInput.probePosition[1] = unity_SpecCube1_ProbePosition; + #endif - #if defined(SHADOWS_SHADOWMASK) && (UNITY_ALLOWED_MRT_COUNT > 4) - outShadowMask = UnityGetRawBakedOcclusions (IN.lmap.xy, float3(0, 0, 0)); - #endif - #ifndef UNITY_HDR_ON - outEmission.rgb = exp2(-outEmission.rgb); - #endif - } + #if defined(ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) + LightingBlinnPhong_GI(o, giInput, gi); + #else + LightingLambert_GI(o, giInput, gi); + #endif + #else + #if defined(_SPECULAR_SETUP) + LightingStandardSpecular_GI(o, giInput, gi); + #else + LightingStandard_GI(o, giInput, gi); + #endif + #endif + + #ifdef ASE_BAKEDGI + gi.indirect.diffuse = BakedGI; + #endif + + #if UNITY_SHOULD_SAMPLE_SH && !defined(LIGHTMAP_ON) && defined(ASE_NO_AMBIENT) + gi.indirect.diffuse = 0; + #endif + + #if defined(ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) + outEmission = LightingBlinnPhong_Deferred( o, ViewDirWS, gi, outGBuffer0, outGBuffer1, outGBuffer2 ); + #else + outEmission = LightingLambert_Deferred( o, gi, outGBuffer0, outGBuffer1, outGBuffer2 ); + #endif + #else + #if defined(_SPECULAR_SETUP) + outEmission = LightingStandardSpecular_Deferred( o, ViewDirWS, gi, outGBuffer0, outGBuffer1, outGBuffer2 ); + #else + outEmission = LightingStandard_Deferred( o, ViewDirWS, gi, outGBuffer0, outGBuffer1, outGBuffer2 ); + #endif + #endif + + #if defined(SHADOWS_SHADOWMASK) && (UNITY_ALLOWED_MRT_COUNT > 4) + outShadowMask = UnityGetRawBakedOcclusions( IN.ambientOrLightmapUV.xy, float3( 0, 0, 0 ) ); + #endif + #ifndef UNITY_HDR_ON + outEmission.rgb = exp2(-outEmission.rgb); + #endif + } ENDCG } @@ -1819,238 +2056,495 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ Cull Off CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 - #pragma shader_feature EDITOR_VISUALIZATION - #ifndef UNITY_PASS_META - #define UNITY_PASS_META - #endif - #include "HLSLSupport.cginc" - #if !defined( UNITY_INSTANCED_LOD_FADE ) - #define UNITY_INSTANCED_LOD_FADE - #endif - #if !defined( UNITY_INSTANCED_SH ) - #define UNITY_INSTANCED_SH - #endif - #if !defined( UNITY_INSTANCED_LIGHTMAPSTS ) - #define UNITY_INSTANCED_LIGHTMAPSTS - #endif - #include "UnityShaderVariables.cginc" - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "UnityPBSLighting.cginc" - #include "UnityMetaPass.cginc" + #pragma vertex vert + #pragma fragment frag + #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 + #pragma shader_feature EDITOR_VISUALIZATION + #ifndef UNITY_PASS_META + #define UNITY_PASS_META + #endif + #include "HLSLSupport.cginc" + #if defined( ASE_GEOMETRY ) || defined( ASE_IMPOSTOR ) + #ifndef UNITY_INSTANCED_LOD_FADE + #define UNITY_INSTANCED_LOD_FADE + #endif + #ifndef UNITY_INSTANCED_SH + #define UNITY_INSTANCED_SH + #endif + #ifndef UNITY_INSTANCED_LIGHTMAPSTS + #define UNITY_INSTANCED_LIGHTMAPSTS + #endif + #endif + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "UnityMetaPass.cginc" - /*ase_pragma*/ - struct appdata { - float4 vertex : POSITION; - float4 tangent : TANGENT; - float3 normal : NORMAL; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vdata:p=p;t=t;n=n;uv0=tc0.xyzw;uv1=tc1.xyzw;uv2=tc2.xyzw*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - struct v2f { - #if UNITY_VERSION >= 201810 - UNITY_POSITION(pos); - #else + /*ase_pragma*/ + + struct appdata + { + float4 vertex : POSITION; + half3 normal : NORMAL; + half4 tangent : TANGENT; + float4 texcoord : TEXCOORD0; + float4 texcoord1 : TEXCOORD1; + float4 texcoord2 : TEXCOORD2; + /*ase_vdata:p=p;t=t;n=n;uv0=tc0.xyzw;uv1=tc1.xyzw;uv2=tc2.xyzw*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { float4 pos : SV_POSITION; + #ifdef EDITOR_VISUALIZATION + float2 vizUV : TEXCOORD0; + float4 lightCoord : TEXCOORD1; + #endif + /*ase_interp(2,):sp=sp*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + + #ifdef ASE_TESSELLATION + float _TessPhongStrength; + float _TessValue; + float _TessMin; + float _TessMax; + float _TessEdgeLength; + float _TessMaxDisp; #endif - #ifdef EDITOR_VISUALIZATION - float2 vizUV : TEXCOORD1; - float4 lightCoord : TEXCOORD2; - #endif - /*ase_interp(3,):sp=sp.xyzw*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - /*ase_globals*/ + /*ase_globals*/ - /*ase_funcs*/ + /*ase_funcs*/ - v2f VertexFunction (appdata v /*ase_vert_input*/ ) { - UNITY_SETUP_INSTANCE_ID(v); - v2f o; - UNITY_INITIALIZE_OUTPUT(v2f,o); - UNITY_TRANSFER_INSTANCE_ID(v,o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + v2f VertexFunction( appdata v /*ase_vert_input*/ ) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f,o); + UNITY_TRANSFER_INSTANCE_ID(v,o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - /*ase_vert_code:v=appdata;o=v2f*/ - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; + /*ase_vert_code:v=appdata;o=v2f*/ + + #ifdef ASE_ABSOLUTE_VERTEX_POS + float3 defaultVertexValue = v.vertex.xyz; + #else + float3 defaultVertexValue = float3(0, 0, 0); + #endif + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;15;-1;_Vertex*/defaultVertexValue/*end*/; + #ifdef ASE_ABSOLUTE_VERTEX_POS + v.vertex.xyz = vertexValue; + #else + v.vertex.xyz += vertexValue; + #endif + v.vertex.w = 1; + v.normal = /*ase_vert_out:Vertex Normal;Float3;16;-1;_VertexNormal*/v.normal/*end*/; + v.tangent = /*ase_vert_out:Vertex Tangent;Float4;17;-1;_VertexTangent*/v.tangent/*end*/; + + #ifdef EDITOR_VISUALIZATION + o.vizUV = 0; + o.lightCoord = 0; + if (unity_VisualizationMode == EDITORVIZ_TEXTURE) + o.vizUV = UnityMetaVizUV(unity_EditorViz_UVIndex, v.texcoord.xy, v.texcoord1.xy, v.texcoord2.xy, unity_EditorViz_Texture_ST); + else if (unity_VisualizationMode == EDITORVIZ_SHOWLIGHTMASK) + { + o.vizUV = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw; + o.lightCoord = mul(unity_EditorViz_WorldToLight, mul(unity_ObjectToWorld, float4(v.vertex.xyz, 1))); + } + #endif + + o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST); + return o; + } + + #if defined(ASE_TESSELLATION) + struct VertexControl + { + float4 vertex : INTERNALTESSPOS; + float4 tangent : TANGENT; + float3 normal : NORMAL; + float4 texcoord1 : TEXCOORD1; + float4 texcoord2 : TEXCOORD2; + /*ase_vcontrol*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct TessellationFactors + { + float edge[3] : SV_TessFactor; + float inside : SV_InsideTessFactor; + }; + + VertexControl vert ( appdata v ) + { + VertexControl o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_TRANSFER_INSTANCE_ID(v, o); + o.vertex = v.vertex; + o.tangent = v.tangent; + o.normal = v.normal; + o.texcoord1 = v.texcoord1; + o.texcoord2 = v.texcoord2; + /*ase_control_code:v=appdata;o=VertexControl*/ + return o; + } + + TessellationFactors TessellationFunction (InputPatch v) + { + TessellationFactors o; + float4 tf = 1; + float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; + float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; + #if defined(ASE_FIXED_TESSELLATION) + tf = FixedTess( tessValue ); + #elif defined(ASE_DISTANCE_TESSELLATION) + tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); + #elif defined(ASE_LENGTH_TESSELLATION) + tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); + #elif defined(ASE_LENGTH_CULL_TESSELLATION) + tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); + #endif + o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; + return o; + } + + [domain("tri")] + [partitioning("fractional_odd")] + [outputtopology("triangle_cw")] + [patchconstantfunc("TessellationFunction")] + [outputcontrolpoints(3)] + VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) + { + return patch[id]; + } + + [domain("tri")] + v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) + { + appdata o = (appdata) 0; + o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; + o.tangent = patch[0].tangent * bary.x + patch[1].tangent * bary.y + patch[2].tangent * bary.z; + o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; + o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; + o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; + /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ + #if defined(ASE_PHONG_TESSELLATION) + float3 pp[3]; + for (int i = 0; i < 3; ++i) + pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; + o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; + #endif + UNITY_TRANSFER_INSTANCE_ID(patch[0], o); + return VertexFunction(o); + } #else - float3 defaultVertexValue = float3(0, 0, 0); + v2f vert( appdata v ) + { + return VertexFunction( v ); + } #endif - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;4;-1;_Vertex*/defaultVertexValue/*end*/; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; + + half4 frag( v2f IN /*ase_frag_input*/ ) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(IN); + + #ifdef LOD_FADE_CROSSFADE + UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); + #endif + + #if defined(ASE_LIGHTING_SIMPLE) + SurfaceOutput o = (SurfaceOutput)0; + #else + #if defined(_SPECULAR_SETUP) + SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0; + #else + SurfaceOutputStandard o = (SurfaceOutputStandard)0; + #endif + #endif + + /*ase_frag_code:IN=v2f*/ + + o.Albedo = /*ase_frag_out:Albedo;Float3;0;-1;_Albedo*/half3( 0.5, 0.5, 0.5 )/*end*/; + o.Normal = half3( 0, 0, 1 ); + o.Emission = /*ase_frag_out:Emission;Float3;2;-1;_Emission*/half3( 0, 0, 0 )/*end*/; + o.Alpha = /*ase_frag_out:Alpha;Float;7;-1;_Alpha*/1/*end*/; + half AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;8;-1;_AlphaClip*/0.5/*end*/; + + #ifdef _ALPHATEST_ON + clip( o.Alpha - AlphaClipThreshold ); + #endif + + UnityMetaInput metaIN; + UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN); + metaIN.Albedo = o.Albedo; + metaIN.Emission = o.Emission; + #ifdef EDITOR_VISUALIZATION + metaIN.VizUV = IN.vizUV; + metaIN.LightCoord = IN.lightCoord; + #endif + return UnityMetaFragment(metaIN); + } + ENDCG + } + + /*ase_pass*/ + Pass + { + /*ase_hide_pass*/ + Name "ShadowCaster" + Tags { "LightMode"="ShadowCaster" } + ZWrite On + ZTest LEqual + AlphaToMask Off + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 + #pragma multi_compile_shadowcaster + #ifndef UNITY_PASS_SHADOWCASTER + #define UNITY_PASS_SHADOWCASTER + #endif + #include "HLSLSupport.cginc" + #if defined( ASE_GEOMETRY ) || defined( ASE_IMPOSTOR ) + #ifndef UNITY_INSTANCED_LOD_FADE + #define UNITY_INSTANCED_LOD_FADE + #endif + #ifndef UNITY_INSTANCED_SH + #define UNITY_INSTANCED_SH + #endif + #ifndef UNITY_INSTANCED_LIGHTMAPSTS + #define UNITY_INSTANCED_LIGHTMAPSTS + #endif + #endif + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + + /*ase_pragma*/ + + struct appdata + { + float4 vertex : POSITION; + half3 normal : NORMAL; + half4 tangent : TANGENT; + float4 texcoord1 : TEXCOORD1; + float4 texcoord2 : TEXCOORD2; + /*ase_vdata:p=p;t=t;n=n;uv1=tc1.xyzw;uv2=tc2.xyzw*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { + V2F_SHADOW_CASTER; + /*ase_interp(1,):sp=sp*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + + #ifdef UNITY_STANDARD_USE_DITHER_MASK + sampler3D _DitherMaskLOD; + #endif + #ifdef ASE_TESSELLATION + float _TessPhongStrength; + float _TessValue; + float _TessMin; + float _TessMax; + float _TessEdgeLength; + float _TessMaxDisp; + #endif + + /*ase_globals*/ + + /*ase_funcs*/ + + v2f VertexFunction( appdata v /*ase_vert_input*/ ) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f,o); + UNITY_TRANSFER_INSTANCE_ID(v,o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + /*ase_vert_code:v=appdata;o=v2f*/ + + #ifdef ASE_ABSOLUTE_VERTEX_POS + float3 defaultVertexValue = v.vertex.xyz; + #else + float3 defaultVertexValue = float3(0, 0, 0); + #endif + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;15;-1;_Vertex*/defaultVertexValue/*end*/; + #ifdef ASE_ABSOLUTE_VERTEX_POS + v.vertex.xyz = vertexValue; + #else + v.vertex.xyz += vertexValue; + #endif + v.vertex.w = 1; + v.normal = /*ase_vert_out:Vertex Normal;Float3;16;-1;_VertexNormal*/v.normal/*end*/; + v.tangent = /*ase_vert_out:Vertex Tangent;Float4;17;-1;_VertexTangent*/v.tangent/*end*/; + + #if defined( ASE_IMPOSTOR ) + // Disable "Normal Bias" because we're rendering billboard impostors and there's no vertex normals. + unity_LightShadowBias.z = 0; + #endif + + TRANSFER_SHADOW_CASTER_NORMALOFFSET(o) + return o; + } + + #if defined(ASE_TESSELLATION) + struct VertexControl + { + float4 vertex : INTERNALTESSPOS; + half4 tangent : TANGENT; + half3 normal : NORMAL; + float4 texcoord1 : TEXCOORD1; + float4 texcoord2 : TEXCOORD2; + /*ase_vcontrol*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct TessellationFactors + { + float edge[3] : SV_TessFactor; + float inside : SV_InsideTessFactor; + }; + + VertexControl vert ( appdata v ) + { + VertexControl o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_TRANSFER_INSTANCE_ID(v, o); + o.vertex = v.vertex; + o.tangent = v.tangent; + o.normal = v.normal; + o.texcoord1 = v.texcoord1; + o.texcoord2 = v.texcoord2; + /*ase_control_code:v=appdata;o=VertexControl*/ + return o; + } + + TessellationFactors TessellationFunction (InputPatch v) + { + TessellationFactors o; + float4 tf = 1; + float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; + float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; + #if defined(ASE_FIXED_TESSELLATION) + tf = FixedTess( tessValue ); + #elif defined(ASE_DISTANCE_TESSELLATION) + tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); + #elif defined(ASE_LENGTH_TESSELLATION) + tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); + #elif defined(ASE_LENGTH_CULL_TESSELLATION) + tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); + #endif + o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; + return o; + } + + [domain("tri")] + [partitioning("fractional_odd")] + [outputtopology("triangle_cw")] + [patchconstantfunc("TessellationFunction")] + [outputcontrolpoints(3)] + VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) + { + return patch[id]; + } + + [domain("tri")] + v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) + { + appdata o = (appdata) 0; + o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; + o.tangent = patch[0].tangent * bary.x + patch[1].tangent * bary.y + patch[2].tangent * bary.z; + o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; + o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; + o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; + /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ + #if defined(ASE_PHONG_TESSELLATION) + float3 pp[3]; + for (int i = 0; i < 3; ++i) + pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; + o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; + #endif + UNITY_TRANSFER_INSTANCE_ID(patch[0], o); + return VertexFunction(o); + } #else - v.vertex.xyz += vertexValue; - #endif - v.vertex.w = 1; - v.normal = /*ase_vert_out:Vertex Normal;Float3;5;-1;_VertexNormal*/v.normal/*end*/; - v.tangent = /*ase_vert_out:Vertex Tangent;Float4;6;-1;_VertexTangent*/v.tangent/*end*/; - - #ifdef EDITOR_VISUALIZATION - o.vizUV = 0; - o.lightCoord = 0; - if (unity_VisualizationMode == EDITORVIZ_TEXTURE) - o.vizUV = UnityMetaVizUV(unity_EditorViz_UVIndex, v.texcoord.xy, v.texcoord1.xy, v.texcoord2.xy, unity_EditorViz_Texture_ST); - else if (unity_VisualizationMode == EDITORVIZ_SHOWLIGHTMASK) - { - o.vizUV = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw; - o.lightCoord = mul(unity_EditorViz_WorldToLight, mul(unity_ObjectToWorld, float4(v.vertex.xyz, 1))); - } + v2f vert( appdata v ) + { + return VertexFunction( v ); + } #endif - o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST); + half4 frag( v2f IN /*ase_frag_input*/ + #if defined( ASE_DEPTH_WRITE_ON ) + , out float outputDepth : SV_Depth + #endif + ) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(IN); - return o; - } + #ifdef LOD_FADE_CROSSFADE + UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); + #endif - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float4 tangent : TANGENT; - float3 normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vcontrol*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; + #if defined(ASE_LIGHTING_SIMPLE) + SurfaceOutput o = (SurfaceOutput)0; + #else + #if defined(_SPECULAR_SETUP) + SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0; + #else + SurfaceOutputStandard o = (SurfaceOutputStandard)0; + #endif + o.Occlusion = 1; + #endif - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; + /*ase_frag_code:IN=v2f*/ - VertexControl vert ( appdata v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.tangent = v.tangent; - o.normal = v.normal; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - /*ase_control_code:v=appdata;o=VertexControl*/ - return o; - } + o.Normal = half3( 0, 0, 1 ); - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; - float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } + o.Alpha = /*ase_frag_out:Alpha;Float;7;-1;_Alpha*/1/*end*/; + half AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;8;-1;_AlphaClip*/0.5/*end*/; + half AlphaClipThresholdShadow = /*ase_frag_out:Alpha Clip Threshold Shadow;Float;9;-1;_AlphaClipShadow*/0.5/*end*/; - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;28;-1;_DeviceDepth*/IN.pos.z/*end*/; + #endif - [domain("tri")] - v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - appdata o = (appdata) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.tangent = patch[0].tangent * bary.x + patch[1].tangent * bary.y + patch[2].tangent * bary.z; - o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); - float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - v2f vert ( appdata v ) - { - return VertexFunction( v ); - } - #endif + #ifdef _ALPHATEST_SHADOW_ON + if (unity_LightShadowBias.z != 0.0) + clip(o.Alpha - AlphaClipThresholdShadow); + #ifdef _ALPHATEST_ON + else + clip(o.Alpha - AlphaClipThreshold); + #endif + #else + #ifdef _ALPHATEST_ON + clip(o.Alpha - AlphaClipThreshold); + #endif + #endif - fixed4 frag (v2f IN /*ase_frag_input*/ - #ifdef _DEPTHOFFSET_ON - , out float outputDepth : SV_Depth - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(IN); + #ifdef UNITY_STANDARD_USE_DITHER_MASK + half alphaRef = tex3D(_DitherMaskLOD, float3(IN.pos.xy*0.25,o.Alpha*0.9375)).a; + clip(alphaRef - 0.01); + #endif - #ifdef LOD_FADE_CROSSFADE - UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); - #endif + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; + #endif - #if defined(_SPECULAR_SETUP) - SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0; - #else - SurfaceOutputStandard o = (SurfaceOutputStandard)0; - #endif - - /*ase_frag_code:IN=v2f*/ - o.Albedo = /*ase_frag_out:Albedo;Float3;0;-1;_Albedo*/fixed3( 0.5, 0.5, 0.5 )/*end*/; - o.Normal = fixed3( 0, 0, 1 ); - o.Emission = /*ase_frag_out:Emission;Float3;1;-1;_Emission*/half3( 0, 0, 0 )/*end*/; - o.Alpha = /*ase_frag_out:Alpha;Float;2;-1;_Alpha*/1/*end*/; - float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;3;-1;_AlphaClip*/0.5/*end*/; - - #ifdef _ALPHATEST_ON - clip( o.Alpha - AlphaClipThreshold ); - #endif - - #ifdef _DEPTHOFFSET_ON - outputDepth = IN.pos.z; - #endif - - UnityMetaInput metaIN; - UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN); - metaIN.Albedo = o.Albedo; - metaIN.Emission = o.Emission; - #ifdef EDITOR_VISUALIZATION - metaIN.VizUV = IN.vizUV; - metaIN.LightCoord = IN.lightCoord; - #endif - return UnityMetaFragment(metaIN); - } + SHADOW_CASTER_FRAGMENT(IN) + } ENDCG } @@ -2058,242 +2552,438 @@ Shader /*ase_name*/ "Hidden/Legacy/Lit" /*end*/ Pass { /*ase_hide_pass*/ - Name "ShadowCaster" - Tags { "LightMode"="ShadowCaster" } + Name "SceneSelectionPass" + Tags{ "LightMode" = "SceneSelectionPass" } + ZWrite On - ZTest LEqual - AlphaToMask Off CGPROGRAM - #pragma vertex vert - #pragma fragment frag - #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 - #pragma multi_compile_shadowcaster - #ifndef UNITY_PASS_SHADOWCASTER - #define UNITY_PASS_SHADOWCASTER - #endif - #include "HLSLSupport.cginc" - #ifndef UNITY_INSTANCED_LOD_FADE - #define UNITY_INSTANCED_LOD_FADE - #endif - #ifndef UNITY_INSTANCED_SH - #define UNITY_INSTANCED_SH - #endif - #ifndef UNITY_INSTANCED_LIGHTMAPSTS - #define UNITY_INSTANCED_LIGHTMAPSTS - #endif - #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) - #define CAN_SKIP_VPOS - #endif - #include "UnityShaderVariables.cginc" - #include "UnityCG.cginc" - #include "Lighting.cginc" - #include "UnityPBSLighting.cginc" + #pragma vertex vert + #pragma fragment frag + #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 - /*ase_pragma*/ - struct appdata { - float4 vertex : POSITION; - float4 tangent : TANGENT; - float3 normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vdata:p=p;t=t;n=n;uv1=tc1.xyzw;uv2=tc2.xyzw*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct v2f { - V2F_SHADOW_CASTER; - /*ase_interp(2,):sp=sp.xyzw*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - #ifdef UNITY_STANDARD_USE_DITHER_MASK - sampler3D _DitherMaskLOD; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - /*ase_globals*/ - - /*ase_funcs*/ - - v2f VertexFunction (appdata v /*ase_vert_input*/ ) { - UNITY_SETUP_INSTANCE_ID(v); - v2f o; - UNITY_INITIALIZE_OUTPUT(v2f,o); - UNITY_TRANSFER_INSTANCE_ID(v,o); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - - /*ase_vert_code:v=appdata;o=v2f*/ - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = v.vertex.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); + #pragma multi_compile_fwdbase + #ifndef UNITY_PASS_FORWARDBASE + #define UNITY_PASS_FORWARDBASE #endif - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;3;-1;_Vertex*/defaultVertexValue/*end*/; - #ifdef ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - v.vertex.w = 1; - v.normal = /*ase_vert_out:Vertex Normal;Float3;4;-1;_VertexNormal*/v.normal/*end*/; - v.tangent = /*ase_vert_out:Vertex Tangent;Float4;5;-1;_VertexTangent*/v.tangent/*end*/; - - TRANSFER_SHADOW_CASTER_NORMALOFFSET(o) - return o; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 vertex : INTERNALTESSPOS; - float4 tangent : TANGENT; - float3 normal : NORMAL; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vcontrol*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( appdata v ) - { - VertexControl o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_TRANSFER_INSTANCE_ID(v, o); - o.vertex = v.vertex; - o.tangent = v.tangent; - o.normal = v.normal; - o.texcoord1 = v.texcoord1; - o.texcoord2 = v.texcoord2; - /*ase_control_code:v=appdata;o=VertexControl*/ - return o; - } - - TessellationFactors TessellationFunction (InputPatch v) - { - TessellationFactors o; - float4 tf = 1; - float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; - float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; - return o; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - appdata o = (appdata) 0; - o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; - o.tangent = patch[0].tangent * bary.x + patch[1].tangent * bary.y + patch[2].tangent * bary.z; - o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; - o.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - o.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; - /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); - float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; - o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], o); - return VertexFunction(o); - } - #else - v2f vert ( appdata v ) - { - return VertexFunction( v ); - } - #endif - - fixed4 frag (v2f IN /*ase_frag_input*/ - #ifdef _DEPTHOFFSET_ON - , out float outputDepth : SV_Depth - #endif - #if !defined( CAN_SKIP_VPOS ) - , UNITY_VPOS_TYPE vpos : VPOS - #endif - ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(IN); - - #ifdef LOD_FADE_CROSSFADE - UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); - #endif - - #if defined(_SPECULAR_SETUP) - SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0; - #else - SurfaceOutputStandard o = (SurfaceOutputStandard)0; - #endif - - /*ase_frag_code:IN=v2f*/ - o.Normal = fixed3( 0, 0, 1 ); - o.Occlusion = 1; - o.Alpha = /*ase_frag_out:Alpha;Float;0;-1;_Alpha*/1/*end*/; - float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;1;-1;_AlphaClip*/0.5/*end*/; - float AlphaClipThresholdShadow = /*ase_frag_out:Alpha Clip Threshold Shadow;Float;2;-1;_AlphaClipShadow*/0.5/*end*/; - - #ifdef _ALPHATEST_SHADOW_ON - if (unity_LightShadowBias.z != 0.0) - clip(o.Alpha - AlphaClipThresholdShadow); - #ifdef _ALPHATEST_ON - else - clip(o.Alpha - AlphaClipThreshold); + #include "HLSLSupport.cginc" + #if defined( ASE_GEOMETRY ) || defined( ASE_IMPOSTOR ) + #ifndef UNITY_INSTANCED_LOD_FADE + #define UNITY_INSTANCED_LOD_FADE #endif - #else - #ifdef _ALPHATEST_ON - clip(o.Alpha - AlphaClipThreshold); + #ifndef UNITY_INSTANCED_SH + #define UNITY_INSTANCED_SH + #endif + #ifndef UNITY_INSTANCED_LIGHTMAPSTS + #define UNITY_INSTANCED_LIGHTMAPSTS #endif #endif + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" - #if defined( CAN_SKIP_VPOS ) - float2 vpos = IN.pos; + /*ase_pragma*/ + + int _ObjectId; + int _PassValue; + + struct appdata + { + float4 vertex : POSITION; + half3 normal : NORMAL; + half4 tangent : TANGENT; + /*ase_vdata:p=p;t=t;n=n*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { + float4 pos : SV_POSITION; + float4 positionWS : TEXCOORD0; // xyz = positionWS + half3 normalWS : TEXCOORD1; + /*ase_interp(2,):sp=sp;wp=tc0.xyz;wn=tc1.xyz*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + + #ifdef ASE_TESSELLATION + float _TessPhongStrength; + float _TessValue; + float _TessMin; + float _TessMax; + float _TessEdgeLength; + float _TessMaxDisp; #endif - #ifdef UNITY_STANDARD_USE_DITHER_MASK - half alphaRef = tex3D(_DitherMaskLOD, float3(vpos.xy*0.25,o.Alpha*0.9375)).a; - clip(alphaRef - 0.01); + /*ase_globals*/ + + /*ase_funcs*/ + + v2f VertexFunction( appdata v /*ase_vert_input*/ ) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f,o); + UNITY_TRANSFER_INSTANCE_ID(v,o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + /*ase_vert_code:v=appdata;o=v2f*/ + + #ifdef ASE_ABSOLUTE_VERTEX_POS + float3 defaultVertexValue = v.vertex.xyz; + #else + float3 defaultVertexValue = float3(0, 0, 0); + #endif + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;15;-1;_Vertex*/defaultVertexValue/*end*/; + #ifdef ASE_ABSOLUTE_VERTEX_POS + v.vertex.xyz = vertexValue; + #else + v.vertex.xyz += vertexValue; + #endif + v.vertex.w = 1; + v.normal = /*ase_vert_out:Vertex Normal;Float3;16;-1;_VertexNormal*/v.normal/*end*/; + v.tangent = /*ase_vert_out:Vertex Tangent;Float4;17;-1;_VertexTangent*/v.tangent/*end*/; + + float3 positionWS = mul( unity_ObjectToWorld, v.vertex ).xyz; + half3 normalWS = UnityObjectToWorldNormal( v.normal ); + + o.pos = UnityObjectToClipPos( v.vertex ); + o.positionWS.xyz = positionWS; + o.normalWS = normalWS; + return o; + } + + #if defined(ASE_TESSELLATION) + struct VertexControl + { + float4 vertex : INTERNALTESSPOS; + half3 normal : NORMAL; + /*ase_vcontrol*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct TessellationFactors + { + float edge[3] : SV_TessFactor; + float inside : SV_InsideTessFactor; + }; + + VertexControl vert ( appdata v ) + { + VertexControl o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_TRANSFER_INSTANCE_ID(v, o); + o.vertex = v.vertex; + o.normal = v.normal; + /*ase_control_code:v=appdata;o=VertexControl*/ + return o; + } + + TessellationFactors TessellationFunction (InputPatch v) + { + TessellationFactors o; + float4 tf = 1; + float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; + float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; + #if defined(ASE_FIXED_TESSELLATION) + tf = FixedTess( tessValue ); + #elif defined(ASE_DISTANCE_TESSELLATION) + tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); + #elif defined(ASE_LENGTH_TESSELLATION) + tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); + #elif defined(ASE_LENGTH_CULL_TESSELLATION) + tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); + #endif + o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; + return o; + } + + [domain("tri")] + [partitioning("fractional_odd")] + [outputtopology("triangle_cw")] + [patchconstantfunc("TessellationFunction")] + [outputcontrolpoints(3)] + VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) + { + return patch[id]; + } + + [domain("tri")] + v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) + { + appdata o = (appdata) 0; + o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; + o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; + /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ + #if defined(ASE_PHONG_TESSELLATION) + float3 pp[3]; + for (int i = 0; i < 3; ++i) + pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; + o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; + #endif + UNITY_TRANSFER_INSTANCE_ID(patch[0], o); + return VertexFunction(o); + } + #else + v2f vert ( appdata v ) + { + return VertexFunction( v ); + } #endif - #ifdef _DEPTHOFFSET_ON - outputDepth = IN.pos.z; + half4 frag( v2f IN /*ase_frag_input*/ + #if defined( ASE_DEPTH_WRITE_ON ) + , out float outputDepth : SV_Depth + #endif + ) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(IN); + + #ifdef LOD_FADE_CROSSFADE + UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); + #endif + + /*ase_frag_code:IN=v2f*/ + + half Alpha = /*ase_frag_out:Alpha;Float;7;-1;_Alpha*/1/*end*/; + half AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;8;-1;_AlphaClip*/0.5/*end*/; + + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;28;-1;_DeviceDepth*/IN.pos.z/*end*/; + #endif + + #ifdef _ALPHATEST_ON + clip( Alpha - AlphaClipThreshold ); + #endif + + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; + #endif + + return float4( _ObjectId, _PassValue, 1.0, 1.0 ); + } + ENDCG + } + + /*ase_pass*/ + Pass + { + /*ase_hide_pass*/ + Name "ScenePickingPass" + Tags{ "LightMode" = "ScenePickingPass" } + + ZWrite On + + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 + + #pragma multi_compile_fwdbase + #ifndef UNITY_PASS_FORWARDBASE + #define UNITY_PASS_FORWARDBASE + #endif + #include "HLSLSupport.cginc" + #if defined( ASE_GEOMETRY ) || defined( ASE_IMPOSTOR ) + #ifndef UNITY_INSTANCED_LOD_FADE + #define UNITY_INSTANCED_LOD_FADE + #endif + #ifndef UNITY_INSTANCED_SH + #define UNITY_INSTANCED_SH + #endif + #ifndef UNITY_INSTANCED_LIGHTMAPSTS + #define UNITY_INSTANCED_LIGHTMAPSTS + #endif + #endif + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + /*ase_pragma*/ + + float4 _SelectionID; + + struct appdata + { + float4 vertex : POSITION; + half3 normal : NORMAL; + half4 tangent : TANGENT; + /*ase_vdata:p=p;t=t;n=n*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { + float4 pos : SV_POSITION; + float4 positionWS : TEXCOORD0; // xyz = positionWS + half3 normalWS : TEXCOORD1; + /*ase_interp(2,):sp=sp;wp=tc0.xyz;wn=tc1.xyz*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + + #ifdef ASE_TESSELLATION + float _TessPhongStrength; + float _TessValue; + float _TessMin; + float _TessMax; + float _TessEdgeLength; + float _TessMaxDisp; #endif - SHADOW_CASTER_FRAGMENT(IN) - } + /*ase_globals*/ + + /*ase_funcs*/ + + v2f VertexFunction( appdata v /*ase_vert_input*/ ) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f,o); + UNITY_TRANSFER_INSTANCE_ID(v,o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + /*ase_vert_code:v=appdata;o=v2f*/ + + #ifdef ASE_ABSOLUTE_VERTEX_POS + float3 defaultVertexValue = v.vertex.xyz; + #else + float3 defaultVertexValue = float3(0, 0, 0); + #endif + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;15;-1;_Vertex*/defaultVertexValue/*end*/; + #ifdef ASE_ABSOLUTE_VERTEX_POS + v.vertex.xyz = vertexValue; + #else + v.vertex.xyz += vertexValue; + #endif + v.vertex.w = 1; + v.normal = /*ase_vert_out:Vertex Normal;Float3;16;-1;_VertexNormal*/v.normal/*end*/; + v.tangent = /*ase_vert_out:Vertex Tangent;Float4;17;-1;_VertexTangent*/v.tangent/*end*/; + + float3 positionWS = mul( unity_ObjectToWorld, v.vertex ).xyz; + half3 normalWS = UnityObjectToWorldNormal( v.normal ); + + o.pos = UnityObjectToClipPos( v.vertex ); + o.positionWS.xyz = positionWS; + o.normalWS = normalWS; + return o; + } + + #if defined(ASE_TESSELLATION) + struct VertexControl + { + float4 vertex : INTERNALTESSPOS; + half3 normal : NORMAL; + /*ase_vcontrol*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct TessellationFactors + { + float edge[3] : SV_TessFactor; + float inside : SV_InsideTessFactor; + }; + + VertexControl vert ( appdata v ) + { + VertexControl o; + UNITY_SETUP_INSTANCE_ID(v); + UNITY_TRANSFER_INSTANCE_ID(v, o); + o.vertex = v.vertex; + o.normal = v.normal; + /*ase_control_code:v=appdata;o=VertexControl*/ + return o; + } + + TessellationFactors TessellationFunction (InputPatch v) + { + TessellationFactors o; + float4 tf = 1; + float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; + float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; + #if defined(ASE_FIXED_TESSELLATION) + tf = FixedTess( tessValue ); + #elif defined(ASE_DISTANCE_TESSELLATION) + tf = DistanceBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, tessValue, tessMin, tessMax, UNITY_MATRIX_M, _WorldSpaceCameraPos ); + #elif defined(ASE_LENGTH_TESSELLATION) + tf = EdgeLengthBasedTess(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams ); + #elif defined(ASE_LENGTH_CULL_TESSELLATION) + tf = EdgeLengthBasedTessCull(v[0].vertex, v[1].vertex, v[2].vertex, edgeLength, tessMaxDisp, UNITY_MATRIX_M, _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); + #endif + o.edge[0] = tf.x; o.edge[1] = tf.y; o.edge[2] = tf.z; o.inside = tf.w; + return o; + } + + [domain("tri")] + [partitioning("fractional_odd")] + [outputtopology("triangle_cw")] + [patchconstantfunc("TessellationFunction")] + [outputcontrolpoints(3)] + VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) + { + return patch[id]; + } + + [domain("tri")] + v2f DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) + { + appdata o = (appdata) 0; + o.vertex = patch[0].vertex * bary.x + patch[1].vertex * bary.y + patch[2].vertex * bary.z; + o.normal = patch[0].normal * bary.x + patch[1].normal * bary.y + patch[2].normal * bary.z; + /*ase_domain_code:patch=VertexControl;o=appdata;bary=SV_DomainLocation*/ + #if defined(ASE_PHONG_TESSELLATION) + float3 pp[3]; + for (int i = 0; i < 3; ++i) + pp[i] = o.vertex.xyz - patch[i].normal * (dot(o.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; + o.vertex.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * o.vertex.xyz; + #endif + UNITY_TRANSFER_INSTANCE_ID(patch[0], o); + return VertexFunction(o); + } + #else + v2f vert ( appdata v ) + { + return VertexFunction( v ); + } + #endif + + half4 frag( v2f IN /*ase_frag_input*/ + #if defined( ASE_DEPTH_WRITE_ON ) + , out float outputDepth : SV_Depth + #endif + ) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(IN); + + #ifdef LOD_FADE_CROSSFADE + UNITY_APPLY_DITHER_CROSSFADE(IN.pos.xy); + #endif + + /*ase_frag_code:IN=v2f*/ + + half Alpha = /*ase_frag_out:Alpha;Float;7;-1;_Alpha*/1/*end*/; + half AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;8;-1;_AlphaClip*/0.5/*end*/; + + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;28;-1;_DeviceDepth*/IN.pos.z/*end*/; + #endif + + #ifdef _ALPHATEST_ON + clip( Alpha - AlphaClipThreshold ); + #endif + + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; + #endif + + return _SelectionID; + } ENDCG } /*ase_pass_end*/ diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Lit.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Lit.shader.meta index 1d2081ee..a8c78a10 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Lit.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Lit.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Lit.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Lit.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/MultiPassUnlit.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/MultiPassUnlit.shader index 0dc72142..ac4240da 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/MultiPassUnlit.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/MultiPassUnlit.shader @@ -1,4 +1,4 @@ -Shader /*ase_name*/ "Hidden/Templates/Legacy/Multi Pass Unlit" /*end*/ +Shader /*ase_name*/ "Hidden/Built-In/Multi Pass Unlit" /*end*/ { Properties { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/MultiPassUnlit.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/MultiPassUnlit.shader.meta index 1df2026a..684e8088 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/MultiPassUnlit.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/MultiPassUnlit.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/MultiPassUnlit.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/MultiPassUnlit.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PPStack.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PPStack.shader index 13a4c62f..7b4dc182 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PPStack.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PPStack.shader @@ -1,4 +1,4 @@ -Shader /*ase_name*/ "Hidden/Templates/PostProcessStack" /*end*/ +Shader /*ase_name*/ "Hidden/Built-In/PostProcessStack" /*end*/ { Properties { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PPStack.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PPStack.shader.meta index 65606bbc..2837c4f2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PPStack.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PPStack.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PPStack.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PPStack.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Particle Alpha Blend.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Particle Alpha Blend.shader index 34b46b6b..0ae33cdc 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Particle Alpha Blend.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Particle Alpha Blend.shader @@ -1,4 +1,4 @@ -Shader /*ase_name*/ "Hidden/Templates/Legacy/Particles Alpha Blended" /*end*/ +Shader /*ase_name*/ "Hidden/Built-In/Particles Alpha Blended" /*end*/ { Properties { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Particle Alpha Blend.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Particle Alpha Blend.shader.meta index afc6cf81..505fbc50 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Particle Alpha Blend.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Particle Alpha Blend.shader.meta @@ -11,7 +11,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Particle + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Particle Alpha Blend.shader - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PostProcess.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PostProcess.shader index 337dcfe7..3359d882 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PostProcess.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PostProcess.shader @@ -1,4 +1,4 @@ -Shader /*ase_name*/ "Hidden/Templates/Legacy/PostProcess" /*end*/ +Shader /*ase_name*/ "Hidden/Built-In/PostProcess" /*end*/ { Properties { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PostProcess.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PostProcess.shader.meta index b5ec4b67..8eeb1f25 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PostProcess.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PostProcess.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PostProcess.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/PostProcess.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Sprites-Default.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Sprites-Default.shader index fc41e939..eb3cc98a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Sprites-Default.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Sprites-Default.shader @@ -1,4 +1,4 @@ -Shader /*ase_name*/"Hidden/Templates/Legacy/Sprites Default"/*end*/ +Shader /*ase_name*/"Hidden/Built-In/Sprites Default"/*end*/ { Properties { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Sprites-Default.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Sprites-Default.shader.meta index 71a55400..dfeeaff2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Sprites-Default.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Sprites-Default.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Sprites-Default.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Sprites-Default.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Unlit.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Unlit.shader index 472ad446..799d896d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Unlit.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Unlit.shader @@ -1,4 +1,4 @@ -Shader /*ase_name*/ "Hidden/Templates/Unlit" /*end*/ +Shader /*ase_name*/ "Hidden/Built-In/Unlit" /*end*/ { Properties { @@ -15,87 +15,101 @@ Shader /*ase_name*/ "Hidden/Templates/Unlit" /*end*/ */ Tags { "RenderType"="Opaque" } - LOD 100 + + LOD 0 + + /*ase_stencil*/ /*ase_all_modules*/ + CGINCLUDE + #pragma target 3.5 + + float4 ComputeClipSpacePosition( float2 screenPosNorm, float deviceDepth ) + { + float4 positionCS = float4( screenPosNorm * 2.0 - 1.0, deviceDepth, 1.0 ); + #if UNITY_UV_STARTS_AT_TOP + positionCS.y = -positionCS.y; + #endif + return positionCS; + } + ENDCG + /*ase_pass*/ Pass { Name "Unlit" CGPROGRAM - - #ifndef UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX - //only defining to not throw compilation error over Unity 5.5 - #define UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input) - #endif - #pragma vertex vert - #pragma fragment frag - #pragma multi_compile_instancing - #include "UnityCG.cginc" - /*ase_pragma*/ - - struct appdata - { - float4 vertex : POSITION; - float4 color : COLOR; - /*ase_vdata:p=p;c=c*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct v2f - { - float4 vertex : SV_POSITION; - #ifdef ASE_NEEDS_FRAG_WORLD_POSITION - float3 worldPos : TEXCOORD0; + #ifndef UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX + #define UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input) #endif - /*ase_interp(1,):sp=sp.xyzw;wp=tc0*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; + #pragma vertex vert + #pragma fragment frag + #pragma multi_compile_instancing + #include "UnityCG.cginc" - /*ase_globals*/ + /*ase_pragma*/ - v2f vert ( appdata v /*ase_vert_input*/) - { - v2f o; - UNITY_SETUP_INSTANCE_ID(v); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); - UNITY_TRANSFER_INSTANCE_ID(v, o); + struct appdata + { + float4 vertex : POSITION; + /*ase_vdata:p=p*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; - /*ase_vert_code:v=appdata;o=v2f*/ - float3 vertexValue = float3(0, 0, 0); - #if ASE_ABSOLUTE_VERTEX_POS - vertexValue = v.vertex.xyz; - #endif - vertexValue = /*ase_vert_out:Vertex Offset;Float3*/vertexValue/*end*/; - #if ASE_ABSOLUTE_VERTEX_POS - v.vertex.xyz = vertexValue; - #else - v.vertex.xyz += vertexValue; - #endif - o.vertex = UnityObjectToClipPos(v.vertex); + struct v2f + { + float4 pos : SV_POSITION; + /*ase_interp(0,):sp=sp.xyzw*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; - #ifdef ASE_NEEDS_FRAG_WORLD_POSITION - o.worldPos = mul(unity_ObjectToWorld, v.vertex).xyz; - #endif - return o; - } + /*ase_globals*/ - fixed4 frag (v2f i /*ase_frag_input*/) : SV_Target - { - UNITY_SETUP_INSTANCE_ID(i); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); - fixed4 finalColor; - #ifdef ASE_NEEDS_FRAG_WORLD_POSITION - /*ase_local_var:wp*/float3 WorldPosition = i.worldPos; - #endif - /*ase_frag_code:i=v2f*/ + /*ase_funcs*/ - finalColor = /*ase_frag_out:Frag Color;Float4*/fixed4(1,1,1,1)/*end*/; - return finalColor; - } + v2f vert ( appdata v /*ase_vert_input*/) + { + v2f o; + UNITY_SETUP_INSTANCE_ID( v ); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); + UNITY_TRANSFER_INSTANCE_ID( v, o ); + + /*ase_vert_code:v=appdata;o=v2f*/ + + float3 vertexValue = float3( 0, 0, 0 ); + #if ASE_ABSOLUTE_VERTEX_POS + vertexValue = v.vertex.xyz; + #endif + vertexValue = /*ase_vert_out:Vertex Offset;Float3*/vertexValue/*end*/; + #if ASE_ABSOLUTE_VERTEX_POS + v.vertex.xyz = vertexValue; + #else + v.vertex.xyz += vertexValue; + #endif + + o.pos = UnityObjectToClipPos( v.vertex ); + return o; + } + + half4 frag( v2f IN /*ase_frag_input*/ ) : SV_Target + { + UNITY_SETUP_INSTANCE_ID( IN ); + UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); + half4 finalColor; + + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( IN.pos.xy * ( _ScreenParams.zw - 1.0 ), IN.pos.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, IN.pos.z ) * IN.pos.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + + /*ase_frag_code:IN=v2f*/ + + finalColor = /*ase_frag_out:Frag Color;Float4*/half4( 1, 1, 1, 1 )/*end*/; + + return finalColor; + } ENDCG } } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Unlit.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Unlit.shader.meta index 581fbb46..398e9e2d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Unlit.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Unlit.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Unlit.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Unlit.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/UnlitLightmap.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/UnlitLightmap.shader index 1e3ae37b..d64fe4b4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/UnlitLightmap.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/UnlitLightmap.shader @@ -1,4 +1,4 @@ -Shader /*ase_name*/ "Hidden/Templates/Legacy/UnlitLightmap" /*end*/ +Shader /*ase_name*/ "Hidden/Built-In/UnlitLightmap" /*end*/ { Properties { diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/UnlitLightmap.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/UnlitLightmap.shader.meta index 214a6820..27715943 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/UnlitLightmap.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/UnlitLightmap.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/UnlitLightmap.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/UnlitLightmap.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Wireframe.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Wireframe.shader new file mode 100644 index 00000000..00954924 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Wireframe.shader @@ -0,0 +1,179 @@ +Shader /*ase_name*/ "Hidden/Built-In/Wireframe" /*end*/ +{ + Properties + { + _WireframeSmoothing ( "Wireframe Smoothing", Range( 0, 10 ) ) = 1 + _WireframeThickness ( "Wireframe Thickness", Range( 0, 10 ) ) = 1 + + /*ase_props*/ + } + + SubShader + { + /*ase_subshader_options:Name=Additional Options + Option:Vertex Position,InvertActionOnDeselection:Absolute,Relative:Relative + Absolute:SetDefine:ASE_ABSOLUTE_VERTEX_POS 1 + Absolute:SetPortName:_VertexOffset,Vertex Position + Relative:SetPortName:_VertexOffset,Vertex Offset + Option:Wireframe Mode:Opaque,Alpha Blend,Alpha Custom:Opaque + Opaque:RemoveDefine:ASE_WIREFRAME_ALPHA + Opaque:ShowPort:_SurfaceColor + Opaque:SetPropertyOnPass:Unlit:BlendRGB,One,Zero + Opaque:SetPropertyOnSubShader:RenderType,Opaque + Opaque:SetPropertyOnSubShader:RenderQueue,Geometry + Opaque:SetPropertyOnSubShader:ZWrite,On + Alpha Blend:SetDefine:ASE_WIREFRAME_ALPHA + Alpha Blend:HidePort:_SurfaceColor + Alpha Blend:SetPropertyOnPass:Unlit:BlendRGB,SrcAlpha,OneMinusSrcAlpha + Alpha Blend:SetPropertyOnSubShader:RenderType,Transparent + Alpha Blend:SetPropertyOnSubShader:RenderQueue,Transparent + Alpha Blend:SetPropertyOnSubShader:ZWrite,Off + Alpha Custom:SetDefine:ASE_WIREFRAME_ALPHA + Alpha Custom:HidePort:_SurfaceColor + */ + + Tags { "RenderType"="Opaque" } + + LOD 0 + + /*ase_stencil*/ + + /*ase_all_modules*/ + + CGINCLUDE + #pragma target 3.5 + + float4 ComputeClipSpacePosition( float2 screenPosNorm, float deviceDepth ) + { + float4 positionCS = float4( screenPosNorm * 2.0 - 1.0, deviceDepth, 1.0 ); + #if UNITY_UV_STARTS_AT_TOP + positionCS.y = -positionCS.y; + #endif + return positionCS; + } + ENDCG + + /*ase_pass*/ + Pass + { + /*ase_main_pass*/ + Name "Unlit" + + Blend One Zero + + CGPROGRAM + #pragma require geometry + + #pragma vertex vert_setup + #pragma geometry geom + #pragma fragment frag + + #pragma multi_compile_instancing + #include "UnityCG.cginc" + + /*ase_pragma*/ + + struct appdata + { + float4 vertex : POSITION; + /*ase_vdata:p=p*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct v2f + { + float4 pos : SV_POSITION; + float3 baryCoords : TEXCOORD0; + /*ase_interp(1,):sp=sp.xyzw*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + + /*ase_globals*/ + + /*ase_funcs*/ + + appdata vert_setup( appdata v ) + { + return v; + } + + v2f vert_apply( appdata v, float3 baryCoords /*ase_vert_input*/ ) + { + v2f o; + UNITY_SETUP_INSTANCE_ID( v ); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); + UNITY_TRANSFER_INSTANCE_ID( v, o ); + + /*ase_vert_code:v=appdata;o=v2f*/ + + float3 vertexValue = float3( 0, 0, 0 ); + #if ASE_ABSOLUTE_VERTEX_POS + vertexValue = v.vertex.xyz; + #endif + + vertexValue = /*ase_vert_out:Vertex Offset;Float3;2;-1;_VertexOffset*/vertexValue/*end*/; + + #if ASE_ABSOLUTE_VERTEX_POS + v.vertex.xyz = vertexValue; + #else + v.vertex.xyz += vertexValue; + #endif + + o.pos = UnityObjectToClipPos( v.vertex ); + o.baryCoords = baryCoords; + return o; + } + + [maxvertexcount(15)] + void geom( triangle appdata input[3], uint pid : SV_PrimitiveID, inout TriangleStream outStream ) + { + outStream.Append( vert_apply( input[ 0 ], float3( 1, 0, 0 ) ) ); + outStream.Append( vert_apply( input[ 1 ], float3( 0, 1, 0 ) ) ); + outStream.Append( vert_apply( input[ 2 ], float3( 0, 0, 1 ) ) ); + } + + float _WireframeSmoothing; + float _WireframeThickness; + + half ComputeWireframe( float3 baryCoords ) + { + float3 deltas = fwidth( baryCoords ); + float3 smoothing = deltas * _WireframeSmoothing; + float3 thickness = deltas * _WireframeThickness; + baryCoords = smoothstep( thickness, thickness + smoothing, baryCoords ); + float minBary = min( baryCoords.x, min( baryCoords.y, baryCoords.z ) ); + return 1 - minBary; + } + + half4 frag( v2f IN /*ase_frag_input*/ ) : SV_Target + { + UNITY_SETUP_INSTANCE_ID( IN ); + UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( IN ); + + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( IN.pos.xy * ( _ScreenParams.zw - 1.0 ), IN.pos.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, IN.pos.z ) * IN.pos.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + + /*ase_frag_code:IN=v2f*/ + + half3 wireColor = /*ase_frag_out:Wire Color;Float3;0;-1;_WireColor*/half3( 0, 0, 0 )/*end*/; + half3 surfaceColor = /*ase_frag_out:Surface Color;Float3;1;-1;_SurfaceColor*/half3( 1, 1, 1 )/*end*/; + + half wire = ComputeWireframe( IN.baryCoords ); + + half4 finalColor; + #if defined( ASE_WIREFRAME_ALPHA ) + finalColor.rgb = wireColor; + finalColor.a = wire; + #else + finalColor.rgb = lerp( surfaceColor.rgb, wireColor.rgb, wire ); + finalColor.a = 1; + #endif + return finalColor; + } + ENDCG + } + } + CustomEditor "AmplifyShaderEditor.MaterialInspector" +} diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Wireframe.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Wireframe.shader.meta new file mode 100644 index 00000000..7abd7e8a --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Wireframe.shader.meta @@ -0,0 +1,16 @@ +fileFormatVersion: 2 +guid: 45bf09b07249a46489d5200e9ba4d9f1 +timeCreated: 1496328687 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/Legacy/Wireframe.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/UI/UI-Default.shader.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/UI/UI-Default.shader.meta index 6fbe6c46..93a7806e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/UI/UI-Default.shader.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/UI/UI-Default.shader.meta @@ -11,6 +11,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/UI/UI-Default.shader - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/UI/UI-Default.shader + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 10x.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 10x.unitypackage index dc42a2d9..a1a28b68 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 10x.unitypackage +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 10x.unitypackage @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c5a624e385cb8eec47a29b814df31dadc3c6105b0cfdf80ee4d3e686b36fa1c7 -size 21751 +oid sha256:d1dba0a057ae9d5f31c8e6aa56157a3e87e49c8b289e80acbac4b5c004d84a5e +size 23184 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 10x.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 10x.unitypackage.meta index 14116e95..2ae4c5e4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 10x.unitypackage.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 10x.unitypackage.meta @@ -9,6 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 10x.unitypackage - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP + 10x.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 12x.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 12x.unitypackage index 16e1ff88..9a7736bf 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 12x.unitypackage +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 12x.unitypackage @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1813172636ac039694344358689ac29f5d294b3b959cb316d1ada3a983ceca9b -size 37358 +oid sha256:a004d9612ef15984b8c306c6a011708bbebcb367792ef4841f050ace79680cdd +size 38182 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 12x.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 12x.unitypackage.meta index 8001daf5..fd1b91bd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 12x.unitypackage.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 12x.unitypackage.meta @@ -9,6 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 12x.unitypackage - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP + 12x.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 14x.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 14x.unitypackage index 88bf5176..c90399bb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 14x.unitypackage +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 14x.unitypackage @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d4a38e1a209d6683ec3afe5b49f6dbf6a2f7b513e6ba787e70c90eb218c01de9 -size 40885 +oid sha256:f6a109d0658a2221c7ea052d4c6f094c6d3e2be903c4701716621584d57f2365 +size 41701 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 14x.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 14x.unitypackage.meta index af83f3c9..6fd9c012 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 14x.unitypackage.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 14x.unitypackage.meta @@ -9,6 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 14x.unitypackage - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP + 14x.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 15x.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 15x.unitypackage index d228f7c7..1452bbb2 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 15x.unitypackage +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 15x.unitypackage @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f97e9cafbc6e8e190c45553bdf0b4e2a2df06c3e732187cc4d24c38b9d3eea60 -size 39883 +oid sha256:b006f793af08639a131c5e8d3d47097a6ccfd93eac2b16671235dce06baccca5 +size 40611 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 15x.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 15x.unitypackage.meta index b127c337..33f9b8f7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 15x.unitypackage.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 15x.unitypackage.meta @@ -9,6 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 15x.unitypackage - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP + 15x.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 16x.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 16x.unitypackage index fee0cc1f..410f73d8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 16x.unitypackage +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 16x.unitypackage @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:af7d0d67dae8905c802088e0d8d10d74c10e9ded5cc4f2febfb212d629e432a1 -size 40751 +oid sha256:dc1499c01eaebd2ad0fe562a67515e0299d1989d02f0160060e9fd57bd115dfb +size 41699 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 16x.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 16x.unitypackage.meta index 25fa9a55..21c79017 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 16x.unitypackage.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 16x.unitypackage.meta @@ -9,6 +9,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 16x.unitypackage - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP + 16x.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.0.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.0.unitypackage new file mode 100644 index 00000000..07008285 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.0.unitypackage @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb32d26299a6997b0da9873919eb7be7a584c6f6e88e6d2fc52bd09099684345 +size 45140 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.0.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.0.unitypackage.meta new file mode 100644 index 00000000..865a3478 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.0.unitypackage.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: fcc4d2eb0af82e546ae75506872cf092 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP + 17.0.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.1.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.1.unitypackage new file mode 100644 index 00000000..135ca24a --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.1.unitypackage @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:524332fc07c4bcc5140e46d39e6703262ea2c33cd4b9880c984814009d1db277 +size 45572 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.1.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.1.unitypackage.meta new file mode 100644 index 00000000..19c5bebe --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.1.unitypackage.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: cd0a0171c5157b748afe763b89f71211 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP + 17.1.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.2.unitypackage b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.2.unitypackage new file mode 100644 index 00000000..d5118d75 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.2.unitypackage @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91aa6612c276a5ff42c9585cb9080f128f4aafd45a0d22ffa0367eae27bd0889 +size 45519 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.2.unitypackage.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.2.unitypackage.meta new file mode 100644 index 00000000..34ff5ffd --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP 17.2.unitypackage.meta @@ -0,0 +1,15 @@ +fileFormatVersion: 2 +guid: f4990f6ace6142c4bbbf41cdd80b0bd3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: +AssetOrigin: + serializedVersion: 1 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP + 17.2.unitypackage + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/2DCustomLit.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/2DCustomLit.shader index cd87ac21..44976ef7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/2DCustomLit.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/2DCustomLit.shader @@ -58,10 +58,13 @@ Shader /*ase_name*/ "Hidden/Universal/2D Custom Lit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag - #pragma multi_compile _ DEBUG_DISPLAY SKINNED_SPRITE + #pragma multi_compile_fragment _ DEBUG_DISPLAY + #pragma multi_compile_vertex _ SKINNED_SPRITE #define _SURFACE_TYPE_TRANSPARENT 1 #define ATTRIBUTES_NEED_NORMAL @@ -78,6 +81,7 @@ Shader /*ase_name*/ "Hidden/Universal/2D Custom Lit" /*end*/ #define SHADERPASS SHADERPASS_SPRITELIT + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -217,6 +221,8 @@ Shader /*ase_name*/ "Hidden/Universal/2D Custom Lit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag @@ -352,6 +358,8 @@ Shader /*ase_name*/ "Hidden/Universal/2D Custom Lit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag @@ -486,6 +494,8 @@ Shader /*ase_name*/ "Hidden/Universal/2D Custom Lit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag @@ -595,7 +605,7 @@ Shader /*ase_name*/ "Hidden/Universal/2D Custom Lit" /*end*/ clip(surfaceDescription.Alpha - alphaClipThreshold); #endif - half4 outColor = _SelectionID; + half4 outColor = unity_SelectionID; return outColor; } @@ -614,10 +624,13 @@ Shader /*ase_name*/ "Hidden/Universal/2D Custom Lit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag - #pragma multi_compile _ SKINNED_SPRITE + #pragma multi_compile_fragment _ DEBUG_DISPLAY + #pragma multi_compile_vertex _ SKINNED_SPRITE #define _SURFACE_TYPE_TRANSPARENT 1 #define ATTRIBUTES_NEED_NORMAL @@ -633,6 +646,7 @@ Shader /*ase_name*/ "Hidden/Universal/2D Custom Lit" /*end*/ #define SHADERPASS SHADERPASS_SPRITEFORWARD + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/2DLit.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/2DLit.shader index 6a901a03..835fe5b7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/2DLit.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/2DLit.shader @@ -64,10 +64,13 @@ Shader /*ase_name*/ "Hidden/Universal/2D Lit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag - #pragma multi_compile _ DEBUG_DISPLAY SKINNED_SPRITE + #pragma multi_compile_fragment _ DEBUG_DISPLAY + #pragma multi_compile_vertex _ SKINNED_SPRITE #pragma multi_compile _ USE_SHAPE_LIGHT_TYPE_0 #pragma multi_compile _ USE_SHAPE_LIGHT_TYPE_1 @@ -89,6 +92,7 @@ Shader /*ase_name*/ "Hidden/Universal/2D Lit" /*end*/ #define SHADERPASS SHADERPASS_SPRITELIT + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -245,6 +249,8 @@ Shader /*ase_name*/ "Hidden/Universal/2D Lit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag @@ -383,10 +389,13 @@ Shader /*ase_name*/ "Hidden/Universal/2D Lit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag - #pragma multi_compile _ SKINNED_SPRITE + #pragma multi_compile_fragment _ DEBUG_DISPLAY + #pragma multi_compile_vertex _ SKINNED_SPRITE #define _SURFACE_TYPE_TRANSPARENT 1 #define ATTRIBUTES_NEED_NORMAL @@ -402,6 +411,7 @@ Shader /*ase_name*/ "Hidden/Universal/2D Lit" /*end*/ #define SHADERPASS SHADERPASS_SPRITEFORWARD + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -538,6 +548,8 @@ Shader /*ase_name*/ "Hidden/Universal/2D Lit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag @@ -650,6 +662,8 @@ Shader /*ase_name*/ "Hidden/Universal/2D Lit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag @@ -739,7 +753,7 @@ Shader /*ase_name*/ "Hidden/Universal/2D Lit" /*end*/ { /*ase_frag_code:IN=VertexOutput*/ float4 Color = /*ase_frag_out:Color;Float4;0;-1;_Color*/float4( 1, 1, 1, 1 )/*end*/; - half4 outColor = _SelectionID; + half4 outColor = unity_SelectionID; return outColor; } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/2DUnlit.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/2DUnlit.shader index 66762e2d..3279f4b1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/2DUnlit.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/2DUnlit.shader @@ -61,10 +61,13 @@ Shader /*ase_name*/ "Hidden/Universal/2D Unlit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag - #pragma multi_compile _ DEBUG_DISPLAY SKINNED_SPRITE + #pragma multi_compile_fragment _ DEBUG_DISPLAY + #pragma multi_compile_vertex _ SKINNED_SPRITE #define _SURFACE_TYPE_TRANSPARENT 1 #define ATTRIBUTES_NEED_NORMAL @@ -80,6 +83,7 @@ Shader /*ase_name*/ "Hidden/Universal/2D Unlit" /*end*/ #define SHADERPASS SHADERPASS_SPRITEUNLIT + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -222,10 +226,13 @@ Shader /*ase_name*/ "Hidden/Universal/2D Unlit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag - #pragma multi_compile _ DEBUG_DISPLAY SKINNED_SPRITE + #pragma multi_compile_fragment _ DEBUG_DISPLAY + #pragma multi_compile_vertex _ SKINNED_SPRITE #define _SURFACE_TYPE_TRANSPARENT 1 #define ATTRIBUTES_NEED_NORMAL @@ -241,6 +248,7 @@ Shader /*ase_name*/ "Hidden/Universal/2D Unlit" /*end*/ #define SHADERPASS SHADERPASS_SPRITEFORWARD + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -378,6 +386,8 @@ Shader /*ase_name*/ "Hidden/Universal/2D Unlit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag @@ -490,6 +500,8 @@ Shader /*ase_name*/ "Hidden/Universal/2D Unlit" /*end*/ HLSLPROGRAM + #pragma multi_compile_instancing + #pragma vertex vert #pragma fragment frag @@ -579,7 +591,7 @@ Shader /*ase_name*/ "Hidden/Universal/2D Unlit" /*end*/ { /*ase_frag_code:IN=VertexOutput*/ float4 Color = /*ase_frag_out:Color;Float4;0;-1;_Color*/float4( 1, 1, 1, 1 )/*end*/; - half4 outColor = _SelectionID; + half4 outColor = unity_SelectionID; return outColor; } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/Decal.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/Decal.shader index 273ffa6d..b03c9b5b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/Decal.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/Decal.shader @@ -29,14 +29,21 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ true:SetPropertyOnPass:DecalGBufferProjector:ColorMask2,true,true,true,false true:SetPropertyOnPass:DBufferMesh:ColorMask1,true,true,true,true true:SetPropertyOnPass:DecalGBufferMesh:ColorMask2,true,true,true,false + true:ShowPort:DecalScreenSpaceProjector:Normal + true:ShowOption: Blend false:RemoveDefine:_MATERIAL_AFFECTS_NORMAL 1 false:SetPropertyOnPass:DBufferProjector:ColorMask1,false,false,false,false false:SetPropertyOnPass:DecalGBufferProjector:ColorMask2,false,false,false,false false:SetPropertyOnPass:DBufferMesh:ColorMask1,false,false,false,false false:SetPropertyOnPass:DecalGBufferMesh:ColorMask2,false,false,false,false - Option:Blend:false,true:true + false:HidePort:DecalScreenSpaceProjector:Normal + false:HideOption: Blend + false:SetOption: Blend,0 + Option: Blend:false,true:true true:SetDefine:_MATERIAL_AFFECTS_NORMAL_BLEND 1 + true:ShowPort:DecalScreenSpaceProjector:Normal Alpha false:RemoveDefine:_MATERIAL_AFFECTS_NORMAL_BLEND 1 + false:HidePort:DecalScreenSpaceProjector:Normal Alpha Option:Affect MAOS:false,true:false true:SetDefine: _MATERIAL_AFFECTS_MAOS 1 true:ShowPort:DecalScreenSpaceProjector:Metallic @@ -84,7 +91,7 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ false:RemoveDefine:DecalScreenSpaceProjector:DECAL_ANGLE_FADE 1 false:RemoveDefine:DecalProjectorForwardEmissive:DECAL_ANGLE_FADE 1 false:RemoveDefine:DecalGBufferProjector:DECAL_ANGLE_FADE 1 - false:RemoveDefine:DBufferProjector:DECAL_ANGLE_FADE 1 + false:RemoveDefine:DBufferProjector:DECAL_ANGLE_FADE 1 true:SetShaderProperty:_DecalAngleFadeSupported,[HideInInspector] _DecalAngleFadeSupported("Decal Angle Fade Supported", Float) = 1 false:SetShaderProperty:_DecalAngleFadeSupported,//[HideInInspector] _DecalAngleFadeSupported("Decal Angle Fade Supported", Float) = 1 */ @@ -146,14 +153,8 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #define HAVE_MESH_MODIFICATION #define SHADERPASS SHADERPASS_DBUFFER_PROJECTOR - #if _RENDER_PASS_ENABLED - #define GBUFFER3 0 - #define GBUFFER4 1 - FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); - FRAMEBUFFER_INPUT_X_HALF(GBUFFER4); - #endif - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -174,6 +175,13 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" #endif + #if _RENDER_PASS_ENABLED + #define GBUFFER3 0 + #define GBUFFER4 1 + FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); + FRAMEBUFFER_INPUT_X_UINT(GBUFFER4); + #endif + /*ase_pragma*/ struct SurfaceDescription @@ -260,7 +268,6 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ float sgn = input.tangentWS.w; float3 bitangent = sgn * cross(input.normalWS.xyz, input.tangentWS.xyz); half3x3 tangentToWorld = half3x3(input.tangentWS.xyz, bitangent.xyz, input.normalWS.xyz); - surfaceData.normalWS.xyz = normalize(TransformTangentToWorld(surfaceDescription.NormalTS, tangentToWorld)); #else surfaceData.normalWS.xyz = normalize(half3(input.normalWS)); @@ -399,14 +406,18 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ float2 positionSS = FoveatedRemapNonUniformToLinearCS(packedInput.positionCS.xy) * _ScreenSize.zw; - /*ase_local_var:sp*/float4 positionCS = ComputeClipSpacePosition( positionSS, depth ); + float4 positionCS = ComputeClipSpacePosition( positionSS, depth ); float4 hpositionVS = mul( UNITY_MATRIX_I_P, positionCS ); - /*ase_local_var:rwp*/float3 positionRWS = mul( ( float3x3 )UNITY_MATRIX_I_V, hpositionVS.xyz / hpositionVS.w ); - /*ase_local_var:wp*/float3 positionWS = positionRWS + _WorldSpaceCameraPos; - /*ase_local_var:op*/float3 positionOS = TransformWorldToObject( positionWS ); - /*ase_local_var:vp*/float3 positionVS = TransformWorldToView( positionWS ); - float3 positionDS = TransformWorldToObject(positionWS); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( positionSS, positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = positionCS * packedInput.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:rwp*/float3 PositionRWS = mul( ( float3x3 )UNITY_MATRIX_I_V, hpositionVS.xyz / hpositionVS.w ); + /*ase_local_var:wp*/float3 PositionWS = PositionRWS + _WorldSpaceCameraPos; + /*ase_local_var:op*/float3 PositionOS = TransformWorldToObject( PositionWS ); + /*ase_local_var:vp*/float3 PositionVS = TransformWorldToView( PositionWS ); + + float3 positionDS = TransformWorldToObject(PositionWS); positionDS = positionDS * float3(1.0, -1.0, 1.0); float clipValue = 0.5 - Max3(abs(positionDS).x, abs(positionDS).y, abs(positionDS).z); @@ -497,14 +508,8 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #define SHADERPASS SHADERPASS_FORWARD_EMISSIVE_PROJECTOR - #if _RENDER_PASS_ENABLED - #define GBUFFER3 0 - #define GBUFFER4 1 - FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); - FRAMEBUFFER_INPUT_X_HALF(GBUFFER4); - #endif - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -524,6 +529,13 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" #endif + #if _RENDER_PASS_ENABLED + #define GBUFFER3 0 + #define GBUFFER4 1 + FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); + FRAMEBUFFER_INPUT_X_UINT(GBUFFER4); + #endif + /*ase_pragma*/ struct SurfaceDescription @@ -718,14 +730,18 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ float2 positionSS = FoveatedRemapNonUniformToLinearCS(packedInput.positionCS.xy) * _ScreenSize.zw; - /*ase_local_var:sp*/float4 positionCS = ComputeClipSpacePosition( positionSS, depth ); + float4 positionCS = ComputeClipSpacePosition( positionSS, depth ); float4 hpositionVS = mul( UNITY_MATRIX_I_P, positionCS ); - /*ase_local_var:rwp*/float3 positionRWS = mul( ( float3x3 )UNITY_MATRIX_I_V, hpositionVS.xyz / hpositionVS.w ); - /*ase_local_var:wp*/float3 positionWS = positionRWS + _WorldSpaceCameraPos; - /*ase_local_var:op*/float3 positionOS = TransformWorldToObject( positionWS ); - /*ase_local_var:vp*/float3 positionVS = TransformWorldToView( positionWS ); - float3 positionDS = TransformWorldToObject(positionWS); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( positionSS, positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = positionCS * packedInput.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:rwp*/float3 PositionRWS = mul( ( float3x3 )UNITY_MATRIX_I_V, hpositionVS.xyz / hpositionVS.w ); + /*ase_local_var:wp*/float3 PositionWS = PositionRWS + _WorldSpaceCameraPos; + /*ase_local_var:op*/float3 PositionOS = TransformWorldToObject( PositionWS ); + /*ase_local_var:vp*/float3 PositionVS = TransformWorldToView( PositionWS ); + + float3 positionDS = TransformWorldToObject(PositionWS); positionDS = positionDS * float3(1.0, -1.0, 1.0); float clipValue = 0.5 - Max3(abs(positionDS).x, abs(positionDS).y, abs(positionDS).z); @@ -800,14 +816,13 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #pragma vertex Vert #pragma fragment Frag #pragma multi_compile_instancing - #pragma multi_compile_fog #pragma editor_sync_compilation #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH - #pragma multi_compile _ _FORWARD_PLUS + #pragma multi_compile _ _CLUSTER_LIGHT_LOOP #pragma multi_compile_fragment _ _LIGHT_COOKIES #pragma multi_compile_fragment _ DEBUG_DISPLAY #pragma multi_compile _DECAL_NORMAL_BLEND_LOW _DECAL_NORMAL_BLEND_MEDIUM _DECAL_NORMAL_BLEND_HIGH @@ -831,14 +846,8 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #define SHADERPASS SHADERPASS_DECAL_SCREEN_SPACE_PROJECTOR - #if _RENDER_PASS_ENABLED - #define GBUFFER3 0 - #define GBUFFER4 1 - FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); - FRAMEBUFFER_INPUT_X_HALF(GBUFFER4); - #endif - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -858,6 +867,13 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" #endif + #if _RENDER_PASS_ENABLED + #define GBUFFER3 0 + #define GBUFFER4 1 + FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); + FRAMEBUFFER_INPUT_X_UINT(GBUFFER4); + #endif + /*ase_pragma*/ struct SurfaceDescription @@ -957,7 +973,6 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ float sgn = input.tangentWS.w; float3 bitangent = sgn * cross(input.normalWS.xyz, input.tangentWS.xyz); half3x3 tangentToWorld = half3x3(input.tangentWS.xyz, bitangent.xyz, input.normalWS.xyz); - surfaceData.normalWS.xyz = normalize(TransformTangentToWorld(surfaceDescription.NormalTS, tangentToWorld)); #else surfaceData.normalWS.xyz = normalize(half3(input.normalWS)); @@ -1039,9 +1054,9 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #endif #if defined(VARYINGS_NEED_DYNAMIC_LIGHTMAP_UV) && defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI(input.staticLightmapUV, input.dynamicLightmapUV.xy, half3(input.sh), normalWS); + inputData.bakedGI = SAMPLE_GI(input.lightmapUVs.xy, input.lightmapUVs.zw, half3(input.sh), normalWS); #if defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) - inputData.shadowMask = SAMPLE_SHADOWMASK(input.staticLightmapUV); + inputData.shadowMask = SAMPLE_SHADOWMASK(input.lightmapUVs.xy); #endif #elif defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) #if !defined(LIGHTMAP_ON) && (defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2)) @@ -1053,19 +1068,19 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ input.probeOcclusion, inputData.shadowMask); #else - inputData.bakedGI = SAMPLE_GI(input.staticLightmapUV, half3(input.sh), normalWS); + inputData.bakedGI = SAMPLE_GI(input.lightmapUVs.xy, half3(input.sh), normalWS); #if defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) - inputData.shadowMask = SAMPLE_SHADOWMASK(input.staticLightmapUV); + inputData.shadowMask = SAMPLE_SHADOWMASK(input.lightmapUVs.xy); #endif #endif #endif #if defined(DEBUG_DISPLAY) #if defined(VARYINGS_NEED_DYNAMIC_LIGHTMAP_UV) && defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = input.dynamicLightmapUV.xy; + inputData.dynamicLightmapUV = input.lightmapUVs.zw; #endif #if defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) && defined(LIGHTMAP_ON) - inputData.staticLightmapUV = input.staticLightmapUV + inputData.staticLightmapUV = input.lightmapUVs.xy; #elif defined(VARYINGS_NEED_SH) inputData.vertexSH = input.sh; #endif @@ -1122,11 +1137,11 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ packedOutput.viewDirectionWS.xyz = GetWorldSpaceViewDir(positionWS); #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(inputMesh.uv1, unity_LightmapST, packedOutput.staticLightmapUV); + OUTPUT_LIGHTMAP_UV(inputMesh.uv1, unity_LightmapST, packedOutput.lightmapUVs.xy); #endif #if defined(DYNAMICLIGHTMAP_ON) - packedOutput.dynamicLightmapUV.xy = inputMesh.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + packedOutput.lightmapUVs.zw = inputMesh.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; #endif #if !defined(LIGHTMAP_ON) @@ -1186,14 +1201,18 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ float2 positionSS = FoveatedRemapNonUniformToLinearCS(packedInput.positionCS.xy) * _ScreenSize.zw; - /*ase_local_var:sp*/float4 positionCS = ComputeClipSpacePosition( positionSS, depth ); + float4 positionCS = ComputeClipSpacePosition( positionSS, depth ); float4 hpositionVS = mul( UNITY_MATRIX_I_P, positionCS ); - /*ase_local_var:rwp*/float3 positionRWS = mul( ( float3x3 )UNITY_MATRIX_I_V, hpositionVS.xyz / hpositionVS.w ); - /*ase_local_var:wp*/float3 positionWS = positionRWS + _WorldSpaceCameraPos; - /*ase_local_var:op*/float3 positionOS = TransformWorldToObject( positionWS ); - /*ase_local_var:vp*/float3 positionVS = TransformWorldToView( positionWS ); - float3 positionDS = TransformWorldToObject(positionWS); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( positionSS, positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = positionCS * packedInput.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:rwp*/float3 PositionRWS = mul( ( float3x3 )UNITY_MATRIX_I_V, hpositionVS.xyz / hpositionVS.w ); + /*ase_local_var:wp*/float3 PositionWS = PositionRWS + _WorldSpaceCameraPos; + /*ase_local_var:op*/float3 PositionOS = TransformWorldToObject( PositionWS ); + /*ase_local_var:vp*/float3 PositionVS = TransformWorldToView( PositionWS ); + + float3 positionDS = TransformWorldToObject(PositionWS); positionDS = positionDS * float3(1.0, -1.0, 1.0); float clipValue = 0.5 - Max3(abs(positionDS).x, abs(positionDS).y, abs(positionDS).z); @@ -1257,7 +1276,7 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #endif InputData inputData; - InitializeInputData( packedInput, positionWS, surfaceData.normalWS.xyz, viewDirectionWS, inputData); + InitializeInputData( packedInput, PositionWS, surfaceData.normalWS.xyz, viewDirectionWS, inputData); SurfaceData surface = (SurfaceData)0; GetSurface(surfaceData, surface); @@ -1297,7 +1316,6 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #pragma vertex Vert #pragma fragment Frag #pragma multi_compile_instancing - #pragma multi_compile_fog #pragma editor_sync_compilation #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN @@ -1324,14 +1342,8 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #define SHADERPASS SHADERPASS_DECAL_GBUFFER_PROJECTOR - #if _RENDER_PASS_ENABLED - #define GBUFFER3 0 - #define GBUFFER4 1 - FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); - FRAMEBUFFER_INPUT_X_HALF(GBUFFER4); - #endif - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -1343,7 +1355,7 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ProbeVolumeVariants.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/UnityGBuffer.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/GBufferOutput.hlsl" #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DecalInput.hlsl" #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderVariablesDecal.hlsl" @@ -1352,6 +1364,13 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" #endif + #if _RENDER_PASS_ENABLED + #define GBUFFER3 0 + #define GBUFFER4 1 + FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); + FRAMEBUFFER_INPUT_X_UINT(GBUFFER4); + #endif + /*ase_pragma*/ struct SurfaceDescription @@ -1450,7 +1469,6 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ float sgn = input.tangentWS.w; float3 bitangent = sgn * cross(input.normalWS.xyz, input.tangentWS.xyz); half3x3 tangentToWorld = half3x3(input.tangentWS.xyz, bitangent.xyz, input.normalWS.xyz); - surfaceData.normalWS.xyz = normalize(TransformTangentToWorld(surfaceDescription.NormalTS, tangentToWorld)); #else surfaceData.normalWS.xyz = normalize(half3(input.normalWS)); @@ -1532,9 +1550,9 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #endif #if defined(VARYINGS_NEED_DYNAMIC_LIGHTMAP_UV) && defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI(input.staticLightmapUV, input.dynamicLightmapUV.xy, half3(input.sh), normalWS); + inputData.bakedGI = SAMPLE_GI(input.lightmapUVs.xy, input.lightmapUVs.zw, half3(input.sh), normalWS); #if defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) - inputData.shadowMask = SAMPLE_SHADOWMASK(input.staticLightmapUV); + inputData.shadowMask = SAMPLE_SHADOWMASK(input.lightmapUVs.xy); #endif #elif defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) #if !defined(LIGHTMAP_ON) && (defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2)) @@ -1546,19 +1564,19 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ input.probeOcclusion, inputData.shadowMask); #else - inputData.bakedGI = SAMPLE_GI(input.staticLightmapUV, half3(input.sh), normalWS); + inputData.bakedGI = SAMPLE_GI(input.lightmapUVs.xy, half3(input.sh), normalWS); #if defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) - inputData.shadowMask = SAMPLE_SHADOWMASK(input.staticLightmapUV); + inputData.shadowMask = SAMPLE_SHADOWMASK(input.lightmapUVs.xy); #endif #endif #endif #if defined(DEBUG_DISPLAY) #if defined(VARYINGS_NEED_DYNAMIC_LIGHTMAP_UV) && defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = input.dynamicLightmapUV.xy; + inputData.dynamicLightmapUV = input.lightmapUVs.zw; #endif #if defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) && defined(LIGHTMAP_ON) - inputData.staticLightmapUV = input.staticLightmapUV + inputData.staticLightmapUV = input.lightmapUVs.xy; #elif defined(VARYINGS_NEED_SH) inputData.vertexSH = input.sh; #endif @@ -1605,11 +1623,11 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ packedOutput.viewDirectionWS.xyz = GetWorldSpaceViewDir(positionWS); #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(inputMesh.uv1, unity_LightmapST, packedOutput.staticLightmapUV); + OUTPUT_LIGHTMAP_UV(inputMesh.uv1, unity_LightmapST, packedOutput.lightmapUVs.xy); #endif #if defined(DYNAMICLIGHTMAP_ON) - packedOutput.dynamicLightmapUV.xy = inputMesh.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + packedOutput.lightmapUVs.zw = inputMesh.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; #endif #if !defined(LIGHTMAP_ON) @@ -1620,13 +1638,28 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ } void Frag(PackedVaryings packedInput, - out FragmentOutput fragmentOutput + out GBufferFragOutput fragmentOutput /*ase_frag_input*/ ) { + //PassGBuffer.template + #pragma warning (disable : 3578) // The output value isn't completely initialized. + GBufferFragOutput tempFragmentOutput = (GBufferFragOutput)0; UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(packedInput); UNITY_SETUP_INSTANCE_ID(packedInput); + //VFXComputePixelOutputToGBuffer(packedInput, tempFragmentOutput); + fragmentOutput.gBuffer0 = tempFragmentOutput.gBuffer0; + fragmentOutput.gBuffer1 = tempFragmentOutput.gBuffer1; + fragmentOutput.gBuffer2 = tempFragmentOutput.gBuffer2; + fragmentOutput.color = tempFragmentOutput.color; + + #if defined(GBUFFER_FEATURE_SHADOWMASK) + fragmentOutput.shadowMask = tempFragmentOutput.shadowMask; // will have unity_ProbesOcclusion value if subtractive lighting is used (baked) + #endif + #pragma warning (default : 3578) // Restore output value isn't completely initialized. + + half angleFadeFactor = 1.0; #ifdef _DECAL_LAYERS @@ -1669,14 +1702,18 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ float2 positionSS = FoveatedRemapNonUniformToLinearCS(packedInput.positionCS.xy) * _ScreenSize.zw; - /*ase_local_var:sp*/float4 positionCS = ComputeClipSpacePosition( positionSS, depth ); + float4 positionCS = ComputeClipSpacePosition( positionSS, depth ); float4 hpositionVS = mul( UNITY_MATRIX_I_P, positionCS ); - /*ase_local_var:rwp*/float3 positionRWS = mul( ( float3x3 )UNITY_MATRIX_I_V, hpositionVS.xyz / hpositionVS.w ); - /*ase_local_var:wp*/float3 positionWS = positionRWS + _WorldSpaceCameraPos; - /*ase_local_var:op*/float3 positionOS = TransformWorldToObject( positionWS ); - /*ase_local_var:vp*/float3 positionVS = TransformWorldToView( positionWS ); - float3 positionDS = TransformWorldToObject(positionWS); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( positionSS, positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = positionCS * packedInput.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:rwp*/float3 PositionRWS = mul( ( float3x3 )UNITY_MATRIX_I_V, hpositionVS.xyz / hpositionVS.w ); + /*ase_local_var:wp*/float3 PositionWS = PositionRWS + _WorldSpaceCameraPos; + /*ase_local_var:op*/float3 PositionOS = TransformWorldToObject( PositionWS ); + /*ase_local_var:vp*/float3 PositionVS = TransformWorldToView( PositionWS ); + + float3 positionDS = TransformWorldToObject(PositionWS); positionDS = positionDS * float3(1.0, -1.0, 1.0); float clipValue = 0.5 - Max3(abs(positionDS).x, abs(positionDS).y, abs(positionDS).z); @@ -1735,12 +1772,13 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ GetSurfaceData(surfaceDescription, angleFadeFactor, surfaceData); half3 normalToPack = surfaceData.normalWS.xyz; + #ifdef DECAL_RECONSTRUCT_NORMAL surfaceData.normalWS.xyz = normalize(lerp(normalWS.xyz, surfaceData.normalWS.xyz, surfaceData.normalWS.w)); #endif InputData inputData; - InitializeInputData(packedInput, positionWS, surfaceData.normalWS.xyz, viewDirectionWS, inputData); + InitializeInputData(packedInput, PositionWS, surfaceData.normalWS.xyz, viewDirectionWS, inputData); SurfaceData surface = (SurfaceData)0; GetSurface(surfaceData, surface); @@ -1756,16 +1794,21 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ half3 color = 0; #endif - #pragma warning (disable : 3578) // The output value isn't completely initialized. - half3 packedNormalWS = PackNormal(normalToPack); - fragmentOutput.GBuffer0 = half4(surfaceData.baseColor.rgb, surfaceData.baseColor.a); - fragmentOutput.GBuffer1 = 0; - fragmentOutput.GBuffer2 = half4(packedNormalWS, surfaceData.normalWS.a); - fragmentOutput.GBuffer3 = half4(surfaceData.emissive + color, surfaceData.baseColor.a); - #if OUTPUT_SHADOWMASK - fragmentOutput.GBuffer4 = inputData.shadowMask; // will have unity_ProbesOcclusion value if subtractive lighting is used (baked) + //PassGBuffer.template + half3 packedNormalWS = PackGBufferNormal(surfaceData.normalWS.xyz); + fragmentOutput = (GBufferFragOutput)0; + fragmentOutput.gBuffer0 = half4(surfaceData.baseColor.rgb, surfaceData.baseColor.a); + fragmentOutput.gBuffer1 = 0; + fragmentOutput.gBuffer2 = half4(packedNormalWS, surfaceData.normalWS.a); + #if defined(AFFECT_BASE_COLOR) || defined(AFFECT_EMISSIVE) + fragmentOutput.color = half4(surfaceData.emissive + color, surfaceData.baseColor.a); + #else + fragmentOutput.color = 0; + #endif + + #if defined(GBUFFER_FEATURE_SHADOWMASK) + fragmentOutput.shadowMask = inputData.shadowMask; // will have unity_ProbesOcclusion value if subtractive lighting is used (baked) #endif - #pragma warning (default : 3578) // Restore output value isn't completely initialized. } ENDHLSL @@ -1818,14 +1861,8 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #define SHADERPASS SHADERPASS_DBUFFER_MESH - #if _RENDER_PASS_ENABLED - #define GBUFFER3 0 - #define GBUFFER4 1 - FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); - FRAMEBUFFER_INPUT_X_HALF(GBUFFER4); - #endif - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -1846,6 +1883,13 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" #endif + #if _RENDER_PASS_ENABLED + #define GBUFFER3 0 + #define GBUFFER4 1 + FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); + FRAMEBUFFER_INPUT_X_UINT(GBUFFER4); + #endif + /*ase_pragma*/ struct SurfaceDescription @@ -1940,7 +1984,6 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ float sgn = input.tangentWS.w; float3 bitangent = sgn * cross(input.normalWS.xyz, input.tangentWS.xyz); half3x3 tangentToWorld = half3x3(input.tangentWS.xyz, bitangent.xyz, input.normalWS.xyz); - surfaceData.normalWS.xyz = normalize(TransformTangentToWorld(surfaceDescription.NormalTS, tangentToWorld)); #else surfaceData.normalWS.xyz = normalize(half3(input.normalWS)); @@ -2031,9 +2074,6 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ UNITY_TRANSFER_INSTANCE_ID(inputMesh, packedOutput); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(packedOutput); - inputMesh.tangentOS = float4( 1, 0, 0, -1 ); - inputMesh.normalOS = float3( 0, 1, 0 ); - /*ase_vert_code:inputMesh=Attributes;packedOutput=PackedVaryings*/ VertexPositionInputs vertexInput = GetVertexPositionInputs(inputMesh.positionOS.xyz); @@ -2160,14 +2200,8 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #define SHADERPASS SHADERPASS_FORWARD_EMISSIVE_MESH - #if _RENDER_PASS_ENABLED - #define GBUFFER3 0 - #define GBUFFER4 1 - FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); - FRAMEBUFFER_INPUT_X_HALF(GBUFFER4); - #endif - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -2187,6 +2221,13 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" #endif + #if _RENDER_PASS_ENABLED + #define GBUFFER3 0 + #define GBUFFER4 1 + FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); + FRAMEBUFFER_INPUT_X_UINT(GBUFFER4); + #endif + /*ase_pragma*/ struct SurfaceDescription @@ -2253,7 +2294,7 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ void GetSurfaceData(SurfaceDescription surfaceDescription, float4 positionCS, out DecalSurfaceData surfaceData) { #if defined(LOD_FADE_CROSSFADE) - LODFadeCrossFade( input.positionCS ); + LODFadeCrossFade( positionCS ); #endif half fadeFactor = half(1.0); @@ -2359,9 +2400,6 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ UNITY_TRANSFER_INSTANCE_ID(inputMesh, packedOutput); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(packedOutput); - inputMesh.tangentOS = float4( 1, 0, 0, -1 ); - inputMesh.normalOS = float3( 0, 1, 0 ); - /*ase_vert_code:inputMesh=Attributes;packedOutput=PackedVaryings*/ VertexPositionInputs vertexInput = GetVertexPositionInputs(inputMesh.positionOS.xyz); @@ -2471,20 +2509,20 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #pragma vertex Vert #pragma fragment Frag #pragma multi_compile_instancing - #pragma multi_compile_fog #pragma editor_sync_compilation #pragma multi_compile _ LIGHTMAP_ON #pragma multi_compile _ DYNAMICLIGHTMAP_ON #pragma multi_compile _ DIRLIGHTMAP_COMBINED #pragma multi_compile _ USE_LEGACY_LIGHTMAPS + #pragma multi_compile _ LIGHTMAP_BICUBIC_SAMPLING #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ _FORWARD_PLUS + #pragma multi_compile _ _CLUSTER_LIGHT_LOOP #pragma multi_compile _DECAL_NORMAL_BLEND_LOW _DECAL_NORMAL_BLEND_MEDIUM _DECAL_NORMAL_BLEND_HIGH #pragma multi_compile_fragment _ DEBUG_DISPLAY #pragma multi_compile _ _DECAL_LAYERS @@ -2512,14 +2550,8 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #define SHADERPASS SHADERPASS_DECAL_SCREEN_SPACE_MESH - #if _RENDER_PASS_ENABLED - #define GBUFFER3 0 - #define GBUFFER4 1 - FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); - FRAMEBUFFER_INPUT_X_HALF(GBUFFER4); - #endif - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -2539,6 +2571,13 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" #endif + #if _RENDER_PASS_ENABLED + #define GBUFFER3 0 + #define GBUFFER4 1 + FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); + FRAMEBUFFER_INPUT_X_UINT(GBUFFER4); + #endif + /*ase_pragma*/ struct SurfaceDescription @@ -2645,7 +2684,6 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ float sgn = input.tangentWS.w; float3 bitangent = sgn * cross(input.normalWS.xyz, input.tangentWS.xyz); half3x3 tangentToWorld = half3x3(input.tangentWS.xyz, bitangent.xyz, input.normalWS.xyz); - surfaceData.normalWS.xyz = normalize(TransformTangentToWorld(surfaceDescription.NormalTS, tangentToWorld)); #else surfaceData.normalWS.xyz = normalize(half3(input.normalWS)); @@ -2737,9 +2775,9 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #endif #if defined(VARYINGS_NEED_DYNAMIC_LIGHTMAP_UV) && defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI(input.staticLightmapUV, input.dynamicLightmapUV.xy, half3(input.sh), normalWS); + inputData.bakedGI = SAMPLE_GI(input.lightmapUVs.xy, input.lightmapUVs.zw, half3(input.sh), normalWS); #if defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) - inputData.shadowMask = SAMPLE_SHADOWMASK(input.staticLightmapUV); + inputData.shadowMask = SAMPLE_SHADOWMASK(input.lightmapUVs.xy); #endif #elif defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) #if !defined(LIGHTMAP_ON) && (defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2)) @@ -2751,19 +2789,19 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ input.probeOcclusion, inputData.shadowMask); #else - inputData.bakedGI = SAMPLE_GI(input.staticLightmapUV, half3(input.sh), normalWS); + inputData.bakedGI = SAMPLE_GI(input.lightmapUVs.xy, half3(input.sh), normalWS); #if defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) - inputData.shadowMask = SAMPLE_SHADOWMASK(input.staticLightmapUV); + inputData.shadowMask = SAMPLE_SHADOWMASK(input.lightmapUVs.xy); #endif #endif #endif #if defined(DEBUG_DISPLAY) #if defined(VARYINGS_NEED_DYNAMIC_LIGHTMAP_UV) && defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = input.dynamicLightmapUV.xy; + inputData.dynamicLightmapUV = input.lightmapUVs.zw; #endif #if defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) && defined(LIGHTMAP_ON) - inputData.staticLightmapUV = input.staticLightmapUV + inputData.staticLightmapUV = input.lightmapUVs.xy; #elif defined(VARYINGS_NEED_SH) inputData.vertexSH = input.sh; #endif @@ -2803,9 +2841,6 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ UNITY_TRANSFER_INSTANCE_ID(inputMesh, packedOutput); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(packedOutput); - inputMesh.tangentOS = float4( 1, 0, 0, -1 ); - inputMesh.normalOS = float3( 0, 1, 0 ); - /*ase_vert_code:inputMesh=Attributes;packedOutput=PackedVaryings*/ VertexPositionInputs vertexInput = GetVertexPositionInputs(inputMesh.positionOS.xyz); @@ -2835,11 +2870,11 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ packedOutput.viewDirectionWS.xyz = GetWorldSpaceViewDir(positionWS); #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(inputMesh.uv1, unity_LightmapST, packedOutput.staticLightmapUV); + OUTPUT_LIGHTMAP_UV(inputMesh.uv1, unity_LightmapST, packedOutput.lightmapUVs.xy); #endif #if defined(DYNAMICLIGHTMAP_ON) - packedOutput.dynamicLightmapUV.xy = inputMesh.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + packedOutput.lightmapUVs.zw = inputMesh.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; #endif #if !defined(LIGHTMAP_ON) @@ -2953,13 +2988,13 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #pragma vertex Vert #pragma fragment Frag #pragma multi_compile_instancing - #pragma multi_compile_fog #pragma editor_sync_compilation #pragma multi_compile _ LIGHTMAP_ON #pragma multi_compile _ DYNAMICLIGHTMAP_ON #pragma multi_compile _ DIRLIGHTMAP_COMBINED #pragma multi_compile _ USE_LEGACY_LIGHTMAPS + #pragma multi_compile _ LIGHTMAP_BICUBIC_SAMPLING #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING @@ -2992,14 +3027,8 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #define SHADERPASS SHADERPASS_DECAL_GBUFFER_MESH - #if _RENDER_PASS_ENABLED - #define GBUFFER3 0 - #define GBUFFER4 1 - FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); - FRAMEBUFFER_INPUT_X_HALF(GBUFFER4); - #endif - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -3011,7 +3040,7 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ProbeVolumeVariants.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/UnityGBuffer.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/GBufferOutput.hlsl" #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DecalInput.hlsl" #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderVariablesDecal.hlsl" @@ -3020,6 +3049,13 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" #endif + #if _RENDER_PASS_ENABLED + #define GBUFFER3 0 + #define GBUFFER4 1 + FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); + FRAMEBUFFER_INPUT_X_UINT(GBUFFER4); + #endif + /*ase_pragma*/ struct SurfaceDescription @@ -3126,7 +3162,6 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ float sgn = input.tangentWS.w; float3 bitangent = sgn * cross(input.normalWS.xyz, input.tangentWS.xyz); half3x3 tangentToWorld = half3x3(input.tangentWS.xyz, bitangent.xyz, input.normalWS.xyz); - surfaceData.normalWS.xyz = normalize(TransformTangentToWorld(surfaceDescription.NormalTS, tangentToWorld)); #else surfaceData.normalWS.xyz = normalize(half3(input.normalWS)); @@ -3217,9 +3252,9 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #endif #if defined(VARYINGS_NEED_DYNAMIC_LIGHTMAP_UV) && defined(DYNAMICLIGHTMAP_ON) - inputData.bakedGI = SAMPLE_GI(input.staticLightmapUV, input.dynamicLightmapUV.xy, half3(input.sh), normalWS); + inputData.bakedGI = SAMPLE_GI(input.lightmapUVs.xy, input.lightmapUVs.zw, half3(input.sh), normalWS); #if defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) - inputData.shadowMask = SAMPLE_SHADOWMASK(input.staticLightmapUV); + inputData.shadowMask = SAMPLE_SHADOWMASK(input.lightmapUVs.xy); #endif #elif defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) #if !defined(LIGHTMAP_ON) && (defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2)) @@ -3231,19 +3266,19 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ input.probeOcclusion, inputData.shadowMask); #else - inputData.bakedGI = SAMPLE_GI(input.staticLightmapUV, half3(input.sh), normalWS); + inputData.bakedGI = SAMPLE_GI(input.lightmapUVs.xy, half3(input.sh), normalWS); #if defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) - inputData.shadowMask = SAMPLE_SHADOWMASK(input.staticLightmapUV); + inputData.shadowMask = SAMPLE_SHADOWMASK(input.lightmapUVs.xy); #endif #endif #endif #if defined(DEBUG_DISPLAY) #if defined(VARYINGS_NEED_DYNAMIC_LIGHTMAP_UV) && defined(DYNAMICLIGHTMAP_ON) - inputData.dynamicLightmapUV = input.dynamicLightmapUV.xy; + inputData.dynamicLightmapUV = input.lightmapUVs.zw; #endif #if defined(VARYINGS_NEED_STATIC_LIGHTMAP_UV) && defined(LIGHTMAP_ON) - inputData.staticLightmapUV = input.staticLightmapUV + inputData.staticLightmapUV = input.lightmapUVs.xy; #elif defined(VARYINGS_NEED_SH) inputData.vertexSH = input.sh; #endif @@ -3283,9 +3318,6 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ UNITY_TRANSFER_INSTANCE_ID(inputMesh, packedOutput); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(packedOutput); - inputMesh.tangentOS = float4( 1, 0, 0, -1 ); - inputMesh.normalOS = float3( 0, 1, 0 ); - /*ase_vert_code:inputMesh=Attributes;packedOutput=PackedVaryings*/ VertexPositionInputs vertexInput = GetVertexPositionInputs(inputMesh.positionOS.xyz); @@ -3308,11 +3340,11 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ packedOutput.viewDirectionWS.xyz = GetWorldSpaceViewDir(positionWS); #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(inputMesh.uv1, unity_LightmapST, packedOutput.staticLightmapUV); + OUTPUT_LIGHTMAP_UV(inputMesh.uv1, unity_LightmapST, packedOutput.lightmapUVs.xy); #endif #if defined(DYNAMICLIGHTMAP_ON) - packedOutput.dynamicLightmapUV.xy = inputMesh.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + packedOutput.lightmapUVs.zw = inputMesh.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; #endif #if !defined(LIGHTMAP_ON) @@ -3331,7 +3363,7 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ } void Frag(PackedVaryings packedInput, - out FragmentOutput fragmentOutput + out GBufferFragOutput fragmentOutput /*ase_frag_input*/ ) { @@ -3413,14 +3445,16 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #endif #pragma warning (disable : 3578) // The output value isn't completely initialized. - half3 packedNormalWS = PackNormal(normalToPack); - fragmentOutput.GBuffer0 = half4(surfaceData.baseColor.rgb, surfaceData.baseColor.a); - fragmentOutput.GBuffer1 = 0; - fragmentOutput.GBuffer2 = half4(packedNormalWS, surfaceData.normalWS.a); - fragmentOutput.GBuffer3 = half4(surfaceData.emissive + color, surfaceData.baseColor.a); - #if OUTPUT_SHADOWMASK - fragmentOutput.GBuffer4 = inputData.shadowMask; // will have unity_ProbesOcclusion value if subtractive lighting is used (baked) + half3 packedNormalWS = PackGBufferNormal(normalToPack); + fragmentOutput.gBuffer0 = half4(surfaceData.baseColor.rgb, surfaceData.baseColor.a); + fragmentOutput.gBuffer1 = 0; + fragmentOutput.gBuffer2 = half4(packedNormalWS, surfaceData.normalWS.a); + fragmentOutput.color = half4(surfaceData.emissive + color, surfaceData.baseColor.a); + + #if defined(GBUFFER_FEATURE_SHADOWMASK) + fragmentOutput.shadowMask = inputData.shadowMask; #endif + #pragma warning (default : 3578) // Restore output value isn't completely initialized. } @@ -3456,13 +3490,6 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #define SHADERPASS SHADERPASS_DEPTHONLY #define SCENEPICKINGPASS 1 - #if _RENDER_PASS_ENABLED - #define GBUFFER3 0 - #define GBUFFER4 1 - FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); - FRAMEBUFFER_INPUT_X_HALF(GBUFFER4); - #endif - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -3477,6 +3504,13 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DecalInput.hlsl" #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderVariablesDecal.hlsl" + #if _RENDER_PASS_ENABLED + #define GBUFFER3 0 + #define GBUFFER4 1 + FRAMEBUFFER_INPUT_X_HALF(GBUFFER3); + FRAMEBUFFER_INPUT_X_UINT(GBUFFER4); + #endif + /*ase_pragma*/ struct Attributes @@ -3599,7 +3633,7 @@ Shader /*ase_name*/"Hidden/Universal/Decal"/*end*/ float3 BaseColor = /*ase_frag_out:Base Color;Float3;0;-1;_BaseColor*/IsGammaSpace() ? float3(0.5, 0.5, 0.5) : SRGBToLinear(float3(0.5, 0.5, 0.5))/*end*/; - outColor = _SelectionID; + outColor = unity_SelectionID; } ENDHLSL } diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/Lit.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/Lit.shader index b8fced2d..e15102a4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/Lit.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/Lit.shader @@ -11,6 +11,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ //_TransDirect( "Trans Direct", Range( 0, 1 ) ) = 0.9 //_TransAmbient( "Trans Ambient", Range( 0, 1 ) ) = 0.1 //_TransShadow( "Trans Shadow", Range( 0, 1 ) ) = 0.5 + //_TessPhongStrength( "Tess Phong Strength", Range( 0, 1 ) ) = 0.5 //_TessValue( "Tess Max Tessellation", Range( 1, 32 ) ) = 16 //_TessMin( "Tess Min Distance", Float ) = 10 @@ -18,9 +19,11 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ //_TessEdgeLength ( "Tess Edge length", Range( 2, 50 ) ) = 16 //_TessMaxDisp( "Tess Max Displacement", Float ) = 25 - [HideInInspector][ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 - [HideInInspector][ToggleOff] _EnvironmentReflections("Environment Reflections", Float) = 1.0 - [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 + //_InstancedTerrainNormals("Instanced Terrain Normals", Float) = 1.0 + + [ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 + [ToggleOff] _EnvironmentReflections("Environment Reflections", Float) = 1.0 + [ToggleUI] _ReceiveShadows("Receive Shadows", Float) = 1.0 [HideInInspector] _QueueOffset("_QueueOffset", Float) = 0 [HideInInspector] _QueueControl("_QueueControl", Float) = -1 @@ -30,18 +33,35 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ [HideInInspector][NoScaleOffset] unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {} [HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 + + [HideInInspector] _XRMotionVectorsPass("_XRMotionVectorsPass", Float) = 1 } SubShader { /*ase_subshader_options:Name=Additional Options + Option:Category,InvertActionOnDeselection:Geometry,Terrain,Impostor:Geometry + Geometry:SetDefine:ASE_GEOMETRY + Terrain:SetDefine:ASE_TERRAIN + Terrain:ShowOption: Instanced Terrain Normals + Impostor:SetDefine:ASE_IMPOSTOR + Option: Instanced Terrain Normals:Force Vertex,Force Pixel,Material Option:Force Pixel + Force Vertex?Category=Terrain:SetShaderProperty:_InstancedTerrainNormals,//[KeywordEnum(Vertex, Pixel)] _InstancedTerrainNormals("Instanced Terrain Normals", Float) = 1.0 + Force Pixel?Category=Terrain:SetDefine:Forward:_INSTANCEDTERRAINNORMALS_PIXEL + Force Pixel?Category=Terrain:SetDefine:GBuffer:_INSTANCEDTERRAINNORMALS_PIXEL + Force Pixel?Category=Terrain:SetDefine:DepthNormals:_INSTANCEDTERRAINNORMALS_PIXEL + Force Pixel?Category=Terrain:SetShaderProperty:_InstancedTerrainNormals,//[KeywordEnum(Vertex, Pixel)] _InstancedTerrainNormals("Instanced Terrain Normals", Float) = 1.0 + Material Option?Category=Terrain:SetDefine:Forward:pragma shader_feature _INSTANCEDTERRAINNORMALS_PIXEL + Material Option?Category=Terrain:SetDefine:GBuffer:pragma shader_feature _INSTANCEDTERRAINNORMALS_PIXEL + Material Option?Category=Terrain:SetDefine:DepthNormals:pragma shader_feature _INSTANCEDTERRAINNORMALS_PIXEL + Material Option?Category=Terrain:SetShaderProperty:_InstancedTerrainNormals,[KeywordEnum(Vertex, Pixel)] _InstancedTerrainNormals("Instanced Terrain Normals", Float) = 1.0 Option:Lighting Model:PBR,Simple:PBR PBR:SetPropertyOnSubShader:ChangeTagValue,UniversalMaterialType,Lit PBR:SetShaderProperty:_SpecularHighlights,1 PBR:SetShaderProperty:_EnvironmentReflections,1 - PBR:RemoveDefine:_ASE_LIGHTING_SIMPLE + PBR:RemoveDefine:ASE_LIGHTING_SIMPLE Simple:SetOption:Workflow,0 - Simple:SetDefine:_ASE_LIGHTING_SIMPLE + Simple:SetDefine:ASE_LIGHTING_SIMPLE Simple:SetPropertyOnSubShader:ChangeTagValue,UniversalMaterialType,SimpleLit Simple:SetShaderProperty:_SpecularHighlights,0 Simple:SetShaderProperty:_EnvironmentReflections,0 @@ -49,34 +69,29 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ Specular:SetDefine:_SPECULAR_SETUP 1 Specular:ShowPort:Forward:Specular Specular:HidePort:Forward:Metallic - Specular:SetDefine:Forward:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - Specular:SetDefine:GBuffer:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - Specular:SetDefine:Forward:pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - Specular:SetDefine:GBuffer:pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF Metallic:SetOption:Lighting Model,0 Metallic:RemoveDefine:_SPECULAR_SETUP 1 Metallic:ShowPort:Forward:Metallic Metallic:HidePort:Forward:Specular - Metallic:RemoveDefine:Forward:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - Metallic:RemoveDefine:GBuffer:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF - Metallic:RemoveDefine:Forward:pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF - Metallic:RemoveDefine:GBuffer:pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF Option:Surface:Opaque,Transparent:Opaque Opaque:SetPropertyOnSubShader:RenderType,Opaque Opaque:SetPropertyOnSubShader:RenderQueue,Geometry Opaque:SetPropertyOnSubShader:ZWrite,On + Opaque:ShowOption: Keep Alpha Opaque:HideOption: Refraction Model Opaque:HideOption: Blend Opaque:RemoveDefine:_SURFACE_TYPE_TRANSPARENT 1 - Opaque:HidePort:Forward:Alpha Opaque:RefreshOption:Alpha Clipping Transparent:SetPropertyOnSubShader:RenderType,Transparent Transparent:SetPropertyOnSubShader:RenderQueue,Transparent Transparent:SetPropertyOnSubShader:ZWrite,Off + Transparent:HideOption: Keep Alpha Transparent:ShowOption: Refraction Model Transparent:ShowOption: Blend Transparent:SetDefine:_SURFACE_TYPE_TRANSPARENT 1 - Transparent:ShowPort:Forward:Alpha + Option: Keep Alpha:false,true:false + true:SetDefine:ASE_OPAQUE_KEEP_ALPHA + false:RemoveDefine:ASE_OPAQUE_KEEP_ALPHA Option: Refraction Model:None,Legacy:None None,disable:HidePort:Forward:Refraction Index None,disable:HidePort:Forward:Refraction Color @@ -100,31 +115,32 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ Cull Back:SetPropertyOnSubShader:CullMode,Back Cull Front:SetPropertyOnSubShader:CullMode,Front Option:Alpha Clipping:false,true:true - true:ShowPort:Forward:Alpha true:ShowPort:Forward:Alpha Clip Threshold true?Cast Shadows=true:ShowOption: Use Shadow Threshold true?Surface=Opaque:SetPropertyOnSubShader:RenderType,TransparentCutout true?Surface=Opaque:SetPropertyOnSubShader:RenderQueue,AlphaTest - true:SetDefine:Forward:pragma multi_compile_fragment _ALPHATEST_ON - true:SetDefine:GBuffer:pragma multi_compile_fragment _ALPHATEST_ON - true:SetDefine:Meta:pragma multi_compile_fragment _ALPHATEST_ON - true:SetDefine:Universal2D:pragma multi_compile_fragment _ALPHATEST_ON - true:SetDefine:ShadowCaster:pragma multi_compile _ALPHATEST_ON - true:SetDefine:DepthOnly:pragma multi_compile _ALPHATEST_ON - true:SetDefine:DepthNormals:pragma multi_compile _ALPHATEST_ON - true:SetDefine:MotionVectors:pragma multi_compile _ALPHATEST_ON + true:SetDefine:Forward:pragma multi_compile_local_fragment _ALPHATEST_ON + true:SetDefine:GBuffer:pragma multi_compile_local_fragment _ALPHATEST_ON + true:SetDefine:Meta:pragma multi_compile_local_fragment _ALPHATEST_ON + true:SetDefine:Universal2D:pragma multi_compile_local_fragment _ALPHATEST_ON + true:SetDefine:ShadowCaster:pragma multi_compile_local _ALPHATEST_ON + true:SetDefine:DepthOnly:pragma multi_compile_local _ALPHATEST_ON + true:SetDefine:DepthNormals:pragma multi_compile_local _ALPHATEST_ON + true:SetDefine:MotionVectors:pragma multi_compile_local _ALPHATEST_ON + true:SetDefine:XRMotionVectors:pragma multi_compile_local _ALPHATEST_ON false:HidePort:Forward:Alpha Clip Threshold false:SetOption: Use Shadow Threshold,0 false:HideOption: Use Shadow Threshold false:RefreshOption:Surface - false:RemoveDefine:Forward:pragma multi_compile_fragment _ALPHATEST_ON - false:RemoveDefine:GBuffer:pragma multi_compile_fragment _ALPHATEST_ON - false:RemoveDefine:Meta:pragma multi_compile_fragment _ALPHATEST_ON - false:RemoveDefine:Universal2D:pragma multi_compile_fragment _ALPHATEST_ON - false:RemoveDefine:ShadowCaster:pragma multi_compile _ALPHATEST_ON - false:RemoveDefine:DepthOnly:pragma multi_compile _ALPHATEST_ON - false:RemoveDefine:DepthNormals:pragma multi_compile _ALPHATEST_ON - false:RemoveDefine:MotionVectors:pragma multi_compile _ALPHATEST_ON + false:RemoveDefine:Forward:pragma multi_compile_local_fragment _ALPHATEST_ON + false:RemoveDefine:GBuffer:pragma multi_compile_local_fragment _ALPHATEST_ON + false:RemoveDefine:Meta:pragma multi_compile_local_fragment _ALPHATEST_ON + false:RemoveDefine:Universal2D:pragma multi_compile_local_fragment _ALPHATEST_ON + false:RemoveDefine:ShadowCaster:pragma multi_compile_local _ALPHATEST_ON + false:RemoveDefine:DepthOnly:pragma multi_compile_local _ALPHATEST_ON + false:RemoveDefine:DepthNormals:pragma multi_compile_local _ALPHATEST_ON + false:RemoveDefine:MotionVectors:pragma multi_compile_local _ALPHATEST_ON + false:RemoveDefine:XRMotionVectors:pragma multi_compile_local _ALPHATEST_ON Option: Use Shadow Threshold:false,true:false true:ShowPort:Forward:Alpha Clip Threshold Shadow true:SetDefine:_ALPHATEST_SHADOW_ON 1 @@ -207,37 +223,88 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ false,disable:ExcludePass:ShadowCaster true?Alpha Clipping=true:ShowOption: Use Shadow Threshold false:HideOption: Use Shadow Threshold - Option:Receive Shadows:false,true:true - true:SetDefine:Forward:pragma shader_feature_local _RECEIVE_SHADOWS_OFF - true:SetDefine:GBuffer:pragma shader_feature_local _RECEIVE_SHADOWS_OFF - false:RemoveDefine:Forward:pragma shader_feature_local _RECEIVE_SHADOWS_OFF - false:RemoveDefine:GBuffer:pragma shader_feature_local _RECEIVE_SHADOWS_OFF + Option:Receive Shadows:Force Off,Force On,Material Toggle:Material Toggle + Force On:RemoveDefine:Forward:pragma multi_compile_local_fragment _RECEIVE_SHADOWS_OFF + Force On:RemoveDefine:GBuffer:pragma multi_compile_local_fragment _RECEIVE_SHADOWS_OFF + Force On:RemoveDefine:Forward:pragma shader_feature_local_fragment _RECEIVE_SHADOWS_OFF + Force On:RemoveDefine:GBuffer:pragma shader_feature_local_fragment _RECEIVE_SHADOWS_OFF + Force On:SetShaderProperty:_ReceiveShadows,//[ToggleUI] _ReceiveShadows("Receive Shadows", Float) = 1.0 + Force Off:RemoveDefine:Forward:pragma shader_feature_local_fragment _RECEIVE_SHADOWS_OFF + Force Off:RemoveDefine:GBuffer:pragma shader_feature_local_fragment _RECEIVE_SHADOWS_OFF + Force Off:SetDefine:Forward:pragma multi_compile_local_fragment _RECEIVE_SHADOWS_OFF + Force Off:SetDefine:GBuffer:pragma multi_compile_local_fragment _RECEIVE_SHADOWS_OFF + Force Off:SetShaderProperty:_ReceiveShadows,//[ToggleUI] _ReceiveShadows("Receive Shadows", Float) = 1.0 + Material Toggle:SetDefine:Forward:pragma shader_feature_local_fragment _RECEIVE_SHADOWS_OFF + Material Toggle:SetDefine:GBuffer:pragma shader_feature_local_fragment _RECEIVE_SHADOWS_OFF + Material Toggle:RemoveDefine:Forward:pragma multi_compile_local_fragment _RECEIVE_SHADOWS_OFF + Material Toggle:RemoveDefine:GBuffer:pragma multi_compile_local_fragment _RECEIVE_SHADOWS_OFF + Material Toggle:SetShaderProperty:_ReceiveShadows,[ToggleUI] _ReceiveShadows("Receive Shadows", Float) = 1.0 + Option:Specular Highlights:Force Off,Force On,Material Toggle:Material Toggle + Force On:RemoveDefine:Forward:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Force On:RemoveDefine:GBuffer:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Force On:RemoveDefine:Forward:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Force On:RemoveDefine:GBuffer:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Force On:SetShaderProperty:_SpecularHighlights,//[ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 + Force Off:RemoveDefine:Forward:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Force Off:RemoveDefine:GBuffer:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Force Off:SetDefine:Forward:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Force Off:SetDefine:GBuffer:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Force Off:SetShaderProperty:_SpecularHighlights,//[ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 + Material Toggle:SetDefine:Forward:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Material Toggle:SetDefine:GBuffer:pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF + Material Toggle:RemoveDefine:Forward:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Material Toggle:RemoveDefine:GBuffer:pragma multi_compile_local_fragment _SPECULARHIGHLIGHTS_OFF + Material Toggle:SetShaderProperty:_SpecularHighlights,[ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 + Option:Environment Reflections:Force Off,Force On,Material Toggle:Material Toggle + Force On:RemoveDefine:Forward:pragma multi_compile_local_fragment _ENVIRONMENTREFLECTIONS_OFF + Force On:RemoveDefine:GBuffer:pragma multi_compile_local_fragment _ENVIRONMENTREFLECTIONS_OFF + Force On:RemoveDefine:Forward:pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF + Force On:RemoveDefine:GBuffer:pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF + Force On:SetShaderProperty:_EnvironmentReflections,//[ToggleOff] _EnvironmentReflections("Environment Reflections", Float) = 1.0 + Force Off:RemoveDefine:Forward:pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF + Force Off:RemoveDefine:GBuffer:pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF + Force Off:SetDefine:Forward:pragma multi_compile_local_fragment _ENVIRONMENTREFLECTIONS_OFF + Force Off:SetDefine:GBuffer:pragma multi_compile_local_fragment _ENVIRONMENTREFLECTIONS_OFF + Force Off:SetShaderProperty:_EnvironmentReflections,//[ToggleOff] _EnvironmentReflections("Environment Reflections", Float) = 1.0 + Material Toggle:SetDefine:Forward:pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF + Material Toggle:SetDefine:GBuffer:pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF + Material Toggle:RemoveDefine:Forward:pragma multi_compile_local_fragment _ENVIRONMENTREFLECTIONS_OFF + Material Toggle:RemoveDefine:GBuffer:pragma multi_compile_local_fragment _ENVIRONMENTREFLECTIONS_OFF + Material Toggle:SetShaderProperty:_EnvironmentReflections,[ToggleOff] _EnvironmentReflections("Environment Reflections", Float) = 1.0 Option:Receive SSAO:false,true:true true:SetDefine:Forward:pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION false:RemoveDefine:Forward:pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION Option:Motion Vectors:false,true:true true:ShowOption: Add Precomputed Velocity - false:HideOption: Add Precomputed Velocity + true:ShowOption: XR Motion Vectors true:IncludePass:MotionVectors - false:ExcludePass:MotionVectors true:SetOption:Tessellation,0 + false:HideOption: Add Precomputed Velocity + false:HideOption: XR Motion Vectors + false:ExcludePass:MotionVectors + false:ExcludePass:XRMotionVectors Option: Add Precomputed Velocity:false,true:false true:SetShaderProperty:_AddPrecomputedVelocity,[HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 - false:SetShaderProperty:_AddPrecomputedVelocity,//[HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 true:SetShaderProperty:_AddPrecomputedVelocity,1 true:SetDefine:MotionVectors:pragma shader_feature_local_vertex _ADD_PRECOMPUTED_VELOCITY + true:SetDefine:XRMotionVectors:pragma shader_feature_local_vertex _ADD_PRECOMPUTED_VELOCITY + false:SetShaderProperty:_AddPrecomputedVelocity,//[HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 false:RemoveDefine:MotionVectors:pragma shader_feature_local_vertex _ADD_PRECOMPUTED_VELOCITY + false:RemoveDefine:XRMotionVectors:pragma shader_feature_local_vertex _ADD_PRECOMPUTED_VELOCITY + Option: XR Motion Vectors:false,true:false + true:IncludePass:XRMotionVectors + true:SetShaderProperty:_XRMotionVectorsPass,[HideInInspector] _XRMotionVectorsPass("_XRMotionVectorsPass", Float) = 1 + false:ExcludePass:XRMotionVectors + false:SetShaderProperty:_XRMotionVectorsPass,//[HideInInspector] _XRMotionVectorsPass("_XRMotionVectorsPass", Float) = 1 Option:GPU Instancing:false,true:true true:SetDefine:Forward:pragma multi_compile_instancing true:SetDefine:GBuffer:pragma multi_compile_instancing true:SetDefine:ShadowCaster:pragma multi_compile_instancing - true:SetDefine:MotionVectors:pragma multi_compile_instancing true:SetDefine:DepthOnly:pragma multi_compile_instancing true:SetDefine:DepthNormals:pragma multi_compile_instancing false:RemoveDefine:Forward:pragma multi_compile_instancing false:RemoveDefine:GBuffer:pragma multi_compile_instancing false:RemoveDefine:ShadowCaster:pragma multi_compile_instancing - false:RemoveDefine:MotionVectors:pragma multi_compile_instancing false:RemoveDefine:DepthOnly:pragma multi_compile_instancing false:RemoveDefine:DepthNormals:pragma multi_compile_instancing true:SetDefine:Forward:pragma instancing_options renderinglayer @@ -251,17 +318,15 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ true:SetDefine:DepthOnly:pragma multi_compile _ LOD_FADE_CROSSFADE true:SetDefine:DepthNormals:pragma multi_compile _ LOD_FADE_CROSSFADE true:SetDefine:MotionVectors:pragma multi_compile _ LOD_FADE_CROSSFADE + true:SetDefine:XRMotionVectors:pragma multi_compile _ LOD_FADE_CROSSFADE false:RemoveDefine:Forward:pragma multi_compile _ LOD_FADE_CROSSFADE false:RemoveDefine:GBuffer:pragma multi_compile _ LOD_FADE_CROSSFADE false:RemoveDefine:ShadowCaster:pragma multi_compile _ LOD_FADE_CROSSFADE false:RemoveDefine:DepthOnly:pragma multi_compile _ LOD_FADE_CROSSFADE false:RemoveDefine:DepthNormals:pragma multi_compile _ LOD_FADE_CROSSFADE false:RemoveDefine:MotionVectors:pragma multi_compile _ LOD_FADE_CROSSFADE + false:RemoveDefine:XRMotionVectors:pragma multi_compile _ LOD_FADE_CROSSFADE Option:Built-in Fog:false,true:true - true:SetDefine:Forward:pragma multi_compile_fog - true:SetDefine:GBuffer:pragma multi_compile_fog - false:RemoveDefine:Forward:pragma multi_compile_fog - false:RemoveDefine:GBuffer:pragma multi_compile_fog true:SetDefine:ASE_FOG 1 false:RemoveDefine:ASE_FOG 1 Option,_FinalColorxAlpha:Final Color x Alpha:true,false:false @@ -341,10 +406,10 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ Option:Write Depth:false,true:false true:SetDefine:ASE_DEPTH_WRITE_ON true:ShowOption: Early Z - true:ShowPort:Forward:Depth Value + true:ShowPort:Forward:Depth false,disable:RemoveDefine:ASE_DEPTH_WRITE_ON false,disable:HideOption: Early Z - false,disable:HidePort:Forward:Depth Value + false,disable:HidePort:Forward:Depth Option: Early Z:false,true:false true:SetDefine:ASE_EARLY_Z_DEPTH_OPTIMIZE false,disable:RemoveDefine:ASE_EARLY_Z_DEPTH_OPTIMIZE @@ -354,7 +419,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ Relative:SetPortName:Forward:8,Vertex Offset Absolute:SetPortName:ExtraPrePass:3,Vertex Position Relative:SetPortName:ExtraPrePass:3,Vertex Offset - Option:Debug Display:false,true:false + Option:Debug Display:false,true:true true:SetDefine:pragma multi_compile_fragment _ DEBUG_DISPLAY false,disable:RemoveDefine:pragma multi_compile_fragment _ DEBUG_DISPLAY Option:Clear Coat:false,true:false @@ -377,6 +442,31 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ On:SetDefine:_NORMALMAP 1 */ + /*ase_unity_cond_begin:<=10000000*/ + // A list of master node input port IDs; will be excluded from generated shaders. + // 0 => Frag: Base Color + // 1 => Frag: Normal + // 2 => Frag: Emission + // 3 => Frag: Metallic + // 4 => Frag: Smoothness + // 5 => Frag: Occlusion + // 6 => Frag: Alpha + // 7 => Frag: Alpha Clip Threshold + // 8 => Vert: Vertex Offset + // 9 => Frag: Specular + // 10 => Vert: Vertex Normal + // 11 => Frag: Baked GI + // 12 => Frag: Refraction Color + // 13 => Frag: Refraction Index + // 14 => Frag: Transmission + // 15 => Frag: Translucency + // 16 => Frag: Alpha Clip Threshold Shadow + // 17 => Frag: Depth Value + // 18 => Frag: Coat Mask + // 20 => Frag: Coat Smoothness + // 30 => Vert: Vertex Tangent + /*ase_unity_cond_end*/ + Tags { "RenderPipeline" = "UniversalPipeline" @@ -398,6 +488,10 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #pragma prefer_hlslcc gles #pragma exclude_renderers d3d9 // ensure rendering platforms toggle list is visible + #if ( SHADER_TARGET > 35 ) && defined( SHADER_API_GLES3 ) + #error For WebGL2/GLES3, please set your shader target to 3.5 via SubShader options. URP shaders in ASE use target 4.5 by default. + #endif + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" @@ -524,7 +618,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #pragma vertex vert #pragma fragment frag - #if defined(_SPECULAR_SETUP) && defined(_ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) && defined(ASE_LIGHTING_SIMPLE) #define _SPECULAR_COLOR 1 #endif @@ -544,8 +638,8 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 tangentOS : TANGENT; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; /*ase_vdata:p=p;n=n;t=t*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -553,15 +647,11 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct PackedVaryings { float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 positionWS : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif + float3 positionWS : TEXCOORD0; #if defined(ASE_FOG) || defined(_ADDITIONAL_LIGHTS_VERTEX) - half4 fogFactorAndVertexLight : TEXCOORD3; + half4 fogFactorAndVertexLight : TEXCOORD1; #endif - /*ase_interp(4,):sp=sp;wp=tc1;sc=tc2*/ + /*ase_interp(2,):sp=sp;wp=tc0.xyz*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -625,14 +715,11 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #endif input.normalOS = /*ase_vert_out:Vertex Normal;Float3;4;-1;_NormalP*/input.normalOS/*end*/; + input.tangentOS = /*ase_vert_out:Vertex Tangent;Float4;30;-1;_TangentP*/input.tangentOS/*end*/; VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); VertexNormalInputs normalInput = GetVertexNormalInputs( input.normalOS, input.tangentOS ); - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - #if defined(ASE_FOG) || defined(_ADDITIONAL_LIGHTS_VERTEX) output.fogFactorAndVertexLight = 0; #if defined(ASE_FOG) && !defined(_FOG_FRAGMENT) @@ -645,7 +732,6 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #endif output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; output.positionWS = vertexInput.positionWS; return output; } @@ -654,7 +740,8 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -672,6 +759,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ UNITY_TRANSFER_INSTANCE_ID(input, output); output.positionOS = input.positionOS; output.normalOS = input.normalOS; + output.tangentOS = input.tangentOS; /*ase_control_code:input=Attributes;output=VertexControl*/ return output; } @@ -711,6 +799,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ Attributes output = (Attributes) 0; output.positionOS = patch[0].positionOS * bary.x + patch[1].positionOS * bary.y + patch[2].positionOS * bary.z; output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; + output.tangentOS = patch[0].tangentOS * bary.x + patch[1].tangentOS * bary.y + patch[2].tangentOS * bary.z; /*ase_domain_code:patch=VertexControl;output=Attributes;bary=SV_DomainLocation*/ #if defined(ASE_PHONG_TESSELLATION) float3 pp[3]; @@ -734,42 +823,48 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ UNITY_SETUP_INSTANCE_ID( input ); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - /*ase_local_var:wp*/float3 WorldPosition = input.positionWS; - /*ase_local_var:wvd*/float3 WorldViewDirection = GetWorldSpaceNormalizeViewDir( WorldPosition ); - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - /*ase_local_var:sp*/float4 ClipPos = input.clipPosV; - /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif + #if defined( _SURFACE_TYPE_TRANSPARENT ) + const bool isTransparent = true; + #else + const bool isTransparent = false; #endif - WorldViewDirection = SafeNormalize( WorldViewDirection ); - - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.positionCS = input.positionCS; - inputData.viewDirectionWS = WorldViewDirection; - - #ifdef ASE_FOG - inputData.fogCoord = InitializeInputDataFog(float4(inputData.positionWS, 1.0), input.fogFactorAndVertexLight.x); - #endif - #ifdef _ADDITIONAL_LIGHTS_VERTEX - inputData.vertexLighting = input.fogFactorAndVertexLight.yzw; + #if defined(MAIN_LIGHT_CALCULATE_SHADOWS) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) + float4 shadowCoord = TransformWorldToShadowCoord(input.positionWS); + #else + float4 shadowCoord = float4(0, 0, 0, 0); #endif + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( input.positionWS ); + /*ase_local_var:wvd*/float3 ViewDirWS = GetWorldSpaceNormalizeViewDir( PositionWS ); + /*ase_local_var:sc*/float4 ShadowCoord = shadowCoord; + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_frag_code:input=PackedVaryings*/ float3 Color = /*ase_frag_out:Color;Float3;0;-1;_ColorP*/float3( 0, 0, 0 )/*end*/; float Alpha = /*ase_frag_out:Alpha;Float;1;-1;_AlphaP*/1/*end*/; float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;2;-1;_AlphaClipP*/0.5/*end*/; - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); + #if defined( _ALPHATEST_ON ) + AlphaDiscard( Alpha, AlphaClipThreshold ); + #endif + + InputData inputData = (InputData)0; + inputData.positionWS = PositionWS; + inputData.positionCS = float4( input.positionCS.xy, ClipPos.zw / ClipPos.w ); + inputData.normalizedScreenSpaceUV = ScreenPosNorm.xy; + inputData.viewDirectionWS = ViewDirWS; + + #ifdef ASE_FOG + inputData.fogCoord = InitializeInputDataFog(float4(inputData.positionWS, 1.0), input.fogFactorAndVertexLight.x); + #endif + + #ifdef _ADDITIONAL_LIGHTS_VERTEX + inputData.vertexLighting = input.fogFactorAndVertexLight.yzw; #endif #ifdef ASE_FOG @@ -784,7 +879,11 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ LODFadeCrossFade( input.positionCS ); #endif - return half4( Color, Alpha ); + #if defined( ASE_OPAQUE_KEEP_ALPHA ) + return half4( Color, Alpha ); + #else + return half4( Color, OutputAlpha( Alpha, isTransparent ) ); + #endif } ENDHLSL } @@ -815,23 +914,25 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION + #pragma multi_compile_fragment _ _REFLECTION_PROBE_ATLAS #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 #pragma multi_compile _ _LIGHT_LAYERS #pragma multi_compile_fragment _ _LIGHT_COOKIES - #pragma multi_compile _ _FORWARD_PLUS + #pragma multi_compile _ _CLUSTER_LIGHT_LOOP #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING #pragma multi_compile _ SHADOWS_SHADOWMASK #pragma multi_compile _ DIRLIGHTMAP_COMBINED #pragma multi_compile _ LIGHTMAP_ON + #pragma multi_compile _ LIGHTMAP_BICUBIC_SAMPLING #pragma multi_compile _ DYNAMICLIGHTMAP_ON #pragma multi_compile _ USE_LEGACY_LIGHTMAPS #pragma vertex vert #pragma fragment frag - #if defined(_SPECULAR_SETUP) && defined(_ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) && defined(ASE_LIGHTING_SIMPLE) #define _SPECULAR_COLOR 1 #endif @@ -839,6 +940,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ProbeVolumeVariants.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" @@ -858,7 +960,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" #endif - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) + #if defined( UNITY_INSTANCING_ENABLED ) && defined( ASE_INSTANCED_TERRAIN ) && ( defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) || defined(_INSTANCEDTERRAINNORMALS_PIXEL) ) #define ENABLE_TERRAIN_PERPIXEL_NORMAL #endif @@ -875,11 +977,15 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 tangentOS : TANGENT; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; + #if defined(LIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES1) + float4 texcoord1 : TEXCOORD1; + #endif + #if defined(DYNAMICLIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES2) + float4 texcoord2 : TEXCOORD2; + #endif /*ase_vdata:p=p;n=n;t=t;uv0=tc0;uv1=tc1;uv2=tc2*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -887,24 +993,20 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct PackedVaryings { ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float4 lightmapUVOrVertexSH : TEXCOORD1; + float3 positionWS : TEXCOORD0; + half3 normalWS : TEXCOORD1; + float4 tangentWS : TEXCOORD2; // holds terrainUV ifdef ENABLE_TERRAIN_PERPIXEL_NORMAL + float4 lightmapUVOrVertexSH : TEXCOORD3; #if defined(ASE_FOG) || defined(_ADDITIONAL_LIGHTS_VERTEX) - half4 fogFactorAndVertexLight : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD6; + half4 fogFactorAndVertexLight : TEXCOORD4; #endif #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - #if defined(USE_APV_PROBE_OCCLUSION) - float4 probeOcclusion : TEXCOORD8; + float2 dynamicLightmapUV : TEXCOORD5; #endif - /*ase_interp(9,):sp=sp;wn.xyz=tc3.xyz;wt.xyz=tc4.xyz;wbt.xyz=tc5.xyz;wp.x=tc3.w;wp.y=tc4.w;wp.z=tc5.w;sc=tc6*/ + #if defined(USE_APV_PROBE_OCCLUSION) + float4 probeOcclusion : TEXCOORD6; + #endif + /*ase_interp(7,):sp=sp;wp=tc0.xyz;wn.xyz=tc1.xyz;wt=tc2*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -972,25 +1074,11 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); VertexNormalInputs normalInput = GetVertexNormalInputs( input.normalOS, input.tangentOS ); - output.tSpace0 = float4( normalInput.normalWS, vertexInput.positionWS.x ); - output.tSpace1 = float4( normalInput.tangentWS, vertexInput.positionWS.y ); - output.tSpace2 = float4( normalInput.bitangentWS, vertexInput.positionWS.z ); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(input.texcoord1, unity_LightmapST, output.lightmapUVOrVertexSH.xy); - #else - OUTPUT_SH(normalInput.normalWS.xyz, output.lightmapUVOrVertexSH.xyz); - #endif + OUTPUT_LIGHTMAP_UV(input.texcoord1, unity_LightmapST, output.lightmapUVOrVertexSH.xy); #if defined(DYNAMICLIGHTMAP_ON) output.dynamicLightmapUV.xy = input.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; #endif - - OUTPUT_SH4( vertexInput.positionWS, normalInput.normalWS.xyz, GetWorldSpaceNormalizeViewDir( vertexInput.positionWS ), output.lightmapUVOrVertexSH.xyz, output.probeOcclusion ); - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - output.lightmapUVOrVertexSH.zw = input.texcoord.xy; - output.lightmapUVOrVertexSH.xy = input.texcoord.xy * unity_LightmapST.xy + unity_LightmapST.zw; - #endif + OUTPUT_SH4(vertexInput.positionWS, normalInput.normalWS.xyz, GetWorldSpaceNormalizeViewDir(vertexInput.positionWS), output.lightmapUVOrVertexSH.xyz, output.probeOcclusion); #if defined(ASE_FOG) || defined(_ADDITIONAL_LIGHTS_VERTEX) output.fogFactorAndVertexLight = 0; @@ -1003,12 +1091,15 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #endif #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; + output.positionWS = vertexInput.positionWS; + output.normalWS = normalInput.normalWS; + output.tangentWS = float4( normalInput.tangentWS, ( input.tangentOS.w > 0.0 ? 1.0 : -1.0 ) * GetOddNegativeScale() ); + + #if defined( ENABLE_TERRAIN_PERPIXEL_NORMAL ) + output.tangentWS.zw = input.texcoord.xy; + output.tangentWS.xy = input.texcoord.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif return output; } @@ -1016,11 +1107,15 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 tangentOS : TANGENT; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; + #if defined(LIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES1) + float4 texcoord1 : TEXCOORD1; + #endif + #if defined(DYNAMICLIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES2) + float4 texcoord2 : TEXCOORD2; + #endif /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -1040,8 +1135,12 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ output.normalOS = input.normalOS; output.tangentOS = input.tangentOS; output.texcoord = input.texcoord; - output.texcoord1 = input.texcoord1; - output.texcoord2 = input.texcoord2; + #if defined(LIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES1) + output.texcoord1 = input.texcoord1; + #endif + #if defined(DYNAMICLIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES2) + output.texcoord2 = input.texcoord2; + #endif /*ase_control_code:input=Attributes;output=VertexControl*/ return output; } @@ -1083,8 +1182,12 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; output.tangentOS = patch[0].tangentOS * bary.x + patch[1].tangentOS * bary.y + patch[2].tangentOS * bary.z; output.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - output.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - output.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; + #if defined(LIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES1) + output.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; + #endif + #if defined(DYNAMICLIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES2) + output.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; + #endif /*ase_domain_code:patch=VertexControl;output=Attributes;bary=SV_DomainLocation*/ #if defined(ASE_PHONG_TESSELLATION) float3 pp[3]; @@ -1104,57 +1207,63 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #endif half4 frag ( PackedVaryings input - #ifdef ASE_DEPTH_WRITE_ON + #if defined( ASE_DEPTH_WRITE_ON ) ,out float outputDepth : ASE_SV_DEPTH #endif #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 + , out uint outRenderingLayers : SV_Target1 #endif /*ase_frag_input*/ ) : SV_Target { UNITY_SETUP_INSTANCE_ID(input); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input); + #if defined( _SURFACE_TYPE_TRANSPARENT ) + const bool isTransparent = true; + #else + const bool isTransparent = false; + #endif + #if defined(LOD_FADE_CROSSFADE) LODFadeCrossFade( input.positionCS ); #endif - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (input.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); + #if defined(MAIN_LIGHT_CALCULATE_SHADOWS) + float4 shadowCoord = TransformWorldToShadowCoord( input.positionWS ); #else - /*ase_local_var:wn*/float3 WorldNormal = normalize( input.tSpace0.xyz ); - /*ase_local_var:wt*/float3 WorldTangent = input.tSpace1.xyz; - /*ase_local_var:wbt*/float3 WorldBiTangent = input.tSpace2.xyz; + float4 shadowCoord = float4(0, 0, 0, 0); #endif - /*ase_local_var:wp*/float3 WorldPosition = float3(input.tSpace0.w,input.tSpace1.w,input.tSpace2.w); - /*ase_local_var:wvd*/float3 WorldViewDirection = GetWorldSpaceNormalizeViewDir( WorldPosition ); - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - /*ase_local_var:sp*/float4 ClipPos = input.clipPosV; - /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( input.clipPosV ); + // @diogo: mikktspace compliant + float renormFactor = 1.0 / max( FLT_MIN, length( input.normalWS ) ); - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(input.positionCS); + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( PositionWS ); + /*ase_local_var:wvd*/float3 ViewDirWS = GetWorldSpaceNormalizeViewDir( PositionWS ); + /*ase_local_var:sc*/float4 ShadowCoord = shadowCoord; + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:wt*/float3 TangentWS = input.tangentWS.xyz * renormFactor; + /*ase_local_var:wbt*/float3 BitangentWS = cross( input.normalWS, input.tangentWS.xyz ) * input.tangentWS.w * renormFactor; + /*ase_local_var:wn*/float3 NormalWS = input.normalWS * renormFactor; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); + #if defined( ENABLE_TERRAIN_PERPIXEL_NORMAL ) + float2 sampleCoords = (input.tangentWS.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; + NormalWS = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); + TangentWS = -cross(GetObjectToWorldMatrix()._13_23_33, NormalWS); + BitangentWS = cross(NormalWS, -TangentWS); #endif - WorldViewDirection = SafeNormalize( WorldViewDirection ); - /*ase_frag_code:input=PackedVaryings*/ float3 BaseColor = /*ase_frag_out:Base Color;Float3;0;-1;_BaseColor*/float3(0.5, 0.5, 0.5)/*end*/; float3 Normal = /*ase_frag_out:Normal;Float3;1;-1;_FragNormal*/float3(0, 0, 1)/*end*/; - float3 Emission = /*ase_frag_out:Emission;Float3;2;-1;_Emission*/0/*end*/; float3 Specular = /*ase_frag_out:Specular;Float3;9;-1;_Specular*/0.5/*end*/; float Metallic = /*ase_frag_out:Metallic;Float;3;-1;_Metallic*/0/*end*/; float Smoothness = /*ase_frag_out:Smoothness;Float;4;-1;_Smoothness*/0.5/*end*/; float Occlusion = /*ase_frag_out:Occlusion;Float;5;-1;_Occlusion*/1/*end*/; + float3 Emission = /*ase_frag_out:Emission;Float3;2;-1;_Emission*/0/*end*/; float Alpha = /*ase_frag_out:Alpha;Float;6;-1;_Alpha*/1/*end*/; float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;7;-1;_AlphaClip*/0.5/*end*/; float AlphaClipThresholdShadow = /*ase_frag_out:Alpha Clip Threshold Shadow;Float;16;-1;_AlphaClipShadow*/0.5/*end*/; @@ -1164,8 +1273,8 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ float3 Transmission = /*ase_frag_out:Transmission;Float3;14;-1;_Transmission*/1/*end*/; float3 Translucency = /*ase_frag_out:Translucency;Float3;15;-1;_Translucency*/1/*end*/; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = /*ase_frag_out:Depth Value;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;17;-1;_DepthValue*/ClipPos.z/*end*/; #endif #ifdef _CLEARCOAT @@ -1173,18 +1282,24 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ float CoatSmoothness = /*ase_frag_out:Coat Smoothness;Float;20;-1;_clearCoatSmoothness*/0/*end*/; #endif - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); + #if defined( _ALPHATEST_ON ) + AlphaDiscard( Alpha, AlphaClipThreshold ); + #endif + + #if defined(MAIN_LIGHT_CALCULATE_SHADOWS) && defined(ASE_CHANGES_WORLD_POS) + ShadowCoord = TransformWorldToShadowCoord( PositionWS ); #endif InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.positionCS = input.positionCS; - inputData.viewDirectionWS = WorldViewDirection; + inputData.positionWS = PositionWS; + inputData.positionCS = float4( input.positionCS.xy, ClipPos.zw / ClipPos.w ); + inputData.normalizedScreenSpaceUV = ScreenPosNorm.xy; + inputData.viewDirectionWS = ViewDirWS; + inputData.shadowCoord = ShadowCoord; #ifdef _NORMALMAP #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent, WorldBiTangent, WorldNormal)); + inputData.normalWS = TransformTangentToWorld(Normal, half3x3(TangentWS, BitangentWS, NormalWS)); #elif _NORMAL_DROPOFF_OS inputData.normalWS = TransformObjectToWorldNormal(Normal); #elif _NORMAL_DROPOFF_WS @@ -1192,15 +1307,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #endif inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); #else - inputData.normalWS = WorldNormal; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - inputData.shadowCoord = ShadowCoords; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - inputData.shadowCoord = TransformWorldToShadowCoord(inputData.positionWS); - #else - inputData.shadowCoord = float4(0, 0, 0, 0); + inputData.normalWS = NormalWS; #endif #ifdef ASE_FOG @@ -1210,7 +1317,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ inputData.vertexLighting = input.fogFactorAndVertexLight.yzw; #endif - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) + #if defined( ENABLE_TERRAIN_PERPIXEL_NORMAL ) float3 SH = SampleSH(inputData.normalWS.xyz); #else float3 SH = input.lightmapUVOrVertexSH.xyz; @@ -1235,8 +1342,6 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ inputData.bakedGI = BakedGI; #endif - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - #if defined(DEBUG_DISPLAY) #if defined(DYNAMICLIGHTMAP_ON) inputData.dynamicLightmapUV = input.dynamicLightmapUV.xy; @@ -1268,11 +1373,11 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ surfaceData.clearCoatSmoothness = saturate(CoatSmoothness); #endif - #ifdef _DBUFFER + #if defined(_DBUFFER) ApplyDecalToSurfaceData(input.positionCS, surfaceData, inputData); #endif - #ifdef _ASE_LIGHTING_SIMPLE + #ifdef ASE_LIGHTING_SIMPLE half4 color = UniversalFragmentBlinnPhong( inputData, surfaceData); #else half4 color = UniversalFragmentPBR( inputData, surfaceData); @@ -1293,10 +1398,10 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #if defined(_ADDITIONAL_LIGHTS) uint meshRenderingLayers = GetMeshRenderingLayer(); uint pixelLightCount = GetAdditionalLightsCount(); - #if USE_FORWARD_PLUS + #if USE_CLUSTER_LIGHT_LOOP [loop] for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++) { - FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK + CLUSTER_LIGHT_LOOP_SUBTRACTIVE_LIGHT_CHECK Light light = GetAdditionalLight(lightIndex, inputData.positionWS, inputData.shadowMask); #ifdef _LIGHT_LAYERS @@ -1342,10 +1447,10 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #if defined(_ADDITIONAL_LIGHTS) uint meshRenderingLayers = GetMeshRenderingLayer(); uint pixelLightCount = GetAdditionalLightsCount(); - #if USE_FORWARD_PLUS + #if USE_CLUSTER_LIGHT_LOOP [loop] for (uint lightIndex = 0; lightIndex < min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex++) { - FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECK + CLUSTER_LIGHT_LOOP_SUBTRACTIVE_LIGHT_CHECK Light light = GetAdditionalLight(lightIndex, inputData.positionWS, inputData.shadowMask); #ifdef _LIGHT_LAYERS @@ -1371,7 +1476,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #ifdef ASE_REFRACTION float4 projScreenPos = ScreenPos / ScreenPos.w; - float3 refractionOffset = ( RefractionIndex - 1.0 ) * mul( UNITY_MATRIX_V, float4( WorldNormal,0 ) ).xyz * ( 1.0 - dot( WorldNormal, WorldViewDirection ) ); + float3 refractionOffset = ( RefractionIndex - 1.0 ) * mul( UNITY_MATRIX_V, float4( NormalWS,0 ) ).xyz * ( 1.0 - dot( NormalWS, ViewDirWS ) ); projScreenPos.xy += refractionOffset.xy; float3 refraction = SHADERGRAPH_SAMPLE_SCENE_COLOR( projScreenPos.xy ) * RefractionColor; color.rgb = lerp( refraction, color.rgb, color.a ); @@ -1390,16 +1495,19 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #endif #endif - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; #endif #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); + outRenderingLayers = EncodeMeshRenderingLayer(); #endif - return color; + #if defined( ASE_OPAQUE_KEEP_ALPHA ) + return half4( color.rgb, color.a ); + #else + return half4( color.rgb, OutputAlpha( color.a, isTransparent ) ); + #endif } ENDHLSL } @@ -1426,7 +1534,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #pragma vertex vert #pragma fragment frag - #if defined(_SPECULAR_SETUP) && defined(_ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) && defined(ASE_LIGHTING_SIMPLE) #define _SPECULAR_COLOR 1 #endif @@ -1462,20 +1570,17 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; - /*ase_vdata:p=p;n=n*/ + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; + /*ase_vdata:p=p;n=n;t=t*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; struct PackedVaryings { ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 positionWS : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - /*ase_interp(3,):sp=sp;wp=tc1;sc=tc2*/ + float3 positionWS : TEXCOORD0; + /*ase_interp(1,):sp=sp;wp=tc0.xyz*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -1513,11 +1618,11 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ /*ase_globals*/ - /*ase_funcs*/ - float3 _LightDirection; float3 _LightPosition; + /*ase_funcs*/ + PackedVaryings VertexFunction( Attributes input/*ase_vert_input*/ ) { PackedVaryings output; @@ -1533,14 +1638,15 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ float3 defaultVertexValue = float3(0, 0, 0); #endif - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;2;-1;_Vertex*/defaultVertexValue/*end*/; + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;8;-1;_Vertex*/defaultVertexValue/*end*/; #ifdef ASE_ABSOLUTE_VERTEX_POS input.positionOS.xyz = vertexValue; #else input.positionOS.xyz += vertexValue; #endif - input.normalOS = /*ase_vert_out:Vertex Normal;Float3;3;-1;_Normal*/input.normalOS/*end*/; + input.normalOS = /*ase_vert_out:Vertex Normal;Float3;10;-1;_Normal*/input.normalOS/*end*/; + input.tangentOS = /*ase_vert_out:Vertex Tangent;Float4;30;-1;_Tangent*/input.tangentOS/*end*/; float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); float3 normalWS = TransformObjectToWorldDir(input.normalOS); @@ -1556,15 +1662,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ //code for UNITY_REVERSED_Z is moved into Shadows.hlsl from 6000.0.22 and or higher positionCS = ApplyShadowClamping(positionCS); - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - output.positionCS = positionCS; - output.clipPosV = positionCS; output.positionWS = positionWS; return output; } @@ -1573,7 +1671,8 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -1591,6 +1690,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ UNITY_TRANSFER_INSTANCE_ID(input, output); output.positionOS = input.positionOS; output.normalOS = input.normalOS; + output.tangentOS = input.tangentOS; /*ase_control_code:input=Attributes;output=VertexControl*/ return output; } @@ -1630,6 +1730,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ Attributes output = (Attributes) 0; output.positionOS = patch[0].positionOS * bary.x + patch[1].positionOS * bary.y + patch[2].positionOS * bary.z; output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; + output.tangentOS = patch[0].tangentOS * bary.x + patch[1].tangentOS * bary.y + patch[2].tangentOS * bary.z; /*ase_domain_code:patch=VertexControl;output=Attributes;bary=SV_DomainLocation*/ #if defined(ASE_PHONG_TESSELLATION) float3 pp[3]; @@ -1649,7 +1750,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #endif half4 frag( PackedVaryings input - #ifdef ASE_DEPTH_WRITE_ON + #if defined( ASE_DEPTH_WRITE_ON ) ,out float outputDepth : ASE_SV_DEPTH #endif /*ase_frag_input*/ ) : SV_Target @@ -1657,34 +1758,34 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ UNITY_SETUP_INSTANCE_ID( input ); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - /*ase_local_var:wp*/float3 WorldPosition = input.positionWS; - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - /*ase_local_var:sp*/float4 ClipPos = input.clipPosV; - /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif + #if defined(MAIN_LIGHT_CALCULATE_SHADOWS) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) + float4 shadowCoord = TransformWorldToShadowCoord(input.positionWS); + #else + float4 shadowCoord = float4(0, 0, 0, 0); #endif + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( input.positionWS ); + /*ase_local_var:sc*/float4 ShadowCoord = shadowCoord; + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_frag_code:input=PackedVaryings*/ - float Alpha = /*ase_frag_out:Alpha;Float;0;-1;_Alpha*/1/*end*/; - float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;1;-1;_AlphaClip*/0.5/*end*/; - float AlphaClipThresholdShadow = /*ase_frag_out:Alpha Clip Threshold Shadow;Float;4;-1;_AlphaClipShadow*/0.5/*end*/; + float Alpha = /*ase_frag_out:Alpha;Float;6;-1;_Alpha*/1/*end*/; + float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;7;-1;_AlphaClip*/0.5/*end*/; + float AlphaClipThresholdShadow = /*ase_frag_out:Alpha Clip Threshold Shadow;Float;16;-1;_AlphaClipShadow*/0.5/*end*/; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = /*ase_frag_out:Depth Value;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; #endif - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); + #if defined( _ALPHATEST_ON ) + #if defined( _ALPHATEST_SHADOW_ON ) + AlphaDiscard( Alpha, AlphaClipThresholdShadow ); #else - clip(Alpha - AlphaClipThreshold); + AlphaDiscard( Alpha, AlphaClipThreshold ); #endif #endif @@ -1692,8 +1793,8 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ LODFadeCrossFade( input.positionCS ); #endif - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; #endif return 0; @@ -1720,7 +1821,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #pragma vertex vert #pragma fragment frag - #if defined(_SPECULAR_SETUP) && defined(_ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) && defined(ASE_LIGHTING_SIMPLE) #define _SPECULAR_COLOR 1 #endif @@ -1735,6 +1836,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" @@ -1755,20 +1857,17 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; - /*ase_vdata:p=p;n=n*/ + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; + /*ase_vdata:p=p;n=n;t=t*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; struct PackedVaryings { ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 positionWS : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - /*ase_interp(3,):sp=sp;wp=tc1;sc=tc2*/ + float3 positionWS : TEXCOORD0; + /*ase_interp(1,):sp=sp;wp=tc0.xyz*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -1823,7 +1922,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ float3 defaultVertexValue = float3(0, 0, 0); #endif - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;2;-1;_Vertex*/defaultVertexValue/*end*/; + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;8;-1;_Vertex*/defaultVertexValue/*end*/; #ifdef ASE_ABSOLUTE_VERTEX_POS input.positionOS.xyz = vertexValue; @@ -1831,16 +1930,12 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ input.positionOS.xyz += vertexValue; #endif - input.normalOS = /*ase_vert_out:Vertex Normal;Float3;3;-1;_Normal*/input.normalOS/*end*/; + input.normalOS = /*ase_vert_out:Vertex Normal;Float3;10;-1;_Normal*/input.normalOS/*end*/; + input.tangentOS = /*ase_vert_out:Vertex Tangent;Float4;30;-1;_Tangent*/input.tangentOS/*end*/; VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; output.positionWS = vertexInput.positionWS; return output; } @@ -1849,7 +1944,8 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -1867,6 +1963,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ UNITY_TRANSFER_INSTANCE_ID(input, output); output.positionOS = input.positionOS; output.normalOS = input.normalOS; + output.tangentOS = input.tangentOS; /*ase_control_code:input=Attributes;output=VertexControl*/ return output; } @@ -1906,6 +2003,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ Attributes output = (Attributes) 0; output.positionOS = patch[0].positionOS * bary.x + patch[1].positionOS * bary.y + patch[2].positionOS * bary.z; output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; + output.tangentOS = patch[0].tangentOS * bary.x + patch[1].tangentOS * bary.y + patch[2].tangentOS * bary.z; /*ase_domain_code:patch=VertexControl;output=Attributes;bary=SV_DomainLocation*/ #if defined(ASE_PHONG_TESSELLATION) float3 pp[3]; @@ -1925,7 +2023,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #endif half4 frag( PackedVaryings input - #ifdef ASE_DEPTH_WRITE_ON + #if defined( ASE_DEPTH_WRITE_ON ) ,out float outputDepth : ASE_SV_DEPTH #endif /*ase_frag_input*/ ) : SV_Target @@ -1933,38 +2031,38 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ UNITY_SETUP_INSTANCE_ID(input); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - /*ase_local_var:wp*/float3 WorldPosition = input.positionWS; - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - /*ase_local_var:sp*/float4 ClipPos = input.clipPosV; - /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif + #if defined(MAIN_LIGHT_CALCULATE_SHADOWS) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) + float4 shadowCoord = TransformWorldToShadowCoord(input.positionWS); + #else + float4 shadowCoord = float4(0, 0, 0, 0); #endif + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( input.positionWS ); + /*ase_local_var:sc*/float4 ShadowCoord = shadowCoord; + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_frag_code:input=PackedVaryings*/ - float Alpha = /*ase_frag_out:Alpha;Float;0;-1;_Alpha*/1/*end*/; - float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;1;-1;_AlphaClip*/0.5/*end*/; + float Alpha = /*ase_frag_out:Alpha;Float;6;-1;_Alpha*/1/*end*/; + float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;7;-1;_AlphaClip*/0.5/*end*/; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = /*ase_frag_out:Depth Value;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; #endif - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); + #if defined( _ALPHATEST_ON ) + AlphaDiscard( Alpha, AlphaClipThreshold ); #endif #if defined(LOD_FADE_CROSSFADE) LODFadeCrossFade( input.positionCS ); #endif - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; #endif return 0; @@ -1990,7 +2088,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #pragma vertex vert #pragma fragment frag - #if defined(_SPECULAR_SETUP) && defined(_ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) && defined(ASE_LIGHTING_SIMPLE) #define _SPECULAR_COLOR 1 #endif @@ -2014,28 +2112,24 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; float4 texcoord0 : TEXCOORD0; float4 texcoord1 : TEXCOORD1; float4 texcoord2 : TEXCOORD2; - /*ase_vdata:p=p;n=n;uv0=tc0;uv1=tc1;uv2=tc2*/ + /*ase_vdata:p=p;n=n;t=t;uv0=tc0;uv1=tc1;uv2=tc2*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; struct PackedVaryings { float4 positionCS : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif + float3 positionWS : TEXCOORD0; #ifdef EDITOR_VISUALIZATION - float4 VizUV : TEXCOORD2; - float4 LightCoord : TEXCOORD3; + float4 VizUV : TEXCOORD1; + float4 LightCoord : TEXCOORD2; #endif - /*ase_interp(4,):sp=sp;wp=tc0;sc=tc1*/ + /*ase_interp(3,):sp=sp;wp=tc0.xyz*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -2090,7 +2184,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ float3 defaultVertexValue = float3(0, 0, 0); #endif - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;4;-1;_Vertex*/defaultVertexValue/*end*/; + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;8;-1;_Vertex*/defaultVertexValue/*end*/; #ifdef ASE_ABSOLUTE_VERTEX_POS input.positionOS.xyz = vertexValue; @@ -2098,15 +2192,8 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ input.positionOS.xyz += vertexValue; #endif - input.normalOS = /*ase_vert_out:Vertex Normal;Float3;5;-1;_Normal*/input.normalOS/*end*/; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = positionWS; - #endif - - output.positionCS = MetaVertexPosition( input.positionOS, input.texcoord1.xy, input.texcoord1.xy, unity_LightmapST, unity_DynamicLightmapST ); + input.normalOS = /*ase_vert_out:Vertex Normal;Float3;10;-1;_Normal*/input.normalOS/*end*/; + input.tangentOS = /*ase_vert_out:Vertex Tangent;Float4;30;-1;_Tangent*/input.tangentOS/*end*/; #ifdef EDITOR_VISUALIZATION float2 VizUV = 0; @@ -2116,13 +2203,8 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ output.LightCoord = LightCoord; #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = output.positionCS; - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - + output.positionCS = MetaVertexPosition( input.positionOS, input.texcoord1.xy, input.texcoord1.xy, unity_LightmapST, unity_DynamicLightmapST ); + output.positionWS = TransformObjectToWorld( input.positionOS.xyz ); return output; } @@ -2130,10 +2212,8 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 texcoord0 : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -2151,9 +2231,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ UNITY_TRANSFER_INSTANCE_ID(input, output); output.positionOS = input.positionOS; output.normalOS = input.normalOS; - output.texcoord0 = input.texcoord0; - output.texcoord1 = input.texcoord1; - output.texcoord2 = input.texcoord2; + output.tangentOS = input.tangentOS; /*ase_control_code:input=Attributes;output=VertexControl*/ return output; } @@ -2193,9 +2271,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ Attributes output = (Attributes) 0; output.positionOS = patch[0].positionOS * bary.x + patch[1].positionOS * bary.y + patch[2].positionOS * bary.z; output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - output.texcoord0 = patch[0].texcoord0 * bary.x + patch[1].texcoord0 * bary.y + patch[2].texcoord0 * bary.z; - output.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - output.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; + output.tangentOS = patch[0].tangentOS * bary.x + patch[1].tangentOS * bary.y + patch[2].tangentOS * bary.z; /*ase_domain_code:patch=VertexControl;output=Attributes;bary=SV_DomainLocation*/ #if defined(ASE_PHONG_TESSELLATION) float3 pp[3]; @@ -2219,29 +2295,25 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ UNITY_SETUP_INSTANCE_ID(input); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - /*ase_local_var:wp*/float3 WorldPosition = input.positionWS; + #if defined(MAIN_LIGHT_CALCULATE_SHADOWS) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) + float4 shadowCoord = TransformWorldToShadowCoord(input.positionWS); + #else + float4 shadowCoord = float4(0, 0, 0, 0); #endif - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( input.positionWS ); + /*ase_local_var:sc*/float4 ShadowCoord = shadowCoord; /*ase_frag_code:input=PackedVaryings*/ float3 BaseColor = /*ase_frag_out:Base Color;Float3;0;-1;_BaseColor*/float3(0.5, 0.5, 0.5)/*end*/; - float3 Emission = /*ase_frag_out:Emission;Float3;1;-1;_Emission*/0/*end*/; - float Alpha = /*ase_frag_out:Alpha;Float;2;-1;_Alpha*/1/*end*/; - float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;3;-1;_AlphaClip*/0.5/*end*/; + float3 Emission = /*ase_frag_out:Emission;Float3;2;-1;_Emission*/0/*end*/; + float Alpha = /*ase_frag_out:Alpha;Float;6;-1;_Alpha*/1/*end*/; + float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;7;-1;_AlphaClip*/0.5/*end*/; - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); + #if defined( _ALPHATEST_ON ) + AlphaDiscard( Alpha, AlphaClipThreshold ); #endif MetaInput metaInput = (MetaInput)0; @@ -2278,7 +2350,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #pragma vertex vert #pragma fragment frag - #if defined(_SPECULAR_SETUP) && defined(_ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) && defined(ASE_LIGHTING_SIMPLE) #define _SPECULAR_COLOR 1 #endif @@ -2301,21 +2373,17 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; - /*ase_vdata:p=p;n=n*/ + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; + /*ase_vdata:p=p;n=n;t=t*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; struct PackedVaryings { float4 positionCS : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - /*ase_interp(2,):sp=sp;wp=tc0;sc=tc1*/ + float3 positionWS : TEXCOORD0; + /*ase_interp(1,):sp=sp;wp=tc0.xyz*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -2370,7 +2438,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ float3 defaultVertexValue = float3(0, 0, 0); #endif - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;3;-1;_Vertex*/defaultVertexValue/*end*/; + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;8;-1;_Vertex*/defaultVertexValue/*end*/; #ifdef ASE_ABSOLUTE_VERTEX_POS input.positionOS.xyz = vertexValue; @@ -2378,290 +2446,13 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ input.positionOS.xyz += vertexValue; #endif - input.normalOS = /*ase_vert_out:Vertex Normal;Float3;4;-1;_Normal*/input.normalOS/*end*/; - - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - output.positionCS = vertexInput.positionCS; - return output; - } - - #if defined(ASE_TESSELLATION) - struct VertexControl - { - float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; - /*ase_vcontrol*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct TessellationFactors - { - float edge[3] : SV_TessFactor; - float inside : SV_InsideTessFactor; - }; - - VertexControl vert ( Attributes input ) - { - VertexControl output; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - output.positionOS = input.positionOS; - output.normalOS = input.normalOS; - /*ase_control_code:input=Attributes;output=VertexControl*/ - return output; - } - - TessellationFactors TessellationFunction (InputPatch input) - { - TessellationFactors output; - float4 tf = 1; - float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; - float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; - #if defined(ASE_FIXED_TESSELLATION) - tf = FixedTess( tessValue ); - #elif defined(ASE_DISTANCE_TESSELLATION) - tf = DistanceBasedTess(input[0].positionOS, input[1].positionOS, input[2].positionOS, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); - #elif defined(ASE_LENGTH_TESSELLATION) - tf = EdgeLengthBasedTess(input[0].positionOS, input[1].positionOS, input[2].positionOS, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); - #elif defined(ASE_LENGTH_CULL_TESSELLATION) - tf = EdgeLengthBasedTessCull(input[0].positionOS, input[1].positionOS, input[2].positionOS, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); - #endif - output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; - return output; - } - - [domain("tri")] - [partitioning("fractional_odd")] - [outputtopology("triangle_cw")] - [patchconstantfunc("TessellationFunction")] - [outputcontrolpoints(3)] - VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) - { - return patch[id]; - } - - [domain("tri")] - PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) - { - Attributes output = (Attributes) 0; - output.positionOS = patch[0].positionOS * bary.x + patch[1].positionOS * bary.y + patch[2].positionOS * bary.z; - output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; - /*ase_domain_code:patch=VertexControl;output=Attributes;bary=SV_DomainLocation*/ - #if defined(ASE_PHONG_TESSELLATION) - float3 pp[3]; - for (int i = 0; i < 3; ++i) - pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].positionOS.xyz, patch[i].normalOS)); - float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; - output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; - #endif - UNITY_TRANSFER_INSTANCE_ID(patch[0], output); - return VertexFunction(output); - } - #else - PackedVaryings vert ( Attributes input ) - { - return VertexFunction( input ); - } - #endif - - half4 frag(PackedVaryings input /*ase_frag_input*/ ) : SV_Target - { - UNITY_SETUP_INSTANCE_ID( input ); - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - /*ase_local_var:wp*/float3 WorldPosition = input.positionWS; - #endif - - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - - /*ase_frag_code:input=PackedVaryings*/ - - float3 BaseColor = /*ase_frag_out:Base Color;Float3;0;-1;_BaseColor*/float3(0.5, 0.5, 0.5)/*end*/; - float Alpha = /*ase_frag_out:Alpha;Float;1;-1;_Alpha*/1/*end*/; - float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;2;-1;_AlphaClip*/0.5/*end*/; - - half4 color = half4(BaseColor, Alpha ); - - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - return color; - } - ENDHLSL - } - - /*ase_pass*/ - Pass - { - /*ase_hide_pass*/ - Name "DepthNormals" - Tags - { - "LightMode" = "DepthNormals" - } - - ZWrite On - Blend One Zero - ZTest LEqual - ZWrite On - - HLSLPROGRAM - - #pragma vertex vert - #pragma fragment frag - - #if defined(_SPECULAR_SETUP) && defined(_ASE_LIGHTING_SIMPLE) - #define _SPECULAR_COLOR 1 - #endif - - #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY - //#define SHADERPASS SHADERPASS_DEPTHNORMALS - - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" - - #if defined(LOD_FADE_CROSSFADE) - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" - #endif - - /*ase_pragma*/ - - #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) - #define ASE_SV_DEPTH SV_DepthLessEqual - #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid - #else - #define ASE_SV_DEPTH SV_Depth - #define ASE_SV_POSITION_QUALIFIERS - #endif - - struct Attributes - { - float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 tangentOS : TANGENT; - /*ase_vdata:p=p;n=n;t=t*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - }; - - struct PackedVaryings - { - ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 positionWS : TEXCOORD1; - float3 normalWS : TEXCOORD2; - float4 tangentWS : TEXCOORD3; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD4; - #endif - /*ase_interp(5,):sp=sp;wp=tc1;wn=tc2;wt=tc3;sc=tc4*/ - UNITY_VERTEX_INPUT_INSTANCE_ID - UNITY_VERTEX_OUTPUT_STEREO - }; - - CBUFFER_START(UnityPerMaterial) - #ifdef ASE_TRANSMISSION - float _TransmissionShadow; - #endif - #ifdef ASE_TRANSLUCENCY - float _TransStrength; - float _TransNormal; - float _TransScattering; - float _TransDirect; - float _TransAmbient; - float _TransShadow; - #endif - #ifdef ASE_TESSELLATION - float _TessPhongStrength; - float _TessValue; - float _TessMin; - float _TessMax; - float _TessEdgeLength; - float _TessMaxDisp; - #endif - CBUFFER_END - - #ifdef SCENEPICKINGPASS - float4 _SelectionID; - #endif - - #ifdef SCENESELECTIONPASS - int _ObjectId; - int _PassValue; - #endif - - /*ase_globals*/ - - /*ase_funcs*/ - - PackedVaryings VertexFunction( Attributes input /*ase_vert_input*/ ) - { - PackedVaryings output = (PackedVaryings)0; - UNITY_SETUP_INSTANCE_ID(input); - UNITY_TRANSFER_INSTANCE_ID(input, output); - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); - - /*ase_vert_code:input=Attributes;output=PackedVaryings*/ - #ifdef ASE_ABSOLUTE_VERTEX_POS - float3 defaultVertexValue = input.positionOS.xyz; - #else - float3 defaultVertexValue = float3(0, 0, 0); - #endif - - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;2;-1;_Vertex*/defaultVertexValue/*end*/; - - #ifdef ASE_ABSOLUTE_VERTEX_POS - input.positionOS.xyz = vertexValue; - #else - input.positionOS.xyz += vertexValue; - #endif - - input.normalOS = /*ase_vert_out:Vertex Normal;Float3;3;-1;_Normal*/input.normalOS/*end*/; + input.normalOS = /*ase_vert_out:Vertex Normal;Float3;10;-1;_Normal*/input.normalOS/*end*/; input.tangentOS = /*ase_vert_out:Vertex Tangent;Float4;30;-1;_Tangent*/input.tangentOS/*end*/; VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - float3 normalWS = TransformObjectToWorldNormal( input.normalOS ); - float4 tangentWS = float4( TransformObjectToWorldDir( input.tangentOS.xyz ), input.tangentOS.w ); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; output.positionWS = vertexInput.positionWS; - output.normalWS = normalWS; - output.tangentWS = tangentWS; return output; } @@ -2669,8 +2460,8 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 tangentOS : TANGENT; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -2747,82 +2538,34 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ } #endif - void frag( PackedVaryings input - , out half4 outNormalWS : SV_Target0 - #ifdef ASE_DEPTH_WRITE_ON - ,out float outputDepth : ASE_SV_DEPTH - #endif - #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 - #endif - /*ase_frag_input*/ ) + half4 frag(PackedVaryings input /*ase_frag_input*/ ) : SV_Target { - UNITY_SETUP_INSTANCE_ID(input); + UNITY_SETUP_INSTANCE_ID( input ); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - /*ase_local_var:wn*/float3 WorldNormal = input.normalWS; - /*ase_local_var:wt*/float4 WorldTangent = input.tangentWS; - /*ase_local_var:wp*/float3 WorldPosition = input.positionWS; - /*ase_local_var:sp*/float4 ClipPos = input.clipPosV; - /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif + #if defined(MAIN_LIGHT_CALCULATE_SHADOWS) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) + float4 shadowCoord = TransformWorldToShadowCoord(input.positionWS); + #else + float4 shadowCoord = float4(0, 0, 0, 0); #endif + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( input.positionWS ); + /*ase_local_var:sc*/float4 ShadowCoord = shadowCoord; + /*ase_frag_code:input=PackedVaryings*/ - float3 Normal = /*ase_frag_out:Normal;Float3;5;-1;_FragNormal*/float3(0, 0, 1)/*end*/; - float Alpha = /*ase_frag_out:Alpha;Float;0;-1;_Alpha*/1/*end*/; - float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;1;-1;_AlphaClip*/0.5/*end*/; + float3 BaseColor = /*ase_frag_out:Base Color;Float3;0;-1;_BaseColor*/float3(0.5, 0.5, 0.5)/*end*/; + float Alpha = /*ase_frag_out:Alpha;Float;6;-1;_Alpha*/1/*end*/; + float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;7;-1;_AlphaClip*/0.5/*end*/; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = /*ase_frag_out:Depth Value;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + half4 color = half4(BaseColor, Alpha ); + + #if defined( _ALPHATEST_ON ) + AlphaDiscard( Alpha, AlphaClipThreshold ); #endif - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); - #endif - - #if defined(LOD_FADE_CROSSFADE) - LODFadeCrossFade( input.positionCS ); - #endif - - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; - #endif - - #if defined(_GBUFFER_NORMALS_OCT) - float2 octNormalWS = PackNormalOctQuadEncode(WorldNormal); - float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); - half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); - outNormalWS = half4(packedNormalWS, 0.0); - #else - #if defined(_NORMALMAP) - #if _NORMAL_DROPOFF_TS - float crossSign = (WorldTangent.w > 0.0 ? 1.0 : -1.0) * GetOddNegativeScale(); - float3 bitangent = crossSign * cross(WorldNormal.xyz, WorldTangent.xyz); - float3 normalWS = TransformTangentToWorld(Normal, half3x3(WorldTangent.xyz, bitangent, WorldNormal.xyz)); - #elif _NORMAL_DROPOFF_OS - float3 normalWS = TransformObjectToWorldNormal(Normal); - #elif _NORMAL_DROPOFF_WS - float3 normalWS = Normal; - #endif - #else - float3 normalWS = WorldNormal; - #endif - outNormalWS = half4(NormalizeNormalPerPixel(normalWS), 0.0); - #endif - - #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4(EncodeMeshRenderingLayer(renderingLayers), 0, 0, 0); - #endif + return color; } ENDHLSL } @@ -2830,50 +2573,32 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ /*ase_pass*/ Pass { - /*ase_hide_pass:SyncP*/ - Name "GBuffer" + /*ase_hide_pass*/ + Name "DepthNormals" Tags { - "LightMode" = "UniversalGBuffer" + "LightMode" = "DepthNormals" } - Blend One Zero ZWrite On + Blend One Zero ZTest LEqual - Offset 0,0 - ColorMask RGBA - /*ase_stencil*/ + ZWrite On HLSLPROGRAM - #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING - #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION - #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH - #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - #pragma multi_compile_fragment _ _RENDER_PASS_ENABLED - - #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING - #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE - #pragma multi_compile _ SHADOWS_SHADOWMASK - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ USE_LEGACY_LIGHTMAPS - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON - #pragma vertex vert #pragma fragment frag - #if defined(_SPECULAR_SETUP) && defined(_ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) && defined(ASE_LIGHTING_SIMPLE) #define _SPECULAR_COLOR 1 #endif - #define SHADERPASS SHADERPASS_GBUFFER + #define SHADERPASS SHADERPASS_DEPTHNORMALSONLY + //#define SHADERPASS SHADERPASS_DEPTHNORMALS #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ProbeVolumeVariants.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -2882,17 +2607,15 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" - #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" #if defined(LOD_FADE_CROSSFADE) #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" #endif - #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) + #if defined( UNITY_INSTANCING_ENABLED ) && defined( ASE_INSTANCED_TERRAIN ) && ( defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) || defined(_INSTANCEDTERRAINNORMALS_PIXEL) ) #define ENABLE_TERRAIN_PERPIXEL_NORMAL #endif @@ -2909,36 +2632,20 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 tangentOS : TANGENT; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vdata:p=p;n=n;t=t;uv0=tc0;uv1=tc1;uv2=tc2*/ + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; + half4 texcoord : TEXCOORD0; + /*ase_vdata:p=p;n=n;t=t;uv0=tc0*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; struct PackedVaryings { ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float4 lightmapUVOrVertexSH : TEXCOORD1; - #if defined(ASE_FOG) || defined(_ADDITIONAL_LIGHTS_VERTEX) - half4 fogFactorAndVertexLight : TEXCOORD2; - #endif - float4 tSpace0 : TEXCOORD3; - float4 tSpace1 : TEXCOORD4; - float4 tSpace2 : TEXCOORD5; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - float4 shadowCoord : TEXCOORD6; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD7; - #endif - #if defined(USE_APV_PROBE_OCCLUSION) - float4 probeOcclusion : TEXCOORD8; - #endif - /*ase_interp(9,):sp=sp;wn.xyz=tc3.xyz;wt.xyz=tc4.xyz;wbt.xyz=tc5.xyz;wp.x=tc3.w;wp.y=tc4.w;wp.z=tc5.w;sc=tc6*/ + float3 positionWS : TEXCOORD0; + half3 normalWS : TEXCOORD1; + float4 tangentWS : TEXCOORD2; // holds terrainUV ifdef ENABLE_TERRAIN_PERPIXEL_NORMAL + /*ase_interp(3,):sp=sp;wp=tc0.xyz;wn=tc1.xyz;wt=tc2*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -2976,8 +2683,6 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ /*ase_globals*/ - #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/UnityGBuffer.hlsl" - /*ase_funcs*/ PackedVaryings VertexFunction( Attributes input /*ase_vert_input*/ ) @@ -3008,42 +2713,15 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); VertexNormalInputs normalInput = GetVertexNormalInputs( input.normalOS, input.tangentOS ); - output.tSpace0 = float4( normalInput.normalWS, vertexInput.positionWS.x); - output.tSpace1 = float4( normalInput.tangentWS, vertexInput.positionWS.y); - output.tSpace2 = float4( normalInput.bitangentWS, vertexInput.positionWS.z); - - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(input.texcoord1, unity_LightmapST, output.lightmapUVOrVertexSH.xy); - #endif - - #if defined(DYNAMICLIGHTMAP_ON) - output.dynamicLightmapUV.xy = input.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - OUTPUT_SH4( vertexInput.positionWS, normalInput.normalWS.xyz, GetWorldSpaceNormalizeViewDir( vertexInput.positionWS ), output.lightmapUVOrVertexSH.xyz, output.probeOcclusion ); - - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - output.lightmapUVOrVertexSH.zw = input.texcoord.xy; - output.lightmapUVOrVertexSH.xy = input.texcoord.xy * unity_LightmapST.xy + unity_LightmapST.zw; - #endif - - #if defined(ASE_FOG) || defined(_ADDITIONAL_LIGHTS_VERTEX) - output.fogFactorAndVertexLight = 0; - #if defined(ASE_FOG) && !defined(_FOG_FRAGMENT) - // @diogo: no fog applied in GBuffer - #endif - #ifdef _ADDITIONAL_LIGHTS_VERTEX - half3 vertexLight = VertexLighting( vertexInput.positionWS, normalInput.normalWS ); - output.fogFactorAndVertexLight.yzw = vertexLight; - #endif - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; + output.positionWS = vertexInput.positionWS; + output.normalWS = normalInput.normalWS; + output.tangentWS = float4( normalInput.tangentWS, ( input.tangentOS.w > 0.0 ? 1.0 : -1.0 ) * GetOddNegativeScale() ); + + #if defined( ENABLE_TERRAIN_PERPIXEL_NORMAL ) + output.tangentWS.zw = input.texcoord.xy; + output.tangentWS.xy = input.texcoord.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif return output; } @@ -3051,11 +2729,9 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; - float4 tangentOS : TANGENT; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -3075,8 +2751,6 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ output.normalOS = input.normalOS; output.tangentOS = input.tangentOS; output.texcoord = input.texcoord; - output.texcoord1 = input.texcoord1; - output.texcoord2 = input.texcoord2; /*ase_control_code:input=Attributes;output=VertexControl*/ return output; } @@ -3118,8 +2792,6 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; output.tangentOS = patch[0].tangentOS * bary.x + patch[1].tangentOS * bary.y + patch[2].tangentOS * bary.z; output.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; - output.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; - output.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; /*ase_domain_code:patch=VertexControl;output=Attributes;bary=SV_DomainLocation*/ #if defined(ASE_PHONG_TESSELLATION) float3 pp[3]; @@ -3138,8 +2810,411 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ } #endif - FragmentOutput frag ( PackedVaryings input - #ifdef ASE_DEPTH_WRITE_ON + void frag( PackedVaryings input + , out half4 outNormalWS : SV_Target0 + #if defined( ASE_DEPTH_WRITE_ON ) + ,out float outputDepth : ASE_SV_DEPTH + #endif + #ifdef _WRITE_RENDERING_LAYERS + , out uint outRenderingLayers : SV_Target1 + #endif + /*ase_frag_input*/ ) + { + UNITY_SETUP_INSTANCE_ID(input); + UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); + + #if defined(MAIN_LIGHT_CALCULATE_SHADOWS) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) + float4 shadowCoord = TransformWorldToShadowCoord(input.positionWS); + #else + float4 shadowCoord = float4(0, 0, 0, 0); + #endif + + // @diogo: mikktspace compliant + float renormFactor = 1.0 / max( FLT_MIN, length( input.normalWS ) ); + + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( input.positionWS ); + /*ase_local_var:sc*/float4 ShadowCoord = shadowCoord; + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:wt*/float3 TangentWS = input.tangentWS.xyz * renormFactor; + /*ase_local_var:wbt*/float3 BitangentWS = cross( input.normalWS, input.tangentWS.xyz ) * input.tangentWS.w * renormFactor; + /*ase_local_var:wn*/float3 NormalWS = input.normalWS * renormFactor; + + #if defined( ENABLE_TERRAIN_PERPIXEL_NORMAL ) + float2 sampleCoords = (input.tangentWS.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; + NormalWS = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); + TangentWS = -cross(GetObjectToWorldMatrix()._13_23_33, NormalWS); + BitangentWS = cross(NormalWS, -TangentWS); + #endif + + /*ase_frag_code:input=PackedVaryings*/ + + float3 Normal = /*ase_frag_out:Normal;Float3;1;-1;_FragNormal*/float3(0, 0, 1)/*end*/; + float Alpha = /*ase_frag_out:Alpha;Float;6;-1;_Alpha*/1/*end*/; + float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;7;-1;_AlphaClip*/0.5/*end*/; + + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #endif + + #if defined( _ALPHATEST_ON ) + AlphaDiscard( Alpha, AlphaClipThreshold ); + #endif + + #if defined(LOD_FADE_CROSSFADE) + LODFadeCrossFade( input.positionCS ); + #endif + + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; + #endif + + #if defined(_GBUFFER_NORMALS_OCT) + float2 octNormalWS = PackNormalOctQuadEncode(NormalWS); + float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); + half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); + outNormalWS = half4(packedNormalWS, 0.0); + #else + #if defined(_NORMALMAP) + #if _NORMAL_DROPOFF_TS + float3 normalWS = TransformTangentToWorld(Normal, half3x3(TangentWS, BitangentWS, NormalWS)); + #elif _NORMAL_DROPOFF_OS + float3 normalWS = TransformObjectToWorldNormal(Normal); + #elif _NORMAL_DROPOFF_WS + float3 normalWS = Normal; + #endif + #else + float3 normalWS = NormalWS; + #endif + outNormalWS = half4(NormalizeNormalPerPixel(normalWS), 0.0); + #endif + + #ifdef _WRITE_RENDERING_LAYERS + outRenderingLayers = EncodeMeshRenderingLayer(); + #endif + } + ENDHLSL + } + + /*ase_pass*/ + Pass + { + /*ase_hide_pass:SyncP*/ + Name "GBuffer" + Tags + { + "LightMode" = "UniversalGBuffer" + } + + Blend One Zero + ZWrite On + ZTest LEqual + Offset 0,0 + ColorMask RGBA + /*ase_stencil*/ + + HLSLPROGRAM + + #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN + #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING + #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION + #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH + #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 + #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT + #pragma multi_compile_fragment _ _RENDER_PASS_ENABLED + #pragma multi_compile _ _CLUSTER_LIGHT_LOOP + + #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING + #pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE + #pragma multi_compile _ SHADOWS_SHADOWMASK + #pragma multi_compile _ DIRLIGHTMAP_COMBINED + #pragma multi_compile _ USE_LEGACY_LIGHTMAPS + #pragma multi_compile _ LIGHTMAP_ON + #pragma multi_compile _ LIGHTMAP_BICUBIC_SAMPLING + #pragma multi_compile _ DYNAMICLIGHTMAP_ON + + #pragma vertex vert + #pragma fragment frag + + #if defined(_SPECULAR_SETUP) && defined(ASE_LIGHTING_SIMPLE) + #define _SPECULAR_COLOR 1 + #endif + + #define SHADERPASS SHADERPASS_GBUFFER + + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ProbeVolumeVariants.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Shadows.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" + #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" + + #if defined(LOD_FADE_CROSSFADE) + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" + #endif + + #if defined( UNITY_INSTANCING_ENABLED ) && defined( ASE_INSTANCED_TERRAIN ) && ( defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) || defined(_INSTANCEDTERRAINNORMALS_PIXEL) ) + #define ENABLE_TERRAIN_PERPIXEL_NORMAL + #endif + + /*ase_pragma*/ + + #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) + #define ASE_SV_DEPTH SV_DepthLessEqual + #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid + #else + #define ASE_SV_DEPTH SV_Depth + #define ASE_SV_POSITION_QUALIFIERS + #endif + + struct Attributes + { + float4 positionOS : POSITION; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; + float4 texcoord : TEXCOORD0; + #if defined(LIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES1) + float4 texcoord1 : TEXCOORD1; + #endif + #if defined(DYNAMICLIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES2) + float4 texcoord2 : TEXCOORD2; + #endif + /*ase_vdata:p=p;n=n;t=t;uv0=tc0;uv1=tc1;uv2=tc2*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct PackedVaryings + { + ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; + float3 positionWS : TEXCOORD0; + half3 normalWS : TEXCOORD1; + float4 tangentWS : TEXCOORD2; // holds terrainUV ifdef ENABLE_TERRAIN_PERPIXEL_NORMAL + float4 lightmapUVOrVertexSH : TEXCOORD3; + #if defined(ASE_FOG) || defined(_ADDITIONAL_LIGHTS_VERTEX) + half4 fogFactorAndVertexLight : TEXCOORD4; + #endif + #if defined(DYNAMICLIGHTMAP_ON) + float2 dynamicLightmapUV : TEXCOORD5; + #endif + #if defined(USE_APV_PROBE_OCCLUSION) + float4 probeOcclusion : TEXCOORD6; + #endif + /*ase_interp(7,):sp=sp;wp=tc0.xyz;wn.xyz=tc1.xyz;wt.xyz=tc2.xyz*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + + CBUFFER_START(UnityPerMaterial) + #ifdef ASE_TRANSMISSION + float _TransmissionShadow; + #endif + #ifdef ASE_TRANSLUCENCY + float _TransStrength; + float _TransNormal; + float _TransScattering; + float _TransDirect; + float _TransAmbient; + float _TransShadow; + #endif + #ifdef ASE_TESSELLATION + float _TessPhongStrength; + float _TessValue; + float _TessMin; + float _TessMax; + float _TessEdgeLength; + float _TessMaxDisp; + #endif + CBUFFER_END + + #ifdef SCENEPICKINGPASS + float4 _SelectionID; + #endif + + #ifdef SCENESELECTIONPASS + int _ObjectId; + int _PassValue; + #endif + + /*ase_globals*/ + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/GBufferOutput.hlsl" + + /*ase_funcs*/ + + PackedVaryings VertexFunction( Attributes input /*ase_vert_input*/ ) + { + PackedVaryings output = (PackedVaryings)0; + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input, output); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + /*ase_vert_code:input=Attributes;output=PackedVaryings*/ + #ifdef ASE_ABSOLUTE_VERTEX_POS + float3 defaultVertexValue = input.positionOS.xyz; + #else + float3 defaultVertexValue = float3(0, 0, 0); + #endif + + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;8;-1;_Vertex*/defaultVertexValue/*end*/; + + #ifdef ASE_ABSOLUTE_VERTEX_POS + input.positionOS.xyz = vertexValue; + #else + input.positionOS.xyz += vertexValue; + #endif + + input.normalOS = /*ase_vert_out:Vertex Normal;Float3;10;-1;_Normal*/input.normalOS/*end*/; + input.tangentOS = /*ase_vert_out:Vertex Tangent;Float4;30;-1;_Tangent*/input.tangentOS/*end*/; + + VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); + VertexNormalInputs normalInput = GetVertexNormalInputs( input.normalOS, input.tangentOS ); + + OUTPUT_LIGHTMAP_UV(input.texcoord1, unity_LightmapST, output.lightmapUVOrVertexSH.xy); + #if defined(DYNAMICLIGHTMAP_ON) + output.dynamicLightmapUV.xy = input.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + #endif + OUTPUT_SH4(vertexInput.positionWS, normalInput.normalWS.xyz, GetWorldSpaceNormalizeViewDir(vertexInput.positionWS), output.lightmapUVOrVertexSH.xyz, output.probeOcclusion); + + #if defined(ASE_FOG) || defined(_ADDITIONAL_LIGHTS_VERTEX) + output.fogFactorAndVertexLight = 0; + #if defined(ASE_FOG) && !defined(_FOG_FRAGMENT) + // @diogo: no fog applied in GBuffer + #endif + #ifdef _ADDITIONAL_LIGHTS_VERTEX + half3 vertexLight = VertexLighting( vertexInput.positionWS, normalInput.normalWS ); + output.fogFactorAndVertexLight.yzw = vertexLight; + #endif + #endif + + output.positionCS = vertexInput.positionCS; + output.positionWS = vertexInput.positionWS; + output.normalWS = normalInput.normalWS; + output.tangentWS = float4( normalInput.tangentWS, ( input.tangentOS.w > 0.0 ? 1.0 : -1.0 ) * GetOddNegativeScale() ); + + #if defined( ENABLE_TERRAIN_PERPIXEL_NORMAL ) + output.tangentWS.zw = input.texcoord.xy; + output.tangentWS.xy = input.texcoord.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif + return output; + } + + #if defined(ASE_TESSELLATION) + struct VertexControl + { + float4 positionOS : INTERNALTESSPOS; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; + float4 texcoord : TEXCOORD0; + #if defined(LIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES1) + float4 texcoord1 : TEXCOORD1; + #endif + #if defined(DYNAMICLIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES2) + float4 texcoord2 : TEXCOORD2; + #endif + /*ase_vcontrol*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct TessellationFactors + { + float edge[3] : SV_TessFactor; + float inside : SV_InsideTessFactor; + }; + + VertexControl vert ( Attributes input ) + { + VertexControl output; + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input, output); + output.positionOS = input.positionOS; + output.normalOS = input.normalOS; + output.tangentOS = input.tangentOS; + output.texcoord = input.texcoord; + #if defined(LIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES1) + output.texcoord1 = input.texcoord1; + #endif + #if defined(DYNAMICLIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES2) + output.texcoord2 = input.texcoord2; + #endif + /*ase_control_code:input=Attributes;output=VertexControl*/ + return output; + } + + TessellationFactors TessellationFunction (InputPatch input) + { + TessellationFactors output; + float4 tf = 1; + float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; + float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; + #if defined(ASE_FIXED_TESSELLATION) + tf = FixedTess( tessValue ); + #elif defined(ASE_DISTANCE_TESSELLATION) + tf = DistanceBasedTess(input[0].positionOS, input[1].positionOS, input[2].positionOS, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); + #elif defined(ASE_LENGTH_TESSELLATION) + tf = EdgeLengthBasedTess(input[0].positionOS, input[1].positionOS, input[2].positionOS, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); + #elif defined(ASE_LENGTH_CULL_TESSELLATION) + tf = EdgeLengthBasedTessCull(input[0].positionOS, input[1].positionOS, input[2].positionOS, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); + #endif + output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; + return output; + } + + [domain("tri")] + [partitioning("fractional_odd")] + [outputtopology("triangle_cw")] + [patchconstantfunc("TessellationFunction")] + [outputcontrolpoints(3)] + VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) + { + return patch[id]; + } + + [domain("tri")] + PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) + { + Attributes output = (Attributes) 0; + output.positionOS = patch[0].positionOS * bary.x + patch[1].positionOS * bary.y + patch[2].positionOS * bary.z; + output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; + output.tangentOS = patch[0].tangentOS * bary.x + patch[1].tangentOS * bary.y + patch[2].tangentOS * bary.z; + output.texcoord = patch[0].texcoord * bary.x + patch[1].texcoord * bary.y + patch[2].texcoord * bary.z; + #if defined(LIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES1) + output.texcoord1 = patch[0].texcoord1 * bary.x + patch[1].texcoord1 * bary.y + patch[2].texcoord1 * bary.z; + #endif + #if defined(DYNAMICLIGHTMAP_ON) || defined(ASE_NEEDS_TEXTURE_COORDINATES2) + output.texcoord2 = patch[0].texcoord2 * bary.x + patch[1].texcoord2 * bary.y + patch[2].texcoord2 * bary.z; + #endif + /*ase_domain_code:patch=VertexControl;output=Attributes;bary=SV_DomainLocation*/ + #if defined(ASE_PHONG_TESSELLATION) + float3 pp[3]; + for (int i = 0; i < 3; ++i) + pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].positionOS.xyz, patch[i].normalOS)); + float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; + output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; + #endif + UNITY_TRANSFER_INSTANCE_ID(patch[0], output); + return VertexFunction(output); + } + #else + PackedVaryings vert ( Attributes input ) + { + return VertexFunction( input ); + } + #endif + + GBufferFragOutput frag ( PackedVaryings input + #if defined( ASE_DEPTH_WRITE_ON ) ,out float outputDepth : ASE_SV_DEPTH #endif /*ase_frag_input*/ ) @@ -3151,44 +3226,42 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ LODFadeCrossFade( input.positionCS ); #endif - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) - float2 sampleCoords = (input.lightmapUVOrVertexSH.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; - float3 WorldNormal = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); - float3 WorldTangent = -cross(GetObjectToWorldMatrix()._13_23_33, WorldNormal); - float3 WorldBiTangent = cross(WorldNormal, -WorldTangent); + #if defined(MAIN_LIGHT_CALCULATE_SHADOWS) + float4 shadowCoord = TransformWorldToShadowCoord( input.positionWS ); #else - /*ase_local_var:wn*/float3 WorldNormal = normalize( input.tSpace0.xyz ); - /*ase_local_var:wt*/float3 WorldTangent = input.tSpace1.xyz; - /*ase_local_var:wbt*/float3 WorldBiTangent = input.tSpace2.xyz; + float4 shadowCoord = float4(0, 0, 0, 0); #endif - /*ase_local_var:wp*/float3 WorldPosition = float3(input.tSpace0.w,input.tSpace1.w,input.tSpace2.w); - /*ase_local_var:wvd*/float3 WorldViewDirection = GetWorldSpaceNormalizeViewDir( WorldPosition ); - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - /*ase_local_var:sp*/float4 ClipPos = input.clipPosV; - /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( input.clipPosV ); + // @diogo: mikktspace compliant + float renormFactor = 1.0 / max( FLT_MIN, length( input.normalWS ) ); - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(input.positionCS); + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( PositionWS ); + /*ase_local_var:wvd*/float3 ViewDirWS = GetWorldSpaceNormalizeViewDir( PositionWS ); + /*ase_local_var:sc*/float4 ShadowCoord = shadowCoord; + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:wt*/float3 TangentWS = input.tangentWS.xyz * renormFactor; + /*ase_local_var:wbt*/float3 BitangentWS = cross( input.normalWS, input.tangentWS.xyz ) * input.tangentWS.w * renormFactor; + /*ase_local_var:wn*/float3 NormalWS = input.normalWS * renormFactor; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #else - ShadowCoords = float4(0, 0, 0, 0); + #if defined( ENABLE_TERRAIN_PERPIXEL_NORMAL ) + float2 sampleCoords = (input.tangentWS.zw / _TerrainHeightmapRecipSize.zw + 0.5f) * _TerrainHeightmapRecipSize.xy; + NormalWS = TransformObjectToWorldNormal(normalize(SAMPLE_TEXTURE2D(_TerrainNormalmapTexture, sampler_TerrainNormalmapTexture, sampleCoords).rgb * 2 - 1)); + TangentWS = -cross(GetObjectToWorldMatrix()._13_23_33, NormalWS); + BitangentWS = cross(NormalWS, -TangentWS); #endif - WorldViewDirection = SafeNormalize( WorldViewDirection ); - /*ase_frag_code:input=PackedVaryings*/ float3 BaseColor = /*ase_frag_out:Base Color;Float3;0;-1;_BaseColor*/float3(0.5, 0.5, 0.5)/*end*/; float3 Normal = /*ase_frag_out:Normal;Float3;1;-1;_FragNormal*/float3(0, 0, 1)/*end*/; - float3 Emission = /*ase_frag_out:Emission;Float3;2;-1;_Emission*/0/*end*/; float3 Specular = /*ase_frag_out:Specular;Float3;9;-1;_Specular*/0.5/*end*/; float Metallic = /*ase_frag_out:Metallic;Float;3;-1;_Metallic*/0/*end*/; float Smoothness = /*ase_frag_out:Smoothness;Float;4;-1;_Smoothness*/0.5/*end*/; float Occlusion = /*ase_frag_out:Occlusion;Float;5;-1;_Occlusion*/1/*end*/; + float3 Emission = /*ase_frag_out:Emission;Float3;2;-1;_Emission*/0/*end*/; float Alpha = /*ase_frag_out:Alpha;Float;6;-1;_Alpha*/1/*end*/; float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;7;-1;_AlphaClip*/0.5/*end*/; float AlphaClipThresholdShadow = /*ase_frag_out:Alpha Clip Threshold Shadow;Float;16;-1;_AlphaClipShadow*/0.5/*end*/; @@ -3198,33 +3271,38 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ float3 Transmission = /*ase_frag_out:Transmission;Float3;14;-1;_Transmission*/1/*end*/; float3 Translucency = /*ase_frag_out:Translucency;Float3;15;-1;_Translucency*/1/*end*/; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = /*ase_frag_out:Depth Value;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;17;-1;_DepthValue*/ClipPos.z/*end*/; #endif - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); + #if defined( _ALPHATEST_ON ) + AlphaDiscard( Alpha, AlphaClipThreshold ); + #endif + + #if defined(MAIN_LIGHT_CALCULATE_SHADOWS) && defined(ASE_CHANGES_WORLD_POS) + ShadowCoord = TransformWorldToShadowCoord( PositionWS ); #endif InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.positionCS = input.positionCS; - inputData.shadowCoord = ShadowCoords; + inputData.positionWS = PositionWS; + inputData.positionCS = float4( input.positionCS.xy, ClipPos.zw / ClipPos.w ); + inputData.normalizedScreenSpaceUV = ScreenPosNorm.xy; + inputData.shadowCoord = ShadowCoord; #ifdef _NORMALMAP #if _NORMAL_DROPOFF_TS - inputData.normalWS = TransformTangentToWorld(Normal, half3x3( WorldTangent, WorldBiTangent, WorldNormal )); + inputData.normalWS = TransformTangentToWorld(Normal, half3x3( TangentWS, BitangentWS, NormalWS )); #elif _NORMAL_DROPOFF_OS inputData.normalWS = TransformObjectToWorldNormal(Normal); #elif _NORMAL_DROPOFF_WS inputData.normalWS = Normal; #endif #else - inputData.normalWS = WorldNormal; + inputData.normalWS = NormalWS; #endif inputData.normalWS = NormalizeNormalPerPixel(inputData.normalWS); - inputData.viewDirectionWS = SafeNormalize( WorldViewDirection ); + inputData.viewDirectionWS = SafeNormalize( ViewDirWS ); #ifdef ASE_FOG // @diogo: no fog applied in GBuffer @@ -3233,7 +3311,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ inputData.vertexLighting = input.fogFactorAndVertexLight.yzw; #endif - #if defined(ENABLE_TERRAIN_PERPIXEL_NORMAL) + #if defined( ENABLE_TERRAIN_PERPIXEL_NORMAL ) float3 SH = SampleSH(inputData.normalWS.xyz); #else float3 SH = input.lightmapUVOrVertexSH.xyz; @@ -3243,12 +3321,13 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ inputData.bakedGI = SAMPLE_GI(input.lightmapUVOrVertexSH.xy, input.dynamicLightmapUV.xy, SH, inputData.normalWS); inputData.shadowMask = SAMPLE_SHADOWMASK(input.lightmapUVOrVertexSH.xy); #elif !defined(LIGHTMAP_ON) && (defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2)) - inputData.bakedGI = SAMPLE_GI( SH, GetAbsolutePositionWS(inputData.positionWS), + inputData.bakedGI = SAMPLE_GI(SH, + GetAbsolutePositionWS(inputData.positionWS), inputData.normalWS, inputData.viewDirectionWS, input.positionCS.xy, input.probeOcclusion, - inputData.shadowMask ); + inputData.shadowMask); #else inputData.bakedGI = SAMPLE_GI(input.lightmapUVOrVertexSH.xy, SH, inputData.normalWS); inputData.shadowMask = SAMPLE_SHADOWMASK(input.lightmapUVOrVertexSH.xy); @@ -3258,8 +3337,6 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ inputData.bakedGI = BakedGI; #endif - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; - #if defined(DEBUG_DISPLAY) #if defined(DYNAMICLIGHTMAP_ON) inputData.dynamicLightmapUV = input.dynamicLightmapUV.xy; @@ -3285,24 +3362,27 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #endif BRDFData brdfData; - InitializeBRDFData - (BaseColor, Metallic, Specular, Smoothness, Alpha, brdfData); + InitializeBRDFData(BaseColor, Metallic, Specular, Smoothness, Alpha, brdfData); Light mainLight = GetMainLight(inputData.shadowCoord, inputData.positionWS, inputData.shadowMask); half4 color; MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, inputData.shadowMask); - color.rgb = GlobalIllumination(brdfData, inputData.bakedGI, Occlusion, inputData.positionWS, inputData.normalWS, inputData.viewDirectionWS); + + color.rgb = GlobalIllumination(brdfData, (BRDFData)0, 0, + inputData.bakedGI, Occlusion, inputData.positionWS, + inputData.normalWS, inputData.viewDirectionWS, inputData.normalizedScreenSpaceUV); + color.a = Alpha; #ifdef ASE_FINAL_COLOR_ALPHA_MULTIPLY color.rgb *= color.a; #endif - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; #endif - return BRDFDataToGbuffer(brdfData, inputData, Smoothness, Emission + color.rgb, Occlusion); + return PackGBuffersBRDFData(brdfData, inputData, Smoothness, Emission + color.rgb, Occlusion); } ENDHLSL @@ -3326,7 +3406,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #pragma vertex vert #pragma fragment frag - #if defined(_SPECULAR_SETUP) && defined(_ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) && defined(ASE_LIGHTING_SIMPLE) #define _SPECULAR_COLOR 1 #endif @@ -3351,18 +3431,28 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ /*ase_pragma*/ + #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) + #define ASE_SV_DEPTH SV_DepthLessEqual + #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid + #else + #define ASE_SV_DEPTH SV_Depth + #define ASE_SV_POSITION_QUALIFIERS + #endif + struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; - /*ase_vdata:p=p;n=n*/ + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; + /*ase_vdata:p=p;n=n;t=t*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; struct PackedVaryings { - float4 positionCS : SV_POSITION; - /*ase_interp(0,):sp=sp*/ + ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; + float3 positionWS : TEXCOORD0; + /*ase_interp(1,):sp=sp;wp=tc0.xyz*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -3425,7 +3515,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ float3 defaultVertexValue = float3(0, 0, 0); #endif - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;2;-1;_Vertex*/defaultVertexValue/*end*/; + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;8;-1;_Vertex*/defaultVertexValue/*end*/; #ifdef ASE_ABSOLUTE_VERTEX_POS input.positionOS.xyz = vertexValue; @@ -3433,12 +3523,12 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ input.positionOS.xyz += vertexValue; #endif - input.normalOS = /*ase_vert_out:Vertex Normal;Float3;3;-1;_Normal*/input.normalOS/*end*/; + input.normalOS = /*ase_vert_out:Vertex Normal;Float3;10;-1;_Normal*/input.normalOS/*end*/; - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - output.positionCS = TransformWorldToHClip(positionWS); + VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); + output.positionCS = vertexInput.positionCS; + output.positionWS = vertexInput.positionWS; return output; } @@ -3446,7 +3536,8 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -3464,6 +3555,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ UNITY_TRANSFER_INSTANCE_ID(input, output); output.positionOS = input.positionOS; output.normalOS = input.normalOS; + output.tangentOS = input.tangentOS; /*ase_control_code:input=Attributes;output=VertexControl*/ return output; } @@ -3503,6 +3595,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ Attributes output = (Attributes) 0; output.positionOS = patch[0].positionOS * bary.x + patch[1].positionOS * bary.y + patch[2].positionOS * bary.z; output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; + output.tangentOS = patch[0].tangentOS * bary.x + patch[1].tangentOS * bary.y + patch[2].tangentOS * bary.z; /*ase_domain_code:patch=VertexControl;output=Attributes;bary=SV_DomainLocation*/ #if defined(ASE_PHONG_TESSELLATION) float3 pp[3]; @@ -3521,14 +3614,27 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ } #endif - half4 frag(PackedVaryings input /*ase_frag_input*/) : SV_Target + half4 frag( PackedVaryings input + #if defined( ASE_DEPTH_WRITE_ON ) + ,out float outputDepth : ASE_SV_DEPTH + #endif + /*ase_frag_input*/ ) : SV_Target { SurfaceDescription surfaceDescription = (SurfaceDescription)0; + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( PositionWS ); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_frag_code:input=PackedVaryings*/ surfaceDescription.Alpha = /*ase_frag_out:Alpha;Float;0;-1;_Alpha*/1/*end*/; - surfaceDescription.AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;1;-1;_AlphaClip*/0.5/*end*/; + surfaceDescription.AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;7;-1;_AlphaClip*/0.5/*end*/; + + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #endif #if _ALPHATEST_ON float alphaClipThreshold = 0.01f; @@ -3538,15 +3644,11 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ clip(surfaceDescription.Alpha - alphaClipThreshold); #endif - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; #endif - return outColor; + return half4( _ObjectId, _PassValue, 1.0, 1.0 ); } ENDHLSL @@ -3569,7 +3671,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #pragma vertex vert #pragma fragment frag - #if defined(_SPECULAR_SETUP) && defined(_ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) && defined(ASE_LIGHTING_SIMPLE) #define _SPECULAR_COLOR 1 #endif @@ -3594,18 +3696,28 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ /*ase_pragma*/ + #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) + #define ASE_SV_DEPTH SV_DepthLessEqual + #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid + #else + #define ASE_SV_DEPTH SV_Depth + #define ASE_SV_POSITION_QUALIFIERS + #endif + struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; - /*ase_vdata:p=p;n=n*/ + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; + /*ase_vdata:p=p;n=n;t=t*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; struct PackedVaryings { - float4 positionCS : SV_POSITION; - /*ase_interp(0,):sp=sp*/ + ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; + float3 positionWS : TEXCOORD0; + /*ase_interp(1,):sp=sp;wp=tc0.xyz*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -3651,7 +3763,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ float AlphaClipThreshold; }; - PackedVaryings VertexFunction(Attributes input /*ase_vert_input*/ ) + PackedVaryings VertexFunction( Attributes input /*ase_vert_input*/ ) { PackedVaryings output; ZERO_INITIALIZE(PackedVaryings, output); @@ -3668,7 +3780,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ float3 defaultVertexValue = float3(0, 0, 0); #endif - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;2;-1;_Vertex*/defaultVertexValue/*end*/; + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;8;-1;_Vertex*/defaultVertexValue/*end*/; #ifdef ASE_ABSOLUTE_VERTEX_POS input.positionOS.xyz = vertexValue; @@ -3676,11 +3788,12 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ input.positionOS.xyz += vertexValue; #endif - input.normalOS = /*ase_vert_out:Vertex Normal;Float3;3;-1;_Normal*/input.normalOS/*end*/; + input.normalOS = /*ase_vert_out:Vertex Normal;Float3;10;-1;_Normal*/input.normalOS/*end*/; - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - output.positionCS = TransformWorldToHClip(positionWS); + VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); + output.positionCS = vertexInput.positionCS; + output.positionWS = vertexInput.positionWS; return output; } @@ -3688,7 +3801,8 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -3706,6 +3820,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ UNITY_TRANSFER_INSTANCE_ID(input, output); output.positionOS = input.positionOS; output.normalOS = input.normalOS; + output.tangentOS = input.tangentOS; /*ase_control_code:input=Attributes;output=VertexControl*/ return output; } @@ -3745,6 +3860,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ Attributes output = (Attributes) 0; output.positionOS = patch[0].positionOS * bary.x + patch[1].positionOS * bary.y + patch[2].positionOS * bary.z; output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; + output.tangentOS = patch[0].tangentOS * bary.x + patch[1].tangentOS * bary.y + patch[2].tangentOS * bary.z; /*ase_domain_code:patch=VertexControl;output=Attributes;bary=SV_DomainLocation*/ #if defined(ASE_PHONG_TESSELLATION) float3 pp[3]; @@ -3763,14 +3879,27 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ } #endif - half4 frag(PackedVaryings input /*ase_frag_input*/) : SV_Target + half4 frag( PackedVaryings input + #if defined( ASE_DEPTH_WRITE_ON ) + ,out float outputDepth : ASE_SV_DEPTH + #endif + /*ase_frag_input*/ ) : SV_Target { SurfaceDescription surfaceDescription = (SurfaceDescription)0; + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( PositionWS ); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_frag_code:input=PackedVaryings*/ surfaceDescription.Alpha = /*ase_frag_out:Alpha;Float;0;-1;_Alpha*/1/*end*/; - surfaceDescription.AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;1;-1;_AlphaClip*/0.5/*end*/; + surfaceDescription.AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;7;-1;_AlphaClip*/0.5/*end*/; + + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #endif #if _ALPHATEST_ON float alphaClipThreshold = 0.01f; @@ -3780,17 +3909,12 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ clip(surfaceDescription.Alpha - alphaClipThreshold); #endif - half4 outColor = 0; - - #ifdef SCENESELECTIONPASS - outColor = half4(_ObjectId, _PassValue, 1.0, 1.0); - #elif defined(SCENEPICKINGPASS) - outColor = _SelectionID; + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; #endif - return outColor; + return unity_SelectionID; } - ENDHLSL } @@ -3811,10 +3935,10 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #pragma vertex vert #pragma fragment frag - #if defined(_SPECULAR_SETUP) && defined(_ASE_LIGHTING_SIMPLE) + #if defined(_SPECULAR_SETUP) && defined(ASE_LIGHTING_SIMPLE) #define _SPECULAR_COLOR 1 #endif - + #define SHADERPASS SHADERPASS_MOTION_VECTORS #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" @@ -3839,6 +3963,14 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ /*ase_pragma*/ + #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) + #define ASE_SV_DEPTH SV_DepthLessEqual + #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid + #else + #define ASE_SV_DEPTH SV_Depth + #define ASE_SV_POSITION_QUALIFIERS + #endif + struct Attributes { float4 positionOS : POSITION; @@ -3846,7 +3978,9 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #if _ADD_PRECOMPUTED_VELOCITY float3 alembicMotionVector : TEXCOORD5; #endif - /*ase_vdata:p=p;uv4=tc4;uv5=tc5*/ + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; + /*ase_vdata:p=p;n=n;t=t;uv4=tc4;uv5=tc5*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -3855,7 +3989,8 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ float4 positionCS : SV_POSITION; float4 positionCSNoJitter : TEXCOORD0; float4 previousPositionCSNoJitter : TEXCOORD1; - /*ase_interp(2,):sp=sp.xyzw*/ + float3 positionWS : TEXCOORD2; + /*ase_interp(3,):sp=sp.xyzw*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -3910,7 +4045,7 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ float3 defaultVertexValue = float3(0, 0, 0); #endif - float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;2;-1;_Vertex*/defaultVertexValue/*end*/; + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;8;-1;_Vertex*/defaultVertexValue/*end*/; #ifdef ASE_ABSOLUTE_VERTEX_POS input.positionOS.xyz = vertexValue; @@ -3920,14 +4055,12 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - #if defined(APLICATION_SPACE_WARP_MOTION) - // We do not need jittered position in ASW - output.positionCSNoJitter = mul(_NonJitteredViewProjMatrix, mul(UNITY_MATRIX_M, input.positionOS));; + #if defined(APPLICATION_SPACE_WARP_MOTION) + output.positionCSNoJitter = mul(_NonJitteredViewProjMatrix, mul(UNITY_MATRIX_M, input.positionOS)); output.positionCS = output.positionCSNoJitter; #else - // Jittered. Match the frame. output.positionCS = vertexInput.positionCS; - output.positionCSNoJitter = mul( _NonJitteredViewProjMatrix, mul( UNITY_MATRIX_M, input.positionOS)); + output.positionCSNoJitter = mul(_NonJitteredViewProjMatrix, mul(UNITY_MATRIX_M, input.positionOS)); #endif float4 prevPos = ( unity_MotionVectorsParams.x == 1 ) ? float4( input.positionOld, 1 ) : input.positionOS; @@ -3937,6 +4070,9 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ #endif output.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, mul( UNITY_PREV_MATRIX_M, prevPos ) ); + + output.positionWS = vertexInput.positionWS; + // removed in ObjectMotionVectors.hlsl found in unity 6000.0.23 and higher //ApplyMotionVectorZBias( output.positionCS ); return output; @@ -3947,30 +4083,280 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ return VertexFunction( input ); } - half4 frag( PackedVaryings input /*ase_frag_input*/ ) : SV_Target + half4 frag( PackedVaryings input + #if defined( ASE_DEPTH_WRITE_ON ) + ,out float outputDepth : ASE_SV_DEPTH + #endif + /*ase_frag_input*/ ) : SV_Target { UNITY_SETUP_INSTANCE_ID(input); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( PositionWS ); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_frag_code:input=PackedVaryings*/ - float Alpha = /*ase_frag_out:Alpha;Float;0;-1;_Alpha*/1/*end*/; - float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;1;-1;_AlphaClip*/0.5/*end*/; + float Alpha = /*ase_frag_out:Alpha;Float;6;-1;_Alpha*/1/*end*/; + float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;7;-1;_AlphaClip*/0.5/*end*/; + + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #endif #ifdef _ALPHATEST_ON clip(Alpha - AlphaClipThreshold); #endif + #if defined(ASE_CHANGES_WORLD_POS) + float3 positionOS = mul( GetWorldToObjectMatrix(), float4( PositionWS, 1.0 ) ).xyz; + float3 previousPositionWS = mul( GetPrevObjectToWorldMatrix(), float4( positionOS, 1.0 ) ).xyz; + input.positionCSNoJitter = mul( _NonJitteredViewProjMatrix, float4( PositionWS, 1.0 ) ); + input.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, float4( previousPositionWS, 1.0 ) ); + #endif + #if defined(LOD_FADE_CROSSFADE) LODFadeCrossFade( input.positionCS ); #endif - #if defined(APLICATION_SPACE_WARP_MOTION) + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; + #endif + + #if defined(APPLICATION_SPACE_WARP_MOTION) return float4( CalcAswNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 1 ); #else return float4( CalcNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 0, 0 ); #endif - } + } + ENDHLSL + } + + /*ase_pass*/ + Pass + { + /*ase_hide_pass*/ + Name "XRMotionVectors" + Tags + { + "LightMode" = "XRMotionVectors" + } + + ColorMask RGBA + + Stencil + { + WriteMask 1 + Ref 1 + Comp Always + Pass Replace + } + + HLSLPROGRAM + + #pragma vertex vert + #pragma fragment frag + + #define APPLICATION_SPACE_WARP_MOTION 1 + + #if defined(_SPECULAR_SETUP) && defined(ASE_LIGHTING_SIMPLE) + #define _SPECULAR_COLOR 1 + #endif + + #define SHADERPASS SHADERPASS_MOTION_VECTORS + + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/DebugMipmapStreamingMacros.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" + #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" + + #if defined(LOD_FADE_CROSSFADE) + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" + #endif + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MotionVectorsCommon.hlsl" + + /*ase_pragma*/ + + #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) + #define ASE_SV_DEPTH SV_DepthLessEqual + #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid + #else + #define ASE_SV_DEPTH SV_Depth + #define ASE_SV_POSITION_QUALIFIERS + #endif + + struct Attributes + { + float4 positionOS : POSITION; + float3 positionOld : TEXCOORD4; + #if _ADD_PRECOMPUTED_VELOCITY + float3 alembicMotionVector : TEXCOORD5; + #endif + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; + /*ase_vdata:p=p;n=n;t=t;uv4=tc4;uv5=tc5*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct PackedVaryings + { + float4 positionCS : SV_POSITION; + float4 positionCSNoJitter : TEXCOORD0; + float4 previousPositionCSNoJitter : TEXCOORD1; + float3 positionWS : TEXCOORD2; + /*ase_interp(3,):sp=sp.xyzw*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + + CBUFFER_START(UnityPerMaterial) + #ifdef ASE_TRANSMISSION + float _TransmissionShadow; + #endif + #ifdef ASE_TRANSLUCENCY + float _TransStrength; + float _TransNormal; + float _TransScattering; + float _TransDirect; + float _TransAmbient; + float _TransShadow; + #endif + #ifdef ASE_TESSELLATION + float _TessPhongStrength; + float _TessValue; + float _TessMin; + float _TessMax; + float _TessEdgeLength; + float _TessMaxDisp; + #endif + CBUFFER_END + + #ifdef SCENEPICKINGPASS + float4 _SelectionID; + #endif + + #ifdef SCENESELECTIONPASS + int _ObjectId; + int _PassValue; + #endif + + /*ase_globals*/ + + /*ase_funcs*/ + + PackedVaryings VertexFunction( Attributes input /*ase_vert_input*/ ) + { + PackedVaryings output = (PackedVaryings)0; + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input, output); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + /*ase_vert_code:input=Attributes;output=PackedVaryings*/ + + #ifdef ASE_ABSOLUTE_VERTEX_POS + float3 defaultVertexValue = input.positionOS.xyz; + #else + float3 defaultVertexValue = float3(0, 0, 0); + #endif + + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;8;-1;_Vertex*/defaultVertexValue/*end*/; + + #ifdef ASE_ABSOLUTE_VERTEX_POS + input.positionOS.xyz = vertexValue; + #else + input.positionOS.xyz += vertexValue; + #endif + + VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); + + #if defined(APPLICATION_SPACE_WARP_MOTION) + output.positionCSNoJitter = mul(_NonJitteredViewProjMatrix, mul(UNITY_MATRIX_M, input.positionOS));; + output.positionCS = output.positionCSNoJitter; + #else + output.positionCS = vertexInput.positionCS; + output.positionCSNoJitter = mul(_NonJitteredViewProjMatrix, mul(UNITY_MATRIX_M, input.positionOS)); + #endif + + float4 prevPos = ( unity_MotionVectorsParams.x == 1 ) ? float4( input.positionOld, 1 ) : input.positionOS; + + #if _ADD_PRECOMPUTED_VELOCITY + prevPos = prevPos - float4(input.alembicMotionVector, 0); + #endif + + output.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, mul( UNITY_PREV_MATRIX_M, prevPos ) ); + + output.positionWS = vertexInput.positionWS; + + // removed in ObjectMotionVectors.hlsl found in unity 6000.0.23 and higher + //ApplyMotionVectorZBias( output.positionCS ); + return output; + } + + PackedVaryings vert ( Attributes input ) + { + return VertexFunction( input ); + } + + half4 frag( PackedVaryings input + #if defined( ASE_DEPTH_WRITE_ON ) + ,out float outputDepth : ASE_SV_DEPTH + #endif + /*ase_frag_input*/ ) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(input); + UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); + + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( PositionWS ); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + + /*ase_frag_code:input=PackedVaryings*/ + + float Alpha = /*ase_frag_out:Alpha;Float;6;-1;_Alpha*/1/*end*/; + float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;7;-1;_AlphaClip*/0.5/*end*/; + + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #endif + + #ifdef _ALPHATEST_ON + clip(Alpha - AlphaClipThreshold); + #endif + + #if defined(ASE_CHANGES_WORLD_POS) + float3 positionOS = mul( GetWorldToObjectMatrix(), float4( PositionWS, 1.0 ) ).xyz; + float3 previousPositionWS = mul( GetPrevObjectToWorldMatrix(), float4( positionOS, 1.0 ) ).xyz; + input.positionCSNoJitter = mul( _NonJitteredViewProjMatrix, float4( PositionWS, 1.0 ) ); + input.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, float4( previousPositionWS, 1.0 ) ); + #endif + + #if defined(LOD_FADE_CROSSFADE) + LODFadeCrossFade( input.positionCS ); + #endif + + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; + #endif + + #if defined(APPLICATION_SPACE_WARP_MOTION) + return float4( CalcAswNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 1 ); + #else + return float4( CalcNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 0, 0 ); + #endif + } ENDHLSL } /*ase_pass_end*/ @@ -3979,3 +4365,4 @@ Shader /*ase_name*/ "Hidden/Universal/Lit" /*end*/ CustomEditor "UnityEditor.ShaderGraphLitGUI" FallBack "Hidden/Shader Graph/FallbackError" } + diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/Unlit.shader b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/Unlit.shader index 7685e8e6..c5939bb9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/Unlit.shader +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Templates/URP/Unlit.shader @@ -20,6 +20,8 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ [HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 [HideInInspector][ToggleOff] _ReceiveShadows("Receive Shadows", Float) = 1.0 + + [HideInInspector] _XRMotionVectorsPass("_XRMotionVectorsPass", Float) = 1 } SubShader @@ -29,20 +31,23 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ Opaque:SetPropertyOnSubShader:RenderType,Opaque Opaque:SetPropertyOnSubShader:RenderQueue,Geometry Opaque:SetPropertyOnPass:Forward:ZWrite,On + Opaque:ShowOption: Keep Alpha Opaque:HideOption: Blend Opaque:RemoveDefine:_SURFACE_TYPE_TRANSPARENT 1 - Opaque:HidePort:Forward:Alpha Opaque:RefreshOption:Alpha Clipping Opaque:ExcludePass:Universal2D Opaque:ExcludePass:DepthNormalsOnly Transparent:SetPropertyOnSubShader:RenderType,Transparent Transparent:SetPropertyOnSubShader:RenderQueue,Transparent Transparent:SetPropertyOnPass:Forward:ZWrite,Off + Transparent:HideOption: Keep Alpha Transparent:ShowOption: Blend Transparent:SetDefine:_SURFACE_TYPE_TRANSPARENT 1 - Transparent:ShowPort:Forward:Alpha Transparent:ExcludePass:Universal2D Transparent:ExcludePass:DepthNormalsOnly + Option: Keep Alpha:false,true:false + true:SetDefine:ASE_OPAQUE_KEEP_ALPHA + false:RemoveDefine:ASE_OPAQUE_KEEP_ALPHA Option: Blend:Alpha,Premultiply,Additive,Multiply:Alpha Alpha:SetPropertyOnPass:Forward:BlendRGB,SrcAlpha,OneMinusSrcAlpha Premultiply:SetPropertyOnPass:Forward:BlendRGB,One,OneMinusSrcAlpha @@ -57,29 +62,16 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ Cull Back:SetPropertyOnSubShader:CullMode,Back Cull Front:SetPropertyOnSubShader:CullMode,Front Option:Alpha Clipping:false,true:true - true:ShowPort:Forward:Alpha true:ShowPort:Forward:Alpha Clip Threshold true?Cast Shadows=true:ShowOption: Use Shadow Threshold true?Surface=Opaque:SetPropertyOnSubShader:RenderType,TransparentCutout true?Surface=Opaque:SetPropertyOnSubShader:RenderQueue,AlphaTest - true:SetDefine:Forward:pragma multi_compile_fragment _ALPHATEST_ON - true:SetDefine:Meta:pragma multi_compile_fragment _ALPHATEST_ON - true:SetDefine:Universal2D:pragma multi_compile_fragment _ALPHATEST_ON - true:SetDefine:ShadowCaster:pragma multi_compile _ALPHATEST_ON - true:SetDefine:DepthOnly:pragma multi_compile _ALPHATEST_ON - true:SetDefine:DepthNormals:pragma multi_compile _ALPHATEST_ON - true:SetDefine:MotionVectors:pragma multi_compile _ALPHATEST_ON + true:SetDefine:_ALPHATEST_ON 1 false:HidePort:Forward:Alpha Clip Threshold false:SetOption: Use Shadow Threshold,0 false:HideOption: Use Shadow Threshold false:RefreshOption:Surface - false:RemoveDefine:Forward:pragma multi_compile_fragment _ALPHATEST_ON - false:RemoveDefine:Meta:pragma multi_compile_fragment _ALPHATEST_ON - false:RemoveDefine:Universal2D:pragma multi_compile_fragment _ALPHATEST_ON - false:RemoveDefine:ShadowCaster:pragma multi_compile _ALPHATEST_ON - false:RemoveDefine:DepthOnly:pragma multi_compile _ALPHATEST_ON - false:RemoveDefine:DepthNormals:pragma multi_compile _ALPHATEST_ON - false:RemoveDefine:MotionVectors:pragma multi_compile _ALPHATEST_ON + false:RemoveDefine:_ALPHATEST_ON 1 Option: Use Shadow Threshold:false,true:false true:ShowPort:Forward:Alpha Clip Threshold Shadow true:SetDefine:_ALPHATEST_SHADOW_ON 1 @@ -96,29 +88,44 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ true?Alpha Clipping=true:ShowOption: Use Shadow Threshold false:HideOption: Use Shadow Threshold Option:Receive Shadows:false,true:true - true:SetDefine:Forward:pragma shader_feature_local _RECEIVE_SHADOWS_OFF - false:RemoveDefine:Forward:pragma shader_feature_local _RECEIVE_SHADOWS_OFF + true:RemoveDefine:Forward:pragma multi_compile_local _RECEIVE_SHADOWS_OFF + true:SetShaderProperty:_ReceiveShadows,1 + false:SetDefine:Forward:pragma multi_compile_local _RECEIVE_SHADOWS_OFF + false:SetShaderProperty:_ReceiveShadows,0 + Option:Receive SSAO:false,true:true + true:SetDefine:Forward:pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION + true:SetDefine:GBuffer:pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION + false:RemoveDefine:Forward:pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION + false:RemoveDefine:GBuffer:pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION Option:Motion Vectors:false,true:true true:ShowOption: Add Precomputed Velocity - false:HideOption: Add Precomputed Velocity + true:ShowOption: XR Motion Vectors true:IncludePass:MotionVectors - false:ExcludePass:MotionVectors true:SetOption:Tessellation,0 + false:HideOption: Add Precomputed Velocity + false:HideOption: XR Motion Vectors + false:ExcludePass:MotionVectors + false:ExcludePass:XRMotionVectors Option: Add Precomputed Velocity:false,true:false true:SetShaderProperty:_AddPrecomputedVelocity,[HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 - false:SetShaderProperty:_AddPrecomputedVelocity,//[HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 true:SetShaderProperty:_AddPrecomputedVelocity,1 true:SetDefine:MotionVectors:pragma shader_feature_local_vertex _ADD_PRECOMPUTED_VELOCITY + true:SetDefine:XRMotionVectors:pragma shader_feature_local_vertex _ADD_PRECOMPUTED_VELOCITY + false:SetShaderProperty:_AddPrecomputedVelocity,//[HideInInspector][ToggleUI] _AddPrecomputedVelocity("Add Precomputed Velocity", Float) = 1 false:RemoveDefine:MotionVectors:pragma shader_feature_local_vertex _ADD_PRECOMPUTED_VELOCITY + false:RemoveDefine:XRMotionVectors:pragma shader_feature_local_vertex _ADD_PRECOMPUTED_VELOCITY + Option: XR Motion Vectors:false,true:false + true:IncludePass:XRMotionVectors + true:SetShaderProperty:_XRMotionVectorsPass,[HideInInspector] _XRMotionVectorsPass("_XRMotionVectorsPass", Float) = 1 + false:ExcludePass:XRMotionVectors + false:SetShaderProperty:_XRMotionVectorsPass,//[HideInInspector] _XRMotionVectorsPass("_XRMotionVectorsPass", Float) = 1 Option:GPU Instancing:false,true:true true:SetDefine:Forward:pragma multi_compile_instancing true:SetDefine:ShadowCaster:pragma multi_compile_instancing - true:SetDefine:MotionVectors:pragma multi_compile_instancing true:SetDefine:DepthOnly:pragma multi_compile_instancing true:SetDefine:DepthNormals:pragma multi_compile_instancing false:RemoveDefine:Forward:pragma multi_compile_instancing false:RemoveDefine:ShadowCaster:pragma multi_compile_instancing - false:RemoveDefine:MotionVectors:pragma multi_compile_instancing false:RemoveDefine:DepthOnly:pragma multi_compile_instancing false:RemoveDefine:DepthNormals:pragma multi_compile_instancing true:SetDefine:Forward:pragma instancing_options renderinglayer @@ -127,16 +134,16 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ true:SetDefine:Forward:pragma multi_compile _ LOD_FADE_CROSSFADE true:SetDefine:ShadowCaster:pragma multi_compile _ LOD_FADE_CROSSFADE true:SetDefine:MotionVectors:pragma multi_compile _ LOD_FADE_CROSSFADE + true:SetDefine:XRMotionVectors:pragma multi_compile _ LOD_FADE_CROSSFADE true:SetDefine:DepthOnly:pragma multi_compile _ LOD_FADE_CROSSFADE true:SetDefine:DepthNormals:pragma multi_compile _ LOD_FADE_CROSSFADE false:RemoveDefine:Forward:pragma multi_compile _ LOD_FADE_CROSSFADE false:RemoveDefine:ShadowCaster:pragma multi_compile _ LOD_FADE_CROSSFADE false:RemoveDefine:MotionVectors:pragma multi_compile _ LOD_FADE_CROSSFADE + false:RemoveDefine:XRMotionVectors:pragma multi_compile _ LOD_FADE_CROSSFADE false:RemoveDefine:DepthOnly:pragma multi_compile _ LOD_FADE_CROSSFADE false:RemoveDefine:DepthNormals:pragma multi_compile _ LOD_FADE_CROSSFADE Option:Built-in Fog:false,true:true - true:SetDefine:Forward:pragma multi_compile_fog - false:RemoveDefine:Forward:pragma multi_compile_fog true:SetDefine:ASE_FOG 1 false:RemoveDefine:ASE_FOG 1 Option:Meta Pass:false,true:false @@ -247,6 +254,10 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ #pragma prefer_hlslcc gles #pragma exclude_renderers d3d9 // ensure rendering platforms toggle list is visible + #if ( SHADER_TARGET > 35 ) && defined( SHADER_API_GLES3 ) + #error For WebGL2/GLES3, please set your shader target to 3.5 via SubShader options. URP shaders in ASE use target 4.5 by default. + #endif + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl" @@ -389,7 +400,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vdata:p=p;n=n*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -397,15 +408,9 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct PackedVaryings { float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 positionWS : TEXCOORD1; - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - #if defined(ASE_FOG) || defined(_ADDITIONAL_LIGHTS_VERTEX) - half4 fogFactorAndVertexLight : TEXCOORD3; - #endif - /*ase_interp(4,):sp=sp;wp=tc1;sc=tc2*/ + float4 positionWSAndFogFactor : TEXCOORD0; + half3 normalWS : TEXCOORD1; + /*ase_interp(2,):sp=sp;wp=tc0.xyz;wn=tc1.xyz*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -451,25 +456,16 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ input.normalOS = /*ase_vert_out:Vertex Normal;Float3;4;-1;_NormalP*/input.normalOS/*end*/; VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); + VertexNormalInputs normalInput = GetVertexNormalInputs( input.normalOS ); - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - #if defined(ASE_FOG) || defined(_ADDITIONAL_LIGHTS_VERTEX) - output.fogFactorAndVertexLight = 0; - #if defined(ASE_FOG) && !defined(_FOG_FRAGMENT) - output.fogFactorAndVertexLight.x = ComputeFogFactor(vertexInput.positionCS.z); - #endif - #ifdef _ADDITIONAL_LIGHTS_VERTEX - half3 vertexLight = VertexLighting( vertexInput.positionWS, normalInput.normalWS ); - output.fogFactorAndVertexLight.yzw = vertexLight; - #endif + float fogFactor = 0; + #if defined(ASE_FOG) && !defined(_FOG_FRAGMENT) + fogFactor = ComputeFogFactor(vertexInput.positionCS.z); #endif output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - output.positionWS = vertexInput.positionWS; + output.positionWSAndFogFactor = float4( vertexInput.positionWS, fogFactor ); + output.normalWS = normalInput.normalWS; return output; } @@ -477,7 +473,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -557,32 +553,26 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ UNITY_SETUP_INSTANCE_ID( input ); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - /*ase_local_var:wp*/float3 WorldPosition = input.positionWS; - /*ase_local_var:wvd*/float3 WorldViewDirection = GetWorldSpaceNormalizeViewDir( WorldPosition ); - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - /*ase_local_var:sp*/float4 ClipPos = input.clipPosV; - /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif + #if defined( _SURFACE_TYPE_TRANSPARENT ) + const bool isTransparent = true; + #else + const bool isTransparent = false; #endif - InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.viewDirectionWS = WorldViewDirection; - - #ifdef ASE_FOG - inputData.fogCoord = InitializeInputDataFog(float4(inputData.positionWS, 1.0), input.fogFactorAndVertexLight.x); - #endif - #ifdef _ADDITIONAL_LIGHTS_VERTEX - inputData.vertexLighting = input.fogFactorAndVertexLight.yzw; + #if defined(MAIN_LIGHT_CALCULATE_SHADOWS) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) + float4 shadowCoord = TransformWorldToShadowCoord(input.positionWSAndFogFactor.xyz); + #else + float4 shadowCoord = float4(0, 0, 0, 0); #endif - WorldViewDirection = SafeNormalize( WorldViewDirection ); + /*ase_local_var:wp*/float3 PositionWS = input.positionWSAndFogFactor.xyz; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( PositionWS ); + /*ase_local_var:wvd*/half3 ViewDirWS = GetWorldSpaceNormalizeViewDir( PositionWS ); + /*ase_local_var:sc*/float4 ShadowCoord = shadowCoord; + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:wn*/half3 NormalWS = normalize( input.normalWS ); /*ase_frag_code:input=PackedVaryings*/ @@ -590,11 +580,20 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ float Alpha = /*ase_frag_out:Alpha;Float;1;-1;_AlphaP*/1/*end*/; float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;2;-1;_AlphaClipP*/0.5/*end*/; - #ifdef _ALPHATEST_ON - clip( Alpha - AlphaClipThreshold ); + #if defined( _ALPHATEST_ON ) + AlphaDiscard( Alpha, AlphaClipThreshold ); #endif + InputData inputData = (InputData)0; + inputData.positionWS = PositionWS; + inputData.positionCS = float4( input.positionCS.xy, ClipPos.zw / ClipPos.w ); + inputData.normalizedScreenSpaceUV = ScreenPosNorm.xy; + inputData.normalWS = NormalWS; + inputData.viewDirectionWS = ViewDirWS; + #ifdef ASE_FOG + inputData.fogCoord = InitializeInputDataFog(float4(inputData.positionWS, 1.0), input.positionWSAndFogFactor.w); + #ifdef TERRAIN_SPLAT_ADDPASS Color.rgb = MixFogColor(Color.rgb, half3(0,0,0), inputData.fogCoord); #else @@ -606,7 +605,11 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ LODFadeCrossFade( input.positionCS ); #endif - return half4( Color, Alpha ); + #if defined( ASE_OPAQUE_KEEP_ALPHA ) + return half4( Color, Alpha ); + #else + return half4( Color, OutputAlpha( Alpha, isTransparent ) ); + #endif } ENDHLSL } @@ -631,13 +634,8 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ HLSLPROGRAM - #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT - #pragma multi_compile _ DIRLIGHTMAP_COMBINED - #pragma multi_compile _ LIGHTMAP_ON - #pragma multi_compile _ DYNAMICLIGHTMAP_ON #pragma multi_compile_fragment _ DEBUG_DISPLAY #pragma vertex vert @@ -647,6 +645,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" @@ -679,32 +678,17 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; - float4 texcoord : TEXCOORD0; - float4 texcoord1 : TEXCOORD1; - float4 texcoord2 : TEXCOORD2; - /*ase_vdata:p=p;n=n;uv0=tc0;uv1=tc1;uv2=tc2*/ + half3 normalOS : NORMAL; + /*ase_vdata:p=p;n=n*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; struct PackedVaryings { ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 positionWS : TEXCOORD1; - #if defined(ASE_FOG) || defined(_ADDITIONAL_LIGHTS_VERTEX) - half4 fogFactorAndVertexLight : TEXCOORD2; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD3; - #endif - #if defined(LIGHTMAP_ON) - float4 lightmapUVOrVertexSH : TEXCOORD4; - #endif - #if defined(DYNAMICLIGHTMAP_ON) - float2 dynamicLightmapUV : TEXCOORD5; - #endif - /*ase_interp(6,):sp=sp;wp=tc1;sc=tc3*/ + float4 positionWSAndFogFactor : TEXCOORD0; + half3 normalWS : TEXCOORD1; + /*ase_interp(2,):sp=sp;wp=tc0;wn=tc1.xyz*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -750,32 +734,16 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ input.normalOS = /*ase_vert_out:Vertex Normal;Float3;6;-1;_Normal*/input.normalOS/*end*/; VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); + VertexNormalInputs normalInput = GetVertexNormalInputs( input.normalOS ); - #if defined(LIGHTMAP_ON) - OUTPUT_LIGHTMAP_UV(input.texcoord1, unity_LightmapST, output.lightmapUVOrVertexSH.xy); - #endif - #if defined(DYNAMICLIGHTMAP_ON) - output.dynamicLightmapUV.xy = input.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; - #endif - - #if defined(ASE_FOG) || defined(_ADDITIONAL_LIGHTS_VERTEX) - output.fogFactorAndVertexLight = 0; - #if defined(ASE_FOG) && !defined(_FOG_FRAGMENT) - output.fogFactorAndVertexLight.x = ComputeFogFactor(vertexInput.positionCS.z); - #endif - #ifdef _ADDITIONAL_LIGHTS_VERTEX - half3 vertexLight = VertexLighting( vertexInput.positionWS, normalInput.normalWS ); - output.fogFactorAndVertexLight.yzw = vertexLight; - #endif - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); + float fogFactor = 0; + #if defined(ASE_FOG) && !defined(_FOG_FRAGMENT) + fogFactor = ComputeFogFactor(vertexInput.positionCS.z); #endif output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - output.positionWS = vertexInput.positionWS; + output.positionWSAndFogFactor = float4( vertexInput.positionWS, fogFactor ); + output.normalWS = normalInput.normalWS; return output; } @@ -783,7 +751,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -859,38 +827,41 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ #endif half4 frag ( PackedVaryings input - #ifdef ASE_DEPTH_WRITE_ON + #if defined( ASE_DEPTH_WRITE_ON ) ,out float outputDepth : ASE_SV_DEPTH #endif #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 + , out uint outRenderingLayers : SV_Target1 #endif /*ase_frag_input*/ ) : SV_Target { UNITY_SETUP_INSTANCE_ID(input); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input); + #if defined( _SURFACE_TYPE_TRANSPARENT ) + const bool isTransparent = true; + #else + const bool isTransparent = false; + #endif + #if defined(LOD_FADE_CROSSFADE) LODFadeCrossFade( input.positionCS ); #endif - /*ase_local_var:wp*/float3 WorldPosition = input.positionWS; - /*ase_local_var:wvd*/float3 WorldViewDirection = GetWorldSpaceNormalizeViewDir( WorldPosition ); - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - /*ase_local_var:sp*/float4 ClipPos = input.clipPosV; - /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - float2 NormalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(input.positionCS); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif + #if defined(MAIN_LIGHT_CALCULATE_SHADOWS) + float4 shadowCoord = TransformWorldToShadowCoord( input.positionWSAndFogFactor.xyz ); + #else + float4 shadowCoord = float4(0, 0, 0, 0); #endif - WorldViewDirection = SafeNormalize( WorldViewDirection ); + /*ase_local_var:wp*/float3 PositionWS = input.positionWSAndFogFactor.xyz; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( PositionWS ); + /*ase_local_var:wvd*/half3 ViewDirWS = GetWorldSpaceNormalizeViewDir( PositionWS ); + /*ase_local_var:sc*/float4 ShadowCoord = shadowCoord; + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:wn*/half3 NormalWS = normalize( input.normalWS ); /*ase_frag_code:input=PackedVaryings*/ float3 BakedAlbedo = /*ase_frag_out:Baked Albedo;Float3;0;-1;_Albedo*/0/*end*/; @@ -900,26 +871,34 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;4;-1;_AlphaClip*/0.5/*end*/; float AlphaClipThresholdShadow = /*ase_frag_out:Alpha Clip Threshold Shadow;Float;7;-1;_AlphaClipShadow*/0.5/*end*/; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = /*ase_frag_out:Depth Value;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth Value;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; #endif - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); + #if defined( _ALPHATEST_ON ) + AlphaDiscard( Alpha, AlphaClipThreshold ); + #endif + + #if defined(MAIN_LIGHT_CALCULATE_SHADOWS) && defined(ASE_CHANGES_WORLD_POS) + ShadowCoord = TransformWorldToShadowCoord( PositionWS ); #endif InputData inputData = (InputData)0; - inputData.positionWS = WorldPosition; - inputData.viewDirectionWS = WorldViewDirection; + inputData.positionWS = PositionWS; + inputData.positionCS = float4( input.positionCS.xy, ClipPos.zw / ClipPos.w ); + inputData.normalizedScreenSpaceUV = ScreenPosNorm.xy; + inputData.normalWS = NormalWS; + inputData.viewDirectionWS = ViewDirWS; + + #if defined(_SCREEN_SPACE_OCCLUSION) && !defined(_SURFACE_TYPE_TRANSPARENT) + float2 normalizedScreenSpaceUV = GetNormalizedScreenSpaceUV(input.positionCS); + AmbientOcclusionFactor aoFactor = GetScreenSpaceAmbientOcclusion(normalizedScreenSpaceUV); + Color.rgb *= aoFactor.directAmbientOcclusion; + #endif #ifdef ASE_FOG - inputData.fogCoord = InitializeInputDataFog(float4(inputData.positionWS, 1.0), input.fogFactorAndVertexLight.x); + inputData.fogCoord = InitializeInputDataFog(float4(inputData.positionWS, 1.0), input.positionWSAndFogFactor.w); #endif - #ifdef _ADDITIONAL_LIGHTS_VERTEX - inputData.vertexLighting = input.fogFactorAndVertexLight.yzw; - #endif - - inputData.normalizedScreenSpaceUV = NormalizedScreenSpaceUV; #if defined(_DBUFFER) ApplyDecalToBaseColor(input.positionCS, Color); @@ -933,16 +912,19 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ #endif #endif - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; #endif #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4( EncodeMeshRenderingLayer( renderingLayers ), 0, 0, 0 ); + outRenderingLayers = EncodeMeshRenderingLayer(); #endif - return half4( Color, Alpha ); + #if defined( ASE_OPAQUE_KEEP_ALPHA ) + return half4( Color, Alpha ); + #else + return half4( Color, OutputAlpha( Alpha, isTransparent ) ); + #endif } ENDHLSL } @@ -994,7 +976,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vdata:p=p;n=n*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -1002,14 +984,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct PackedVaryings { ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - /*ase_interp(3,):sp=sp;wp=tc1;sc=tc2*/ + /*ase_interp(0,):sp=sp*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -1057,12 +1032,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ input.normalOS = /*ase_vert_out:Vertex Normal;Float3;3;-1;_Normal*/input.normalOS/*end*/; float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = positionWS; - #endif - - float3 normalWS = TransformObjectToWorldDir(input.normalOS); + half3 normalWS = TransformObjectToWorldDir(input.normalOS); #if _CASTING_PUNCTUAL_LIGHT_SHADOW float3 lightDirectionWS = normalize(_LightPosition - positionWS); @@ -1072,18 +1042,13 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ float4 positionCS = TransformWorldToHClip(ApplyShadowBias(positionWS, normalWS, lightDirectionWS)); - //code for UNITY_REVERSED_Z is moved into Shadows.hlsl from 6000.0.22 and or higher - positionCS = ApplyShadowClamping(positionCS); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - output.shadowCoord = GetShadowCoord( vertexInput ); + #if UNITY_REVERSED_Z + positionCS.z = min(positionCS.z, UNITY_NEAR_CLIP_VALUE); + #else + positionCS.z = max(positionCS.z, UNITY_NEAR_CLIP_VALUE); #endif output.positionCS = positionCS; - output.clipPosV = positionCS; return output; } @@ -1091,7 +1056,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -1167,7 +1132,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ #endif half4 frag(PackedVaryings input - #ifdef ASE_DEPTH_WRITE_ON + #if defined( ASE_DEPTH_WRITE_ON ) ,out float outputDepth : ASE_SV_DEPTH #endif /*ase_frag_input*/ ) : SV_Target @@ -1175,21 +1140,9 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ UNITY_SETUP_INSTANCE_ID( input ); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - /*ase_local_var:wp*/float3 WorldPosition = input.positionWS; - #endif - - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - /*ase_local_var:sp*/float4 ClipPos = input.clipPosV; - /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); /*ase_frag_code:input=PackedVaryings*/ @@ -1197,15 +1150,15 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;1;-1;_AlphaClip*/0.5/*end*/; float AlphaClipThresholdShadow = /*ase_frag_out:Alpha Clip Threshold Shadow;Float;4;-1;_AlphaClipShadow*/0.5/*end*/; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = /*ase_frag_out:Depth Value;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth Value;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; #endif - #ifdef _ALPHATEST_ON - #ifdef _ALPHATEST_SHADOW_ON - clip(Alpha - AlphaClipThresholdShadow); + #if defined( _ALPHATEST_ON ) + #if defined( _ALPHATEST_SHADOW_ON ) + AlphaDiscard( Alpha, AlphaClipThresholdShadow ); #else - clip(Alpha - AlphaClipThreshold); + AlphaDiscard( Alpha, AlphaClipThreshold ); #endif #endif @@ -1213,8 +1166,8 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ LODFadeCrossFade( input.positionCS ); #endif - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; #endif return 0; @@ -1264,7 +1217,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vdata:p=p;n=n*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -1272,14 +1225,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct PackedVaryings { ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD1; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD2; - #endif - /*ase_interp(3,):sp=sp;wp=tc1;sc=tc2*/ + /*ase_interp(0,):sp=sp*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -1322,20 +1268,9 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ input.positionOS.xyz += vertexValue; #endif - input.normalOS = /*ase_vert_out:Vertex Normal;Float3;3;-1;_Normal*/input.normalOS/*end*/; - VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = vertexInput.positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; return output; } @@ -1343,7 +1278,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -1419,7 +1354,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ #endif half4 frag(PackedVaryings input - #ifdef ASE_DEPTH_WRITE_ON + #if defined( ASE_DEPTH_WRITE_ON ) ,out float outputDepth : ASE_SV_DEPTH #endif /*ase_frag_input*/ ) : SV_Target @@ -1427,41 +1362,29 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ UNITY_SETUP_INSTANCE_ID(input); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - /*ase_local_var:wp*/float3 WorldPosition = input.positionWS; - #endif - - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - /*ase_local_var:sp*/float4 ClipPos = input.clipPosV; - /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( input.clipPosV ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); /*ase_frag_code:input=PackedVaryings*/ float Alpha = /*ase_frag_out:Alpha;Float;0;-1;_Alpha*/1/*end*/; float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;1;-1;_AlphaClip*/0.5/*end*/; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = /*ase_frag_out:Depth Value;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth Value;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; #endif - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); + #if defined( _ALPHATEST_ON ) + AlphaDiscard( Alpha, AlphaClipThreshold ); #endif #if defined(LOD_FADE_CROSSFADE) LODFadeCrossFade( input.positionCS ); #endif - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; #endif return 0; @@ -1496,7 +1419,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; float4 texcoord1 : TEXCOORD1; float4 texcoord2 : TEXCOORD2; /*ase_vdata:p=p;n=n;uv1=tc1;uv2=tc2*/ @@ -1506,13 +1429,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct PackedVaryings { float4 positionCS : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - /*ase_interp(2,):sp=sp;wp=tc0;sc=tc1*/ + /*ase_interp(0,):sp=sp*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -1575,23 +1492,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ input.positionOS.xyz += vertexValue; #endif - input.normalOS = /*ase_vert_out:Vertex Normal;Float3;5;-1;_Normal*/input.normalOS/*end*/; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = positionWS; - #endif - output.positionCS = MetaVertexPosition( input.positionOS, input.texcoord1.xy, input.texcoord1.xy, unity_LightmapST, unity_DynamicLightmapST ); - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = output.positionCS; - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - return output; } @@ -1599,7 +1500,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; float4 texcoord1 : TEXCOORD1; float4 texcoord2 : TEXCOORD2; /*ase_vcontrol*/ @@ -1685,20 +1586,6 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ UNITY_SETUP_INSTANCE_ID(input); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - /*ase_local_var:wp*/float3 WorldPosition = input.positionWS; - #endif - - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - /*ase_frag_code:input=PackedVaryings*/ float3 BakedAlbedo = /*ase_frag_out:Baked Albedo;Float3;0;-1;_Albedo*/0/*end*/; @@ -1706,8 +1593,8 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ float Alpha = /*ase_frag_out:Alpha;Float;2;-1;_Alpha*/1/*end*/; float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;3;-1;_AlphaClip*/0.5/*end*/; - #ifdef _ALPHATEST_ON - clip(Alpha - AlphaClipThreshold); + #if defined( _ALPHATEST_ON ) + AlphaDiscard( Alpha, AlphaClipThreshold ); #endif MetaInput metaInput = (MetaInput)0; @@ -1742,7 +1629,6 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ #pragma multi_compile _ LIGHTMAP_ON #pragma multi_compile _ DIRLIGHTMAP_COMBINED #pragma multi_compile _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 - #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT #pragma multi_compile _ DEBUG_DISPLAY #pragma vertex vert @@ -1768,7 +1654,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vdata:p=p;n=n*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -1776,16 +1662,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct PackedVaryings { float4 positionCS : SV_POSITION; - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - float3 positionWS : TEXCOORD0; - #endif - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - float4 shadowCoord : TEXCOORD1; - #endif - #ifdef ASE_FOG - float fogFactor : TEXCOORD2; - #endif - /*ase_interp(3,):sp=sp;wp=tc0;sc=tc1*/ + /*ase_interp(0,):sp=sp*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -1817,29 +1694,9 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ input.positionOS.xyz += vertexValue; #endif - input.normalOS = /*ase_vert_out:Vertex Normal;Float3;6;-1;_Normal*/input.normalOS/*end*/; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - float4 positionCS = TransformWorldToHClip( positionWS ); - - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - output.positionWS = positionWS; - #endif - - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) && defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - VertexPositionInputs vertexInput = (VertexPositionInputs)0; - vertexInput.positionWS = positionWS; - vertexInput.positionCS = positionCS; - output.shadowCoord = GetShadowCoord( vertexInput ); - #endif - - #ifdef ASE_FOG - output.fogFactor = ComputeFogFactor( positionCS.z ); - - #endif - - output.positionCS = positionCS; + VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); + output.positionCS = vertexInput.positionCS; return output; } @@ -1848,20 +1705,6 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ UNITY_SETUP_INSTANCE_ID( input ); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - #if defined(ASE_NEEDS_FRAG_WORLD_POSITION) - /*ase_local_var:wp*/float3 WorldPosition = input.positionWS; - #endif - - /*ase_local_var:sc*/float4 ShadowCoords = float4( 0, 0, 0, 0 ); - - #if defined(ASE_NEEDS_FRAG_SHADOWCOORDS) - #if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR) - ShadowCoords = input.shadowCoord; - #elif defined(MAIN_LIGHT_CALCULATE_SHADOWS) - ShadowCoords = TransformWorldToShadowCoord( WorldPosition ); - #endif - #endif - /*ase_frag_code:input=PackedVaryings*/ float3 BakedAlbedo = /*ase_frag_out:Baked Albedo;Float3;0;-1;_Albedo*/0/*end*/; @@ -1927,7 +1770,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vdata:p=p;n=n*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -1989,12 +1832,9 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ input.positionOS.xyz += vertexValue; #endif - input.normalOS = /*ase_vert_out:Vertex Normal;Float3;3;-1;_Normal*/input.normalOS/*end*/; - - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - - output.positionCS = TransformWorldToHClip(positionWS); + VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); + output.positionCS = vertexInput.positionCS; return output; } @@ -2002,7 +1842,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -2143,7 +1983,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vdata:p=p;n=n*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -2204,10 +2044,9 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ input.positionOS.xyz += vertexValue; #endif - input.normalOS = /*ase_vert_out:Vertex Normal;Float3;3;-1;_Normal*/input.normalOS/*end*/; + VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - float3 positionWS = TransformObjectToWorld( input.positionOS.xyz ); - output.positionCS = TransformWorldToHClip(positionWS); + output.positionCS = vertexInput.positionCS; return output; } @@ -2215,7 +2054,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -2308,7 +2147,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ #endif half4 outColor = 0; - outColor = _SelectionID; + outColor = unity_SelectionID; return outColor; } @@ -2371,7 +2210,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vdata:p=p;n=n*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -2379,10 +2218,8 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct PackedVaryings { ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 positionWS : TEXCOORD1; - float3 normalWS : TEXCOORD2; - /*ase_interp(3,):sp=sp;wp=tc1;wn=tc2*/ + half3 normalWS : TEXCOORD0; + /*ase_interp(1,):sp=sp;wn=tc0.xyz*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -2435,11 +2272,10 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ input.normalOS = /*ase_vert_out:Vertex Normal;Float3;3;-1;_Normal*/input.normalOS/*end*/; VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); + VertexNormalInputs normalInput = GetVertexNormalInputs( input.normalOS ); output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - output.positionWS = vertexInput.positionWS; - output.normalWS = TransformObjectToWorldNormal( input.normalOS ); + output.normalWS = normalInput.normalWS; return output; } @@ -2447,7 +2283,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -2524,28 +2360,29 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ void frag(PackedVaryings input , out half4 outNormalWS : SV_Target0 - #ifdef ASE_DEPTH_WRITE_ON + #if defined( ASE_DEPTH_WRITE_ON ) ,out float outputDepth : ASE_SV_DEPTH #endif #ifdef _WRITE_RENDERING_LAYERS - , out float4 outRenderingLayers : SV_Target1 + , out uint outRenderingLayers : SV_Target1 #endif /*ase_frag_input*/ ) { UNITY_SETUP_INSTANCE_ID(input); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); - /*ase_local_var:wp*/float3 WorldPosition = input.positionWS; - /*ase_local_var:wn*/float3 WorldNormal = input.normalWS; - /*ase_local_var:sp*/float4 ClipPos = input.clipPosV; - /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( input.clipPosV ); + + /*ase_local_var:wn*/half3 NormalWS = normalize( input.normalWS ); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); /*ase_frag_code:input=PackedVaryings*/ float Alpha = /*ase_frag_out:Alpha;Float;0;-1;_Alpha*/1/*end*/; float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;1;-1;_AlphaClip*/0.5/*end*/; - #ifdef ASE_DEPTH_WRITE_ON - float DepthValue = /*ase_frag_out:Depth Value;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth Value;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; #endif #ifdef _ALPHATEST_ON @@ -2556,24 +2393,21 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ LODFadeCrossFade( input.positionCS ); #endif - #ifdef ASE_DEPTH_WRITE_ON - outputDepth = DepthValue; + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; #endif #if defined(_GBUFFER_NORMALS_OCT) - float3 normalWS = normalize(input.normalWS); - float2 octNormalWS = PackNormalOctQuadEncode(normalWS); + float2 octNormalWS = PackNormalOctQuadEncode(NormalWS); float2 remappedOctNormalWS = saturate(octNormalWS * 0.5 + 0.5); half3 packedNormalWS = PackFloat2To888(remappedOctNormalWS); outNormalWS = half4(packedNormalWS, 0.0); #else - float3 normalWS = input.normalWS; - outNormalWS = half4(NormalizeNormalPerPixel(normalWS), 0.0); + outNormalWS = half4(NormalizeNormalPerPixel( NormalWS ), 0.0); #endif #ifdef _WRITE_RENDERING_LAYERS - uint renderingLayers = GetMeshRenderingLayer(); - outRenderingLayers = float4(EncodeMeshRenderingLayer(renderingLayers), 0, 0, 0); + outRenderingLayers = EncodeMeshRenderingLayer(); #endif } ENDHLSL @@ -2629,7 +2463,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct Attributes { float4 positionOS : POSITION; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vdata:p=p;n=n*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -2637,9 +2471,8 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct PackedVaryings { float4 positionCS : SV_POSITION; - float4 clipPosV : TEXCOORD0; - float3 normalWS : TEXCOORD1; - /*ase_interp(2,):sp=sp;wn=tc0*/ + half3 normalWS : TEXCOORD0; + /*ase_interp(1,):sp=sp;wn=tc0.xyz*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -2691,10 +2524,10 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ input.normalOS = /*ase_vert_out:Vertex Normal;Float3;3;-1;_Normal*/input.normalOS/*end*/; VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); + VertexNormalInputs normalInput = GetVertexNormalInputs( input.normalOS ); output.positionCS = vertexInput.positionCS; - output.clipPosV = vertexInput.positionCS; - output.normalWS = TransformObjectToWorldNormal( input.normalOS ); + output.normalWS = normalInput.normalWS; return output; } @@ -2702,7 +2535,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ struct VertexControl { float4 positionOS : INTERNALTESSPOS; - float3 normalOS : NORMAL; + half3 normalOS : NORMAL; /*ase_vcontrol*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -2779,8 +2612,9 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ half4 frag(PackedVaryings input /*ase_frag_input*/) : SV_Target { - /*ase_local_var:sp*/float4 ClipPos = input.clipPosV; - /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( input.clipPosV ); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); /*ase_frag_code:input=PackedVaryings*/ @@ -2814,15 +2648,17 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ #pragma vertex vert #pragma fragment frag - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" + #define SHADERPASS SHADERPASS_MOTION_VECTORS + + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" - #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" @@ -2835,6 +2671,14 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ /*ase_pragma*/ + #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) + #define ASE_SV_DEPTH SV_DepthLessEqual + #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid + #else + #define ASE_SV_DEPTH SV_Depth + #define ASE_SV_POSITION_QUALIFIERS + #endif + struct Attributes { float4 positionOS : POSITION; @@ -2842,7 +2686,9 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ #if _ADD_PRECOMPUTED_VELOCITY float3 alembicMotionVector : TEXCOORD5; #endif - /*ase_vdata:p=p;uv4=tc4;uv5=tc5*/ + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; + /*ase_vdata:p=p;n=n;t=t;uv4=tc4;uv5=tc5*/ UNITY_VERTEX_INPUT_INSTANCE_ID }; @@ -2851,7 +2697,8 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ float4 positionCS : SV_POSITION; float4 positionCSNoJitter : TEXCOORD0; float4 previousPositionCSNoJitter : TEXCOORD1; - /*ase_interp(2,):sp=sp.xyzw*/ + float3 positionWS : TEXCOORD2; + /*ase_interp(3,):sp=sp.xyzw*/ UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; @@ -2916,9 +2763,13 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); - // Jittered. Match the frame. - output.positionCS = vertexInput.positionCS; - output.positionCSNoJitter = mul( _NonJitteredViewProjMatrix, mul( UNITY_MATRIX_M, input.positionOS ) ); + #if defined(APPLICATION_SPACE_WARP_MOTION) + output.positionCSNoJitter = mul(_NonJitteredViewProjMatrix, mul(UNITY_MATRIX_M, input.positionOS)); + output.positionCS = output.positionCSNoJitter; + #else + output.positionCS = vertexInput.positionCS; + output.positionCSNoJitter = mul(_NonJitteredViewProjMatrix, mul(UNITY_MATRIX_M, input.positionOS)); + #endif float4 prevPos = ( unity_MotionVectorsParams.x == 1 ) ? float4( input.positionOld, 1 ) : input.positionOS; @@ -2927,7 +2778,7 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ #endif output.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, mul( UNITY_PREV_MATRIX_M, prevPos ) ); - + output.positionWS = vertexInput.positionWS; return output; } @@ -2936,28 +2787,594 @@ Shader /*ase_name*/ "Hidden/Universal/Unlit" /*end*/ return VertexFunction( input ); } - half4 frag( PackedVaryings input /*ase_frag_input*/ ) : SV_Target + half4 frag( PackedVaryings input + #if defined( ASE_DEPTH_WRITE_ON ) + ,out float outputDepth : ASE_SV_DEPTH + #endif + /*ase_frag_input*/ ) : SV_Target { UNITY_SETUP_INSTANCE_ID(input); UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( PositionWS ); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_frag_code:input=PackedVaryings*/ float Alpha = /*ase_frag_out:Alpha;Float;0;-1;_Alpha*/1/*end*/; float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;1;-1;_AlphaClip*/0.5/*end*/; + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #endif + #ifdef _ALPHATEST_ON clip(Alpha - AlphaClipThreshold); #endif - #ifdef LOD_FADE_CROSSFADE + #if defined( ASE_CHANGES_WORLD_POS ) + float3 positionOS = mul( GetWorldToObjectMatrix(), float4( PositionWS, 1.0 ) ).xyz; + float3 previousPositionWS = mul( GetPrevObjectToWorldMatrix(), float4( positionOS, 1.0 ) ).xyz; + input.positionCSNoJitter = mul( _NonJitteredViewProjMatrix, float4( PositionWS, 1.0 ) ); + input.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, float4( previousPositionWS, 1.0 ) ); + #endif + + #if defined( LOD_FADE_CROSSFADE ) LODFadeCrossFade( input.positionCS ); #endif - return float4( CalcNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 0, 0 ); + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; + #endif + + #if defined(APPLICATION_SPACE_WARP_MOTION) + return float4( CalcAswNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 1 ); + #else + return float4( CalcNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 0, 0 ); + #endif } ENDHLSL } + + /*ase_pass*/ + Pass + { + /*ase_hide_pass*/ + Name "XRMotionVectors" + Tags + { + "LightMode" = "XRMotionVectors" + } + + ColorMask RGBA + + Stencil + { + WriteMask 1 + Ref 1 + Comp Always + Pass Replace + } + + HLSLPROGRAM + + #pragma vertex vert + #pragma fragment frag + + #define APPLICATION_SPACE_WARP_MOTION 1 + + #define SHADERPASS SHADERPASS_MOTION_VECTORS + + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" + #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" + #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" + + #if defined(LOD_FADE_CROSSFADE) + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" + #endif + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/MotionVectorsCommon.hlsl" + + /*ase_pragma*/ + + #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) + #define ASE_SV_DEPTH SV_DepthLessEqual + #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid + #else + #define ASE_SV_DEPTH SV_Depth + #define ASE_SV_POSITION_QUALIFIERS + #endif + + struct Attributes + { + float4 positionOS : POSITION; + float3 positionOld : TEXCOORD4; + #if _ADD_PRECOMPUTED_VELOCITY + float3 alembicMotionVector : TEXCOORD5; + #endif + half3 normalOS : NORMAL; + half4 tangentOS : TANGENT; + /*ase_vdata:p=p;n=n;t=t;uv4=tc4;uv5=tc5*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct PackedVaryings + { + float4 positionCS : SV_POSITION; + float4 positionCSNoJitter : TEXCOORD0; + float4 previousPositionCSNoJitter : TEXCOORD1; + float3 positionWS : TEXCOORD2; + /*ase_interp(3,):sp=sp.xyzw*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + + CBUFFER_START(UnityPerMaterial) + #ifdef ASE_TRANSMISSION + float _TransmissionShadow; + #endif + #ifdef ASE_TRANSLUCENCY + float _TransStrength; + float _TransNormal; + float _TransScattering; + float _TransDirect; + float _TransAmbient; + float _TransShadow; + #endif + #ifdef ASE_TESSELLATION + float _TessPhongStrength; + float _TessValue; + float _TessMin; + float _TessMax; + float _TessEdgeLength; + float _TessMaxDisp; + #endif + CBUFFER_END + + #ifdef SCENEPICKINGPASS + float4 _SelectionID; + #endif + + #ifdef SCENESELECTIONPASS + int _ObjectId; + int _PassValue; + #endif + + /*ase_globals*/ + + /*ase_funcs*/ + + PackedVaryings VertexFunction( Attributes input /*ase_vert_input*/ ) + { + PackedVaryings output = (PackedVaryings)0; + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input, output); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + /*ase_vert_code:input=Attributes;output=PackedVaryings*/ + + #ifdef ASE_ABSOLUTE_VERTEX_POS + float3 defaultVertexValue = input.positionOS.xyz; + #else + float3 defaultVertexValue = float3(0, 0, 0); + #endif + + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;2;-1;_Vertex*/defaultVertexValue/*end*/; + + #ifdef ASE_ABSOLUTE_VERTEX_POS + input.positionOS.xyz = vertexValue; + #else + input.positionOS.xyz += vertexValue; + #endif + + VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); + + #if defined(APPLICATION_SPACE_WARP_MOTION) + output.positionCSNoJitter = mul(_NonJitteredViewProjMatrix, mul(UNITY_MATRIX_M, input.positionOS)); + output.positionCS = output.positionCSNoJitter; + #else + output.positionCS = vertexInput.positionCS; + output.positionCSNoJitter = mul(_NonJitteredViewProjMatrix, mul(UNITY_MATRIX_M, input.positionOS)); + #endif + + float4 prevPos = ( unity_MotionVectorsParams.x == 1 ) ? float4( input.positionOld, 1 ) : input.positionOS; + + #if _ADD_PRECOMPUTED_VELOCITY + prevPos = prevPos - float4(input.alembicMotionVector, 0); + #endif + + output.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, mul( UNITY_PREV_MATRIX_M, prevPos ) ); + output.positionWS = vertexInput.positionWS; + return output; + } + + PackedVaryings vert ( Attributes input ) + { + return VertexFunction( input ); + } + + half4 frag( PackedVaryings input + #if defined( ASE_DEPTH_WRITE_ON ) + ,out float outputDepth : ASE_SV_DEPTH + #endif + /*ase_frag_input*/ ) : SV_Target + { + UNITY_SETUP_INSTANCE_ID(input); + UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX( input ); + + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:rwp*/float3 PositionRWS = GetCameraRelativePositionWS( PositionWS ); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + + /*ase_frag_code:input=PackedVaryings*/ + + float Alpha = /*ase_frag_out:Alpha;Float;0;-1;_Alpha*/1/*end*/; + float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;1;-1;_AlphaClip*/0.5/*end*/; + + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #endif + + #ifdef _ALPHATEST_ON + clip(Alpha - AlphaClipThreshold); + #endif + + #if defined( ASE_CHANGES_WORLD_POS ) + float3 positionOS = mul( GetWorldToObjectMatrix(), float4( PositionWS, 1.0 ) ).xyz; + float3 previousPositionWS = mul( GetPrevObjectToWorldMatrix(), float4( positionOS, 1.0 ) ).xyz; + input.positionCSNoJitter = mul( _NonJitteredViewProjMatrix, float4( PositionWS, 1.0 ) ); + input.previousPositionCSNoJitter = mul( _PrevViewProjMatrix, float4( previousPositionWS, 1.0 ) ); + #endif + + #if defined( LOD_FADE_CROSSFADE ) + LODFadeCrossFade( input.positionCS ); + #endif + + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; + #endif + + #if defined(APPLICATION_SPACE_WARP_MOTION) + return float4( CalcAswNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 1 ); + #else + return float4( CalcNdcMotionVectorFromCsPositions( input.positionCSNoJitter, input.previousPositionCSNoJitter ), 0, 0 ); + #endif + } + ENDHLSL + } + + /*ase_pass*/ + Pass + { + /*ase_hide_pass:SyncP*/ + Name "GBuffer" + Tags + { + "LightMode" = "UniversalGBuffer" + } + + Blend One Zero + ZWrite On + ZTest LEqual + Offset 0,0 + ColorMask RGBA + + /*ase_stencil*/ + + HLSLPROGRAM + + /*ase_srp_cond_begin:<140007*/ + #pragma multi_compile _ DOTS_INSTANCING_ON + /*ase_srp_cond_end*/ + + #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3 + #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT + #pragma multi_compile_fragment _ _RENDER_PASS_ENABLED + + /*ase_srp_cond_begin:<140007*/ + #pragma multi_compile_fragment _ _WRITE_RENDERING_LAYERS + /*ase_srp_cond_end*/ + + #pragma vertex vert + #pragma fragment frag + + #define SHADERPASS SHADERPASS_GBUFFER + + /*ase_srp_cond_begin:>=140007*/ + #if ASE_SRP_VERSION >=140007 + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl" + #endif + /*ase_srp_cond_end*/ + + /*ase_srp_cond_begin:>=140007*/ + #if ASE_SRP_VERSION >=140007 + #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl" + #endif + /*ase_srp_cond_end*/ + + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Texture.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Input.hlsl" + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/TextureStack.hlsl" + + /*ase_unity_cond_begin:>=20220316*/ + #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRendering.hlsl" + /*ase_unity_cond_end*/ + + /*ase_unity_cond_begin:>=20220316*/ + #if ASE_SRP_VERSION >=140009 + #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl" + #endif + /*ase_unity_cond_end*/ + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ShaderGraphFunctions.hlsl" + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DBuffer.hlsl" + #include "Packages/com.unity.render-pipelines.universal/Editor/ShaderGraph/Includes/ShaderPass.hlsl" + + #if defined(LOD_FADE_CROSSFADE) + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl" + #endif + + #if defined(UNITY_INSTANCING_ENABLED) && defined(_TERRAIN_INSTANCED_PERPIXEL_NORMAL) + #define ENABLE_TERRAIN_PERPIXEL_NORMAL + #endif + + /*ase_pragma*/ + + #if defined(ASE_EARLY_Z_DEPTH_OPTIMIZE) && (SHADER_TARGET >= 45) + #define ASE_SV_DEPTH SV_DepthLessEqual + #define ASE_SV_POSITION_QUALIFIERS linear noperspective centroid + #else + #define ASE_SV_DEPTH SV_Depth + #define ASE_SV_POSITION_QUALIFIERS + #endif + + struct Attributes + { + float4 positionOS : POSITION; + half3 normalOS : NORMAL; + /*ase_vdata:p=p;n=n*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct PackedVaryings + { + ASE_SV_POSITION_QUALIFIERS float4 positionCS : SV_POSITION; + float3 positionWS : TEXCOORD0; + half3 normalWS : TEXCOORD1; + /*ase_interp(2,):sp=sp;wp=tc0.xyz;wn=tc1.xyz*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + + CBUFFER_START(UnityPerMaterial) + #ifdef ASE_TRANSMISSION + float _TransmissionShadow; + #endif + #ifdef ASE_TRANSLUCENCY + float _TransStrength; + float _TransNormal; + float _TransScattering; + float _TransDirect; + float _TransAmbient; + float _TransShadow; + #endif + #ifdef ASE_TESSELLATION + float _TessPhongStrength; + float _TessValue; + float _TessMin; + float _TessMax; + float _TessEdgeLength; + float _TessMaxDisp; + #endif + CBUFFER_END + + #ifdef SCENEPICKINGPASS + float4 _SelectionID; + #endif + + #ifdef SCENESELECTIONPASS + int _ObjectId; + int _PassValue; + #endif + + /*ase_globals*/ + + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/GBufferOutput.hlsl" + + /*ase_funcs*/ + + PackedVaryings VertexFunction( Attributes input /*ase_vert_input*/ ) + { + PackedVaryings output = (PackedVaryings)0; + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input, output); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); + + /*ase_vert_code:input=Attributes;output=PackedVaryings*/ + #ifdef ASE_ABSOLUTE_VERTEX_POS + float3 defaultVertexValue = input.positionOS.xyz; + #else + float3 defaultVertexValue = float3(0, 0, 0); + #endif + + float3 vertexValue = /*ase_vert_out:Vertex Offset;Float3;8;-1;_Vertex*/defaultVertexValue/*end*/; + + #ifdef ASE_ABSOLUTE_VERTEX_POS + input.positionOS.xyz = vertexValue; + #else + input.positionOS.xyz += vertexValue; + #endif + + VertexPositionInputs vertexInput = GetVertexPositionInputs( input.positionOS.xyz ); + VertexNormalInputs normalInput = GetVertexNormalInputs( input.normalOS ); + + output.positionCS = vertexInput.positionCS; + output.positionWS = vertexInput.positionWS; + output.normalWS = normalInput.normalWS; + return output; + } + + #if defined(ASE_TESSELLATION) + struct VertexControl + { + float4 positionOS : INTERNALTESSPOS; + half3 normalOS : NORMAL; + /*ase_vcontrol*/ + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + struct TessellationFactors + { + float edge[3] : SV_TessFactor; + float inside : SV_InsideTessFactor; + }; + + VertexControl vert ( Attributes input ) + { + VertexControl output; + UNITY_SETUP_INSTANCE_ID(input); + UNITY_TRANSFER_INSTANCE_ID(input, output); + output.positionOS = input.positionOS; + output.normalOS = input.normalOS; + /*ase_control_code:input=Attributes;output=VertexControl*/ + return output; + } + + TessellationFactors TessellationFunction (InputPatch input) + { + TessellationFactors output; + float4 tf = 1; + float tessValue = /*ase_inline_begin*/_TessValue/*ase_inline_end*/; float tessMin = /*ase_inline_begin*/_TessMin/*ase_inline_end*/; float tessMax = /*ase_inline_begin*/_TessMax/*ase_inline_end*/; + float edgeLength = /*ase_inline_begin*/_TessEdgeLength/*ase_inline_end*/; float tessMaxDisp = /*ase_inline_begin*/_TessMaxDisp/*ase_inline_end*/; + #if defined(ASE_FIXED_TESSELLATION) + tf = FixedTess( tessValue ); + #elif defined(ASE_DISTANCE_TESSELLATION) + tf = DistanceBasedTess(input[0].positionOS, input[1].positionOS, input[2].positionOS, tessValue, tessMin, tessMax, GetObjectToWorldMatrix(), _WorldSpaceCameraPos ); + #elif defined(ASE_LENGTH_TESSELLATION) + tf = EdgeLengthBasedTess(input[0].positionOS, input[1].positionOS, input[2].positionOS, edgeLength, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams ); + #elif defined(ASE_LENGTH_CULL_TESSELLATION) + tf = EdgeLengthBasedTessCull(input[0].positionOS, input[1].positionOS, input[2].positionOS, edgeLength, tessMaxDisp, GetObjectToWorldMatrix(), _WorldSpaceCameraPos, _ScreenParams, unity_CameraWorldClipPlanes ); + #endif + output.edge[0] = tf.x; output.edge[1] = tf.y; output.edge[2] = tf.z; output.inside = tf.w; + return output; + } + + [domain("tri")] + [partitioning("fractional_odd")] + [outputtopology("triangle_cw")] + [patchconstantfunc("TessellationFunction")] + [outputcontrolpoints(3)] + VertexControl HullFunction(InputPatch patch, uint id : SV_OutputControlPointID) + { + return patch[id]; + } + + [domain("tri")] + PackedVaryings DomainFunction(TessellationFactors factors, OutputPatch patch, float3 bary : SV_DomainLocation) + { + Attributes output = (Attributes) 0; + output.positionOS = patch[0].positionOS * bary.x + patch[1].positionOS * bary.y + patch[2].positionOS * bary.z; + output.normalOS = patch[0].normalOS * bary.x + patch[1].normalOS * bary.y + patch[2].normalOS * bary.z; + /*ase_domain_code:patch=VertexControl;output=Attributes;bary=SV_DomainLocation*/ + #if defined(ASE_PHONG_TESSELLATION) + float3 pp[3]; + for (int i = 0; i < 3; ++i) + pp[i] = output.positionOS.xyz - patch[i].normalOS * (dot(output.positionOS.xyz, patch[i].normalOS) - dot(patch[i].positionOS.xyz, patch[i].normalOS)); + float phongStrength = /*ase_inline_begin*/_TessPhongStrength/*ase_inline_end*/; + output.positionOS.xyz = phongStrength * (pp[0]*bary.x + pp[1]*bary.y + pp[2]*bary.z) + (1.0f-phongStrength) * output.positionOS.xyz; + #endif + UNITY_TRANSFER_INSTANCE_ID(patch[0], output); + return VertexFunction(output); + } + #else + PackedVaryings vert ( Attributes input ) + { + return VertexFunction( input ); + } + #endif + + GBufferFragOutput frag ( PackedVaryings input + #if defined( ASE_DEPTH_WRITE_ON ) + ,out float outputDepth : ASE_SV_DEPTH + #endif + /*ase_frag_input*/ ) + { + UNITY_SETUP_INSTANCE_ID(input); + UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input); + + #if defined(LOD_FADE_CROSSFADE) + LODFadeCrossFade( input.positionCS ); + #endif + + /*ase_local_var:wp*/float3 PositionWS = input.positionWS; + /*ase_local_var:wvd*/float3 ViewDirWS = GetWorldSpaceNormalizeViewDir( PositionWS ); + /*ase_local_var:spn*/float4 ScreenPosNorm = float4( GetNormalizedScreenSpaceUV( input.positionCS ), input.positionCS.zw ); + /*ase_local_var:sp*/float4 ClipPos = ComputeClipSpacePosition( ScreenPosNorm.xy, input.positionCS.z ) * input.positionCS.w; + /*ase_local_var:spu*/float4 ScreenPos = ComputeScreenPos( ClipPos ); + /*ase_local_var:wn*/half3 NormalWS = normalize( input.normalWS ); + + /*ase_frag_code:input=PackedVaryings*/ + + float3 Color = /*ase_frag_out:Color;Float3;2;-1;_Color*/float3(0.5, 0.5, 0.5)/*end*/; + float Alpha = /*ase_frag_out:Alpha;Float;3;-1;_Alpha*/1/*end*/; + float AlphaClipThreshold = /*ase_frag_out:Alpha Clip Threshold;Float;4;-1;_AlphaClip*/0.5/*end*/; + float AlphaClipThresholdShadow = /*ase_frag_out:Alpha Clip Threshold Shadow;Float;7;-1;_AlphaClipShadow*/0.5/*end*/; + + #if defined( ASE_DEPTH_WRITE_ON ) + float DeviceDepth = /*ase_frag_out:Depth;Float;17;-1;_DepthValue*/input.positionCS.z/*end*/; + #endif + + #ifdef _ALPHATEST_ON + clip(Alpha - AlphaClipThreshold); + #endif + + InputData inputData = (InputData)0; + inputData.positionWS = PositionWS; + inputData.positionCS = float4( input.positionCS.xy, ClipPos.zw / ClipPos.w ); + inputData.normalizedScreenSpaceUV = ScreenPosNorm.xy; + inputData.normalWS = NormalWS; + inputData.viewDirectionWS = ViewDirWS; + + #if defined(_DBUFFER) + ApplyDecalToBaseColor(input.positionCS, Color); + #endif + + #if defined( ASE_DEPTH_WRITE_ON ) + outputDepth = DeviceDepth; + #endif + + SurfaceData surfaceData = (SurfaceData)0; + surfaceData.albedo = Color; + surfaceData.alpha = Alpha; + + #if defined( _SCREEN_SPACE_OCCLUSION ) // GBuffer never has transparents + float2 normalizedScreenSpaceUV = GetNormalizedScreenSpaceUV( input.positionCS ); + AmbientOcclusionFactor aoFactor = GetScreenSpaceAmbientOcclusion( normalizedScreenSpaceUV ); + surfaceData.occlusion = aoFactor.directAmbientOcclusion; + #else + surfaceData.occlusion = 1; + #endif + + return PackGBuffersSurfaceData( surfaceData, inputData, float3( 0, 0, 0 ) ); + } + + ENDHLSL + } /*ase_pass_end*/ } /*ase_lod*/ diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/About.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/About.png.meta index db785cb9..8e5e722e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/About.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/About.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Textures/About.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/About.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/Icon64.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/Icon64.png.meta index 69e5f8bd..7a479310 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/Icon64.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/Icon64.png.meta @@ -84,6 +84,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Textures/Icon64.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/Icon64.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/black.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/black.png.meta index 6248eda8..485aa931 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/black.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/black.png.meta @@ -61,6 +61,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Textures/black.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/black.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/blue.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/blue.png.meta index 9f996993..9e1f1e00 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/blue.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/blue.png.meta @@ -61,6 +61,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Textures/blue.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/blue.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/flat.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/flat.png.meta index bc986feb..d5ad5a43 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/flat.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/flat.png.meta @@ -61,6 +61,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Textures/flat.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/flat.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/green.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/green.png.meta index 04832055..6553e6ba 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/green.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/green.png.meta @@ -61,6 +61,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Textures/green.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/green.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/grey.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/grey.png.meta index d203a67e..d5182814 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/grey.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/grey.png.meta @@ -61,6 +61,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Textures/grey.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/grey.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/red.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/red.png.meta index d3784683..956ec27c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/red.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/red.png.meta @@ -61,6 +61,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Textures/red.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/red.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/white.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/white.png.meta index 0dc129a4..09c25d53 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/white.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/white.png.meta @@ -61,6 +61,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/Textures/white.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/Textures/white.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/AddToList.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/AddToList.png.meta index eabac2a3..39414fef 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/AddToList.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/AddToList.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/AddToList.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/AddToList.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Checkmark.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Checkmark.png.meta index 9b6cba75..e7af7f13 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Checkmark.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Checkmark.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Checkmark.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Checkmark.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CircularToggle_OFF_Dark.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CircularToggle_OFF_Dark.png.meta index 1ed0a11f..82717eec 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CircularToggle_OFF_Dark.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CircularToggle_OFF_Dark.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CircularToggle_OFF_Dark.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CircularToggle_OFF_Dark.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CircularToggle_ON_Dark.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CircularToggle_ON_Dark.png.meta index 7a4d8bf1..720c4f6c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CircularToggle_ON_Dark.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CircularToggle_ON_Dark.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CircularToggle_ON_Dark.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CircularToggle_ON_Dark.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupOFF.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupOFF.png.meta index 0f940f0d..fc2602bd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupOFF.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupOFF.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupOFF.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupOFF.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupOFFNew.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupOFFNew.png.meta index 1b8395dc..82bd17c5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupOFFNew.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupOFFNew.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupOFFNew.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupOFFNew.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupON.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupON.png.meta index 28069152..0ffee37f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupON.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupON.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupON.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupON.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupONNew.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupONNew.png.meta index 08664023..777daff1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupONNew.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupONNew.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupONNew.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CleanupONNew.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpAddIconActive.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpAddIconActive.png.meta index 5d08a06d..71efeced 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpAddIconActive.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpAddIconActive.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpAddIconActive.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpAddIconActive.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpAddIconNormal.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpAddIconNormal.png.meta index 39413dc2..57f02d2b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpAddIconNormal.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpAddIconNormal.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpAddIconNormal.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpAddIconNormal.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpRemoveIconActive.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpRemoveIconActive.png.meta index 6928f0c6..e66e3ebd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpRemoveIconActive.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpRemoveIconActive.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpRemoveIconActive.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpRemoveIconActive.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpRemoveIconNormal.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpRemoveIconNormal.png.meta index e5a1607e..35bc2bfd 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpRemoveIconNormal.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpRemoveIconNormal.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpRemoveIconNormal.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/CustomExpRemoveIconNormal.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/FitView.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/FitView.png.meta index 193f7204..a043a9a3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/FitView.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/FitView.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/FitView.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/FitView.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/FocusNode.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/FocusNode.png.meta index 0b8609a2..162a36db 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/FocusNode.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/FocusNode.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/FocusNode.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/FocusNode.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Help.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Help.png.meta index 9b61d57e..c11272f9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Help.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Help.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Help.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Help.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Help2.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Help2.png.meta index 295d32e7..7983278a 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Help2.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Help2.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Help2.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Help2.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ItemCleanupOFF.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ItemCleanupOFF.png.meta index 22bac510..f25d23b7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ItemCleanupOFF.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ItemCleanupOFF.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ItemCleanupOFF.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ItemCleanupOFF.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ItemCleanupON.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ItemCleanupON.png.meta index 2492354a..06e96aed 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ItemCleanupON.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ItemCleanupON.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ItemCleanupON.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ItemCleanupON.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Library.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Library.png.meta index 422e7775..648e577f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Library.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Library.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Library.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Library.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LiveOFF.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LiveOFF.png.meta index df0275ef..39ba1463 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LiveOFF.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LiveOFF.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LiveOFF.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LiveOFF.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LiveON.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LiveON.png.meta index f786696c..26ab3592 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LiveON.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LiveON.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LiveON.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LiveON.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LivePending.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LivePending.png.meta index 5a9ba27b..93052ce6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LivePending.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LivePending.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LivePending.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/LivePending.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MaximizeWindow.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MaximizeWindow.png.meta index 4f2b3629..401031bb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MaximizeWindow.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MaximizeWindow.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MaximizeWindow.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MaximizeWindow.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOff.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOff.png.meta index b6113b55..06fcec23 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOff.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOff.png.meta @@ -65,6 +65,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOff.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOff.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOffHover.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOffHover.png.meta index 65c6d77e..56aaae03 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOffHover.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOffHover.png.meta @@ -65,6 +65,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOffHover.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOffHover.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOn.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOn.png.meta index 2d304d33..4c4968bb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOn.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOn.png.meta @@ -65,6 +65,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOn.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOn.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOnHover.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOnHover.png.meta index 52541ccb..39057c55 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOnHover.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOnHover.png.meta @@ -65,6 +65,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOnHover.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotLeftOnHover.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOff.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOff.png.meta index acf689c7..da9a76c5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOff.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOff.png.meta @@ -65,6 +65,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOff.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOff.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOffHover.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOffHover.png.meta index 6eedf7cb..d616bc01 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOffHover.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOffHover.png.meta @@ -65,6 +65,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOffHover.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOffHover.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOn.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOn.png.meta index cba16fc7..5488ca1e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOn.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOn.png.meta @@ -65,6 +65,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOn.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOn.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOnHover.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOnHover.png.meta index 1148292a..1980f534 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOnHover.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOnHover.png.meta @@ -65,6 +65,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOnHover.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotMidOnHover.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOff.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOff.png.meta index c210dc64..3add7122 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOff.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOff.png.meta @@ -65,6 +65,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOff.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOff.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOffHover.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOffHover.png.meta index d7a5ca03..36ded081 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOffHover.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOffHover.png.meta @@ -65,6 +65,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOffHover.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOffHover.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOn.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOn.png.meta index c42e546b..49c88841 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOn.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOn.png.meta @@ -65,6 +65,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOn.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOn.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOnHover.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOnHover.png.meta index e75b5d87..20458a18 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOnHover.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOnHover.png.meta @@ -65,6 +65,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOnHover.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MiniBotRightOnHover.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MinimizeWindow.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MinimizeWindow.png.meta index 673396c0..6b7f033b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MinimizeWindow.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MinimizeWindow.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MinimizeWindow.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/MinimizeWindow.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/New.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/New.png.meta index 10adce01..4091c9b6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/New.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/New.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/New.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/New.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Open.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Open.png.meta index 47bd9707..b380435d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Open.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Open.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Open.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Open.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenListedShader.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenListedShader.png.meta index 2a37507a..bb7edb4c 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenListedShader.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenListedShader.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenListedShader.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenListedShader.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenSourceCodeOFF.PNG.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenSourceCodeOFF.PNG.meta index f3fa73b6..2da5a255 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenSourceCodeOFF.PNG.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenSourceCodeOFF.PNG.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenSourceCodeOFF.PNG - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenSourceCodeOFF.PNG + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenSourceCodeON.PNG.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenSourceCodeON.PNG.meta index 956482b8..cfd04079 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenSourceCodeON.PNG.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenSourceCodeON.PNG.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenSourceCodeON.PNG - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/OpenSourceCodeON.PNG + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Options.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Options.png.meta index b9e6a2f5..126bb94d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Options.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Options.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Options.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/Options.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/RemoveFromList.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/RemoveFromList.png.meta index bc0af2ea..e5cd8ff1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/RemoveFromList.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/RemoveFromList.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/RemoveFromList.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/RemoveFromList.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ResetInspectorIcon.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ResetInspectorIcon.png.meta index c19d1b20..831e1e80 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ResetInspectorIcon.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ResetInspectorIcon.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ResetInspectorIcon.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ResetInspectorIcon.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SaveOFF.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SaveOFF.png.meta index 12e7dbbc..7fe63247 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SaveOFF.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SaveOFF.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SaveOFF.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SaveOFF.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SaveON.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SaveON.png.meta index fd7002b3..f40ea43f 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SaveON.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SaveON.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SaveON.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SaveON.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SelectionAsTemplate.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SelectionAsTemplate.png.meta index 32cce002..6392ece6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SelectionAsTemplate.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SelectionAsTemplate.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SelectionAsTemplate.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SelectionAsTemplate.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShaderSelectOFF.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShaderSelectOFF.png.meta index a7b9a34e..b11961a6 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShaderSelectOFF.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShaderSelectOFF.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShaderSelectOFF.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShaderSelectOFF.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShaderSelectON.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShaderSelectON.png.meta index 9e67eb8c..863a3b37 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShaderSelectON.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShaderSelectON.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShaderSelectON.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShaderSelectON.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShareOFF.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShareOFF.png.meta index 1adf7510..7d3f8d80 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShareOFF.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShareOFF.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShareOFF.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/ShareOFF.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SliderHoriz.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SliderHoriz.png.meta index 473bf129..59e420a3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SliderHoriz.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SliderHoriz.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SliderHoriz.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/SliderHoriz.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/TakeScreenshotOFF.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/TakeScreenshotOFF.png.meta index 64465879..b214a96e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/TakeScreenshotOFF.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/TakeScreenshotOFF.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/TakeScreenshotOFF.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/TakeScreenshotOFF.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/TransparentPixel.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/TransparentPixel.png.meta index be2446b3..f2d541ef 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/TransparentPixel.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/TransparentPixel.png.meta @@ -60,6 +60,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/TransparentPixel.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/TransparentPixel.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateOFF.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateOFF.png.meta index 2d292914..44fda488 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateOFF.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateOFF.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateOFF.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateOFF.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateOutdated.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateOutdated.png.meta index 76f790b3..3624e567 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateOutdated.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateOutdated.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateOutdated.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateOutdated.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateUpToDated.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateUpToDated.png.meta index 0280e92e..9eaf2a2d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateUpToDated.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateUpToDated.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateUpToDated.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Buttons/UpdateUpToDated.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/CircleBackground.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/CircleBackground.png.meta index 0b14f099..122f3094 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/CircleBackground.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/CircleBackground.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/CircleBackground.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/CircleBackground.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Grid128.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Grid128.png.meta index ada08258..374add26 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Grid128.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Grid128.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Grid128.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Grid128.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 2.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 2.png.meta index 672ab0b5..56fbe000 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 2.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 2.png.meta @@ -86,7 +86,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 2.png - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 3.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 3.png.meta index e7f30a79..2164f863 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 3.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 3.png.meta @@ -86,7 +86,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 3.png - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 4.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 4.png.meta index 758329f9..0c9468ef 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 4.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 4.png.meta @@ -86,7 +86,7 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex 4.png - uploadId: 723576 + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex.png.meta index a6b2bef0..bda34de8 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex.png.meta @@ -86,6 +86,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/LineTex.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MainCanvasTitleBg.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MainCanvasTitleBg.png.meta index 4527b52f..7f414ebb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MainCanvasTitleBg.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MainCanvasTitleBg.png.meta @@ -98,6 +98,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MainCanvasTitleBg.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MainCanvasTitleBg.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Material.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Material.png.meta index a372805c..fc0ffded 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Material.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Material.png.meta @@ -98,6 +98,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Material.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Material.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MaterialModeIcon.PNG.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MaterialModeIcon.PNG.meta index 7ea2e005..5b8cb6a7 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MaterialModeIcon.PNG.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MaterialModeIcon.PNG.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MaterialModeIcon.PNG - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MaterialModeIcon.PNG + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MaterialModeIconOFF.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MaterialModeIconOFF.png.meta index 4b58ac2c..2786e80e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MaterialModeIconOFF.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MaterialModeIconOFF.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MaterialModeIconOFF.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/MaterialModeIconOFF.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/SelectionBox.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/SelectionBox.png.meta index b7644b87..299a9877 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/SelectionBox.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/SelectionBox.png.meta @@ -98,6 +98,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/SelectionBox.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/SelectionBox.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Shader.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Shader.png.meta index 0f9fa90e..aab74601 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Shader.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Shader.png.meta @@ -98,6 +98,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Shader.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/Shader.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunction.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunction.png.meta index 418ef52b..b98af380 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunction.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunction.png.meta @@ -98,6 +98,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunction.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunction.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionIcon.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionIcon.png.meta index 06d35a8b..083b9939 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionIcon.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionIcon.png.meta @@ -98,6 +98,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionIcon.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionIcon.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionModeIcon.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionModeIcon.png.meta index 091ca275..4bed1616 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionModeIcon.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionModeIcon.png.meta @@ -98,6 +98,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionModeIcon.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionModeIcon.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionModeIconOFF.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionModeIconOFF.png.meta index aeb61788..31e8c691 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionModeIconOFF.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionModeIconOFF.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionModeIconOFF.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderFunctionModeIconOFF.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeIcon.PNG.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeIcon.PNG.meta index ee8b3084..4caa63f4 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeIcon.PNG.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeIcon.PNG.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeIcon.PNG - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeIcon.PNG + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeIconOFF.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeIconOFF.png.meta index 222f0530..087f57b3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeIconOFF.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeIconOFF.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeIconOFF.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeIconOFF.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeMatIcon.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeMatIcon.png.meta index 63858c9e..486a04a1 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeMatIcon.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeMatIcon.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeMatIcon.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/ShaderModeMatIcon.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/TransparentOverlay.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/TransparentOverlay.png.meta index 3a00461e..0c644932 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/TransparentOverlay.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/TransparentOverlay.png.meta @@ -98,6 +98,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/TransparentOverlay.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Canvas/TransparentOverlay.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBase.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBase.png.meta index 20547b86..90404d51 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBase.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBase.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBase.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBase.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBaseLeft.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBaseLeft.png.meta index c3c8cfd1..a6619cfa 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBaseLeft.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBaseLeft.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBaseLeft.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBaseLeft.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBaseSquare.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBaseSquare.png.meta index 230d774c..5676971d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBaseSquare.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBaseSquare.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBaseSquare.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalBaseSquare.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalHeader.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalHeader.png.meta index 1a118cc3..163dc3c5 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalHeader.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalHeader.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalHeader.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/BlueNormalHeader.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ButtonBackground.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ButtonBackground.png.meta index 59bdcbc9..f7f3df08 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ButtonBackground.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ButtonBackground.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ButtonBackground.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ButtonBackground.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentNodeBase.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentNodeBase.png.meta index c2014be8..cf02baeb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentNodeBase.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentNodeBase.png.meta @@ -98,6 +98,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentNodeBase.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentNodeBase.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentaryResizeIcon.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentaryResizeIcon.png.meta index 307d30fe..b2418837 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentaryResizeIcon.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentaryResizeIcon.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentaryResizeIcon.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentaryResizeIcon.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentaryResizeIconInv.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentaryResizeIconInv.png.meta index 06250f9e..18434ad9 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentaryResizeIconInv.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentaryResizeIconInv.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentaryResizeIconInv.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/CommentaryResizeIconInv.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/FlatBackground.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/FlatBackground.png.meta index 1ffe513d..a020d271 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/FlatBackground.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/FlatBackground.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/FlatBackground.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/FlatBackground.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphButton.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphButton.png.meta index e07a4fd1..3fea1439 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphButton.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphButton.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphButton.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphButton.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphButtonActive.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphButtonActive.png.meta index 30045c21..22e62553 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphButtonActive.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphButtonActive.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphButtonActive.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphButtonActive.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphPopup.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphPopup.png.meta index 1007d6b1..b1cd1452 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphPopup.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphPopup.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphPopup.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GraphPopup.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GrayNormalHeader.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GrayNormalHeader.png.meta index 1bbdbe7c..8983b725 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GrayNormalHeader.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GrayNormalHeader.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GrayNormalHeader.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GrayNormalHeader.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GrayNormalHeaderSquare.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GrayNormalHeaderSquare.png.meta index 44a34940..a7091b94 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GrayNormalHeaderSquare.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GrayNormalHeaderSquare.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GrayNormalHeaderSquare.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/GrayNormalHeaderSquare.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NoPreview.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NoPreview.png.meta index d698382a..5e5932fa 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NoPreview.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NoPreview.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NoPreview.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NoPreview.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NodeSelected.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NodeSelected.png.meta index f4d1a156..c4183b0d 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NodeSelected.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NodeSelected.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NodeSelected.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NodeSelected.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NodeSelectedSquare.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NodeSelectedSquare.png.meta index e56346a7..546a1821 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NodeSelectedSquare.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NodeSelectedSquare.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NodeSelectedSquare.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/NodeSelectedSquare.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ObjectPickerBackgroundOutline.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ObjectPickerBackgroundOutline.png.meta index 020fb391..024f98c3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ObjectPickerBackgroundOutline.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ObjectPickerBackgroundOutline.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ObjectPickerBackgroundOutline.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ObjectPickerBackgroundOutline.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PopupPicker.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PopupPicker.png.meta index b16a3448..15127108 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PopupPicker.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PopupPicker.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PopupPicker.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PopupPicker.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewDisabled.png b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewDisabled.png new file mode 100644 index 00000000..19658476 --- /dev/null +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewDisabled.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da1a4c0dee143398290e46b94174096a7a7394c92b5fdb881c4b1c129a96f03b +size 4875 diff --git a/Assets/External/Proxima/Documentation/docs/basic-config.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewDisabled.png.meta similarity index 74% rename from Assets/External/Proxima/Documentation/docs/basic-config.png.meta rename to Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewDisabled.png.meta index bb65d428..1084d814 100644 --- a/Assets/External/Proxima/Documentation/docs/basic-config.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewDisabled.png.meta @@ -1,12 +1,12 @@ fileFormatVersion: 2 -guid: b9e1c30cb177425438b06dabf64f44a7 +guid: ecc13992716d1174aa27e126e4e9b66e TextureImporter: internalIDToNameTable: [] externalObjects: {} serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 1 + enableMipMap: 0 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -23,8 +23,6 @@ TextureImporter: isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 grayScaleToAlpha: 0 generateCubemap: 6 cubemapConvolution: 0 @@ -36,10 +34,10 @@ TextureImporter: filterMode: 1 aniso: 1 mipBias: 0 - wrapU: 0 - wrapV: 0 + wrapU: 1 + wrapV: 1 wrapW: 0 - nPOTScale: 1 + nPOTScale: 0 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -51,17 +49,14 @@ TextureImporter: spriteBorder: {x: 0, y: 0, z: 0, w: 0} spriteGenerateFallbackPhysicsShape: 1 alphaUsage: 1 - alphaIsTransparency: 0 + alphaIsTransparency: 1 spriteTessellationDetail: -1 - textureType: 0 + textureType: 2 textureShape: 1 singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 - ignorePngGamma: 0 applyGammaDecoding: 0 platformSettings: - serializedVersion: 3 @@ -76,6 +71,18 @@ TextureImporter: overridden: 0 androidETC2FallbackOverride: 0 forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 spriteSheet: serializedVersion: 2 sprites: [] @@ -89,7 +96,6 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] - nameFileIdTable: {} spritePackingTag: pSDRemoveMatte: 0 pSDShowRemoveMatteOption: 0 @@ -98,8 +104,8 @@ TextureImporter: assetBundleVariant: AssetOrigin: serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/basic-config.png - uploadId: 684082 + productId: 68570 + packageName: Amplify Shader Editor + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewDisabled.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewOff.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewOff.png.meta index be40d7af..fadc6fc3 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewOff.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewOff.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewOff.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewOff.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewOn.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewOn.png.meta index 86f9cce6..a85c5ccb 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewOn.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewOn.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewOn.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PreviewOn.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PropertyPicker.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PropertyPicker.png.meta index 9c465113..65188424 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PropertyPicker.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PropertyPicker.png.meta @@ -78,6 +78,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PropertyPicker.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/PropertyPicker.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ShaderFunctionHeaderIcon.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ShaderFunctionHeaderIcon.png.meta index fd5575b5..d0963b95 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ShaderFunctionHeaderIcon.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ShaderFunctionHeaderIcon.png.meta @@ -126,6 +126,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ShaderFunctionHeaderIcon.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/ShaderFunctionHeaderIcon.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/SliderButton.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/SliderButton.png.meta index 17dcabac..84fd441b 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/SliderButton.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/SliderButton.png.meta @@ -60,6 +60,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/SliderButton.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/SliderButton.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WhitePortOutline.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WhitePortOutline.png.meta index dd07e302..3fc7ba4e 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WhitePortOutline.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WhitePortOutline.png.meta @@ -86,6 +86,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WhitePortOutline.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WhitePortOutline.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WhitePortSolid.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WhitePortSolid.png.meta index 2439448d..c8576301 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WhitePortSolid.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WhitePortSolid.png.meta @@ -86,6 +86,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WhitePortSolid.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WhitePortSolid.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WireNodeSelection.png.meta b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WireNodeSelection.png.meta index b4f1e192..b8b09d53 100644 --- a/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WireNodeSelection.png.meta +++ b/Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WireNodeSelection.png.meta @@ -60,6 +60,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WireNodeSelection.png - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Plugins/EditorResources/UI/Nodes/WireNodeSelection.png + uploadId: 782635 diff --git a/Assets/External/AmplifyShaderEditor/Readme.txt.meta b/Assets/External/AmplifyShaderEditor/Readme.txt.meta index d427053a..01898a0c 100644 --- a/Assets/External/AmplifyShaderEditor/Readme.txt.meta +++ b/Assets/External/AmplifyShaderEditor/Readme.txt.meta @@ -10,6 +10,6 @@ AssetOrigin: serializedVersion: 1 productId: 68570 packageName: Amplify Shader Editor - packageVersion: 1.9.8.1 - assetPath: Assets/AmplifyShaderEditor/Readme.txt - uploadId: 723576 + packageVersion: 1.9.9.4 + assetPath: Assets/External/AmplifyShaderEditor/Readme.txt + uploadId: 782635 diff --git a/Assets/External/NiloToonURP/Editor/ShaderGUI/LWGUI-main/Editor/ScriptableObject/ShaderPropertyPreset.cs b/Assets/External/NiloToonURP/Editor/ShaderGUI/LWGUI-main/Editor/ScriptableObject/ShaderPropertyPreset.cs index 30d89627..a5c44a52 100644 --- a/Assets/External/NiloToonURP/Editor/ShaderGUI/LWGUI-main/Editor/ScriptableObject/ShaderPropertyPreset.cs +++ b/Assets/External/NiloToonURP/Editor/ShaderGUI/LWGUI-main/Editor/ScriptableObject/ShaderPropertyPreset.cs @@ -107,26 +107,26 @@ namespace LWGUI public void CopyFromMaterialProperty(MaterialProperty prop) { propertyName = prop.name; - switch (prop.type) + switch (prop.propertyType) { - case MaterialProperty.PropType.Color: + case UnityEngine.Rendering.ShaderPropertyType.Color: propertyType = PropertyType.Color; colorValue = prop.colorValue; break; - case MaterialProperty.PropType.Vector: + case UnityEngine.Rendering.ShaderPropertyType.Vector: propertyType = PropertyType.Vector; vectorValue = prop.vectorValue; break; - case MaterialProperty.PropType.Int: - case MaterialProperty.PropType.Float: + case UnityEngine.Rendering.ShaderPropertyType.Int: + case UnityEngine.Rendering.ShaderPropertyType.Float: propertyType = PropertyType.Float; floatValue = prop.floatValue; break; - case MaterialProperty.PropType.Range: + case UnityEngine.Rendering.ShaderPropertyType.Range: propertyType = PropertyType.Range; floatValue = prop.floatValue; break; - case MaterialProperty.PropType.Texture: + case UnityEngine.Rendering.ShaderPropertyType.Texture: propertyType = PropertyType.Texture; textureValue = prop.textureValue; break; diff --git a/Assets/External/Proxima/CHANGELOG.md b/Assets/External/Proxima/CHANGELOG.md deleted file mode 100644 index a9035ab9..00000000 --- a/Assets/External/Proxima/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2af0f382c6992002c8ccf77cb41924d3723d1f6fd17d58439e1ba709ad9d357b -size 4239 diff --git a/Assets/External/Proxima/CHANGELOG.md.meta b/Assets/External/Proxima/CHANGELOG.md.meta deleted file mode 100644 index c7daaedd..00000000 --- a/Assets/External/Proxima/CHANGELOG.md.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 53c7cf36ddcf17b4da75df27231f866e -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/CHANGELOG.md - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation.meta b/Assets/External/Proxima/Documentation.meta deleted file mode 100644 index 70c8cd0a..00000000 --- a/Assets/External/Proxima/Documentation.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9c1b8c2d6d0ab7e4d9bf92b750d7e3f2 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Documentation/_app.meta b/Assets/External/Proxima/Documentation/_app.meta deleted file mode 100644 index b75af767..00000000 --- a/Assets/External/Proxima/Documentation/_app.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6b00ed8eef4d260418c7dbdc720d3620 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Documentation/_app/immutable.meta b/Assets/External/Proxima/Documentation/_app/immutable.meta deleted file mode 100644 index f19ac4e1..00000000 --- a/Assets/External/Proxima/Documentation/_app/immutable.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b2b408a3229803e49808ec209650b32f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Documentation/_app/immutable/assets.meta b/Assets/External/Proxima/Documentation/_app/immutable/assets.meta deleted file mode 100644 index b624d544..00000000 --- a/Assets/External/Proxima/Documentation/_app/immutable/assets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f278a3789edf34542a6f3166fe0b67b6 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-1f0a7e97.css b/Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-1f0a7e97.css deleted file mode 100644 index 698fbe22..00000000 --- a/Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-1f0a7e97.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-0{top:0px}.right-0{right:0px}.bottom-5{bottom:1.25rem}.right-5{right:1.25rem}.z-20{z-index:20}.m-10{margin:2.5rem}.m-2{margin:.5rem}.m-5{margin:1.25rem}.mt-1{margin-top:.25rem}.mt-\[83px\]{margin-top:83px}.mt-5{margin-top:1.25rem}.mb-4{margin-bottom:1rem}.mt-2{margin-top:.5rem}.mt-16{margin-top:4rem}.mb-10{margin-bottom:2.5rem}.ml-2{margin-left:.5rem}.mt-10{margin-top:2.5rem}.mb-16{margin-bottom:4rem}.ml-5{margin-left:1.25rem}.ml-10{margin-left:2.5rem}.ml-8{margin-left:2rem}.mb-3{margin-bottom:.75rem}.mr-2{margin-right:.5rem}.inline{display:inline}.flex{display:flex}.table{display:table}.contents{display:contents}.hidden{display:none}.h-full{height:100%}.h-\[200px\]{height:200px}.h-0{height:0px}.min-h-screen{min-height:100vh}.min-h-full{min-height:100%}.min-h-0{min-height:0px}.w-full{width:100%}.w-\[150px\]{width:150px}.w-10{width:2.5rem}.w-1\/2{width:50%}.w-\[32px\]{width:32px}.w-\[450px\]{width:450px}.w-\[15px\]{width:15px}.w-\[300px\]{width:300px}.w-\[200px\]{width:200px}.w-\[25px\]{width:25px}.max-w-\[1000px\]{max-width:1000px}.max-w-\[1600px\]{max-width:1600px}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-10{gap:2.5rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.gap-6{gap:1.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.whitespace-nowrap{white-space:nowrap}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.border-2{border-width:2px}.border{border-width:1px}.border-l-2{border-left-width:2px}.border-b-2{border-bottom-width:2px}.border-r-0{border-right-width:0px}.border-r-2{border-right-width:2px}.border-orange-400{--tw-border-opacity: 1;border-color:rgb(251 146 60 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-\[\#888\]{--tw-border-opacity: 1;border-color:rgb(136 136 136 / var(--tw-border-opacity))}.border-\[\#21a6f0\]{--tw-border-opacity: 1;border-color:rgb(33 166 240 / var(--tw-border-opacity))}.border-r-orange-400{--tw-border-opacity: 1;border-right-color:rgb(251 146 60 / var(--tw-border-opacity))}.bg-\[\#222\]{--tw-bg-opacity: 1;background-color:rgb(34 34 34 / var(--tw-bg-opacity))}.bg-\[\#111\]{--tw-bg-opacity: 1;background-color:rgb(17 17 17 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-\[\#1d1d1d\]{--tw-bg-opacity: 1;background-color:rgb(29 29 29 / var(--tw-bg-opacity))}.bg-blue-900{--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-\[\#1D1D1D\]{--tw-bg-opacity: 1;background-color:rgb(29 29 29 / var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity: 1;background-color:rgb(22 101 52 / var(--tw-bg-opacity))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-green-900{--tw-gradient-from: #14532d;--tw-gradient-to: rgb(20 83 45 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-900{--tw-gradient-from: #1e3a8a;--tw-gradient-to: rgb(30 58 138 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-900{--tw-gradient-from: #7c2d12;--tw-gradient-to: rgb(124 45 18 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-900{--tw-gradient-from: #713f12;--tw-gradient-to: rgb(113 63 18 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-\[\#00000033\]{--tw-gradient-to: #00000033}.to-blue-700{--tw-gradient-to: #1d4ed8}.to-orange-700{--tw-gradient-to: #c2410c}.to-green-700{--tw-gradient-to: #15803d}.to-yellow-700{--tw-gradient-to: #a16207}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-16{padding-top:4rem;padding-bottom:4rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pt-\[83px\]{padding-top:83px}.pb-\[56\.25\%\]{padding-bottom:56.25%}.pt-5{padding-top:1.25rem}.pt-10{padding-top:2.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-logo{font-family:Varela Round}.font-body{font-family:Lato}.font-mono{font-family:monospace}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.font-semibold{font-weight:600}.font-bold{font-weight:700}.leading-normal{line-height:1.5}.leading-loose{line-height:2}.leading-10{line-height:2.5rem}.leading-8{line-height:2rem}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-zinc-300{--tw-text-opacity: 1;color:rgb(212 212 216 / var(--tw-text-opacity))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity))}.text-yellow-200{--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity))}.text-zinc-100{--tw-text-opacity: 1;color:rgb(244 244 245 / var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity: 1;color:rgb(236 72 153 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.placeholder-\[\#555\]::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(85 85 85 / var(--tw-placeholder-opacity))}.placeholder-\[\#555\]::placeholder{--tw-placeholder-opacity: 1;color:rgb(85 85 85 / var(--tw-placeholder-opacity))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black{--tw-shadow-color: #000;--tw-shadow: var(--tw-shadow-colored)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-green-700{--tw-ring-opacity: 1;--tw-ring-color: rgb(21 128 61 / var(--tw-ring-opacity))}.ring-blue-600{--tw-ring-opacity: 1;--tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity))}.ring-offset-2{--tw-ring-offset-width: 2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/S6uyw4BMUTPHjxAwXjeu.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/S6uyw4BMUTPHjx4wXg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Varela Round;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/w8gdH283Tvk__Lua32TysjIfpcuPP9g.woff2) format("woff2");unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Varela Round;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/w8gdH283Tvk__Lua32TysjIfqMuPP9g.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Varela Round;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/w8gdH283Tvk__Lua32TysjIfqcuPP9g.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Varela Round;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/w8gdH283Tvk__Lua32TysjIfp8uP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{scroll-padding-top:130px}.offline_show{display:none}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity))}.hover\:underline:hover{text-decoration-line:underline}@media not all and (min-width: 1024px){.max-lg\:hidden{display:none}.max-lg\:flex-wrap{flex-wrap:wrap}.max-lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}}@media not all and (min-width: 640px){.max-sm\:hidden{display:none}}@media (min-width: 640px){.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}}@media (min-width: 1024px){.lg\:mt-\[2vh\]{margin-top:2vh}.lg\:ml-\[300px\]{margin-left:300px}.lg\:hidden{display:none}.lg\:gap-\[2vh\]{gap:2vh}.lg\:pt-\[2vh\]{padding-top:2vh}.lg\:pl-10{padding-left:2.5rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}} diff --git a/Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-1f0a7e97.css.meta b/Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-1f0a7e97.css.meta deleted file mode 100644 index 8c62f7d7..00000000 --- a/Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-1f0a7e97.css.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: a11d997695a4c49a7b11e4aac0452e57 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/_app/immutable/assets/_layout-1f0a7e97.css - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-6847360b.css b/Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-6847360b.css deleted file mode 100644 index cb0b004e..00000000 --- a/Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-6847360b.css +++ /dev/null @@ -1 +0,0 @@ -a.svelte-yue6wq{color:#c5c5cf}a.svelte-yue6wq:hover{color:#fff}.doc.svelte-yue6wq{color:#c5c5cf}.doc.svelte-yue6wq a{text-decoration:underline;color:#fb923c}.doc.svelte-yue6wq a:hover{color:#fff}.doc.svelte-yue6wq td{border:1px solid white;padding:10px;min-width:150px}.doc.svelte-yue6wq img{align-self:flex-start}.doc.svelte-yue6wq video{align-self:flex-start}.doc.svelte-yue6wq h1{color:#fff;font-size:1.875rem;line-height:2.25rem;font-weight:600}.doc.svelte-yue6wq h2{color:#fff;font-size:1.25rem;line-height:1.75rem;font-weight:600;margin-top:2rem} diff --git a/Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-6847360b.css.meta b/Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-6847360b.css.meta deleted file mode 100644 index 667108e1..00000000 --- a/Assets/External/Proxima/Documentation/_app/immutable/assets/_layout-6847360b.css.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: b5e0ef40ebe73442bb08e542d48be87e -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/_app/immutable/assets/_layout-6847360b.css - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs.html b/Assets/External/Proxima/Documentation/docs.html deleted file mode 100644 index 2f33feac..00000000 --- a/Assets/External/Proxima/Documentation/docs.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

Welcome to Proxima Inspector!

- -Proxima Inspector lets you connect to your Unity game using a web browser to view game objects, logs, and more. -Proxima setup is easy, just follow these steps. - -

Installation

- -
  • Import the Proxima package to your project from the Unity Asset Store. - How do I import an asset store package? -
  • -
  • Add an empty GameObject to your scene and add a Proxima Inspector component to it.
  • -
  • Enter a display name (optional).
  • -
  • Enter a super secret password (required).
- -

Your component should now look like this:

-Proxima Component Configuration - -

5. Play your game in editor and navigate to http://127.0.0.1:7759. You should see Proxima Inspector pop up.

- -Proxima Connect Page - -

6. Click Connect and enter your password. Now you can get familiar with Proxima's features while connected to the editor.

When you're ready, learn how to connect to your built game.

-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs.html.meta b/Assets/External/Proxima/Documentation/docs.html.meta deleted file mode 100644 index 8ef37b1a..00000000 --- a/Assets/External/Proxima/Documentation/docs.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: b45089c0bd97cbb40ae999c94216a444 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs.meta b/Assets/External/Proxima/Documentation/docs.meta deleted file mode 100644 index cc0fc4da..00000000 --- a/Assets/External/Proxima/Documentation/docs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 844b6d5318021b0418d991072f657617 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Documentation/docs/all_config.html b/Assets/External/Proxima/Documentation/docs/all_config.html deleted file mode 100644 index 5e95ce38..00000000 --- a/Assets/External/Proxima/Documentation/docs/all_config.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

All Configuration Options

- -Proxima Secure Configuration - - - - - - - - - - - - - - - - - - - - - - - - - - -
PropertyDescription
Display NameThe name displayed to show in the browser when connected
PortThe port number to host the embedded Proxima server. Not used in WebGL builds.
PasswordThe password required to connect to Proxima. See the security docs.
Use HttpsEnables and disables HTTPS for encryption. See the security docs. Not used in WebGL builds.
CertificateOptional TLS certificate. By default, Proxima uses Proxima/Resources/Proxima/ProximaEmbeddedCert.pfx. See the security docs. Not used in WebGL builds.
Certificate PasswordPassword for the TLS certificate. Not used in WebGL builds.
Run On EnableAutomatically starts the Proxima server when this component is enabled.
Log Buffer SizeMaximum number of log messages to keep in memory. See the logs docs.
Instantiate Status UIInstantiates Proxima/Resources/Proxima/ProximaStatusUI.prefab on startup. This UI lets you see the current status of Proxima at the bottom of your screen.
Instantiate Connect UIInstantiates Proxima/Resources/Proxima/ProximaConnectUI.prefab on startup. This UI appears when the user presses F2 and allows the user to start and stop the server with a display name and password.
Dont Destroy On LoadAdds the gameObject with the Proxima Inspector to the DontDestroyOnLoad scene, which keeps connections alive when transitioning between scenes.
Set Run In BackgroundWhen Proxima starts, sets Application.runInBackground to true. When Proxima stops, - sets Application.runInBackground back to its previous value. This allows Proxima - to work when connecting from a browser on the same device, since otherwise Unity - will pause the app when focus is set to the browser.
-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/all_config.html.meta b/Assets/External/Proxima/Documentation/docs/all_config.html.meta deleted file mode 100644 index 7bcbef96..00000000 --- a/Assets/External/Proxima/Documentation/docs/all_config.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: deed7884a12e5b546acaba45aed60ea1 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/all_config.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/basic-config.png b/Assets/External/Proxima/Documentation/docs/basic-config.png deleted file mode 100644 index cda0d4d0..00000000 --- a/Assets/External/Proxima/Documentation/docs/basic-config.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f7972b4596e65d861eb33e141690571bf2002c2af0dc2ba2eee5ae2100f4a5bd -size 20034 diff --git a/Assets/External/Proxima/Documentation/docs/browser_warning.png b/Assets/External/Proxima/Documentation/docs/browser_warning.png deleted file mode 100644 index 78e784ec..00000000 --- a/Assets/External/Proxima/Documentation/docs/browser_warning.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bc5a16d1c922d1233c41375b45f65db07d2e964e46aa5591f9325487b076febd -size 17525 diff --git a/Assets/External/Proxima/Documentation/docs/browser_warning.png.meta b/Assets/External/Proxima/Documentation/docs/browser_warning.png.meta deleted file mode 100644 index eb0835bc..00000000 --- a/Assets/External/Proxima/Documentation/docs/browser_warning.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: 128d6655c9b7beb409e7ff62fe4617c9 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/browser_warning.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/buttons.html b/Assets/External/Proxima/Documentation/docs/buttons.html deleted file mode 100644 index 9ad17148..00000000 --- a/Assets/External/Proxima/Documentation/docs/buttons.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

Inspector Buttons

- -

You can add buttons to your components that appear in the inspector and perform some action.

- - - -

How to add a button

- -
  • Create a method in your MonoBehaviour. It cannot be static.
  • -
  • Add the ProximaButton attribute, with the text that you want to appear.
  • -
  • Buttons will appear in order at the top of the component in the inspector.
- -
[ProximaButton("Toggle Spin")]
- void Toggle()
- {
-     _spin = !_spin;
- }
-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/buttons.html.meta b/Assets/External/Proxima/Documentation/docs/buttons.html.meta deleted file mode 100644 index 09437433..00000000 --- a/Assets/External/Proxima/Documentation/docs/buttons.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 0ed34a30d500b449bb09bf8c165734d0 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/buttons.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/connect-ui.png b/Assets/External/Proxima/Documentation/docs/connect-ui.png deleted file mode 100644 index 29636bae..00000000 --- a/Assets/External/Proxima/Documentation/docs/connect-ui.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cef7d8788d1ec57f55bc92291837e294e30405f7a4a6ce30f76c2576f601cdeb -size 22074 diff --git a/Assets/External/Proxima/Documentation/docs/connect-ui.png.meta b/Assets/External/Proxima/Documentation/docs/connect-ui.png.meta deleted file mode 100644 index c5c58022..00000000 --- a/Assets/External/Proxima/Documentation/docs/connect-ui.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: ff21eba6381d51342b8e45ea028b8561 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/connect-ui.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/connect.html b/Assets/External/Proxima/Documentation/docs/connect.html deleted file mode 100644 index 51fc3745..00000000 --- a/Assets/External/Proxima/Documentation/docs/connect.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

Connect to Your Game

- -

Building your Game with Proxima (non-WebGL)

- -
  • Add an empty GameObject to your scene and add a Proxima Inspector component.
  • -
  • Assign a 4 or 5 digit port number that is not already in use on your target device.
  • -
  • If you want your connection to be encrypted, enable HTTPS. This is required for Android and iOS.
  • -
  • Your Proxima Inspector component should look something like this: - Proxima Component Configuration
  • -
  • Build, deploy, and run your game.
- -

Connecting to Your Game (non-WebGL)

-
  • Ensure that both the device running your game and the device running your browser are connected to the same local network.
  • -
  • If you've enabled the "Instantiate Connect UI", you can click the Proxima icon and click "Open in Browser". Otherwise:
  • -
  • Navigate to http://[your-ip-address]:[port]. How do I find my device's IP address?
- -
If you've enabled HTTPS, your browser may warn you that Proxima's certificate is not trusted. It is ok to bypass this warning if you're connecting to your device's IP directly on your local network. - See the Security Considerations page for more information. -
- -

Building and Connecting to Your Game (WebGL)

-
  • WebGL builds connect directly through a BroadcastChannel in the browser. The port and HTTPS options are not used.
  • -
  • This also means you cannot connect to WebGL builds remotely. You must connect in the same browser that is running the game, - and you must use the same URL origin. -
  • -
  • If you've enabled the "Instantiate Connect UI", you can click the Proxima icon and click "Open in Browser". Otherwise:
  • -
  • Navigate to http://your-game-address/path/to/game/StreamingAssets/Proxima/index.html
- -

How do I find my device's IP address?

-

If you checked Instantiate Status UI on the Proxima Inspector component, your device IP will be displayed at the bottom of your game.

-Proxima Status UI -

Alternatively, you can also find your device's IP address by:

-
  • Windows: In the command line type:
    ipconfig | findstr /C:"IPv4 Address"
  • -
  • macOS: In the terminal type:
    ifconfig getifaddr en0
  • -
  • Android: Go to "Settings > Wi-Fi Settings > ... > Advanced" and scroll to the bottom.
  • -
  • iOS: Go to "Settings > Wi-Fi > Your Wi-Fi" and scroll down.
- -

Troubleshooting

-

If you're unable to connect to Proxima, check the following:

-
  • Your game is running (not paused or in the background).
  • -
  • Both devices are on the same network.
  • -
  • The chosen port is open on the device.
  • -
  • Your device's firewall is not blocking the chosen port.
  • -
  • Your router's firewall is not blocking the chosen port.
  • -
  • For WebGL builds, you are using the same browser as the game and the same URL origin.
-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/connect.html.meta b/Assets/External/Proxima/Documentation/docs/connect.html.meta deleted file mode 100644 index 5bdcbb1d..00000000 --- a/Assets/External/Proxima/Documentation/docs/connect.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: e02f0695fb5372343898f4bd4e0bf979 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/connect.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/connect.png b/Assets/External/Proxima/Documentation/docs/connect.png deleted file mode 100644 index cd0cf411..00000000 --- a/Assets/External/Proxima/Documentation/docs/connect.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ea6f47ec5d051c056fae29bdc3c48deb420cc2ed9daad4870e51dfce1c9692b6 -size 23277 diff --git a/Assets/External/Proxima/Documentation/docs/connect.png.meta b/Assets/External/Proxima/Documentation/docs/connect.png.meta deleted file mode 100644 index 323d982f..00000000 --- a/Assets/External/Proxima/Documentation/docs/connect.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: d770431d82d1df24c8c236c81ad3d451 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/connect.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/console.html b/Assets/External/Proxima/Documentation/docs/console.html deleted file mode 100644 index 313b1800..00000000 --- a/Assets/External/Proxima/Documentation/docs/console.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

Console

- -

Basic Usages

-

The Proxima Console gives you a powerful command line utility to remotely inspect and control your game. - The Console comes with several built-in commands, and you can - write your own commands with unlimited potential.

- -Proxima Console - -

Using the Console

-
  • Type '?' to see a list of all commands.
  • -
  • Type '? <command>' to see more information about a command.
  • -
  • Type 'h' to see your history of commands.
  • -
  • Press the Up and Down arrows to cycle through your history of commands.
  • -
  • Type some characters and press Tab to cycle through auto-completion options.
- -

Examples

-
// List all gameObjects starting with cube
- > list cube*
- Cube (1) [25654]
- Cube (2) [25664]
- Cube (3) [25634]
-
- // Get the position of a specific cube
- > get [25654].transform.position
- Cube (1) [25654] [1, 2, 3]
-
- // Move the cube
- > move [25654] [0, 3, 0]
- Moved Cube (1) [25654] to [0, 3, 0]
-
- // Rotate the camera to look at the cube
- > lookat "Main Camera" [25654].transform.position
- Rotated Main Camera [23438] to [0, 3, 0]
-
- // Add a RigidBody component to the cube
- > addcomponent [25654] rigidbody
- Added Rigidbody to Cube (1) [25654]
-
- // Destroy all the cubes
- > destroy cube*
- Destroyed Cube (1) [25654]
- Destroyed Cube (2) [25664]
- Destroyed Cube (3) [25634]
-
- // Enter fullscreen
- > set screen.fullscreen true
- Set Screen.fullScreen to true
-
- // Slow down time by half
- > set time.timescale 0.5
- Set Time.timeScale to 0.5
-
- // Change TextMeshPro text
- > set text1.textmeshpro.text "banana phone"
- Set Text1.TextMeshPro.Text to banana phone
- -

Pattern Matching

-

Several built-in commands support pattern matching for gameObjects and properties:

-
  • Use asterisk (*) to as a wildcard to when specifying gameObjects. For example: cube* will match cube1 and cube23
  • -
  • Use dot notation to reference properties. For example: cube1.transform.position
  • -
  • Many commands print the gameObject's ID. You can use this ID instead of the name. For example: [25654].transform.position
- -

Types

-

Proxima Commands can process these types: bool, int, uint, float, string, Vector2, Vector2Int, Vector3, Vector3Int, Quaternion, Vector4, Rect, RectInt, Bounds, BoundsInt, Color, Enum, Array.

-
  • To pass bool use true or false
  • -
  • To pass string use quotes: "The quick brown fox".
  • -
  • To pass Vector2, Vector3, or Vector4: [1.1, 2.2, 3.3] means new Vector3(1.1, 2.2, 3.3).
  • -
  • To pass Quaternion: [10, 20, 30] means Quaternion.Euler(10, 20, 30).
  • -
  • To pass Rect: [1, 2, 3, 4] means new Rect(1, 2, 3, 4).
  • -
  • To pass Bounds: [1, 2, 3, 4, 5, 6] means new Bounds(new Vector3(1, 2, 3), new Vector3(4, 5, 6)).
  • -
  • To pass Color use hexidecimal format: #FF0000 means red.
  • -
  • You can also pass an array of the same type to a List or Array C# parameter, for example, [1, 2, 3, 4, 5].
- -

Learn more about the powerful built-in commands.

-

Learn how to write your own custom commands.

- -

Running Scripts

-

You can automate the Proxima Console to run commands in sequence. This might be helpful if you need to read many values repeatedly or setup a scene in a predefined way.

-
  • Create a text file with a list of commands, one per line. Blank lines are ignored.
  • -
  • Click "Run Script" in the console and select your file. The console will run each command in sequence.
- -Run Script button
-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/console.html.meta b/Assets/External/Proxima/Documentation/docs/console.html.meta deleted file mode 100644 index d8111662..00000000 --- a/Assets/External/Proxima/Documentation/docs/console.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 8fcdf6627a00623469e8bbe57390f5fe -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/console.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/console.png b/Assets/External/Proxima/Documentation/docs/console.png deleted file mode 100644 index 49dc8a35..00000000 --- a/Assets/External/Proxima/Documentation/docs/console.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fe016205a3098445dd2e4819d541ce6d329a09c55649adb06db544666bcc3014 -size 82616 diff --git a/Assets/External/Proxima/Documentation/docs/console.png.meta b/Assets/External/Proxima/Documentation/docs/console.png.meta deleted file mode 100644 index 10204706..00000000 --- a/Assets/External/Proxima/Documentation/docs/console.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: 42a62eedd641c3e43af5e0d39886bc22 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/console.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/console_built_in.html b/Assets/External/Proxima/Documentation/docs/console_built_in.html deleted file mode 100644 index fd7cc21a..00000000 --- a/Assets/External/Proxima/Documentation/docs/console_built_in.html +++ /dev/null @@ -1,272 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

Built-in Commands

- -

General Commands

-
-

Get

-
(g)
-
pattern
-

Alias: g

-

Get the value of the given property. Can be used with most gameObject properties, component properties, and some statics including: Application, Time, Physics, Screen, AudioSettings, QualitySettings, Input, Physics2D.

-

Parameters:

-

pattern: String

-

> g cube*.transform.position -
Cube1 [123] [1, 2, 3]
Cube2 [456] [1, 2, 3]
Cube3 [789] [1, 2, 3]

-

-

-

Set

-
(s)
-
property
value
-

Alias: s

-

Set the value of the given property. Can be used with most gameObject properties, component properties, and some statics including: Application, Time, Physics, Screen, AudioSettings, QualitySettings, Input, Physics2D.

-

Parameters:

-

property: String

value: Object

-

> s cube*.transform.position [1, 2, 3] -
Set Cube1 [123] to [1, 2, 3]
Set Cube2 [456] to [1, 2, 3]
Set Cube3 [789] to [1, 2, 3]

-

-

Scene Commands

-
-

Load

-
(ld)
-
sceneOrIndex
(additive)
-

Alias: ld

-

Load scene by name or build index. If additive is true, the scene is added to the current scene.

-

Parameters:

-

sceneOrIndex: String

additive: Boolean (Default: false)

-

> ld SampleScene -
Loading scene SampleScene.

-

-

-

Unload

-
(ul)
-
sceneOrIndex
-

Alias: ul

-

Unload scene by name or build index.

-

Parameters:

-

sceneOrIndex: String

-

> ul SampleScene -
Unloading scene SampleScene.

-

-

GameObject Commands

-
-

AddComponent

-
(ac)
-
name
component
-

Alias: ac

-

Add the component to all gameObjects with the given name.

-

Parameters:

-

name: String

component: String

-

> ac cube* Rigidbody -
Added Rigidbody to Cube1 [123]
Added Rigidbody to Cube2 [456]
Added Rigidbody to Cube3 [789]

-

-

-

Destroy

-
(x)
-
name
-

Alias: x

-

Destroy all game objects with the given name.

-

Parameters:

-

name: String

-

> x cube* -
Destroyed Cube1 [123]
Destroyed Cube2 [456]
Destroyed Cube3 [789]

-

-

-

Disable

-
(d)
-
name
-

Alias: d

-

Disable the given gameObjects.

-

Parameters:

-

name: String

-

> d cube* -
Disabled Cube1 [123]
Disabled Cube2 [456]
Disabled Cube3 [789]

-

-

-

Enable

-
(e)
-
name
-

Alias: e

-

Enable the given gameObjects.

-

Parameters:

-

name: String

-

> e cube* -
Enabled Cube1 [123]
Enabled Cube2 [456]
Enabled Cube3 [789]

-

-

-

GetComponents

-
(comp)
-
name
-

Alias: comp

-

Get the components of the given gameObjects.

-

Parameters:

-

name: String

-

> comp cube1 -
Cube1 [123] Components:
Transform
MeshFilter
MeshRenderer

-

-

-

Instantiate

-
(i)
-
prefabName
(position)
(rotation)
(parent)
-

Alias: i

-

Instantiate a prefab by name with optional position, rotation, and parent transform.

-

Parameters:

-

prefabName: String

position: Vector3 (Default: [0,0,0])

rotation: Quaternion (Default: [0,0,0])

parent: Transform (Default: null)

-

> i SamplePrefab [0, 1, 0] [0, 45, 0] cube.transform -
Instantiated SamplePrefab(Clone) [123].

-

-

-

List

-
(ls)
-
(name)
-

Alias: ls

-

List all game objects with the given name.

-

Parameters:

-

name: String (Default: *)

-

> ls cube* -
Cube1 [123]
Cube2 [456]
Cube3 [789]

-

-

-

LookAt

-
(lk)
-
name
(target)
(worldUp)
-

Alias: lk

-

Look at the given target.

-

Parameters:

-

name: String

target: Vector3 (Default: [0,0,0])

worldUp: Vector3 (Default: [0,0,0])

-

> lk cube* player1.transform.position -
Rotated Cube1 [123] to [0, 1, 0]
Rotated Cube2 [456] to [0, 1, 0]
Rotated Cube3 [789] to [0, 1, 0]

-

-

-

Move

-
(mv)
-
name
(position)
(local)
-

Alias: mv

-

Move all game objects with the given name to the given position.

-

Parameters:

-

name: String

position: Vector3 (Default: [0,0,0])

local: Boolean (Default: false)

-

> mv cube* [0, 1, 0] -
Moved Cube1 [123] to [0, 1, 0]
Moved Cube2 [456] to [0, 1, 0]
Moved Cube3 [789] to [0, 1, 0]

-

-

-

RemoveComponent

-
(rc)
-
name
component
-

Alias: rc

-

Remove the component from all gameObjects with the given name.

-

Parameters:

-

name: String

component: String

-

> rc cube* Rigidbody -
Removed Rigidbody from Cube1 [123]
Removed Rigidbody from Cube2 [456]
Removed Rigidbody from Cube3 [789]

-

-

-

Rotate

-
(rt)
-
name
(rotation)
(local)
-

Alias: rt

-

Rotate all game objects with the given name to the given rotation.

-

Parameters:

-

name: String

rotation: Quaternion (Default: [0,0,0])

local: Boolean (Default: false)

-

> rt cube* [0, 45, 0] -
Rotated Cube1 [123] to [0, 45, 0]
Rotated Cube2 [456] to [0, 45, 0]
Rotated Cube3 [789] to [0, 45, 0]

-

-

-

Scale

-
(sc)
-
name
(scale)
-

Alias: sc

-

Scale all game objects with the given name to the given scale.

-

Parameters:

-

name: String

scale: Vector3 (Default: [0,0,0])

-

> sc cube* [2, 2, 2] -
Scaled Cube1 [123] to [2, 2, 2]
Scaled Cube2 [456] to [2, 2, 2]
Scaled Cube3 [789] to [2, 2, 2]

-

-

-

SendMessage

-
(sm)
-
name
method
-

Alias: sm

-

Call a method on all gameObjects with the given name using SendMessage.

-

Parameters:

-

name: String

method: String

-

> sm cube* OnHit -
Sent message OnHit to Cube1 [123]
Sent message OnHit to Cube2 [456]
Sent message OnHit to Cube3 [789]

-

-

-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/console_built_in.html.meta b/Assets/External/Proxima/Documentation/docs/console_built_in.html.meta deleted file mode 100644 index 41f98ab8..00000000 --- a/Assets/External/Proxima/Documentation/docs/console_built_in.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: d956d92be1b02d44c8d87fa255b3e689 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/console_built_in.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/console_custom.html b/Assets/External/Proxima/Documentation/docs/console_custom.html deleted file mode 100644 index 006979df..00000000 --- a/Assets/External/Proxima/Documentation/docs/console_custom.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

Custom Commands

- -

Simple Example: Get the position of a gameObject by name.

- -

Define a new command GetPosition to take the name of the gameObject as an argument and return its position.

- -
public static class MyCommands
- {
-     [ProximaCommand("My", "gp")]
-     public static Vector3 GetPosition(string name)
-     {
-         var go = GameObject.Find(name);
-         if (go == null) throw new Exception("GameObject not found.");
-         return go.transform.position;
-     }
- }
- -

The first argument to ProximaCommand is the category which will appear when the user types "?". - The second argument is an alias, or shortcut you can use instead of the full command name.

- -

In order for Proxima to find your command, you need to register its class. For example, you can do this in Awake() of one of your components:

- -
void Awake()
- {
-     ProximaInspector.RegisterCommands<MyComands>();
- }
- -

Now you can invoke your command in the Console by typing:

- -
> GetPosition "Main Camera"
- [0,1,-10] -
-

or

-
> gp "Main Camera"
- [0,1,-10] -
- -

Pattern matching gameObjects

-

Often, scenes have multiple gameObjects with the same name. Sometimes, the user doesn't know or doesn't want to type the full name. - Instead of GameObject.Find, you can use ProximaCommandHelpers.FindGameObject to pattern match the user input. -

-
[ProximaCommand("My", "gp")]
- public static string GetPosition(string name)
- {
-     var gameObjects = ProximaCommandHelpers.FindGameObjects(name);
-     if (gameObjects.Count == 0)
-     {
-         throw new Exception($"No game object found with name '{name}'");
-     }
-
-     var sb = new StringBuilder();
-     foreach (var go in gameObjects)
-     {
-         sb.AppendLine(go.name + " [" + go.GetInstanceID() + "] " +
-             ProximaSerialization.Serialize(go.transform.position, true));
-     }

-     return sb.ToString();
- }
- -
> gp *camera
- Main Camera [23162] [0, 1, -10] -
- - -

Command Parameters

-

Add parameters to your command by adding arguments to your method.

- -
[ProximaCommand("My", "addv")]
- public static Vector3 AddVectors(Vector3 lhs, Vector3 rhs)
- {
-     return lhs + rhs;
- }
- -
> addv [1, 2, 3] [4, 5, 6]
- [5,7,9] -
- -

Pattern matching parameters

-

Instead of explicitly taking a Vector3 as an argument, you can use the PropertyOrValue wrapper to accept either a Vector3 or a property.

- -
[ProximaCommand("My", "addv")]
- public static Vector3 AddVectors(PropertyOrValue<Vector3> lhs, PropertyOrValue<Vector3> rhs)
- {
-     return lhs.Get() + rhs.Get();
- }
- -
> addv *camera.transform.position panel.transform.position
- [474.5,1,-10] -
-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/console_custom.html.meta b/Assets/External/Proxima/Documentation/docs/console_custom.html.meta deleted file mode 100644 index e65e62af..00000000 --- a/Assets/External/Proxima/Documentation/docs/console_custom.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 83c38fc2f0b168e489bb5118333ee97c -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/console_custom.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/deeplinks.html b/Assets/External/Proxima/Documentation/docs/deeplinks.html deleted file mode 100644 index a2e44c9c..00000000 --- a/Assets/External/Proxima/Documentation/docs/deeplinks.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

Deep Links

- -

You can use URL query parameters to automatically log in, navigate to a page, search for gameObject, and even run console commands.

- -

Examples

-
// Automatically log in, navigate to the inspector page, and search for "player"
- > http://127.0.0.1:7759?pass=1234&page=inspector&s=player -

- // Automatically log in, navigate to the inspector page, and select the gameObject with the name "player"
- > http://127.0.0.1:7759?pass=1234&page=inspector&go=player -

- // Automatically log in, navigate to the console page, and run "ls player"
- > http://127.0.0.1:7759?pass=1234&page=console&run=ls%20player -
- -

General Parameters

- - - - - -
ParameterDescription
passAutomatically connects with the given password.
pageNavigates to the given page. Options are "inspector", "logs", and "console"
- -

Inspector Parameters

- - - - - -
ParameterDescription
sSets the gameObject search filter
goAutomatically selects the gameObject with the given name
- -

Console Parameters

- - - -
ParameterDescription
runRuns the given console command
-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/deeplinks.html.meta b/Assets/External/Proxima/Documentation/docs/deeplinks.html.meta deleted file mode 100644 index 3a00ce6f..00000000 --- a/Assets/External/Proxima/Documentation/docs/deeplinks.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 844576d597f144ae0a2184f9ef68b223 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/deeplinks.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/device-config.png b/Assets/External/Proxima/Documentation/docs/device-config.png deleted file mode 100644 index f2a7ec38..00000000 --- a/Assets/External/Proxima/Documentation/docs/device-config.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:399b5c90631065e867475afb21fb9b3a85ec00352211df16281249a75358a135 -size 23631 diff --git a/Assets/External/Proxima/Documentation/docs/device-config.png.meta b/Assets/External/Proxima/Documentation/docs/device-config.png.meta deleted file mode 100644 index 7510e40c..00000000 --- a/Assets/External/Proxima/Documentation/docs/device-config.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: 3bdee37772784b44798feaccd4e13fcd -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/device-config.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/faq.html b/Assets/External/Proxima/Documentation/docs/faq.html deleted file mode 100644 index 908021de..00000000 --- a/Assets/External/Proxima/Documentation/docs/faq.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

Proxima Inspector FAQ

- -
-

Proxima supports editing most types of properties:

-
Supported Property Types:
-
  • All C# built-in value types, except decimal.
  • -
  • string, Vector2, Vector2Int, Vector3, Vector3Int, Quaternion, Vector4, Rect, RectInt, Bounds, BoundsInt, Color, LayerMask
  • -
  • All enums and flags.
  • -
  • Any struct or class marked as [Serializable] (since Update 1.2).
  • -
  • View, but not edit, all Unity object references (GameObjects, Components, Assets, etc.)
  • -
  • Arrays and Lists of any of the above.
-

If you think Proxima is missing an important type, please post your suggestion on the Discord Server.

- -
-

Proxima Inspector is designed to have minimal impact on your game performance. It uses a WebSocket connection to send minimal changes to the browser, and will only performs work when the relevant browser page is open:

-
  • Hierarchy Page: To detect these updates, Proxima will scan up to 10 gameObjects per frame for changes. You can modify this number by changing "ProximaInspector.MaxGameObjectUpdatesPerFrame".
  • -
  • Inspector Page: Proxima will scan one component on the selected gameObject per frame for property changes. You can adjust the frequency each component is scanned by adjusting ProximaInspector.MaxComponentUpdateFrequency.
  • -
  • Logs Page: Proxima records log messages in a circular list so that you can see what happened in the recent past when you visit the Logs page. You can change the size of this list by editing the Log Buffer Size property on the inspector component.
  • -
  • Console Page: No performance impact until a command is issued.
- -
-

Unity does not preserve the order of gameObjects in the scene of a built game. Even assigning a sibling index to the transform component will have no effect. This is why you can't reorder root gameObjects. -

- -
-

Proxima searches for serialized fields on components to display them in the inspector. This is the same as Unity's default behavior for MonoBehaviours. - However, some components have custom editors which control their appearance in the Unity inspector. - All custom editor code is stripped out of a built game, and so Proxima cannot access this information. -

- -
-
Managed Code Stripping - may be removing some fields or properties from a built game if they are not used by your game code. By default, this happens for built-in Unity component properties which are - configured in the editor, but not referenced in your code. You can control this setting under
"Project Settings > Player > Optimization > Managed Stripping Level"

- -

Proxima prevents code stripping for many Unity component properties like Transform's localPosition by explicitly referencing them - in Proxima/Runtime/Generated/ProximaReflection.Generated.cs. You can use one of the techniques described in the link above to prevent your components from being stripped.

- -
-

Unity does not preserve the list of tags in a built game. You can assign a tag to any string. -

- -
-

Proxima depends on Unity's update loop to detect gameObject and component updates. - When your game is not in focus, the update loop may be paused. You can configure this setting in Unity under: - "Project Settings > Player > Resolution and Presentation > Run In Background" -

-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/faq.html.meta b/Assets/External/Proxima/Documentation/docs/faq.html.meta deleted file mode 100644 index 76e5c26a..00000000 --- a/Assets/External/Proxima/Documentation/docs/faq.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: a357ca48b25c5744f8a3e484b2d8cf16 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/faq.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/features.html b/Assets/External/Proxima/Documentation/docs/features.html deleted file mode 100644 index cc03dae4..00000000 --- a/Assets/External/Proxima/Documentation/docs/features.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

Feature Overview

- -

GameObject Inspector

-

The GameObject Inspector lets you view and edit any gameObject and component in your scene, just like the Unity inspector.

-Proxima Inspector Page - -

Logs

-

The Log Viewer lets you see logs in real time or save logs for offline viewing.

-Proxima Inspector Page - -

Console

-

The Console is a powerful command line utility to remotely inspect and control your game.

-Proxima Inspector Page
-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/features.html.meta b/Assets/External/Proxima/Documentation/docs/features.html.meta deleted file mode 100644 index ab483078..00000000 --- a/Assets/External/Proxima/Documentation/docs/features.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: d129a0acfa95e2a468333fb7f3138c50 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/features.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/gameobjectsearch.png b/Assets/External/Proxima/Documentation/docs/gameobjectsearch.png deleted file mode 100644 index dd9b5868..00000000 --- a/Assets/External/Proxima/Documentation/docs/gameobjectsearch.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f62a7a8cd20a0b4703e0b06fd0f84a52fa915aed7096726b6435c9d4b08f8517 -size 4835 diff --git a/Assets/External/Proxima/Documentation/docs/gameobjectsearch.png.meta b/Assets/External/Proxima/Documentation/docs/gameobjectsearch.png.meta deleted file mode 100644 index 055464e2..00000000 --- a/Assets/External/Proxima/Documentation/docs/gameobjectsearch.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: 3fafd92a98320374ba634c32bcd3df2b -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/gameobjectsearch.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/inspector.html b/Assets/External/Proxima/Documentation/docs/inspector.html deleted file mode 100644 index 627142f7..00000000 --- a/Assets/External/Proxima/Documentation/docs/inspector.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

GameObject Inspector

- -

Basic Usage

-

The GameObject Inspector lets you view and edit any gameObject and component in your scene, just like the Unity inspector.

- -Proxima Inspector Page - -

The left side displays the gameObject hierarchy. Select a gameObject to view its properties and components in the inspector on the right side.

-
The inspector works just like the Unity inspector, but some properties may appear differently (see the FAQ). -
- -

Reordering and Reparenting GameObjects

-

You can reorder or reparent gameObjects by dragging them in the hierarchy.

- - -

Finding GameObjects

-

You can search for a gameObject by name in the Search Box.

-GameObject Search - -

Showing Hidden GameObjects and Components

-

GameObjects and Components which are hidden with hideFlags can be made visible in Proxima by clicking the Show Hidden toggle.

- -

Creating New GameObjects

-

You can create an empty gameObject and its children by pressing the "New" button.

- -

Duplicating GameObjects

-

You can duplicate a gameObject and its children by pressing the "Duplicate" button or Ctrl-D key while the gameObject is selected.

- -

Destroying GameObjects

-

You can destroy a gameObject and its children by pressing the "Destroy" button or the delete key while the gameObject is selected.

- -

Changing Properties

-

Change a property value by entering a value or dragging left-right on its name.

- - - -
-
Proxima supports many different types of properties, including most primitives, structs, and arrays. For the full list of supported properties, see the FAQ.
- -

Destroying Components

-

You can destroy a component the "Destroy" button next to the component name.

- -

Adding Components

-

You can add a component by typing its class name without spaces in the input field at the bottom of the inspector.

- -
-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/inspector.html.meta b/Assets/External/Proxima/Documentation/docs/inspector.html.meta deleted file mode 100644 index 7e6b227c..00000000 --- a/Assets/External/Proxima/Documentation/docs/inspector.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: d0ff2e8c5fe0494438e152f3b3e2eda6 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/inspector.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/inspector.png b/Assets/External/Proxima/Documentation/docs/inspector.png deleted file mode 100644 index 9f1946be..00000000 --- a/Assets/External/Proxima/Documentation/docs/inspector.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e6a593a85e94f9a1ae56feebe624084250522a46f50f4b69999c48ef1c117679 -size 155633 diff --git a/Assets/External/Proxima/Documentation/docs/inspector.png.meta b/Assets/External/Proxima/Documentation/docs/inspector.png.meta deleted file mode 100644 index e0e248c8..00000000 --- a/Assets/External/Proxima/Documentation/docs/inspector.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: 5a5da6e76a3e76245b1a980870652617 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/inspector.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/log-controls.png b/Assets/External/Proxima/Documentation/docs/log-controls.png deleted file mode 100644 index a3cbef9a..00000000 --- a/Assets/External/Proxima/Documentation/docs/log-controls.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f58fe7aa13453088cebfd76f3590c22b7b43eb8307285e182ce573ebaa7e11c7 -size 4252 diff --git a/Assets/External/Proxima/Documentation/docs/log-controls.png.meta b/Assets/External/Proxima/Documentation/docs/log-controls.png.meta deleted file mode 100644 index 8dc0ed55..00000000 --- a/Assets/External/Proxima/Documentation/docs/log-controls.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: d47e5a200492f814289d5c7666c7c966 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/log-controls.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/logs.html b/Assets/External/Proxima/Documentation/docs/logs.html deleted file mode 100644 index f60da2a4..00000000 --- a/Assets/External/Proxima/Documentation/docs/logs.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

Logs Viewer

- -

Basic Usage

-

Proxima lets you view logs from your game similarly to the Unity console.

-Proxima Log Viewer - -

Options

-

Let's look at some of the options.

- -Log Controls - -
  • Clear: clear the log window.
  • -
  • Collapse: collapse similar logs together to a single line.
  • -
  • Pause: temporarily stop receiving logs from the game.
  • -
  • Save: options to save the log file for offline viewing. See Viewing Logs Offline.
  • -
  • Load: load a previously saved log file. See Viewing Logs Offline.
  • -
  • Search: Filter logs by a search term.
  • -
  • Info / Warning / Error Toggles: Filter logs by info, warning, or error.
- -

Stack Traces

-

When a log is selected, you can see the full log message and stack trace at the bottom of the window.

- -
Hint: You can enable or disable stack traces for different log types in Unity's project settings: - "Project Settings > Player > Stack Trace" -
-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/logs.html.meta b/Assets/External/Proxima/Documentation/docs/logs.html.meta deleted file mode 100644 index a654e728..00000000 --- a/Assets/External/Proxima/Documentation/docs/logs.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 87ce81e82190821459e35627e688930f -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/logs.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/logs.png b/Assets/External/Proxima/Documentation/docs/logs.png deleted file mode 100644 index 5553e2c4..00000000 --- a/Assets/External/Proxima/Documentation/docs/logs.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fbba317d3792fe9229a861b00831dadb44c885086098b2c8ae17a5149231c8be -size 101448 diff --git a/Assets/External/Proxima/Documentation/docs/logs.png.meta b/Assets/External/Proxima/Documentation/docs/logs.png.meta deleted file mode 100644 index 8a035fc9..00000000 --- a/Assets/External/Proxima/Documentation/docs/logs.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: e782a82ba05af5a478d3072d84772ee5 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/logs.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/password-warning.png b/Assets/External/Proxima/Documentation/docs/password-warning.png deleted file mode 100644 index 6ad8840a..00000000 --- a/Assets/External/Proxima/Documentation/docs/password-warning.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:33b156c10104d5b18dd15fe0398dab587abb96de54a5a54815604c6cfe4e597d -size 8198 diff --git a/Assets/External/Proxima/Documentation/docs/password-warning.png.meta b/Assets/External/Proxima/Documentation/docs/password-warning.png.meta deleted file mode 100644 index 3b57ab95..00000000 --- a/Assets/External/Proxima/Documentation/docs/password-warning.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: 8f9e2bbb4b83ffa4eb19aba1ee22bf34 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/password-warning.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/run-script.png b/Assets/External/Proxima/Documentation/docs/run-script.png deleted file mode 100644 index 064688e3..00000000 --- a/Assets/External/Proxima/Documentation/docs/run-script.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:65dd670366d17382751b04aaf62af57b3b98c0f345aead88146763c8cb75cb9d -size 43594 diff --git a/Assets/External/Proxima/Documentation/docs/run-script.png.meta b/Assets/External/Proxima/Documentation/docs/run-script.png.meta deleted file mode 100644 index b505ac19..00000000 --- a/Assets/External/Proxima/Documentation/docs/run-script.png.meta +++ /dev/null @@ -1,155 +0,0 @@ -fileFormatVersion: 2 -guid: 060e78b3f414d2c499a081ebeddc8fbf -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - 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: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/run-script.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/secure-config.png b/Assets/External/Proxima/Documentation/docs/secure-config.png deleted file mode 100644 index d121f87e..00000000 --- a/Assets/External/Proxima/Documentation/docs/secure-config.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8ecc135c6f6def6d2b165c8642668d6f177454d2c6341d4388108b68d1de78e6 -size 19753 diff --git a/Assets/External/Proxima/Documentation/docs/secure-config.png.meta b/Assets/External/Proxima/Documentation/docs/secure-config.png.meta deleted file mode 100644 index 98450298..00000000 --- a/Assets/External/Proxima/Documentation/docs/secure-config.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: 1f819dedfa86808429961506ceca924b -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/secure-config.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/security.html b/Assets/External/Proxima/Documentation/docs/security.html deleted file mode 100644 index 652339f4..00000000 --- a/Assets/External/Proxima/Documentation/docs/security.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

Security Considerations

- -

Proxima Inspector is a powerful tool that can be used to control and debug your game. It is important to understand the security implications when using Proxima Inspector. - Potentially any information in your game can be read with Proxima, or by anyone eavesdropping on your connection if encryption is not enabled.

-

To protect your game from unwanted access, follow the guidelines on this page.

- -

Secure Configuration

-

At a glance, this is what the most secure configuration of Proxima looks like:

- -Secure Proxima Component Configuration - -

Notice that:

-
  • Use Https is checked.
  • -
  • No password is specified.
  • -
  • Run On Enable is disabled.
  • -
  • Instantiate Connect UI is enabled.
- -

The rest of this page will go over each of these options.

- -

Use Https

- -

HTTPS is a protocol for secure communication over a network. It is used to encrypt data sent between your game and Proxima Inspector.

- -

Enabling HTTPS is easy. Simply check the Use HTTPS box on the Proxima Inspector component. - You may also need to add a new rule to your firewall to allow HTTPS traffic on your configured port.

- -

(Optional) TLS Certificate

- -

HTTPS requires a TLS certificate to encrypt data. Proxima Inspector uses a self-signed certificate by default, which is not trusted by most browsers. - The first time you try to access Proxima Inspector, you may see a warning like this that the certificate is not trusted.

- -Chrome certificate warning - -

This is normal, and you can safely bypass the warning by clicking "Advanced -> Proceed". Your browser is warning you that it cannot validate the identity of the server, - but if you are connecting directly to your device by IP address, then you can be sure that you are connecting to the correct server. -

- -

If you want to use your own certificate, import the PFX file and assign it to the Certificate property of the Proxima Inspector component. -

- -

Password Security

- -

Proxima Inspector uses a password to authenticate your connection. If you type a password into the Proxima Inspector component, you will see this warning:

- -Password warning - -

Unity assets, including your Proxima Inspector configuration are not secured and can be data mined by players easily. Instead of entering a password, - it is recommended to have a user interface in which the player can create a password for Proxima to use at runtime. Alternatively, you can - design an interface to display a random password on the screen.

- -

The Proxima package includes a Connect UI prefab that you can use. To use it: -

  • Check Instantiate Connect UI.
  • -
  • Clear the Password field.
  • -
  • Uncheck Run on Enable. This will prevent Proxima from trying to start automatically.
  • -
  • Run the game and press Proxima logo on the bottom-right to show and hide the Connect UI.
- -Proxima Connect UI
-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/security.html.meta b/Assets/External/Proxima/Documentation/docs/security.html.meta deleted file mode 100644 index f83370dc..00000000 --- a/Assets/External/Proxima/Documentation/docs/security.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: ff14e6eadcc72a9489ff77cdf43539c5 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/security.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/status-ui.png b/Assets/External/Proxima/Documentation/docs/status-ui.png deleted file mode 100644 index df3d2c37..00000000 --- a/Assets/External/Proxima/Documentation/docs/status-ui.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:df18b6f7fb9521ea8a3d5fbbfe13d839607cc72a8f99287f23fa72eba3861744 -size 7966 diff --git a/Assets/External/Proxima/Documentation/docs/status-ui.png.meta b/Assets/External/Proxima/Documentation/docs/status-ui.png.meta deleted file mode 100644 index 84daad37..00000000 --- a/Assets/External/Proxima/Documentation/docs/status-ui.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: a43070c5d120db04db1131b43874a843 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/status-ui.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/supported_platforms.html b/Assets/External/Proxima/Documentation/docs/supported_platforms.html deleted file mode 100644 index 936e0562..00000000 --- a/Assets/External/Proxima/Documentation/docs/supported_platforms.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

Supported Platforms

- -

Proxima Inspector works by running an HTTP and WebSocket server in your game, which you can connect to from a web browser.

- -

Proxima has been tested with different Unity versions on the following platforms. See the test matrix below.

- -
  • Windows (Win32 and UWP)
  • -
  • OSX
  • -
  • Android (+Meta Quest)
  • -
  • iOS
  • -
  • WebGL
- -

Platform to Unity Version Test Results

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PlatformAPI CompatibilityScripting Backend2019.4.132021.3.52022.2.3
Windows Editor.NET StandardN/APassPassPass
Windows Editor.NET FrameworkN/APassPassPass
Windows.NET StandardMonoPassPassPass
Windows.NET StandardIL2CPPPassPassPass
Windows.NET FrameworkMonoPassPassPass
Windows.NET FrameworkIL2CPPPassPassPass
OSX Editor.NET StandardN/APassPassPass
OSX Editor.NET FrameworkN/APassPassPass
OSX.NET StandardMonoPassPassPass
OSX.NET StandardIL2CPPPassPassPass
OSX.NET FrameworkMonoPassPassPass
OSX.NET FrameworkIL2CPPPassPassPass
Android [1].NET StandardMonoPassPassPass
Android [1].NET StandardIL2CPPPassPassPass
Android [1].NET FrameworkMonoPassPassPass
Android [1].NET FrameworkIL2CPPPassPassPass
iOS [1].NET StandardIL2CPPPassPassPass
iOS [1].NET FrameworkIL2CPPPassPassPass
UWP [2].NET StandardIL2CPPPassPassPass
UWP [2].NET FrameworkIL2CPPPassPassPass
WebGL [3].NET StandardIL2CPPPassPassPass
WebGL [3].NET FrameworkIL2CPPPassPassPass
- -
[1] Android and iOS builds may require HTTPS to be enabled. Learn how to enable HTTPS on the Security Considerations page.
- -
[2] UWP apps need to enable InternetClientServer and PrivateNetworkClientServer capabilities in Player Settings > Publish Settings
- Loopback is disabled by default for UWP applications. See https://learn.microsoft.com/en-us/windows/uwp/communication/interprocess-communication#loopback
- -
[3] WebGL is supported as of version 1.2, but works differently than other platforms. Since a web browser cannot host a server. - Your app will communicate with Proxima using a BroadcastChannel between windows in the browser. At the moment, it is not possible to connect to WebGL builds remotely. -

Ensure you deploy the StreamingAssets/Proxima directory with your WebGL build, which contains the Proxima inspector web app. -
- -
If you're having issues with your platform, please report issues on the Discord Server.
-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/supported_platforms.html.meta b/Assets/External/Proxima/Documentation/docs/supported_platforms.html.meta deleted file mode 100644 index e68fbab2..00000000 --- a/Assets/External/Proxima/Documentation/docs/supported_platforms.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 8be6fd4993b157444994cf1a979a101c -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/supported_platforms.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/docs/viewing_logs_offline.html b/Assets/External/Proxima/Documentation/docs/viewing_logs_offline.html deleted file mode 100644 index 1be9a81d..00000000 --- a/Assets/External/Proxima/Documentation/docs/viewing_logs_offline.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - Proxima Inspector - - - - - - - - - - - - - - - - - - - - - -
- - -
Logo - -
- - - - - - -
-
- -
-
- - -

Viewing Logs Offline

- -

Sometimes, it is impractical to debug issues live. Fortunately, Proxima provies a way to download your logs and view them later in your browser.

- -

Saving Logs

- -Log Controls - -

Clicking the Save dropdown reveals the following options:

- -
  • Save Proxima Log: saves the current log window contents.
  • -
  • Download Unity Log: Downloads the standard Unity log file (if enabled).
  • -
  • Download Previous Unity Log: Downloads the standard Unity log file (if enabled).
- -

Viewing Log Files

-

If you have a Proxima connection open, you can easily view any log file by Proxima by clicking the Load button and selecting the file. -

-
If you do not have access to a device running Proxima, there's a no-cost online version of the Log Viewer at unityproxima.com/log.

- You do not need Proxima to use this viewer, since it can parse any Unity log file. Support the project by sharing the availability of this complimentary tool with your network! -
- -

Unity Log Files

-

If enabled, Unity saves two log files (a current and previous) to your device from the previous two runs that you can download by clicking "Download Unity Log" or "Download Previous Unity Log". Learn how to configure -these logs files on Unity's Documentation.

-

Proxima can load these files, but they are missing the following information:

-
  • Unity's log files do not include the timestamp.
  • -
  • Unity's log files do not include the log type (info, warning, error). Proxima Log Viewer will do its best to detect the type of log from the stack trace, if enabled.
-
-

© 2023 Virtual Maker Corporation

- - - -
- - diff --git a/Assets/External/Proxima/Documentation/docs/viewing_logs_offline.html.meta b/Assets/External/Proxima/Documentation/docs/viewing_logs_offline.html.meta deleted file mode 100644 index c2565918..00000000 --- a/Assets/External/Proxima/Documentation/docs/viewing_logs_offline.html.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 5c9b2406965117149b215540242658d0 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/docs/viewing_logs_offline.html - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/fonts.meta b/Assets/External/Proxima/Documentation/fonts.meta deleted file mode 100644 index e32c970c..00000000 --- a/Assets/External/Proxima/Documentation/fonts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 005ada91a3d701c48b47cd13fff40a38 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjx4wXg.woff2 b/Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjx4wXg.woff2 deleted file mode 100644 index ff60934dd0ea9cdd93f961d2dfd1e158357f2a77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23580 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 QOFh<%JiLFgmWQ+r07g396aWAK diff --git a/Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjx4wXg.woff2.meta b/Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjx4wXg.woff2.meta deleted file mode 100644 index 7800034c..00000000 --- a/Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjx4wXg.woff2.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: a065057dd605d614eabc28778c7351d1 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/fonts/S6uyw4BMUTPHjx4wXg.woff2 - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 b/Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 deleted file mode 100644 index edb9fa6f492362a9ab1f1d674b8f6e6f4e2085d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5472 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 WhF)K4IGNT+hd8;|K8&%*Sz!P*WW1>W diff --git a/Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjxAwXjeu.woff2.meta b/Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjxAwXjeu.woff2.meta deleted file mode 100644 index 48bab8e8..00000000 --- a/Assets/External/Proxima/Documentation/fonts/S6uyw4BMUTPHjxAwXjeu.woff2.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 1679bafd2fb413a4da1ade76c5ee003c -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/fonts/S6uyw4BMUTPHjxAwXjeu.woff2 - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfp8uP.woff2 b/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfp8uP.woff2 deleted file mode 100644 index 06fe19fffa9c76d518685dbe3d0a7fae2831fe32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20636 zcmV(|K+(Tx2!T2YnidfV3WAkHf$lU5gf;*HHUcCAh-d^L1%)UFiGK`% zF&k022iP`^o>^~JMFH^rZ(%as+$pz1?Eag$Wo9t9Lj@>b(+vLq&qzAPaKjpas@DHQ za6yq7l&I{1$U-5JBasN20|71UOj?LIb0;L4&*rxy?YvJlj75`V51EfH`-n5>_~{U) zvD?+&jaBZ(+Zxyqe<6sS#j;-o_Cj3YW^gxtR7N!oD<8i}Z*{zWmyLtPa>){;_LJmX zy2QKmV?hvqT!BUU%c|*h@gl%&;zuO(s3-hCuDzZ6k__Y*5Nx|d7SS&YjY3r}p^$_Q zB%n~Mi6%ec>A$;N(ln`%I)#Uh{1CT&K^Wk-*`p%xs8@u+6bms12ue$&R9gjht-@H9 z3m54k;&K)QLi07+Kg#YJVJ z5Zmz#zNfyb5X@MY7SW(`WQx3P&bN>0~hWGtC zNmv*Jv8FqN0qcg`QfN9seiN(PWD%Vz4qQZJt=OLRkc8GbUd*C`tf~E%6P=m=|L$sK z2LK%Qa|!?|xa^XnkfPj*$2HT$4g)`kJ6G z+$Ub2r{Qoela|xu=j7sgb5q+{FdaDBK6l_^urcJ}~E_)JPaV|~i>hdjN4W3F=LqTSow!|vT4 zLgFJ3Odx3zQ~*d?K1m;N!0{ghPyZx8r38k5Q6W+K5JTyZQ{~Fjdt8NBx^!8XhtC@a z_y7a^ZrvsA2Bibsb-{3#Wu+F*|No_B^j|&w?tIRCM~!ni2kvr6NHb^56Cu_Ams&qWUwIw z2@*skNDzDc_S#SX|1MxUX~K~ORz$>-cuN1eGx3#UY}H|WrK>Iysf^4J7x(*VJzcjK zKr9t?6s9GYultjT0CfNWLnG>nQr{d=`dR`TY8d2U00aS|W>%puUM^o9+znW%>;$<_6?AC_Yy?3159DiVYHB<+x}kvZlF$jFbPRRFNr9QV8Ty1 zYM^T=GSWKk$*Q!VdWwrGxkbRON`GNeh;5vueJZrj@(stg>fP`Jpj24qc_)HPy;2!R z*bj>}L@_*7WLQTvA~m!)dTxsLW2t8LQ3Nh{UYtP|n~zauigSeyu0RkTPAwA6Ajq-q zCDgN`xCRd6mWOJM+g&~q(h?5*y&urwt>GH&q*d9aRn@zuwh+(53QM>GecD98#3Wnm z!;tnRLf>RmHMaSO&1%=tntJ<7RK6sUDtb zu+lb?WiZLB0-{_eXIwl2TXArk-Xjc&5)Cn8QY?{+z~Uk$UNRyDEiEdf%fQGQ$z>~n zp%fQDWx`Yipjw@!hLEbGv@OsG&>8@3v9up0>Y!JWuKLk*r%Knuu-Eprh|yq>8}7J0m>h~~M;zsFJer+wlF4bjvv}tt?}E!%R|u{V++cE( z)-4*hY2Bf5H=C3%QjY<90(pkc`PXkC&dsBiO2vTR#PDRs|5EX0{oG=Oilo5x$z2W z!@3RcMz&=e(^0mxgbJ2r z8c=P)*W*fiZ8Ta7V(FAQyJ>a4wP@F)!ll?XXCBIVT`4Uy#Aeg1SzXqh0`vphK$3EHn_Eln7y?e>Ftj-?LMB{|2O!aHMB z&RtUNg1a=H8_~bFr@+!(6w4rLD

0#KdZLh~5xMO$@1tAvGyULToIR3S*Eaa$6*h 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 H9RL6TQXH+~ diff --git a/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfp8uP.woff2.meta b/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfp8uP.woff2.meta deleted file mode 100644 index c6c95815..00000000 --- a/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfp8uP.woff2.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 60d0f14b7864c484f9c636bae1cb0f4f -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfp8uP.woff2 - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfpcuPP9g.woff2 b/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfpcuPP9g.woff2 deleted file mode 100644 index ea62ab08a6fea58e3047c42657a1821b70d61819..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6536 zcmV;38F%J)Pew8T0RR9102zn?5dZ)H06#nc02wC$0RR9100000000000000000000 z0000QG8>p=96API0D%+;fjSAA77+*vws@`}3u*uXHUcCAfi?sn1%)UFga-_PF&j%c zC2ZV9hK&PYn)lF%3ejIR|NrecIjng#;3P5Kg8rr1}{X8$7 zVlSu=&R?bb+n*O}uvuf5g=l}`_w+dC7NWwit7#8ew4i!dBP5xH=fC|b?|rYTe&ft6 z&+sPc=^!YCA(e3N50eCxQDKQjMsVAZM{T|nV*g;tIKnKSJIkS<^Sf2BWlQ$YLYAlQrya+Qz=O-kw`v&XwBV$-~UK2SQKkeX%^DNDq7Nx_&?eUYI1^E z+XivSA^Q|lVgcJ=(4DER&jJn+;`wd9Ye36nSSZ-k|HQGmv^=YpZRc|)#Hm@a(?-#M zLZQeP%Y#tpD5T}@b(ZaWU((nKJGdzsie|mDRk}^lCQYGzvSi_oC7X4`-kFoV4uQOu z56HU#hI-Ej=n?nN!>#Yi?kDwJZn+|4G~1UiN@ zz*nQayT6~+!?JaXv&}<=3`B?+0d@P=-S2&D5ZDA@LJ-V#5!dM>f~2sG*ySVUCTR$a zc*Ps&_r4e&#o-T6j;>(mm(khFSonJO)CldLCpWJ_-~bm!p-PcJT-8X5_HlS=uYVd{ zLwiEU3)R;ofDI1+D@Xjspdd29_$o7KaVMLN$S6f7;$cS%s2~1A=cmu!dhQ{e+paqA zq{H^wZj&{ZSzwJ>rs&p6MXpMTJQP27jkwi>}7&W2SI^xkiK8!{p<(% z(%g4@d)-rOy5CJ}y4+c7I^Mx{r)>jW^dUpAyvj^EvJl~%=$o>sFjeXdikt@IRDv9l#x$i>W{^I)vdhi~ zB@KO|@W}c`A0mPzs?2Ztw1HJp&VkBEoleGe5H}I|#Ks8iL*3SpT)2sQ+@P$#;b0D4 zJiCl4U9uoi;gY|d8h@c%7A|ccYX1lspp8+Sjrmpu|LqGY;P~ylt+9{4Gym8p#R2L~ zqo9+5dPq`w6~kZz+_50?+gqA4!9%z_2MLPcU_%FlAx4t~48e#gDlWtZGsHs(>+W(9F2MO8_0pll3fQ&8!Pp0be$5HR}nCp+zpiFhD_ zlxbCwmG^t4r|!WiEd2)7^v^`yqCuCy8=QdTtY$#JQeEC{0~iDme-gcDK>K@m}~6$4=k(OBYuE*P;TgaPyr0?ZLz4r9>-z*bO90vBQ*b{+IE;`-@ZD6xo`6j3w%h8~2Wg?Z^UM+(orOx8D zR?6V-=#|X7x}WwV`|u&AVImNg-vU@+a{h9st{_iWX8JKtTcQjN|O30KQ z`Dmd=d(QB%MTl!w3#|XVq|8`bQmRi3g*kfpK#y>#-1!;Iv@N8`K_4*eG@oLE*)t~m zh+R+f>2iVFd%bmpHUY=1aYPHh;JjOaaev)n>J0S<|B%8l3ue`CD-2Zk_^yx=SO>Oo zQG?KH1p-9=P=SH&6Mpr<;gC$G4AN5kxfhe1T0=?$I^Jz4+B+K`n6vWr3CU^ziXUsvK)u|9?P(0onnWI-=>(Dpd%kWFQB4LR)d(thuE~Rn@3CcynL8aGiSb?ww_9iDok9{3 ziH1VTV+1Z^kY*ZW7>6v=A;%2JGZPBTf+7oyXn>h-3L{@ww@ex6WsRI%p*b9K`SH%UIODL!XV~jzCY2YyqlIh?x1FFn~8nd9z0%O~tu|$PVsYfiQ7AGhh zw8}bYXX`4{1v-vSQs{wbhT=GetDN5xYlr9}eCW$}3#J`vx~2LU6H*jqywq0XN0yVt|`m`a1m7vZY*gIjQ|@DLRX2# z!dz1a^C`;E65u(476^~*8_QLz_A9&IF2q+Bx96PRON$mMc<=<5^Prp?Quq5=?2}_Y zjQ&1DV|9O4nb1U}`@O8H(XFbO2t0CG<$__c1T!nSIZjWN&O+mw?w8@xb*rG`7Qkaj zhWQaTAKNXD91Ru(w70tSi4TT&uQ+ZG*XY0PD@ zE6GMZdbMjuv}di1Yc{#uTbh{jF}+)xnD-zS%CO@Z=Cn(|nW5VQ+mdjzQ;3w9Ii|5V z%{gxA_GYv?rd#Wp#%sk)=2956OI>`7b0KpiEgebNF#>Z9CbXTgxTGc56pC-!xXVnf zai_*+R*zT0Q>in%C+%rQP-tVCM(=H6R={9!a1B#NW$+5FoMAJGZ481Eh)%UoICPod ztqbTgA&3YDvrNdX3z%n?7WyhA(~Lz7LW)&RsI3QB=hPccvBjEHKx2IE}F&ffG)ct_L{doH{ScFQKuJZCE3}L|b3Y zyHsFC4NDdvhy=J;0FtZ(7gIjC=3{Jxbi%ECf}H^D1+>E+Djxabi7%e{;zbs46@Z(7 zcGscdgC9Qm;fo)>WdR=n_zE2C*Zk`xUso5SThLxa&iv1x#80?Np!UL80B{okuK*81 z{RZ0GKm%4_bQ3y_WxaoavkDc48IEL;hp>@K($P$)(y~|bd{i!*HS&4K+1PD4?q(?+ zXe<>@*#5jzt`(j9y3<&COj%JDOB8B`?#a4U#3QDU!(==mIP@{l4UHl(;1Po!cWt86 z>u~>T^9-bA*LjUWS2_-{8gN^*b6e15U!cP~1X{`K`tPQy8zHQFlZfZfkw%<@BG(9n2;vod z>B*L3NCeWm9_bVs@1DpZX0pTE=a~XFp{2eY`W9$2m%vi!&P*hzyPTYD7jR5GX~!#q zE7rxD&KAb1V2Dq~uBB5Mc>oh>X=~jHLRgCnF%2xk%SSZcd_LSH0WB3GV-s)XbQ(w- zRxF4+RFB{CzD)KNUT~81FVDnZnnq$pAIYEIG0^6%T8E{Q=cd& znFbw5(j%GY`b@A~j?(0skgcJ_#Q&@@n3Gx^pcRsuMW(H3n3Uny(kzA(vxMYvzvBYk`VLqn+pyKYK=C=YcobrZ>v@4#_1KxbE}NW` zoVn2O(%v6x+fQcc2H0%-@_+59gSA>-Wm~8lCS84b1RyRZyw@OJ_dj zQ}(6=%DWOOe;&jRy&CRdB1ip;wkyW3-!0|H=*saU4*tu>m>B^mm%fC_d(95Z^9reD za?~t}O?`20%`z7I`BQ}R>KD6(vc-h5zr~Q2J=1>bDv3y>N zRziuQVa}TKWCm^EaabjOKow{Z57yMwI&ECt@R>s{Tn+AYB1v_R@T8fy@iq2#z)T9%sX zo?GYWktdddWnk5;(Txe-*e;3=bF7Dolwqy?s93)GNCd%8QF)O<3SWp+*yy>*l_v9Z zEbow;Gbc;v%<4nYK9;5Bd)%wtDi76T>XA~KlAV;3l5)ZBk5wUlB+-S=N@w8=m(Gae zTgIe@<)3Pt(%I!x^IZ$bCb2g;!=BT&mnLlV+=E)OC$GFnL33WdM$|NO>Cz|FzC-2N zAr_a{*Xtf}&tqbJfOLTtOni3S%^;H350;^*78E%cVvITSU*BX4=~PYVNGL62s0!VI zs1Z{)Zf%vr^{u_C?h6||52a`Z;_Mr6OTh%C7A_?{zTrhBYGo*hV!vVJj_sm{abrYo zejP#HYOob#{C8Rl4&Bk4q@nFYg^Po2q-Uc22Ucb1%o8V?r^nfbxL6m9oTm4#(P(;B z&+s--7TDSSkHB6|dLfUj&RCSmQ3ll}*JrsrPg(|!EX-P8W%)*^AkxKwfI|ClZmM(7 za}~=v2AEwTosZ=AKAq|#KnpD2oYsN^DoIVIFfB1cRfzZ?4~R|*!c8c34pqb}q5{hm zev;nyRr3#kWgz`1W#?U)!M?~+b4}HibxlLSXD zy5#DLz5-DF0+u)}Mv-&$CRiCq97 z#b;mP%?#~{j#V66LFc$0X7KL3VUF;1`+I4$#Og#cIZp8Y zW76Bk0|5asGY_w{E>|v}?NVNt;4je*)FHVws2e7^k9;$Er@t?%Lfh&03PI5l-}8{} z((GSlC|Zu5K-B_NkExm6aU&9r-yI@FNZmRto#N}$<4>XD8+Zo}&7qR8<~^ZBOx)b_ zgdVU{4MD~>OvkLI;(2_Uzl@2Wd+vc2^7HPA|5|cQA}1UsSE3uSVx>*ODBt(25?P-l zO-^@wpSVMg?d>fcCx&s$z%ci1?xd>A&s(cGd2L<8g9pyrJUU0fWLn(7Iy=f_l>9ls zS2H+$dF6xUPUN6gU^T8LiUBhf2p%ea8iGzsPhwV~Xr*ZU(WD$8uZ1Slg0zNk%^*e6 z*a88Y=D8VeOmnyA|GdIrK6rKy&G$f%TinG%v;%BT+nK&dnmrHI46**7GGfm(FI}6A z=>tr`$8}yl$zusboiQI znHHY=Eg23EqZu3WxEz2YcnE*PLv^JJ%s1l}Cw%zrr}n{}3a1g9dn9ZbHiJ){Zd|RV zcYo{p*RtVDZmwRbBv@om%gsH#gtB1N47fz)qLfp{@ve8%Ax8QzEr{e}EK1+A6uWfI zt}j#Dw)|>ai4jc~T{F+@f!y-&(yz;$^`&l}xl*+N?2(&$&@%ddsTr{q!zK@GT*%id z0y)`>Rnt6urE&o_-!g68uu~?xX`XUaE;Q1zAiL$6J+|wa%DJlV7blCPMQ|Wmax2v-MFg+Y74S$o_JtICPLdqz&5eG%(m zZ9)Yk?J|&kSMo~u%oC5OmTkz`!`2En3E;$GqL^_J7d`7`#~l%cxTB#DgM67RG$vDK zysLHAZ{y(8czaFd7)e(1WuWxZmqLKGVT~I5?SDG_7)S|om%HRy-}7Y4do61e6ryZQ z*05eb^#R&516$i_!$wu18D@M;_kLFu0j|DL$l1ZW+?hD8d z_FU%om~4hIg%fKhsTNN?&HwrRtetsg7tB$gHQc*n=dq~*tv2e%bX)bqu0bQ(i^zOt z)D1FozWulEf|c;YZJhX$KR47ZXfI&b&AVY$nO*gWck+|{ZnN%*_s2HR4_XpIXg_I1 z17F56<1s9<@0pQD(+Nz@Ox)v9gc!}5&vfOz8+=-7uPMn{Fsb7lRU5uMv~^v3Oo+Ub zemV|{I7*n;~xns+l356p>aG5*<)OfM+A#Xx5lV;Vtsx0vZR;>$6w9PdMu9B zVE6swyx4S0fBVAW}E;*v>lmX$FgUzb4fmQAq`IVrqvtleK3x+P(Wn$MLqxLO@3VApDJ2q8`@6Q;+zY z;-z7n)HcicJr`eF$&04TtCATg_c=x-OY~Bplg};ZYini7 z6Xh9B{AeOeWO9Gu5|pKuRv@!-jaftzeHd4o=Hi(T#lewn&(1O~iB!!iW#^`Er8ton2NV2S^> zPj2vtSGwV}k&78^(?+^Bv@4!=J^$F9*K@#5 zL&u#oa@G|m9d_NLt~sOQu(Qs4^wu`Q@GN0y*MV|jQdj@tN0?re9f`QfCx%7G44kmv zqIu4w)vo5R{Yh7xb*?pI&-sj<&~dkMN~t{#RyMQ=kK@a%8XM8j z9X555HQ@WaGWLe>u6+NZCRcqF5*tC^b+DJy3MF^yt;6-+)0wa>J%+Ed^7{Fa#KeVHk#Cn8pnMHk+bEQqEdz-P7H` z-iv8PbPGLt_31ZY(2(3PU0ZFd=c_ka_=Vp)Hj?}~(BFyNzm71Ud|xZNlO2-uIJIwK z&(I!kPiiM0bagg%P47~>3ftd8PyQ#uAw%6Z;f9$SS&dxrP;d(u1kB>kfQUhv<@s>iQ-y(>8u0000qyo5FY diff --git a/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfpcuPP9g.woff2.meta b/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfpcuPP9g.woff2.meta deleted file mode 100644 index 96a0828a..00000000 --- a/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfpcuPP9g.woff2.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: be3ef2326fe5c4c4a903f31b5a74ec40 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfpcuPP9g.woff2 - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqMuPP9g.woff2 b/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqMuPP9g.woff2 deleted file mode 100644 index 31fe955c73d442baee21a99c9164668f1d67d0be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7408 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 diff --git a/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqMuPP9g.woff2.meta b/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqMuPP9g.woff2.meta deleted file mode 100644 index 23b13242..00000000 --- a/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqMuPP9g.woff2.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 41318e31369d9f04ea6fcca337249fa9 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqMuPP9g.woff2 - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqcuPP9g.woff2 b/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqcuPP9g.woff2 deleted file mode 100644 index fa30e0b9d28f74ae1d1d4bce40ca6f68b2f31401..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18808 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 diff --git a/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqcuPP9g.woff2.meta b/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqcuPP9g.woff2.meta deleted file mode 100644 index e47c5fdb..00000000 --- a/Assets/External/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqcuPP9g.woff2.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: a386a394812e3684d8b2b85e0f5bf43f -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/fonts/w8gdH283Tvk__Lua32TysjIfqcuPP9g.woff2 - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/icons.meta b/Assets/External/Proxima/Documentation/icons.meta deleted file mode 100644 index 415b3f96..00000000 --- a/Assets/External/Proxima/Documentation/icons.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 887c7beaf31c5e74f9c486a4c4eaf0d1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Documentation/icons/arrow.png b/Assets/External/Proxima/Documentation/icons/arrow.png deleted file mode 100644 index 70f2b404..00000000 --- a/Assets/External/Proxima/Documentation/icons/arrow.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5e8d7b9e8b878d08cef5864209419c58b7dca9cc5236fe19ed0aa0155c95eb51 -size 266 diff --git a/Assets/External/Proxima/Documentation/icons/arrow.png.meta b/Assets/External/Proxima/Documentation/icons/arrow.png.meta deleted file mode 100644 index 52f90c70..00000000 --- a/Assets/External/Proxima/Documentation/icons/arrow.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: 658f8cd9194dcdc418a571e983734c99 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/icons/arrow.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/icons/discord.png b/Assets/External/Proxima/Documentation/icons/discord.png deleted file mode 100644 index f313ad79..00000000 --- a/Assets/External/Proxima/Documentation/icons/discord.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:19b5a3fa4cffac513be768aa47e16a5a5c29c81eb75db1086ada8dbff1cb5706 -size 27964 diff --git a/Assets/External/Proxima/Documentation/icons/discord.png.meta b/Assets/External/Proxima/Documentation/icons/discord.png.meta deleted file mode 100644 index 0e52024b..00000000 --- a/Assets/External/Proxima/Documentation/icons/discord.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: ef8987d79a1a57c49810904c1334a1c2 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/icons/discord.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/icons/menu.png b/Assets/External/Proxima/Documentation/icons/menu.png deleted file mode 100644 index d5a3f0aa..00000000 --- a/Assets/External/Proxima/Documentation/icons/menu.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6a411274daad43af93e6164e541182794327ca3c193b32c21f138d349cc84ba3 -size 388 diff --git a/Assets/External/Proxima/Documentation/icons/menu.png.meta b/Assets/External/Proxima/Documentation/icons/menu.png.meta deleted file mode 100644 index b7498047..00000000 --- a/Assets/External/Proxima/Documentation/icons/menu.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: 0f3bffd932a3e1b4e875fa0bdbe4dd3f -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/icons/menu.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/icons/proxima_icon_32x32.png b/Assets/External/Proxima/Documentation/icons/proxima_icon_32x32.png deleted file mode 100644 index 7be15c71..00000000 --- a/Assets/External/Proxima/Documentation/icons/proxima_icon_32x32.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8cb7b18b569b6322fb66aba232b7e97013afcbb65e0ae9b737f49506b243ddb0 -size 979 diff --git a/Assets/External/Proxima/Documentation/icons/proxima_icon_32x32.png.meta b/Assets/External/Proxima/Documentation/icons/proxima_icon_32x32.png.meta deleted file mode 100644 index 0d47eb6d..00000000 --- a/Assets/External/Proxima/Documentation/icons/proxima_icon_32x32.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: dc7068221cf34f149ab30e7b4e3f7566 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/icons/proxima_icon_32x32.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/images.meta b/Assets/External/Proxima/Documentation/images.meta deleted file mode 100644 index 440ea809..00000000 --- a/Assets/External/Proxima/Documentation/images.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fd096521dd4e10941a6910f0a52cb059 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Documentation/images/proxima-1200x630.png b/Assets/External/Proxima/Documentation/images/proxima-1200x630.png deleted file mode 100644 index 745fea2f..00000000 --- a/Assets/External/Proxima/Documentation/images/proxima-1200x630.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8bcaf52826cf7bc442cbf7e8eec8e2f4f8d7e2169c3d17e1345069dcc5b58320 -size 775161 diff --git a/Assets/External/Proxima/Documentation/images/proxima-1200x630.png.meta b/Assets/External/Proxima/Documentation/images/proxima-1200x630.png.meta deleted file mode 100644 index 57382af4..00000000 --- a/Assets/External/Proxima/Documentation/images/proxima-1200x630.png.meta +++ /dev/null @@ -1,99 +0,0 @@ -fileFormatVersion: 2 -guid: 4375202eac2734388b077d0bd92995d4 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/images/proxima-1200x630.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Documentation/images/proxima_logo.png b/Assets/External/Proxima/Documentation/images/proxima_logo.png deleted file mode 100644 index a43cb0bc..00000000 --- a/Assets/External/Proxima/Documentation/images/proxima_logo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:82db756344f88af870c5194670fbd04c8f43986f42ae3beaadee94b2a753759b -size 18350 diff --git a/Assets/External/Proxima/Documentation/images/proxima_logo.png.meta b/Assets/External/Proxima/Documentation/images/proxima_logo.png.meta deleted file mode 100644 index 269ba4f3..00000000 --- a/Assets/External/Proxima/Documentation/images/proxima_logo.png.meta +++ /dev/null @@ -1,105 +0,0 @@ -fileFormatVersion: 2 -guid: 189924640337d194095f06e2a09525ec -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Documentation/images/proxima_logo.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Editor.meta b/Assets/External/Proxima/Editor.meta deleted file mode 100644 index cd54a028..00000000 --- a/Assets/External/Proxima/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6e61d17b46bc00d40a45948df8f92137 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Editor/PfxImporter.cs b/Assets/External/Proxima/Editor/PfxImporter.cs deleted file mode 100644 index 139749d1..00000000 --- a/Assets/External/Proxima/Editor/PfxImporter.cs +++ /dev/null @@ -1,22 +0,0 @@ -using UnityEngine; -using UnityEditor.AssetImporters; -using System.IO; - -#if !UNITY_2022_1_OR_NEWER - using UnityEditor.Experimental.AssetImporters; -#endif - -namespace Proxima.Editor -{ - [ScriptedImporter(1, "pfx")] - internal class PfxImporter : ScriptedImporter - { - public override void OnImportAsset(AssetImportContext ctx) - { - var asset = ScriptableObject.CreateInstance(); - asset.Bytes = File.ReadAllBytes(ctx.assetPath); - ctx.AddObjectToAsset("main obj", asset); - ctx.SetMainObject(asset); - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Editor/ProxiaWebGLBuildStep.cs b/Assets/External/Proxima/Editor/ProxiaWebGLBuildStep.cs deleted file mode 100644 index e27abef5..00000000 --- a/Assets/External/Proxima/Editor/ProxiaWebGLBuildStep.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.IO; -using UnityEditor; -using UnityEditor.Build; -using UnityEditor.Build.Reporting; -using UnityEngine; - -namespace Proxima -{ - public class ProxiaWebGLBuildStep : IPostprocessBuildWithReport - { - public int callbackOrder { get { return 0; } } - - public void OnPostprocessBuild(BuildReport report) - { - if (report.summary.platform == BuildTarget.WebGL) - { - var staticFiles = Resources.Load("Proxima/web"); - string destinationPath = Path.Combine(report.summary.outputPath, "StreamingAssets", "proxima"); - - if (Directory.Exists(destinationPath)) - { - Directory.Delete(destinationPath, true); - } - - foreach (var file in staticFiles.Files) - { - if (file.Path.EndsWith("/")) continue; - var filePath = Path.Combine(destinationPath, file.Path); - var dirPath = Path.GetDirectoryName(filePath); - Directory.CreateDirectory(dirPath); - File.WriteAllBytes(filePath, file.Bytes); - } - } - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Editor/ProxiaWebGLBuildStep.cs.meta b/Assets/External/Proxima/Editor/ProxiaWebGLBuildStep.cs.meta deleted file mode 100644 index 5986be44..00000000 --- a/Assets/External/Proxima/Editor/ProxiaWebGLBuildStep.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 010050a2d18c3794e8e2eecb897114c0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Editor/ProxiaWebGLBuildStep.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Editor/Proxima.Editor.asmdef b/Assets/External/Proxima/Editor/Proxima.Editor.asmdef deleted file mode 100644 index 33655faa..00000000 --- a/Assets/External/Proxima/Editor/Proxima.Editor.asmdef +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "Proxima.Editor", - "rootNamespace": "", - "references": [ - "Proxima" - ], - "includePlatforms": [ - "Editor" - ], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": true, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [ - { - "name": "com.unity.modules.unitywebrequest", - "expression": "", - "define": "UNITY_WEB_REQUEST" - }, - { - "name": "com.unity.xr.management", - "expression": "", - "define": "UNITY_XR_MANAGEMENT" - } - ], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Assets/External/Proxima/Editor/Proxima.Editor.asmdef.meta b/Assets/External/Proxima/Editor/Proxima.Editor.asmdef.meta deleted file mode 100644 index ed5fa5d5..00000000 --- a/Assets/External/Proxima/Editor/Proxima.Editor.asmdef.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: d9a53cfb75d04be4bba086eb50ffed06 -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Editor/Proxima.Editor.asmdef - uploadId: 684082 diff --git a/Assets/External/Proxima/Editor/ProximaCodeGen.cs b/Assets/External/Proxima/Editor/ProximaCodeGen.cs deleted file mode 100644 index 5913788c..00000000 --- a/Assets/External/Proxima/Editor/ProximaCodeGen.cs +++ /dev/null @@ -1,184 +0,0 @@ -// Enable this to add editor menu items that can generate -// ProximaReflection.Generated.cs based on the contents of UnityComponents.json. -#if false - -using System; -using System.Linq; -using System.Collections.Generic; -using UnityEditor; -using UnityEngine; -using System.Reflection; - -namespace Proxima -{ - internal static class ProximaCodeGen - { - private static Dictionary GetUnityComponents() - { - var components = new Dictionary(); - var json = AssetDatabase.LoadAssetAtPath("Assets/Proxima/Runtime/UnityComponents.json"); - var jsonText = json.text.Replace(" ", "").Replace("\r", "").Replace("\t", "").Replace("\n", ""); - var index = 0; - while (true) - { - var q1 = jsonText.IndexOf('"', index); - var q2 = jsonText.IndexOf('"', q1 + 1); - var a1 = jsonText.IndexOf('[', q2 + 1); - var a2 = jsonText.IndexOf(']', a1 + 1); - - if (q1 == -1 || q2 == -1 || a1 == -1 || a2 == -1) - { - break; - } - - var name = jsonText.Substring(q1 + 1, q2 - q1 - 1); - var properties = jsonText.Substring(a1 + 1, a2 - a1 - 1).Split(',').Select(x => x.Trim('"')).ToArray(); - components.Add(name, properties); - index = a2 + 1; - } - - return components; - } - - private static Type GetType(string name) - { - foreach (Assembly a in AppDomain.CurrentDomain.GetAssemblies()) - { - foreach (var type in a.GetTypes()) - { - if (type.IsSubclassOf(typeof(UnityEngine.Component)) && - (type.FullName == name || type.FullName.EndsWith("." + name))) - { - return type; - } - } - } - - throw new Exception("Unknown Type: " + name); - } - - private static string GeneratePropertyInfo(Type componentType, string prop, string name) - { - string define = null; - var split = prop.Split(':'); - if (split.Length > 1) - { - define = split[0]; - prop = split[1]; - } - - // Check if typename is specified. This is to catch properties which change type between versions. - string typeName = null; - if (prop.Contains("|")) - { - var split2 = prop.Split('|'); - prop = split2[0]; - typeName = split2[1]; - } - - var s = ""; - if (define != null) - { - s += $" #if {define}" + System.Environment.NewLine; - } - - Debug.Log($"Generating {prop} for {name}"); - var propertyInfo = componentType.GetProperty(prop); - var fieldInfo = componentType.GetField(prop); - var propertyType = propertyInfo?.PropertyType ?? fieldInfo.FieldType; - - if (typeName == null) - { - typeName = propertyType.FullName; - if (propertyType.IsGenericType) - { - Type genericType = propertyType.GetGenericTypeDefinition(); - string typeArgument = propertyType.GetGenericArguments()[0].FullName; - typeName = genericType.FullName.Split('`')[0] + "<" + typeArgument + ">"; - } - - typeName = typeName.Replace("+", "."); - } - - s += $" new UnityProperty {{ Name = \"{prop}\", PropertyType = typeof({typeName}), Setter = (o, v) => (({name})o).{prop} = ({typeName})v, Getter = (o) => (({name})o).{prop}, "; - - if (propertyType.IsEnum) - { - s += $"Updater = (object o, ref object v) => {{ var x = (int)(({name})o).{prop}; if (!x.Equals((int)v)) {{ v = x; return true; }} return false; }} "; - } - else if (propertyType.IsValueType) - { - s += $"Updater = (object o, ref object v) => {{ var x = (({name})o).{prop}; if (!x.Equals(({typeName})v)) {{ v = x; return true; }} return false; }} "; - } - else if (prop == "sharedMaterials") // Unity always returns a copy, so we only care if the size changes. - { - s += $"Updater = (object o, ref object v) => {{ var x = (({name})o).{prop}; if (x.Length != (({typeName})v).Length) {{ v = x; return true; }} else {{ v = x; return false; }}}} "; - } - - s += "}," + System.Environment.NewLine; - - if (define != null) - { - s += $" #endif" + System.Environment.NewLine; - } - return s; - } - - [MenuItem("Proxima/Generate Reflection File")] - private static void GenerateReflectionFile() - { - var preserveTemplate = AssetDatabase.LoadAssetAtPath("Assets/Proxima/Runtime/Generated/ProximaReflection.Template.cs"); - var text = preserveTemplate.text; - var components = GetUnityComponents(); - - var code = string.Join(System.Environment.NewLine + System.Environment.NewLine, - components.Select(kv => { - var name = kv.Key; - var split = name.Split(':'); - string define = null; - if (split.Length > 1) - { - define = split[0]; - name = split[1]; - } - - var s = ""; - if (define != null) - { - s += $" #if {define}" + System.Environment.NewLine; - } - - var componentType = GetType(name); - s += $" {{ \"{componentType.FullName}\", new UnityProperty[] {{" + System.Environment.NewLine; - var enabled = componentType.GetProperty("enabled"); - foreach (var prop in kv.Value) - { - if (prop.EndsWith(":enabled")) enabled = null; // Enabled added in some version - s += GeneratePropertyInfo(componentType, prop, name); - } - - if (enabled != null) - { - s += GeneratePropertyInfo(componentType, "enabled", name); - } - - s += " }}," + System.Environment.NewLine; - - if (define != null) - { - s += $" #endif" + System.Environment.NewLine; - } - - return s; - })); - - text = text.Replace("_Template", "_Generated"); - text = text.Replace(" // " + System.Environment.NewLine, code); - var preservePath = "Assets/Proxima/Runtime/Generated/ProximaReflection.Generated.cs"; - System.IO.File.WriteAllText(preservePath, text); - AssetDatabase.Refresh(); - } - } -} - -#endif \ No newline at end of file diff --git a/Assets/External/Proxima/Editor/ProximaCodeGen.cs.meta b/Assets/External/Proxima/Editor/ProximaCodeGen.cs.meta deleted file mode 100644 index 736c8d2a..00000000 --- a/Assets/External/Proxima/Editor/ProximaCodeGen.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 39ebdb5539d4c48449766b47ac62b913 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Editor/ProximaCodeGen.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Editor/ProximaGUI.cs b/Assets/External/Proxima/Editor/ProximaGUI.cs deleted file mode 100644 index 7abb28f6..00000000 --- a/Assets/External/Proxima/Editor/ProximaGUI.cs +++ /dev/null @@ -1,393 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEditor; -using UnityEngine; - -namespace Proxima.Editor -{ - internal static class ProximaGUI - { - private static Dictionary> _bgTextures = new Dictionary>(); - - internal static void Vertical(Action action) - { - EditorGUILayout.BeginVertical(); - action(); - EditorGUILayout.EndVertical(); - } - - internal static void Vertical(float width, Action action) - { - EditorGUILayout.BeginVertical(GUILayout.Width(width)); - action(); - EditorGUILayout.EndVertical(); - } - - internal static void Vertical(GUIStyle style, Action action) - { - EditorGUILayout.BeginVertical(style, GUILayout.ExpandWidth(false)); - action(); - EditorGUILayout.EndVertical(); - } - - internal static void Vertical(GUIStyle style, float width, Action action) - { - EditorGUILayout.BeginVertical(style, GUILayout.Width(width)); - action(); - EditorGUILayout.EndVertical(); - } - - internal static void VerticalExpanded(GUIStyle style, Action action) - { - EditorGUILayout.BeginVertical(style, GUILayout.ExpandHeight(true)); - action(); - EditorGUILayout.EndVertical(); - } - - internal static void Horizontal(Action action) - { - EditorGUILayout.BeginHorizontal(); - action(); - EditorGUILayout.EndHorizontal(); - } - - internal static void Horizontal(GUIStyle style, Action action) - { - EditorGUILayout.BeginHorizontal(style); - action(); - EditorGUILayout.EndHorizontal(); - } - - internal static void HorizontalExpanded(Action action) - { - EditorGUILayout.BeginHorizontal(GUILayout.ExpandWidth(true)); - action(); - EditorGUILayout.EndHorizontal(); - } - - internal static void HorizontalCentered(Action action) - { - EditorGUILayout.BeginHorizontal(); - GUILayout.FlexibleSpace(); - action(); - GUILayout.FlexibleSpace(); - EditorGUILayout.EndHorizontal(); - } - - internal static void HorizontalCentered(GUIStyle style, Action action) - { - EditorGUILayout.BeginHorizontal(style); - GUILayout.FlexibleSpace(); - action(); - GUILayout.FlexibleSpace(); - EditorGUILayout.EndHorizontal(); - } - - internal static Vector2 Scroll(Vector2 scrollPosition, Action action) - { - scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition, GUILayout.ExpandWidth(true)); - action(); - EditorGUILayout.EndScrollView(); - return scrollPosition; - } - - internal static Vector2 Scroll(Vector2 scrollPosition, float height, Action action) - { - scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition, GUILayout.Height(height), GUILayout.ExpandWidth(true)); - action(); - EditorGUILayout.EndScrollView(); - return scrollPosition; - } - - internal static Vector2 Scroll(Vector2 scrollPosition, GUIStyle style, Action action) - { - scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition, style, GUILayout.ExpandWidth(true)); - action(); - EditorGUILayout.EndScrollView(); - return scrollPosition; - } - - internal static void DisableGroup(bool disable, Action action) - { - EditorGUI.BeginDisabledGroup(disable); - action(); - EditorGUI.EndDisabledGroup(); - } - - private static Dictionary _textures = new Dictionary(); - - internal static bool ImageButton(string guid, int width, int height) - { - if (!_textures.TryGetValue(guid, out var texture)) - { - var path = AssetDatabase.GUIDToAssetPath(guid); - texture = AssetDatabase.LoadAssetAtPath(path); - _textures[guid] = texture; - } - - return GUILayout.Button(texture, GUILayout.Width(width), GUILayout.Height(height)); - } - - public static void Image(string guid, int width, int height) - { - if (!_textures.TryGetValue(guid, out var texture)) - { - var path = AssetDatabase.GUIDToAssetPath(guid); - texture = AssetDatabase.LoadAssetAtPath(path); - _textures[guid] = texture; - } - - GUILayout.Label(texture, GUILayout.Width(width), GUILayout.Height(height)); - } - - public static bool Checkbox(bool value, Action action) - { - Horizontal(() => - { - GUILayout.Space(10); - value = EditorGUILayout.Toggle(value, GUILayout.Width(20)); - action(); - }); - - return value; - } - - public static bool Checkbox(bool value, string label, GUIStyle labelStyle) - { - return Checkbox(value, () => GUILayout.Label(label, labelStyle)); - } - - public static bool Button(string label, GUIStyle style, int width, int height) - { - var labelContent = new GUIContent(label); - var position = GUILayoutUtility.GetRect(width, height, style); - EditorGUIUtility.AddCursorRect(position, MouseCursor.Link); - return GUI.Button(position, labelContent, style); - } - - public static Rect GetLinkRect(GUIContent labelContent, GUIStyle style, Vector2 position) - { - var size = style.CalcSize(labelContent); - return new Rect(position.x - size.x * 0.5f, position.y - size.y * 0.5f, size.x, size.y); - } - - public static bool Link(string label, GUIStyle style, float lineThickness = 0.5f) - { - var labelContent = new GUIContent(label); - var rect = GUILayoutUtility.GetRect(labelContent, style, GUILayout.ExpandWidth(false)); - return Link(labelContent, style, rect, lineThickness); - } - - public static bool Link(GUIContent labelContent, GUIStyle style, Rect rect, float lineThickness = 0.5f) - { - // Draw a box for the underline - var lineRect = new Rect(rect.xMin, rect.yMax - lineThickness / 2, rect.width, lineThickness); - EditorGUI.DrawRect(lineRect, style.normal.textColor); - EditorGUIUtility.AddCursorRect(rect, MouseCursor.Link); - return GUI.Button(rect, labelContent, style); - } - - public static void HorizontalLine() - { - HorizontalLine(Color.white); - } - - public static void HorizontalLine(Color color, float thickness = 0.5f) - { - var position = GUILayoutUtility.GetRect(GUIContent.none, GUIStyle.none, GUILayout.ExpandWidth(true)); - HorizontalLine(position.xMin, position.xMax, position.y, color, thickness); - } - - public static void HorizontalLine(float startX, float endX, float y) - { - HorizontalLine(startX, endX, y, Color.white); - } - - public static void HorizontalLine(float startX, float endX, float y, Color color, float thickness = 0.5f) - { - EditorGUI.DrawRect(new Rect(startX, y - thickness / 2, endX - startX, thickness), color); - } - - public static void VerticalLine() - { - VerticalLine(Color.white); - } - - public static void VerticalLine(Color color, float thickness = 0.5f) - { - var position = GUILayoutUtility.GetRect(GUIContent.none, GUIStyle.none, GUILayout.ExpandHeight(true)); - VerticalLine(position.x, position.yMin, position.yMax, color, thickness); - } - - public static void VerticalLine(float x, float startY, float endY) - { - VerticalLine(x, startY, endY, Color.white); - } - - public static void VerticalLine(float x, float startY, float endY, Color color, float thickness = 0.5f) - { - EditorGUI.DrawRect(new Rect(x - thickness / 2, startY, thickness, endY - startY), color); - } - - public static int StyleFontSize; - public static string StyleTag; - public static Font StyleFont = null; - - public static GUIStyle CreateStyle() - { - var style = new GUIStyle(); - style.wordWrap = true; - style.richText = true; - style.fontSize = StyleFontSize; - style.font = StyleFont; - return style; - } - - public static GUIStyle CreateStyle(string textColor) - { - return CreateStyle(HexColor(textColor)); - } - - public static GUIStyle CreateStyle(Color textColor) - { - var style = CreateStyle(); - SetTextColor(style, textColor); - return style; - } - - public static GUIStyle CreateStyle(string textColor, string backgroundColor) - { - return CreateStyle(HexColor(textColor), HexColor(backgroundColor)); - } - - public static GUIStyle CreateStyle(Color textColor, Color backgroundColor) - { - var style = CreateStyle(textColor); - SetBackgroundColor(style, backgroundColor); - return style; - } - - public static void SetBackgroundColor(GUIStyle style, Color color) - { - var bgTex = new Texture2D(1, 1); - bgTex.SetPixel(0, 0, color); - bgTex.Apply(); - - style.normal.background = - style.active.background = - style.focused.background = - style.hover.background = bgTex; - - bgTex.hideFlags = HideFlags.DontSave; - - if (!_bgTextures.TryGetValue(StyleTag, out var textures)) - { - textures = new List(); - _bgTextures[StyleTag] = textures; - } - - textures.Add(bgTex); - } - - public static void SetBackgroundImage(GUIStyle style, Texture2D image) - { - style.normal.background = - style.active.background = - style.focused.background = - style.hover.background = image; - } - - public static void CleanupBackgroundTextures(string styleTag) - { - if (_bgTextures.TryGetValue(styleTag, out var textures)) - { - foreach (var texture in textures) - { - UnityEngine.Object.DestroyImmediate(texture); - } - - _bgTextures.Remove(styleTag); - } - } - - public static void SetTextColor(GUIStyle style, Color color) - { - style.normal.textColor = - style.active.textColor = - style.focused.textColor = - style.hover.textColor = color; - } - - public static Color Gray(int gray) - { - return new Color(gray / 255f, gray / 255f, gray / 255f); - } - - public static Color HexColor(string hex) - { - ColorUtility.TryParseHtmlString(hex, out var color); - return color; - } - - public static bool HelpBoxLinkButton(string message, MessageType type) - { - Texture icon = null; - - switch (type) - { - case MessageType.Info: - icon = EditorGUIUtility.IconContent("console.infoicon").image; - break; - case MessageType.Warning: - icon = EditorGUIUtility.IconContent("console.warnicon").image; - break; - case MessageType.Error: - icon = EditorGUIUtility.IconContent("console.erroricon").image; - break; - } - - var style = new GUIStyle(EditorStyles.helpBox) - { - richText = true, - fontSize = EditorStyles.helpBox.fontSize - }; - EditorGUILayout.LabelField(GUIContent.none, new GUIContent(message, icon), style); - var position = GUILayoutUtility.GetLastRect(); - EditorGUIUtility.AddCursorRect(position, MouseCursor.Link); - return GUI.Button(position, GUIContent.none, EditorStyles.linkLabel); - } - - public static void Box(int width, int height, Color backgroundColor, Color borderColor, int borderThickness) - { - var rect = GUILayoutUtility.GetRect(width, height); - Rect outer = new Rect(rect); - Rect inner = new Rect(rect.x + borderThickness, - rect.y + borderThickness, - rect.width - borderThickness * 2, - rect.height - borderThickness * 2); - - EditorGUI.DrawRect(outer, borderColor); - EditorGUI.DrawRect(inner, backgroundColor); - } - - public static Rect GetRect(int width, int height) - { - return GUILayoutUtility.GetRect(width, height, GUILayout.ExpandWidth(false), GUILayout.ExpandHeight(false)); - } - - public static bool BoxButton(GUIContent content, Rect rect, GUIStyle style, Color backgroundColor, Color borderColor, int borderThickness) - { - Rect inner = new Rect( - rect.x + borderThickness, - rect.y + borderThickness, - rect.width - borderThickness * 2, - rect.height - borderThickness * 2); - - EditorGUI.DrawRect(rect, borderColor); - EditorGUI.DrawRect(inner, backgroundColor); - - EditorGUIUtility.AddCursorRect(rect, MouseCursor.Link); - return GUI.Button(rect, content, style); - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Editor/ProximaGUI.cs.meta b/Assets/External/Proxima/Editor/ProximaGUI.cs.meta deleted file mode 100644 index f45a4e14..00000000 --- a/Assets/External/Proxima/Editor/ProximaGUI.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: e644b11aad9aabf40957d8d1862a8e44 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Editor/ProximaGUI.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Editor/ProximaInspectorEditor.cs b/Assets/External/Proxima/Editor/ProximaInspectorEditor.cs deleted file mode 100644 index f78e663a..00000000 --- a/Assets/External/Proxima/Editor/ProximaInspectorEditor.cs +++ /dev/null @@ -1,105 +0,0 @@ -// #define DISABLE_REMOTE - -using System; -using System.Linq; -using UnityEngine; -using UnityEditor; - -namespace Proxima.Editor -{ - [CustomEditor(typeof(ProximaInspector))] - internal class ProximaInspectorEditor : UnityEditor.Editor - { - private SerializedProperty _serverType; - private SerializedProperty _serverUrl; - private SerializedProperty _port; - private SerializedProperty _password; - private SerializedProperty _displayName; - private SerializedProperty _useHttps; - private SerializedProperty _certificate; - private SerializedProperty _certificatePassword; - private SerializedProperty _runOnEnable; - private SerializedProperty _logBufferSize; - private SerializedProperty _instantiateStatusUI; - private SerializedProperty _instantiateConnectUI; - private SerializedProperty _dontDestroyOnLoad; - private SerializedProperty _setRunInBackground; - private bool _remoteAvailable; - - void OnEnable() - { - _serverType = serializedObject.FindProperty("_serverType"); - _serverUrl = serializedObject.FindProperty("_serverUrl"); - _port = serializedObject.FindProperty("_port"); - _displayName = serializedObject.FindProperty("_displayName"); - _password = serializedObject.FindProperty("_password"); - _useHttps = serializedObject.FindProperty("_useHttps"); - _certificate = serializedObject.FindProperty("_certificate"); - _certificatePassword = serializedObject.FindProperty("_certificatePassword"); - _runOnEnable = serializedObject.FindProperty("_runOnEnable"); - _logBufferSize = serializedObject.FindProperty("_logBufferSize"); - _instantiateStatusUI = serializedObject.FindProperty("_instantiateStatusUI"); - _instantiateConnectUI = serializedObject.FindProperty("_instantiateConnectUI"); - _dontDestroyOnLoad = serializedObject.FindProperty("_dontDestroyOnLoad"); - _setRunInBackground = serializedObject.FindProperty("_setRunInBackground"); - - #if !DISABLE_REMOTE - _remoteAvailable = AppDomain.CurrentDomain.GetAssemblies().First( - assembly => assembly.GetName().Name == "Proxima").GetType("Proxima.ProximaRemoteServer") != null; - #endif - } - - public override void OnInspectorGUI() - { - serializedObject.Update(); - - EditorGUILayout.PropertyField(_displayName); - - if (_remoteAvailable) - { - EditorGUILayout.PropertyField(_serverType); - if (_serverType.enumValueIndex == (int)ProximaInspector.ServerTypes.Remote) - { - EditorGUILayout.PropertyField(_serverUrl); - } - } - - if (!_remoteAvailable || _serverType.enumValueIndex == (int)ProximaInspector.ServerTypes.Embedded) - { - EditorGUILayout.PropertyField(_port); - EditorGUILayout.PropertyField(_useHttps); - if (_useHttps.boolValue) - { - EditorGUILayout.PropertyField(_certificate, new GUIContent(" Certificate")); - if (_certificate.objectReferenceValue != null) - { - EditorGUILayout.PropertyField(_certificatePassword, new GUIContent(" Certificate Password")); - if (!string.IsNullOrWhiteSpace(_certificatePassword.stringValue)) - { - EditorGUILayout.HelpBox("Setting a password here is not recommended. " + - "Create UI for the player to set the password, and then call ProximaInspector.Run(). See the ProximaConnectUI prefab.", - MessageType.Warning); - } - } - } - } - - EditorGUILayout.PropertyField(_password); - if (!Application.isPlaying && !string.IsNullOrWhiteSpace(_password.stringValue)) - { - EditorGUILayout.HelpBox("Setting a password here is not recommended. " + - "Create UI for the player to set the password, and then call ProximaInspector.Run(). See the ProximaConnectUI prefab.", - MessageType.Warning); - } - - EditorGUILayout.PropertyField(_runOnEnable); - EditorGUILayout.PropertyField(_logBufferSize); - EditorGUILayout.PropertyField(_instantiateStatusUI); - EditorGUILayout.PropertyField(_instantiateConnectUI); - EditorGUILayout.PropertyField(_dontDestroyOnLoad); - EditorGUILayout.PropertyField(_setRunInBackground); - - serializedObject.ApplyModifiedProperties(); - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Editor/ProximaInspectorEditor.cs.meta b/Assets/External/Proxima/Editor/ProximaInspectorEditor.cs.meta deleted file mode 100644 index 5f49b508..00000000 --- a/Assets/External/Proxima/Editor/ProximaInspectorEditor.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 67056c62379d7d2459900cf537f23666 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Editor/ProximaInspectorEditor.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Editor/ProximaMenu.cs b/Assets/External/Proxima/Editor/ProximaMenu.cs deleted file mode 100644 index 9d9aa433..00000000 --- a/Assets/External/Proxima/Editor/ProximaMenu.cs +++ /dev/null @@ -1,397 +0,0 @@ -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using UnityEditor; -using System.Text.RegularExpressions; - -namespace Proxima.Editor -{ - [InitializeOnLoad] - internal class ProximaMenu : EditorWindow - { - private static readonly string _website = "https://www.unityproxima.com?utm_source=pxmenu"; - public static readonly string StoreLink = "https://assetstore.unity.com/packages/tools/utilities/proxima-inspector-244788?aid=1101lqSYn"; - private static readonly string _review = "https://assetstore.unity.com/packages/tools/utilities/proxima-inspector-244788#reviews"; - private static readonly string _discord = "https://discord.gg/VM9cWJ9rjH"; - private static readonly string _docs = "https://www.unityproxima.com/docs?utm_source=pxmenu"; - private static readonly string _buildalon = "https://www.buildalon.com?utm_source=pxmenu"; - - private static readonly string _showOnStartKey = "ProximaMenu_ShowOnStart"; - private static readonly string _versionKey = "ProximaMenu_Version"; - - private bool _allFeaturesInstalled = false; - - private const string ProximaStartScreenTag = "ProximaStartScreen"; - - private GUIStyle _errorStyle; - private GUIStyle _buttonStyle; - private GUIStyle _bodyStyle; - private GUIStyle _versionStyle; - private GUIStyle _boldStyle; - private GUIStyle _semiboldStyle; - private GUIStyle _moreToolsButtonStyle; - private GUIStyle _proStyle; - private GUIStyle _buildalonStyle; - - private static ShowOnStart _showOnStart; - private static readonly string[] _showOnStartOptions = { - "Always", "On Update", "Never" - }; - - private Vector2 _scrollPosition; - - private List _changelog = new List(); - - private enum ShowOnStart - { - Always, - OnUpdate, - Never - } - - static ProximaMenu() - { - EditorApplication.update += OnEditorUpdate; - } - - private static void OnEditorUpdate() - { - EditorApplication.update -= OnEditorUpdate; - Initialize(); - } - - internal static void Initialize() - { - var shownKey = "ProximaMenuShown"; - bool alreadyShown = SessionState.GetBool(shownKey, false); - SessionState.SetBool(shownKey, true); - - var version = WindowUtil.GetVersion(); - var lastVersion = EditorPrefs.GetString(_versionKey, "0.0.0"); - var newVersion = version.CompareTo(lastVersion) > 0; - if (newVersion) - { - EditorPrefs.SetString(_versionKey, version); - alreadyShown = false; - } - - _showOnStart = (ShowOnStart)EditorPrefs.GetInt(_showOnStartKey, 0); - bool showPref = _showOnStart == ShowOnStart.Always || - (_showOnStart == ShowOnStart.OnUpdate && newVersion); - if (!EditorApplication.isPlayingOrWillChangePlaymode && !alreadyShown && showPref && !Application.isBatchMode) - { - StartScreen(); - } - - if (!EditorApplication.isPlayingOrWillChangePlaymode && ProximaSurvey.ShouldAsk()) - { - ProximaSurvey.ShowSurvey(); - } - } - - private void OnEnable() - { - _bodyStyle = null; - } - - private void OnDisable() - { - ProximaGUI.CleanupBackgroundTextures(ProximaStartScreenTag); - } - - [MenuItem("Tools/Proxima/Start Screen")] - public static void StartScreen() - { - ProximaMenu window = GetWindow(true, "Proxima Start Screen", true); - window.minSize = new Vector2(800, 600); - window.maxSize = window.minSize; - window.Show(); - } - - [MenuItem("Tools/Proxima/Website")] - public static void OpenStore() - { - Application.OpenURL(_website); - } - - [MenuItem("Tools/Proxima/Write a Review")] - public static void OpenReview() - { - Application.OpenURL(_review); - } - - [MenuItem("Tools/Proxima/Support (Discord)")] - public static void OpenSupport() - { - Application.OpenURL(_discord); - } - - private void InitStyles() - { - if (_bodyStyle != null) return; - - ProximaGUI.StyleTag = ProximaStartScreenTag; - ProximaGUI.StyleFontSize = 14; - - _bodyStyle = new GUIStyle(EditorStyles.label); - _bodyStyle.wordWrap = true; - _bodyStyle.fontSize = 14; - _bodyStyle.margin.left = 10; - _bodyStyle.margin.top = 10; - _bodyStyle.stretchWidth = false; - _bodyStyle.richText = true; - - _boldStyle = new GUIStyle(_bodyStyle); - _boldStyle.fontStyle = FontStyle.Bold; - _boldStyle.fontSize = 16; - - _semiboldStyle = new GUIStyle(_bodyStyle); - _semiboldStyle.fontStyle = FontStyle.Bold; - - _errorStyle = new GUIStyle(_bodyStyle); - _errorStyle.fontStyle = FontStyle.Bold; - _errorStyle.margin.top = 10; - _errorStyle.normal.textColor = new Color(1, 0.2f, 0); - - _buttonStyle = new GUIStyle(_bodyStyle); - _buttonStyle.fontSize = 14; - _buttonStyle.margin.bottom = 5; - _buttonStyle.padding.top = 5; - _buttonStyle.padding.left = 10; - _buttonStyle.padding.right = 10; - _buttonStyle.padding.bottom = 5; - _buttonStyle.hover.background = Texture2D.grayTexture; - _buttonStyle.hover.textColor = Color.white; - _buttonStyle.active.background = Texture2D.grayTexture; - _buttonStyle.active.textColor = Color.white; - _buttonStyle.focused.background = Texture2D.grayTexture; - _buttonStyle.focused.textColor = Color.white; - _buttonStyle.normal.background = Texture2D.grayTexture; - _buttonStyle.normal.textColor = Color.white; - _buttonStyle.wordWrap = false; - _buttonStyle.stretchWidth = false; - - _versionStyle = new GUIStyle(EditorStyles.label); - _versionStyle.padding.right = 10; - - _moreToolsButtonStyle = new GUIStyle(_buttonStyle); - _moreToolsButtonStyle.normal.background = Texture2D.blackTexture; - _moreToolsButtonStyle.hover.background = Texture2D.blackTexture; - _moreToolsButtonStyle.focused.background = Texture2D.blackTexture; - _moreToolsButtonStyle.active.background = Texture2D.blackTexture; - _moreToolsButtonStyle.padding.left = 0; - _moreToolsButtonStyle.padding.right = 0; - _moreToolsButtonStyle.padding.bottom = 0; - _moreToolsButtonStyle.padding.top = 0; - _moreToolsButtonStyle.margin.bottom = 10; - - _proStyle = new GUIStyle(_buttonStyle); - _proStyle.normal.background = new Texture2D(1, 1); - _proStyle.normal.background.SetPixel(0, 0, new Color(.94f, .42f, .13f)); - _proStyle.normal.background.Apply(); - _proStyle.hover.background = _proStyle.normal.background; - _proStyle.focused.background = _proStyle.normal.background; - _proStyle.active.background = _proStyle.normal.background; - _proStyle.normal.textColor = Color.white; - _proStyle.fontStyle = FontStyle.Bold; - - _buildalonStyle = ProximaGUI.CreateStyle(ProximaGUI.HexColor("#FF1E6F")); - _buildalonStyle.fontStyle = FontStyle.Bold; - _buildalonStyle.margin.left = 10; - _buildalonStyle.margin.top = 10; - - WindowUtil.CenterOnEditor(this); - - ReadChangeLog(); - - _allFeaturesInstalled = ProximaFeatures.AllFeaturesInstalled(); - } - - private void ReadChangeLog() - { - _changelog.Clear(); - var changelogPath = AssetDatabase.GUIDToAssetPath("53c7cf36ddcf17b4da75df27231f866e"); - var changelogAsset = AssetDatabase.LoadAssetAtPath(changelogPath); - _changelog = changelogAsset.text.Split('\n') - .Select(x => Regex.Replace(x.TrimEnd(), @"`(.*?)`", "$1")) - .Select(x => Regex.Replace(x.TrimEnd(), @"\*\*(.*?)\*\*", "$1")) - .Where(x => !string.IsNullOrEmpty(x)) - .ToList(); - var start = _changelog.FindIndex(l => l.StartsWith("## ")); - _changelog = _changelog.GetRange(start, _changelog.Count - start); - } - - private void LinkButton(string label, string url, GUIStyle style = null, int width = 170) - { - if (style == null) style = _buttonStyle; - var labelContent = new GUIContent(label); - var position = GUILayoutUtility.GetRect(width, 35, style); - EditorGUIUtility.AddCursorRect(position, MouseCursor.Link); - if (GUI.Button(position, labelContent, style)) - { - Application.OpenURL(url); - } - } - - private bool Button(string label, GUIStyle style = null, int width = 170) - { - if (style == null) style = _buttonStyle; - var labelContent = new GUIContent(label); - var position = GUILayoutUtility.GetRect(width, 35, style); - EditorGUIUtility.AddCursorRect(position, MouseCursor.Link); - return GUI.Button(position, labelContent, style); - } - - private void Bullet(string text) - { - var ws = 1 + text.IndexOf('-'); - EditorGUILayout.BeginHorizontal(); - for (int i = 0; i < ws; i++) - { - GUILayout.Space(10); - } - GUILayout.Label("•", _bodyStyle); - - GUILayout.Label(text.Substring(ws + 1), _bodyStyle, GUILayout.ExpandWidth(true)); - - EditorGUILayout.EndHorizontal(); - } - - private void WhatsNew() - { - EditorGUILayout.Space(); - EditorGUILayout.Space(); - GUILayout.Label("What's New in Proxima", _boldStyle, GUILayout.ExpandWidth(true)); - EditorGUILayout.Space(); - - for (int i = 0; i < _changelog.Count; i++) - { - var line = _changelog[i]; - if (line.StartsWith("###")) - { - EditorGUILayout.Space(); - GUILayout.Label(line.Substring(4), _semiboldStyle, GUILayout.ExpandWidth(true)); - EditorGUILayout.Space(); - } - else if (line.StartsWith("##")) - { - EditorGUILayout.Space(); - GUILayout.Label(line.Substring(3), _boldStyle, GUILayout.ExpandWidth(true)); - EditorGUILayout.Space(); - } - else - { - Bullet(line); - EditorGUILayout.Space(); - } - } - - EditorGUILayout.Space(); - } - - private void OnGUI() - { - InitStyles(); - - GUILayout.BeginHorizontal("In BigTitle", GUILayout.ExpandWidth(true)); - { - WindowUtil.DrawProximaIcon(128); - GUILayout.FlexibleSpace(); - GUILayout.Label("Version: " + WindowUtil.GetVersion(), _versionStyle, GUILayout.ExpandHeight(true)); - } - GUILayout.EndHorizontal(); - - GUILayout.BeginHorizontal(GUILayout.ExpandHeight(true)); - { - GUILayout.BeginVertical(); - { - GUILayout.Label("Resources", _boldStyle); - LinkButton("Discord Invite", _discord); - LinkButton("Documentation", _docs); - LinkButton("Write a Review", _review); - if (!_allFeaturesInstalled) - { - LinkButton("Upgrade to Pro", _website, _proStyle); - } - - if (!ProximaSurvey.Completed) - { - if (Button("Feedback")) - { - ProximaSurvey.ShowSurvey(); - } - } - - GUILayout.FlexibleSpace(); - GUILayout.Label("More Tools", _boldStyle); - if (ProximaGUI.ImageButton("3a8828df6dcaca540b6fee70da9c4697", 165, (int)(165 * 0.525f))) - { - Application.OpenURL(_buildalon); - } - - EditorGUIUtility.AddCursorRect(GUILayoutUtility.GetLastRect(), MouseCursor.Link); - } - GUILayout.EndVertical(); - - EditorGUILayout.Separator(); - - GUILayout.BeginVertical(); - { - _scrollPosition = GUILayout.BeginScrollView(_scrollPosition); - - GUILayout.Label("Thank you for using Proxima Inspector!", _boldStyle); - - EditorGUILayout.Space(); - - GUILayout.Label("You're invited to join the Discord community for support and feedback. Let us know how to make Proxima better for you!", _bodyStyle); - - EditorGUILayout.Space(); - EditorGUILayout.Space(); - - ProximaGUI.Vertical(EditorStyles.helpBox, () => - { - GUILayout.Label("Unveiling our new tool for Unity developers:", _bodyStyle); - EditorGUILayout.Space(); - if (ProximaGUI.Link("Buildalon: Automate Unity!", _buildalonStyle)) - { - Application.OpenURL(_buildalon); - } - EditorGUILayout.Space(); - GUILayout.Label("Buildalon is a comprehensive suite of build, test, and deploy automation solutions for Unity developers.", _bodyStyle); - EditorGUILayout.Space(); - }); - - EditorGUILayout.Space(); - EditorGUILayout.Space(); - - ProximaGUI.Vertical(EditorStyles.helpBox, () => - { - GUILayout.Label("If you're enjoying Proxima, please consider writing a review. It helps a ton!", _bodyStyle); - EditorGUILayout.Space(); - }); - - WhatsNew(); - - EditorGUILayout.EndScrollView(); - } - GUILayout.EndVertical(); - EditorGUILayout.Space(); - } - GUILayout.EndHorizontal(); - - GUILayout.BeginHorizontal("In BigTitle", GUILayout.ExpandHeight(true)); - { - GUILayout.Label("Tools/Proxima/Start Screen"); - GUILayout.FlexibleSpace(); - GUILayout.Label("Show On Start: "); - var newShowOnStart = (ShowOnStart)EditorGUILayout.Popup((int)_showOnStart, _showOnStartOptions); - if (_showOnStart != newShowOnStart) - { - _showOnStart = newShowOnStart; - EditorPrefs.SetInt(_showOnStartKey, (int)_showOnStart); - } - } - GUILayout.EndHorizontal(); - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Editor/ProximaMenu.cs.meta b/Assets/External/Proxima/Editor/ProximaMenu.cs.meta deleted file mode 100644 index 9e42953e..00000000 --- a/Assets/External/Proxima/Editor/ProximaMenu.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 0adebfc0bc2e0894cb1c428bc9e0901b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Editor/ProximaMenu.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Editor/ProximaStaticImporter.cs b/Assets/External/Proxima/Editor/ProximaStaticImporter.cs deleted file mode 100644 index cc03d7e1..00000000 --- a/Assets/External/Proxima/Editor/ProximaStaticImporter.cs +++ /dev/null @@ -1,77 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.IO.Compression; -using UnityEngine; -using UnityEditor.AssetImporters; - -#if !UNITY_2022_1_OR_NEWER - using UnityEditor.Experimental.AssetImporters; -#endif - -namespace Proxima.Editor -{ - [ScriptedImporter(1, "proximastatic")] - internal class ProximaStaticImporter : ScriptedImporter - { - // Custom ZIP file importer because ZipFile isn't supported on older Unity versions. - public override void OnImportAsset(AssetImportContext ctx) - { - var asset = ScriptableObject.CreateInstance(); - asset.Files = new List(); - var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); - - var data = File.ReadAllBytes(ctx.assetPath); - var br = new BinaryReader(new MemoryStream(data)); - br.ReadByte(); // extra byte - - while (true) - { - var sig = br.ReadInt32(); // signature - if (sig != 0x04034b50) - { - break; - } - - br.ReadInt16(); // version - br.ReadInt16(); // flags - br.ReadInt16(); // compression - var lastModifiedTime = br.ReadUInt16(); // last modified time - var lastModifiedDate = br.ReadUInt16(); // last modified date - br.ReadInt32(); // crc32 - var compressedSize = br.ReadInt32(); // compressed size - var uncompressedSize = br.ReadInt32(); // uncompressed size - var nameLength = br.ReadUInt16(); - var extraLength = br.ReadUInt16(); - var name = new string(br.ReadChars(nameLength)); - var extra = br.ReadBytes(extraLength); - - var compressedData = br.ReadBytes(compressedSize); - var uncompressedData = new byte[uncompressedSize]; - using (var deflateStream = new DeflateStream(new MemoryStream(compressedData), CompressionMode.Decompress)) - { - deflateStream.Read(uncompressedData, 0, uncompressedSize); - } - - var entry = new ProximaStatic.StaticFile(); - entry.Path = name.Replace('\\', '/'); - entry.Bytes = uncompressedData; - - var lastModified = new DateTime( - 1980 + (lastModifiedDate >> 9), - (lastModifiedDate >> 5) & 0xF, - lastModifiedDate & 0x1F, - lastModifiedTime >> 11, - (lastModifiedTime >> 5) & 0x3F, - (lastModifiedTime & 0x1F) << 1); - - entry.LastModified = (long)(lastModified - epoch).TotalMilliseconds; - - asset.Files.Add(entry); - } - - ctx.AddObjectToAsset("main obj", asset); - ctx.SetMainObject(asset); - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Editor/ProximaStaticImporter.cs.meta b/Assets/External/Proxima/Editor/ProximaStaticImporter.cs.meta deleted file mode 100644 index 63b2d07d..00000000 --- a/Assets/External/Proxima/Editor/ProximaStaticImporter.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 6516416497f676b4aba8328116af0c65 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Editor/ProximaStaticImporter.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Editor/ProximaSurvey.cs b/Assets/External/Proxima/Editor/ProximaSurvey.cs deleted file mode 100644 index 42511334..00000000 --- a/Assets/External/Proxima/Editor/ProximaSurvey.cs +++ /dev/null @@ -1,291 +0,0 @@ -using System; -using System.Linq; -using UnityEditor; -using UnityEngine; -using UnityEngine.Networking; - -namespace Proxima.Editor -{ - internal class ProximaSurvey : EditorWindow - { - private struct SurveyData - { - public string version; - public string unityVersion; - public string buildTarget; - public string xr; - public int experience; - public string benefits; - public string improvements; - public string features; - } - - private enum SurveyState - { - Ask, - DontAsk, - Completed - } - - private enum XRType - { - None, - XRI, - Oculus - } - - private static readonly string[] _options = new string[] { "Very Disappointed", "Somewhat Disappointed", "Not Disappointed" }; - private static readonly Vector2 _initialSize = new Vector2(580, 220); - private static readonly Vector2 _expandedSize = new Vector2(580, 540); - private static readonly string _stateKey = "ProximaSurveyState"; - private static readonly string _dateKey = "ProximaSurveyDate"; - private static readonly string _attemptKey = "ProximaSurveyAttempt"; - private static readonly TimeSpan _askFrequency = new TimeSpan(3, 0, 0, 0); - - private GUIStyle _bodyStyle; - private GUIStyle _boldStyle; - private GUIStyle _toggleStyle; - private GUIStyle _buttonStyle; - private GUIStyle _dontAskButtonStyle; - private GUIStyle _textAreaStyle; - private SurveyData _surveyData; - - public static bool Completed => EditorPrefs.GetInt(_stateKey, 0) == (int)SurveyState.Completed; - - public static bool ShouldAsk() - { - if (SessionState.GetBool(_attemptKey, false)) - { - return false; - } - - SessionState.SetBool(_attemptKey, true); - - if (EditorPrefs.GetInt(_stateKey, 0) != (int)SurveyState.Ask) - { - return false; - } - - if (!EditorPrefs.HasKey(_dateKey)) - { - EditorPrefs.SetString(_dateKey, DateTime.Now.ToBinary().ToString()); - return false; - } - - var lastAsked = DateTime.FromBinary(Convert.ToInt64(EditorPrefs.GetString(_dateKey, "0"))); - if (DateTime.Now - lastAsked < _askFrequency) - { - return false; - } - - return true; - } - - public static void ShowSurvey() - { - var window = GetWindow(true, "Proxima Feedback", true); - window.Show(); - } - - private static string GetXRSettings() - { - #if UNITY_XR_MANAGEMENT - return "XR"; - #else - return "none"; - #endif - } - - private void Init() - { - if (_surveyData.version != null) return; - - _bodyStyle = new GUIStyle(EditorStyles.label); - _bodyStyle.wordWrap = true; - _bodyStyle.fontSize = 14; - _bodyStyle.margin.left = 10; - _bodyStyle.margin.bottom = 10; - _bodyStyle.stretchWidth = false; - _bodyStyle.alignment = TextAnchor.MiddleCenter; - - _boldStyle = new GUIStyle(_bodyStyle); - _boldStyle.fontStyle = FontStyle.Bold; - - _toggleStyle = new GUIStyle(EditorStyles.miniButton); - _toggleStyle.margin = new RectOffset(10, 10, 10, 10); - _toggleStyle.fixedHeight = 45; - _toggleStyle.fixedWidth = 180; - _toggleStyle.fontSize = 14; - _toggleStyle.alignment = TextAnchor.MiddleCenter; - - _buttonStyle = new GUIStyle(EditorStyles.miniButton); - _buttonStyle.margin = new RectOffset(10, 10, 10, 10); - _buttonStyle.fixedHeight = 35; - _buttonStyle.fixedWidth = 170; - _buttonStyle.fontSize = 14; - _buttonStyle.alignment = TextAnchor.MiddleCenter; - - _dontAskButtonStyle = new GUIStyle(EditorStyles.miniButton); - _dontAskButtonStyle.normal.background = null; - _dontAskButtonStyle.margin = new RectOffset(10, 10, 10, 10); - _dontAskButtonStyle.fixedWidth = 110; - - _textAreaStyle = new GUIStyle(EditorStyles.textArea); - _textAreaStyle.margin.left = 10; - _textAreaStyle.margin.right = 10; - - this.titleContent = new GUIContent("Proxima Feedback"); - - this.minSize = this.maxSize = _expandedSize; - WindowUtil.CenterOnEditor(this); - - _surveyData = new SurveyData - { - version = WindowUtil.GetVersion(), - unityVersion = Application.unityVersion, - buildTarget = EditorUserBuildSettings.activeBuildTarget.ToString(), - xr = GetXRSettings(), - experience = -1, - benefits = "", - improvements = "", - features = string.Join(",", ProximaFeatures.GetInstalledFeatures()) - }; - - EditorPrefs.SetString(_dateKey, DateTime.Now.ToBinary().ToString()); - } - - private int ToggleGroup(int selected, string[] options) - { - int newSelected = selected; - EditorGUILayout.BeginHorizontal(); - - for (int i = 0; i < options.Length; i++) - { - var option = options[i]; - if (GUILayout.Toggle(selected == i, option, _toggleStyle)) - { - newSelected = i; - } - - if (i < options.Length - 1) - { - GUILayout.FlexibleSpace(); - } - } - - EditorGUILayout.EndHorizontal(); - return newSelected; - } - - private void OnGUI() - { - Init(); - - EditorGUILayout.BeginVertical(); - - GUILayout.FlexibleSpace(); - - EditorGUILayout.BeginHorizontal(); - GUILayout.FlexibleSpace(); - WindowUtil.DrawProximaIcon(128); - GUILayout.FlexibleSpace(); - EditorGUILayout.EndHorizontal(); - - GUILayout.FlexibleSpace(); - - GUILayout.Label("Please help improve Proxima by answering 3 quick questions.", _boldStyle); - - GUILayout.Label("How would you feel if you could no longer use Proxima Inspector?", _bodyStyle); - - _surveyData.experience = ToggleGroup(_surveyData.experience, _options); - - if (_surveyData.experience == -1) - { - this.minSize = this.maxSize = _initialSize; - - GUILayout.FlexibleSpace(); - EditorGUILayout.BeginHorizontal(); - GUILayout.FlexibleSpace(); - if (GUILayout.Button("Ask me later", _dontAskButtonStyle)) - { - Close(); - } - if (GUILayout.Button("Don't ask again", _dontAskButtonStyle)) - { - EditorPrefs.SetInt(_stateKey, (int)SurveyState.DontAsk); - Close(); - } - EditorGUILayout.EndHorizontal(); - } - else if (_surveyData.experience == 0 || _surveyData.experience == 1) - { - this.minSize = this.maxSize = _expandedSize; - - GUILayout.FlexibleSpace(); - - GUILayout.Label("What is the main benefit you get from Proxima?", _bodyStyle); - _surveyData.benefits = GUILayout.TextArea(_surveyData.benefits, _textAreaStyle, GUILayout.Height(100)); - - GUILayout.FlexibleSpace(); - - GUILayout.Label("How can Proxima be improved for you?", _bodyStyle); - _surveyData.improvements = GUILayout.TextArea(_surveyData.improvements, _textAreaStyle, GUILayout.Height(100)); - - GUILayout.FlexibleSpace(); - - EditorGUILayout.BeginHorizontal(); - GUILayout.FlexibleSpace(); - if (GUILayout.Button("Send Feedback", _buttonStyle)) - { - SendSurvey(); - Close(); - } - GUILayout.FlexibleSpace(); - EditorGUILayout.EndHorizontal(); - GUILayout.FlexibleSpace(); - } - else - { - SendSurvey(); - Close(); - } - - EditorGUILayout.EndVertical(); - } - - private void SendSurvey() - { - #if UNITY_WEB_REQUEST - var request = new UnityWebRequest("https://www.unityproxima.com/api/survey", UnityWebRequest.kHttpVerbPOST); - request.SetRequestHeader("Content-Type", "application/json"); - request.SetRequestHeader("Accept", "application/json"); - - var json = JsonUtility.ToJson(_surveyData); - var jsonData = System.Text.Encoding.UTF8.GetBytes(json); - request.uploadHandler = new UploadHandlerRaw(jsonData); - request.downloadHandler = new DownloadHandlerBuffer(); - - request.SendWebRequest().completed += op => { - if (request.responseCode == 200) - { - Debug.Log("Proxima feedback sent successfully."); - EditorPrefs.SetInt(_stateKey, (int)SurveyState.Completed); - } - else if (request.responseCode == 400) - { - Debug.LogError("Failed to send Proxima feedback: " + request.downloadHandler.text); - } - else - { - Debug.LogError("Failed to send Proxima feedback: " + request.error); - - } - - request.Dispose(); - }; - #else - EditorPrefs.SetInt(_stateKey, (int)SurveyState.Completed); - #endif - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Editor/ProximaSurvey.cs.meta b/Assets/External/Proxima/Editor/ProximaSurvey.cs.meta deleted file mode 100644 index c9953ecc..00000000 --- a/Assets/External/Proxima/Editor/ProximaSurvey.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: a4f11a266676b874baaa1a04f3d9b57d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Editor/ProximaSurvey.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Editor/WindowUtil.cs b/Assets/External/Proxima/Editor/WindowUtil.cs deleted file mode 100644 index 0f6dc5db..00000000 --- a/Assets/External/Proxima/Editor/WindowUtil.cs +++ /dev/null @@ -1,65 +0,0 @@ -using System.IO; -using System.Text.RegularExpressions; -using UnityEditor; -using UnityEngine; - -namespace Proxima.Editor -{ - internal static class WindowUtil - { - private static readonly string _projectMeta = "55a7fa332ffadb5489464312015b3ea8"; - - private static string _version; - - private static Texture2D _flexalonIcon; - private static Texture2D _proximaIcon; - - public static void CenterOnEditor(EditorWindow window) - { -#if UNITY_2020_1_OR_NEWER - var main = EditorGUIUtility.GetMainWindowPosition(); - var pos = window.position; - float w = (main.width - pos.width) * 0.5f; - float h = (main.height - pos.height) * 0.5f; - pos.x = main.x + w; - pos.y = main.y + h; - window.position = pos; -#endif - } - - public static string GetVersion() - { - if (_version == null) - { - var version = AssetDatabase.GUIDToAssetPath(_projectMeta); - var lines = File.ReadAllText(version); - var rx = new Regex("\"version\": \"(.*?)\""); - _version = rx.Match(lines).Groups[1].Value; - } - - return _version; - } - - public static void DrawProximaIcon(float width) - { - if (!_proximaIcon) - { - var proximaIconPath = AssetDatabase.GUIDToAssetPath("834e6e3f5b2f6fd479051cdddf01f4b1"); - _proximaIcon = AssetDatabase.LoadAssetAtPath(proximaIconPath); - } - - GUILayout.Label(_proximaIcon, GUILayout.Width(width), GUILayout.Height(width * 0.361f)); - } - - public static bool DrawFlexalonButton(float width, GUIStyle style) - { - if (!_flexalonIcon) - { - var flexalonIconPath = AssetDatabase.GUIDToAssetPath("9c4086f38f8e37949978f4861eee5e47"); - _flexalonIcon = AssetDatabase.LoadAssetAtPath(flexalonIconPath); - } - - return GUILayout.Button(_flexalonIcon, style, GUILayout.Width(width), GUILayout.Height(width * 0.337f)); - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Editor/WindowUtil.cs.meta b/Assets/External/Proxima/Editor/WindowUtil.cs.meta deleted file mode 100644 index 95be3559..00000000 --- a/Assets/External/Proxima/Editor/WindowUtil.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: defbb05a48417014db7a3b648301589f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Editor/WindowUtil.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Resources.meta b/Assets/External/Proxima/Resources.meta deleted file mode 100644 index fd56973c..00000000 --- a/Assets/External/Proxima/Resources.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b943893022b67c6478a5f1f8cb4d5c78 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Resources/Proxima.meta b/Assets/External/Proxima/Resources/Proxima.meta deleted file mode 100644 index 9b15e77b..00000000 --- a/Assets/External/Proxima/Resources/Proxima.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6832b2fc9ba460045be71dbd175c90b8 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Resources/Proxima/ProximaConnectUI.prefab b/Assets/External/Proxima/Resources/Proxima/ProximaConnectUI.prefab deleted file mode 100644 index ef390d7d..00000000 --- a/Assets/External/Proxima/Resources/Proxima/ProximaConnectUI.prefab +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7f6b4b337f9463809cad3fb4ba02f1809cffc0611b2d6f5cfadc564737c04d65 -size 107361 diff --git a/Assets/External/Proxima/Resources/Proxima/ProximaConnectUI.prefab.meta b/Assets/External/Proxima/Resources/Proxima/ProximaConnectUI.prefab.meta deleted file mode 100644 index 11cd7482..00000000 --- a/Assets/External/Proxima/Resources/Proxima/ProximaConnectUI.prefab.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 9beaa43c2246f3c429af1bd9e5657284 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Resources/Proxima/ProximaConnectUI.prefab - uploadId: 684082 diff --git a/Assets/External/Proxima/Resources/Proxima/ProximaEmbeddedCert.pfx b/Assets/External/Proxima/Resources/Proxima/ProximaEmbeddedCert.pfx deleted file mode 100644 index d4a54e097936250e3e023e2cd4012e0786697146..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2710 zcmZXUc|6qH8^^yhW-Mc@S&ERQY-7w=8`O_xiog>pAB+@8>+9=lu0S(O|h?kN}DX!wZV& zr2L$+Dh3h)mD6B9L1-{@J~lgf}($S!C@e9ISsOdqCqxL z`vqbD#e8vbh%nvTC9KL*ZwCw(dJUmLMs!3XXPWK)^bg&tO%8)@*!yq|4yi7p)}IW| z<9oYI?YJQV7G(%qr%1Q_#WY!UWTDb6m(QtP2}I6xga=sQ<^VQ@@tZ19B#I<*^V7@p zJ6rx5GFEj;+{wwo3if0qCha?ot+Eo)9^3t3$v}Sfb*$XW?HvI#V9EG&hGk&Nk=d&u z`VM{)Fuk0*alGb~`)T|3q9L!?w!n<^&Jt>RBW0H-sZpZ`_!VAsWcFM_5bsVUGxMni z%U!pyKCD$=dP948S?wfOLDOj4*QSt*jYat7tfB9KuC;4< zAh$E?yGUKsxy_zI>qJH=jx4p_#ofQPn`k&4iaO7dD9ofLgpBQc2@QMn473kQ1~A*% zRyL4Cha+-SX`!<(6}FX@R0}t=!Tk}zoc0+_X$i_brA1TgJ2-8%#^q{*hJJ6b6f>&8!l@ah9&o}9{Zs7iQNiTaoMg{I2i15wpBbchc#Pv zo^eL=QyylApo_>2h+}x1->CkGlo(?z=I~whyqBK{b1#SPEfN z(#xNjK{l|L8T;VhP0imvTER!3YdXC;X*q4nD);^C$||~Bag~L; zrH{Kx_tpc)r$2qS>W-8cDS@_(zEv^X{P<8gzYHEkzi z*(iz=zk%&*Qa)e${X;aP>|ToJ&YXUst99Nfmti0-ZUri2I#~5^`7{A2q^lf}x zRqC>Nspo+S?a;WYvwW^KnyU_jJltB8afYoPsbak+fs_ZV9DP9r1bnJ|%2~UVl^Naq zfIGW$qMJGWhB$fQjf9x2uy94?6zSC*g|eh^PtkWs_P0FOwdmzu+eWR5ckDR-npdJj zp&k*Qah!q|`yICf&O2h^x%860Mdj1m@fi>le1w2xUXj3gi-; zR7Pxnhjb$)&v>7WM9|&}X-^MC_=if%yO&SuHxt(m4?(KV)RA2pUj=8QOD9$8K@FKQ zH=ugRmg(t9`lTddR~AkH%bXG#vH2!y^RTmW_UUYS8E9975yl~D%dR9dMyc?+s?n~S z4)6i3_^ohkZ~8)Gobh>!VF6e|mqF{)$g|&;tQiHXs2b_6K9xz_GF-y}o|ARm>Ok<$ z;z5V(Y-eTEH-wp}c9V6ZVu>&zqm-*QM?UqABPfm!@1~yYtLb_lRdVXpjg=<_+TL~@))||M-Z5<< zgO5UyC9j7&V&vdeT(6I~Y{M z`n&FE606zU^`UH9$iogU`)$!9BR3AGTsT4=4qjqgMSG)HO-gt3RhKi(TiQ;u1qA5W zL#_{xi$n3rtcJXG&F0F?O-01n8&@)5Y&#L#0DPo=;he{A>li7`W6{JGEMI9&4Y?>}BUFZZE4W20o+Ka{tOL%^@g znfzkAHB!-#0R35%lgxW;%;>v^MJpG&i<5oXtA1jcQz&5N$o+R)L9I<*$*lsQ4!i31 z6Skki(kf-YBa2mpmtD}k=^1%wtqc9*`SDrwwyZNsUcaiSvk0rXE{Cq%B28g!ubOAT z4`r;>#h9<{(@J{<`x#$T8#)jdEM6i5Y4!G>XMStk&gVX4C|CutxNt+FKj>TiWK$IFD;6bCe27 zND!(kE&x`5$XH_JdWM-CJ;~Zr#U3hQyp!KBb9{DBo(!JjHR$8`e_sc>?|~ GqxcW~{>CN% diff --git a/Assets/External/Proxima/Resources/Proxima/ProximaEmbeddedCert.pfx.meta b/Assets/External/Proxima/Resources/Proxima/ProximaEmbeddedCert.pfx.meta deleted file mode 100644 index d07087e7..00000000 --- a/Assets/External/Proxima/Resources/Proxima/ProximaEmbeddedCert.pfx.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: 6e3c283c1c02ed346bf0d4d327715b4b -ScriptedImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 2 - userData: - assetBundleName: - assetBundleVariant: - script: {fileID: 11500000, guid: 1f0da27eff826494b99f5e680d9acda9, type: 3} -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Resources/Proxima/ProximaEmbeddedCert.pfx - uploadId: 684082 diff --git a/Assets/External/Proxima/Resources/Proxima/ProximaStatusUI.prefab b/Assets/External/Proxima/Resources/Proxima/ProximaStatusUI.prefab deleted file mode 100644 index cfa741cb..00000000 --- a/Assets/External/Proxima/Resources/Proxima/ProximaStatusUI.prefab +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a96719d33e7cb6e49d8de2395ef6f0d4d1564ef12eb9823ef287262772c0c2d7 -size 25175 diff --git a/Assets/External/Proxima/Resources/Proxima/ProximaStatusUI.prefab.meta b/Assets/External/Proxima/Resources/Proxima/ProximaStatusUI.prefab.meta deleted file mode 100644 index 1d097d3c..00000000 --- a/Assets/External/Proxima/Resources/Proxima/ProximaStatusUI.prefab.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 936ae2105fa77a7448151fea10fa110f -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Resources/Proxima/ProximaStatusUI.prefab - uploadId: 684082 diff --git a/Assets/External/Proxima/Resources/Proxima/web.proximastatic b/Assets/External/Proxima/Resources/Proxima/web.proximastatic deleted file mode 100644 index 72a25d552c94b94ec65d08bf9b3695249f6ed0ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213348 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

j$x^mIUxUt2_wewdOIKgQHd|M9C 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μAC<57Xmwg5$ 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 diff --git a/Assets/External/Proxima/Resources/Proxima/web.proximastatic.meta b/Assets/External/Proxima/Resources/Proxima/web.proximastatic.meta deleted file mode 100644 index f52794d3..00000000 --- a/Assets/External/Proxima/Resources/Proxima/web.proximastatic.meta +++ /dev/null @@ -1,17 +0,0 @@ -fileFormatVersion: 2 -guid: c93ac46350ab2f14ba1ea87cd2d9e3ba -ScriptedImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 2 - userData: - assetBundleName: - assetBundleVariant: - script: {fileID: 11500000, guid: 6516416497f676b4aba8328116af0c65, type: 3} -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Resources/Proxima/web.proximastatic - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime.meta b/Assets/External/Proxima/Runtime.meta deleted file mode 100644 index 2bace428..00000000 --- a/Assets/External/Proxima/Runtime.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: dc66eb0238b6fea4bb706584caa74aaa -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Runtime/ArrayOrList.cs b/Assets/External/Proxima/Runtime/ArrayOrList.cs deleted file mode 100644 index 47d77e41..00000000 --- a/Assets/External/Proxima/Runtime/ArrayOrList.cs +++ /dev/null @@ -1,249 +0,0 @@ -using System; -using System.Collections; -using UnityEngine; - -namespace Proxima -{ - internal class ArrayOrList - { - public static bool IsArrayOrList(Type arrayOrList) - { - return IsArray(arrayOrList) || IsList(arrayOrList); - } - - public static bool IsList(Type arrayOrList) - { - return typeof(IList).IsAssignableFrom(arrayOrList) && arrayOrList.IsGenericType; - } - - public static bool IsArray(Type arrayOrList) - { - return arrayOrList.IsArray; - } - - public static bool IsArrayOrList(object arrayOrList) - { - return IsArray(arrayOrList) || IsList(arrayOrList); - } - - public static bool IsList(object arrayOrList) - { - return IsList(arrayOrList.GetType()); - } - - public static bool IsArray(object arrayOrList) - { - return IsArray(arrayOrList.GetType()); - } - - public static int Count(object arrayOrList) - { - if (IsArray(arrayOrList)) - { - return ((Array)arrayOrList).Length; - } - else if (IsList(arrayOrList)) - { - return ((IList)arrayOrList).Count; - } - - throw new ArgumentException("Type is not an array or list"); - } - - public static object Get(object arrayOrList, int index) - { - if (IsArray(arrayOrList)) - { - return ((Array)arrayOrList).GetValue(index); - } - else if (IsList(arrayOrList)) - { - return ((IList)arrayOrList)[index]; - } - - throw new ArgumentException("Type is not an array or list"); - } - - public static void Set(object arrayOrList, int index, object value) - { - if (IsArray(arrayOrList)) - { - ((Array)arrayOrList).SetValue(value, index); - } - else if (IsList(arrayOrList)) - { - ((IList)arrayOrList)[index] = value; - } - else - { - throw new ArgumentException("Type is not an array or list"); - } - } - - public static Type GetElementType(Type arrayOrList) - { - if (IsArray(arrayOrList)) - { - return arrayOrList.GetElementType(); - } - else if (IsList(arrayOrList)) - { - return arrayOrList.GetGenericArguments()[0]; - } - - throw new ArgumentException("Type is not an array or list"); - } - - private static object CreateDefault(Type type) - { - if (type.IsPrimitive) - { - return Activator.CreateInstance(type); - } - - if (type == typeof(string)) - { - return ""; - } - - if (type.GetConstructor(Type.EmptyTypes) != null) - { - return Activator.CreateInstance(type); - } - - return null; - } - - private static object Duplicate(object value) - { - if (value == null) - { - return null; - } - - var type = value.GetType(); - if (type.IsValueType || type == typeof(string)) - { - return value; - } - - if (IsArray(type)) - { - var array = (Array)value; - var newArray = Array.CreateInstance(type.GetElementType(), array.Length); - for (var i = 0; i < array.Length; i++) - { - newArray.SetValue(Duplicate(array.GetValue(i)), i); - } - } - - if (IsList(type)) - { - var list = (IList)value; - var newList = (IList)Activator.CreateInstance(type); - foreach (var item in list) - { - newList.Add(Duplicate(item)); - } - - return newList; - } - - if (type.IsSubclassOf(typeof(UnityEngine.Object))) - { - return value; - } - - return null; - } - - public static object Resize(object arrayOrList, int size) - { - var oldSize = Count(arrayOrList); - if (oldSize == size) - { - return arrayOrList; - } - - var type = arrayOrList.GetType(); - var elementType = GetElementType(type); - - if (IsArray(type)) - { - var newArray = Array.CreateInstance(elementType, size); - Array.Copy((Array)arrayOrList, newArray, Math.Min(oldSize, size)); - for (var i = oldSize; i < size; i++) - { - newArray.SetValue(CreateDefault(elementType), i); - } - - arrayOrList = newArray; - } - else if (IsList(type)) - { - var list = ((IList)arrayOrList); - while (list.Count > size) - { - list.RemoveAt(list.Count - 1); - } - - while (list.Count < size) - { - list.Add(CreateDefault(elementType)); - } - - arrayOrList = list; - } - else - { - throw new ArgumentException("Type is not an array or list"); - } - - // If we're adding elements, and we already have at least one, - // mimic the Unity behavior of duplicating the last element. - if (size > oldSize && oldSize > 0) - { - var lastElement = Get(arrayOrList, oldSize - 1); - for (var i = oldSize; i < size; i++) - { - Set(arrayOrList, i, Duplicate(lastElement)); - } - } - - return arrayOrList; - } - - public static void MoveElement(object arrayOrList, int from, int to) - { - var temp = Get(arrayOrList, from); - - if (from < to) - { - for (int i = from; i < to; i++) - { - Set(arrayOrList, i, Get(arrayOrList, i + 1)); - } - } - else - { - for (int i = from; i > to; i--) - { - Set(arrayOrList, i, Get(arrayOrList, i - 1)); - } - } - - Set(arrayOrList, to, temp); - } - - public static object RemoveElement(object arrayOrList, int index) - { - var size = Count(arrayOrList); - for (int i = index; i < size - 1; i++) - { - Set(arrayOrList, i, Get(arrayOrList, i + 1)); - } - - return Resize(arrayOrList, size - 1); - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ArrayOrList.cs.meta b/Assets/External/Proxima/Runtime/ArrayOrList.cs.meta deleted file mode 100644 index 625f5c4e..00000000 --- a/Assets/External/Proxima/Runtime/ArrayOrList.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: b3a424b5724df2440982f5f059d8ab12 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ArrayOrList.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/AssemblyInfo.cs b/Assets/External/Proxima/Runtime/AssemblyInfo.cs deleted file mode 100644 index ff5132c3..00000000 --- a/Assets/External/Proxima/Runtime/AssemblyInfo.cs +++ /dev/null @@ -1,5 +0,0 @@ -using System.Runtime.CompilerServices; - -[assembly:InternalsVisibleTo("Proxima.Tests")] -[assembly:InternalsVisibleTo("Proxima.Editor.Tests")] -[assembly:InternalsVisibleTo("Proxima.Editor")] \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/AssemblyInfo.cs.meta b/Assets/External/Proxima/Runtime/AssemblyInfo.cs.meta deleted file mode 100644 index f99660b8..00000000 --- a/Assets/External/Proxima/Runtime/AssemblyInfo.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 1433e3911ce61f54783a44faae88c010 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/AssemblyInfo.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/CircularList.cs b/Assets/External/Proxima/Runtime/CircularList.cs deleted file mode 100644 index 1e26a8c9..00000000 --- a/Assets/External/Proxima/Runtime/CircularList.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -namespace Proxima -{ - internal class CircularList : IEnumerable - { - private T[] _array; - private int _itemsAdded = 0; - public int ItemsAdded => _itemsAdded; - - public CircularList(int capacity) - { - _array = new T[capacity]; - } - - public void Add(T t) - { - var index = _itemsAdded % _array.Length; - _array[index] = t; - _itemsAdded++; - } - - public IEnumerable GetRange(int index) - { - index = Mathf.Max(_itemsAdded - _array.Length, index); - var count = _itemsAdded - index; - var start = index % _array.Length; - for (int i = 0; i < count; i++) - { - yield return _array[(i + start) % _array.Length]; - } - } - - public IEnumerator GetEnumerator() - { - return GetRange(0).GetEnumerator(); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return GetEnumerator(); - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/CircularList.cs.meta b/Assets/External/Proxima/Runtime/CircularList.cs.meta deleted file mode 100644 index 85db171f..00000000 --- a/Assets/External/Proxima/Runtime/CircularList.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 2cc8e31c1a399ed4e8c4cf72c2abfc5e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/CircularList.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/Embedded.meta b/Assets/External/Proxima/Runtime/Embedded.meta deleted file mode 100644 index b3742875..00000000 --- a/Assets/External/Proxima/Runtime/Embedded.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e3d891e79bd911e40878dfa1cfcced16 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Runtime/Embedded/HttpDateParse.cs b/Assets/External/Proxima/Runtime/Embedded/HttpDateParse.cs deleted file mode 100644 index 85571803..00000000 --- a/Assets/External/Proxima/Runtime/Embedded/HttpDateParse.cs +++ /dev/null @@ -1,487 +0,0 @@ -// The MIT License (MIT) - -// Copyright (c) .NET Foundation and Contributors - -// All rights reserved. - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - -// Slightly modified from: -// https://github.com/dotnet/runtime/blob/main/src/libraries/Common/src/System/Net/HttpDateParser.cs - -using System; -using System.Globalization; - -namespace Proxima -{ - internal static class HttpDateParse { - private const int BASE_DEC = 10; // base 10 - - // - // Date indicies used to figure out what each entry is. - // - - - private const int DATE_INDEX_DAY_OF_WEEK = 0; - - private const int DATE_1123_INDEX_DAY = 1; - private const int DATE_1123_INDEX_MONTH = 2; - private const int DATE_1123_INDEX_YEAR = 3; - private const int DATE_1123_INDEX_HRS = 4; - private const int DATE_1123_INDEX_MINS = 5; - private const int DATE_1123_INDEX_SECS = 6; - - private const int DATE_ANSI_INDEX_MONTH = 1; - private const int DATE_ANSI_INDEX_DAY = 2; - private const int DATE_ANSI_INDEX_HRS = 3; - private const int DATE_ANSI_INDEX_MINS = 4; - private const int DATE_ANSI_INDEX_SECS = 5; - private const int DATE_ANSI_INDEX_YEAR = 6; - - private const int DATE_INDEX_TZ = 7; - - private const int DATE_INDEX_LAST = DATE_INDEX_TZ; - private const int MAX_FIELD_DATE_ENTRIES = (DATE_INDEX_LAST+1); - - // - // DATE_TOKEN's DWORD values used to determine what day/month we're on - // - - private const int DATE_TOKEN_JANUARY = 1; - private const int DATE_TOKEN_FEBRUARY = 2; - private const int DATE_TOKEN_Microsoft = 3; - private const int DATE_TOKEN_APRIL = 4; - private const int DATE_TOKEN_MAY = 5; - private const int DATE_TOKEN_JUNE = 6; - private const int DATE_TOKEN_JULY = 7; - private const int DATE_TOKEN_AUGUST = 8; - private const int DATE_TOKEN_SEPTEMBER = 9; - private const int DATE_TOKEN_OCTOBER = 10; - private const int DATE_TOKEN_NOVEMBER = 11; - private const int DATE_TOKEN_DECEMBER = 12; - - private const int DATE_TOKEN_LAST_MONTH = (DATE_TOKEN_DECEMBER+1); - - private const int DATE_TOKEN_SUNDAY = 0; - private const int DATE_TOKEN_MONDAY = 1; - private const int DATE_TOKEN_TUESDAY = 2; - private const int DATE_TOKEN_WEDNESDAY = 3; - private const int DATE_TOKEN_THURSDAY = 4; - private const int DATE_TOKEN_FRIDAY = 5; - private const int DATE_TOKEN_SATURDAY = 6; - - private const int DATE_TOKEN_LAST_DAY = (DATE_TOKEN_SATURDAY+1); - - private const int DATE_TOKEN_GMT = -1000; - - private const int DATE_TOKEN_LAST = DATE_TOKEN_GMT; - - private const int DATE_TOKEN_ERROR = (DATE_TOKEN_LAST+1); - - - // - // MAKE_UPPER - takes an assumed lower character and bit manipulates into a upper. - // (make sure the character is Lower case alpha char to begin, - // otherwise it corrupts) - // - - private - static - char - MAKE_UPPER(char c) { - return(Char.ToUpper(c, CultureInfo.InvariantCulture)); - } - - /*++ - - Routine Description: - - Looks at the first three bytes of string to determine if we're looking - at a Day of the Week, or Month, or "GMT" string. Is inlined so that - the compiler can optimize this code into the caller FInternalParseHttpDate. - - Arguments: - - lpszDay - a string ptr to the first byte of the string in question. - - Return Value: - - DWORD - Success - The Correct date token, 0-6 for day of the week, 1-14 for month, etc - - Failure - DATE_TOKEN_ERROR - - --*/ - - private - static - int - MapDayMonthToDword( - char [] lpszDay, - int index - ) { - switch (MAKE_UPPER(lpszDay[index])) { // make uppercase - case 'A': - switch (MAKE_UPPER(lpszDay[index+1])) { - case 'P': - return DATE_TOKEN_APRIL; - case 'U': - return DATE_TOKEN_AUGUST; - - } - return DATE_TOKEN_ERROR; - - case 'D': - return DATE_TOKEN_DECEMBER; - - case 'F': - switch (MAKE_UPPER(lpszDay[index+1])) { - case 'R': - return DATE_TOKEN_FRIDAY; - case 'E': - return DATE_TOKEN_FEBRUARY; - } - - return DATE_TOKEN_ERROR; - - case 'G': - return DATE_TOKEN_GMT; - - case 'M': - - switch (MAKE_UPPER(lpszDay[index+1])) { - case 'O': - return DATE_TOKEN_MONDAY; - case 'A': - switch (MAKE_UPPER(lpszDay[index+2])) { - case 'R': - return DATE_TOKEN_Microsoft; - case 'Y': - return DATE_TOKEN_MAY; - } - - // fall through to error - break; - } - - return DATE_TOKEN_ERROR; - - case 'N': - return DATE_TOKEN_NOVEMBER; - - case 'J': - - switch (MAKE_UPPER(lpszDay[index+1])) { - case 'A': - return DATE_TOKEN_JANUARY; - - case 'U': - switch (MAKE_UPPER(lpszDay[index+2])) { - case 'N': - return DATE_TOKEN_JUNE; - case 'L': - return DATE_TOKEN_JULY; - } - - // fall through to error - break; - } - - return DATE_TOKEN_ERROR; - - case 'O': - return DATE_TOKEN_OCTOBER; - - case 'S': - - switch (MAKE_UPPER(lpszDay[index+1])) { - case 'A': - return DATE_TOKEN_SATURDAY; - case 'U': - return DATE_TOKEN_SUNDAY; - case 'E': - return DATE_TOKEN_SEPTEMBER; - } - - return DATE_TOKEN_ERROR; - - - case 'T': - switch (MAKE_UPPER(lpszDay[index+1])) { - case 'U': - return DATE_TOKEN_TUESDAY; - case 'H': - return DATE_TOKEN_THURSDAY; - } - - return DATE_TOKEN_ERROR; - - case 'U': - return DATE_TOKEN_GMT; - - case 'W': - return DATE_TOKEN_WEDNESDAY; - - } - - return DATE_TOKEN_ERROR; - } - - /*++ - - Routine Description: - - Parses through a ANSI, RFC850, or RFC1123 date format and covents it into - a FILETIME/SYSTEMTIME time format. - - Important this a time-critical function and should only be changed - with the intention of optimizing or a critical need work item. - - Arguments: - - lpft - Ptr to FILETIME structure. Used to store converted result. - Must be NULL if not intended to be used !!! - - lpSysTime - Ptr to SYSTEMTIME struture. Used to return Systime if needed. - - lpcszDateStr - Const Date string to parse. - - Return Value: - - BOOL - Success - TRUE - - Failure - FALSE - - --*/ - public - static - bool - ParseHttpDate( - String DateString, - out DateTime dtOut - ) { - int index = 0; - int i = 0, iLastLettered = -1; - bool fIsANSIDateFormat = false; - int [] rgdwDateParseResults = new int[MAX_FIELD_DATE_ENTRIES]; - bool fRet = true; - char [] lpInputBuffer = DateString.ToCharArray(); - - dtOut = new DateTime(); - - // - // Date Parsing v2 (1 more to go), and here is how it works... - // We take a date string and churn through it once, converting - // integers to integers, Month,Day, and GMT strings into integers, - // and all is then placed IN order in a temp array. - // - // At the completetion of the parse stage, we simple look at - // the data, and then map the results into the correct - // places in the SYSTIME structure. Simple, No allocations, and - // No dirting the data. - // - // The end of the function does something munging and pretting - // up of the results to handle the year 2000, and TZ offsets - // Note: do we need to fully handle TZs anymore? - // - - while (index < DateString.Length && i < MAX_FIELD_DATE_ENTRIES) { - if (lpInputBuffer[index] >= '0' && lpInputBuffer[index] <= '9') { - // - // we have a numerical entry, scan through it and convent to DWORD - // - - rgdwDateParseResults[i] = 0; - - do { - rgdwDateParseResults[i] *= BASE_DEC; - rgdwDateParseResults[i] += (lpInputBuffer[index] - '0'); - index++; - } while (index < DateString.Length && - lpInputBuffer[index] >= '0' && - lpInputBuffer[index] <= '9'); - - i++; // next token - } - else if ((lpInputBuffer[index] >= 'A' && lpInputBuffer[index] <= 'Z') || - (lpInputBuffer[index] >= 'a' && lpInputBuffer[index] <= 'z')) { - // - // we have a string, should be a day, month, or GMT - // lets skim to the end of the string - // - - rgdwDateParseResults[i] = - MapDayMonthToDword(lpInputBuffer, index); - - iLastLettered = i; - - // We want to ignore the possibility of a time zone such as PST or EST in a non-standard - // date format such as "Thu Dec 17 16:01:28 PST 1998" (Notice that the year is _after_ the time zone - if ((rgdwDateParseResults[i] == DATE_TOKEN_ERROR) - && - !(fIsANSIDateFormat && (i==DATE_ANSI_INDEX_YEAR))) { - fRet = false; - goto quit; - } - - // - // At this point if we have a vaild string - // at this index, we know for sure that we're - // looking at a ANSI type DATE format. - // - - if (i == DATE_ANSI_INDEX_MONTH) { - fIsANSIDateFormat = true; - } - - // - // Read past the end of the current set of alpha characters, - // as MapDayMonthToDword only peeks at a few characters - // - - do { - index++; - } while (index < DateString.Length && - ( (lpInputBuffer[index] >= 'A' && lpInputBuffer[index] <= 'Z') || - (lpInputBuffer[index] >= 'a' && lpInputBuffer[index] <= 'z') )); - - i++; // next token - } - else { - // - // For the generic case its either a space, comma, semi-colon, etc. - // the point is we really don't care, nor do we need to waste time - // worring about it (the orginal code did). The point is we - // care about the actual date information, So we just advance to the - // next lexume. - // - - index++; - } - } - - // - // We're finished parsing the string, now take the parsed tokens - // and turn them to the actual structured information we care about. - // So we build lpSysTime from the Array, using a local if none is passed in. - // - - int year; - int month; - int day; - int hour; - int minute; - int second; - int millisecond; - - millisecond = 0; - - if (fIsANSIDateFormat) { - day = rgdwDateParseResults[DATE_ANSI_INDEX_DAY]; - month = rgdwDateParseResults[DATE_ANSI_INDEX_MONTH]; - hour = rgdwDateParseResults[DATE_ANSI_INDEX_HRS]; - minute = rgdwDateParseResults[DATE_ANSI_INDEX_MINS]; - second = rgdwDateParseResults[DATE_ANSI_INDEX_SECS]; - if (iLastLettered != DATE_ANSI_INDEX_YEAR) { - year = rgdwDateParseResults[DATE_ANSI_INDEX_YEAR]; - } - else { - // This is a fix to get around toString/toGMTstring (where the timezone is - // appended at the end. (See above) - year = rgdwDateParseResults[DATE_INDEX_TZ]; - } - } - else { - day = rgdwDateParseResults[DATE_1123_INDEX_DAY]; - month = rgdwDateParseResults[DATE_1123_INDEX_MONTH]; - year = rgdwDateParseResults[DATE_1123_INDEX_YEAR]; - hour = rgdwDateParseResults[DATE_1123_INDEX_HRS]; - minute = rgdwDateParseResults[DATE_1123_INDEX_MINS]; - second = rgdwDateParseResults[DATE_1123_INDEX_SECS]; - } - - // - // Normalize the year, 90 == 1990, handle the year 2000, 02 == 2002 - // This is Year 2000 handling folks!!! We get this wrong and - // we all look bad. - // - - if (year < 100) { - year += ((year < 80) ? 2000 : 1900); - } - - // - // if we got misformed time, then plug in the current time - // !lpszHrs || !lpszMins || !lpszSec - // - - if ((i < 4) - || (day > 31) - || (hour > 23) - || (minute > 59) - || (second > 59)) { - fRet = false; - goto quit; - } - - // - // Now do the DateTime conversion - // - - dtOut = new DateTime (year, month, day, hour, minute, second, millisecond); - - // - // we want the system time to be accurate. This is _suhlow_ - // The time passed in is in the local time zone; we have to convert this into GMT. - // - - if (iLastLettered==DATE_ANSI_INDEX_YEAR) { - // this should be an unusual case. - dtOut = dtOut.ToUniversalTime(); - } - - // - // If we have an Offset to another Time Zone - // then convert to appropriate GMT time - // - - if ((i > DATE_INDEX_TZ && - rgdwDateParseResults[DATE_INDEX_TZ] != DATE_TOKEN_GMT)) { - - // - // if we received +/-nnnn as offset (hhmm), modify the output FILETIME - // - - double offset; - - offset = (double) rgdwDateParseResults[DATE_INDEX_TZ]; - dtOut.AddHours(offset); - } - - // In the end, we leave it all in LocalTime - - dtOut = dtOut.ToLocalTime(); - - quit: - - return fRet; - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/Embedded/HttpDateParse.cs.meta b/Assets/External/Proxima/Runtime/Embedded/HttpDateParse.cs.meta deleted file mode 100644 index acfc96a7..00000000 --- a/Assets/External/Proxima/Runtime/Embedded/HttpDateParse.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: ec8f0b0fcb7462a43a5b930004717228 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/Embedded/HttpDateParse.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/Embedded/PfxAsset.cs b/Assets/External/Proxima/Runtime/Embedded/PfxAsset.cs deleted file mode 100644 index 1188d372..00000000 --- a/Assets/External/Proxima/Runtime/Embedded/PfxAsset.cs +++ /dev/null @@ -1,9 +0,0 @@ -using UnityEngine; - -namespace Proxima -{ - public class PfxAsset : ScriptableObject - { - public byte[] Bytes; - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/Embedded/PfxAsset.cs.meta b/Assets/External/Proxima/Runtime/Embedded/PfxAsset.cs.meta deleted file mode 100644 index 430fcac4..00000000 --- a/Assets/External/Proxima/Runtime/Embedded/PfxAsset.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 3d9389e3e4f6e9c42b5b1a635c8eb849 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/Embedded/PfxAsset.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedConnection.cs b/Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedConnection.cs deleted file mode 100644 index dfb8aab4..00000000 --- a/Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedConnection.cs +++ /dev/null @@ -1,127 +0,0 @@ -using System; -using System.Collections.Concurrent; -using System.IO; -using ProximaWebSocketSharp; -using ProximaWebSocketSharp.Server; -using UnityEngine; - -namespace Proxima -{ - internal class ProximaEmbeddedConnection : WebSocketBehavior, ProximaConnection - { - public bool Open => ReadyState == WebSocketState.Open; - - private ConcurrentQueue<(ProximaConnection, string)> _receiveQueue; - - private string _password; - private bool _passwordProvided = false; - private string _displayName; - private ProximaInstanceHello _hello; - private DateTime _lastListTime; - private DateTime _lastSelectTime; - private ProximaStatus _status; - private ProximaDispatcher _dispatcher; - - public void Initialize(string displayName, string password, ProximaDispatcher dispatcher, ProximaStatus status, ConcurrentQueue<(ProximaConnection, string)> queue) - { - _displayName = displayName; - _receiveQueue = queue; - _dispatcher = dispatcher; - _status = status; - - _dispatcher.Dispatch(() => { - _hello = ProximaSerialization.CreateHello(_displayName); - _password = ProximaSerialization.HashPassword(password, _hello.ConnectionId); - }); - } - - protected override void OnClose(CloseEventArgs e) - { - _dispatcher.Dispatch(() => { - if (_passwordProvided) - { - _status.DecrementConnections(); - } - }); - } - - public void SendMessage(MemoryStream data) - { - if (Open) - { - Log.Verbose("Sending: " + System.Text.Encoding.UTF8.GetString(data.GetBuffer(), 0, (int)data.Length)); - SendAsTextAsync(data, (b) => {}); - } - } - - protected override void OnMessage(MessageEventArgs e) - { - Log.Verbose("Received: " + e.Data); - - if (_passwordProvided) - { - _receiveQueue.Enqueue((this, e.Data)); - } - else - { - ProximaRequest request; - - try - { - request = JsonUtility.FromJson(e.Data); - } - catch (Exception ex) - { - Log.Error("Failed to parse request: " + ex.Message); - return; - } - - if (request.Type == ProximaRequestType.List) - { - if (_lastListTime != null && DateTime.Now - _lastListTime < TimeSpan.FromSeconds(1)) - { - SendMessage(ProximaSerialization.ErrorResponse(request, "Too many requests.")); - return; - } - - _dispatcher.Dispatch(() =>{ - SendMessage(ProximaSerialization.DataResponse(request, new ProximaInstanceHello[] { _hello })); - }); - - _lastListTime = DateTime.Now; - } - else if (request.Type == ProximaRequestType.Select) - { - if (_lastSelectTime != null && DateTime.Now - _lastSelectTime < TimeSpan.FromSeconds(1)) - { - SendMessage(ProximaSerialization.ErrorResponse(request, "Too many requests.")); - return; - } - - MemoryStream response; - if (request.Cmd != _hello.InstanceId) - { - response = ProximaSerialization.ErrorResponse(request, "Invalid selection."); - } - else if (request.Args.Length != 1 || request.Args[0] != _password) - { - response = ProximaSerialization.ErrorResponse(request, "Invalid password."); - } - else - { - response = ProximaSerialization.DataResponse(request, "OK"); - _passwordProvided = true; - _dispatcher.Dispatch(() => _status.IncrementConnections()); - } - - SendMessage(response); - _lastSelectTime = DateTime.Now; - } - else - { - Log.Info("Unknown request: " + request.Type); - } - } - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedConnection.cs.meta b/Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedConnection.cs.meta deleted file mode 100644 index 4ecf8760..00000000 --- a/Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedConnection.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 2bd3c2ee267f5b04fb056dceb506920a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/Embedded/ProximaEmbeddedConnection.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedServer.cs b/Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedServer.cs deleted file mode 100644 index ff890f7d..00000000 --- a/Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedServer.cs +++ /dev/null @@ -1,171 +0,0 @@ -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Security.Cryptography.X509Certificates; -using UnityEngine; -using ProximaWebSocketSharp.Server; -using System.Net; -using System.Net.Sockets; -using System.Threading.Tasks; - -namespace Proxima -{ - internal class ProximaEmbeddedServer : ProximaServer - { - private ConcurrentQueue<(ProximaConnection, string)> _receiveQueue; - private HttpServer _server; - private ProximaDispatcher _dispatcher; - private int _port; - private bool _useHttps; - private PfxAsset _cert; - private string _certPass; - private Dictionary _pathToFile; - private ProximaStatus _status; - - public ProximaEmbeddedServer(ProximaDispatcher dispatcher, ProximaStatus status, int port, bool useHttps, PfxAsset cert, string certPass) - { - _dispatcher = dispatcher; - _port = port; - _useHttps = useHttps; - _cert = cert; - _certPass = certPass; - _status = status; - - if (_useHttps && _cert == null) - { - _cert = Resources.Load("Proxima/ProximaEmbeddedCert"); - _certPass = "proximapass"; - } - - var staticFiles = Resources.Load("Proxima/web"); - _pathToFile = new Dictionary(); - foreach (var file in staticFiles.Files) - { - _pathToFile.Add(file.Path, file); - } - } - - public void Start(string displayName, string password) - { - _server = new HttpServer(System.Net.IPAddress.Any, _port, _useHttps); - _server.Log.Level = ProximaWebSocketSharp.LogLevel.Trace; - - if (_useHttps) - { - _server.SslConfiguration.ServerCertificate = new X509Certificate2(_cert.Bytes, _certPass); - _server.SslConfiguration.EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls12; - } - - var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); - - _server.OnGet += (sender, e) => - { - var req = e.Request; - var res = e.Response; - var path = req.RawUrl.Split('?')[0]; - - path = path == "/" ? "index.html" : path.Substring(1); - - if (_pathToFile.TryGetValue(path, out var file) || _pathToFile.TryGetValue(path + ".html", out file)) - { - var lastModifiedDt = epoch.AddMilliseconds(file.LastModified); - if (req.Headers.AllKeys.Contains("If-Modified-Since")) - { - var ifModifiedSince = req.Headers["If-Modified-Since"]; - - try - { - if (HttpDateParse.ParseHttpDate(ifModifiedSince, out var ifModifiedSinceDt)) - { - ifModifiedSinceDt = ifModifiedSinceDt.ToUniversalTime(); - if (lastModifiedDt <= ifModifiedSinceDt) - { - res.StatusCode = 304; - res.Close(); - return; - } - } - } catch (Exception) {} - } - - var lastModified = string.Format("{0:ddd, dd MMM yyyy HH:mm:ss} GMT", lastModifiedDt); - res.AppendHeader("Last-Modified", lastModified); - res.ContentEncoding = System.Text.Encoding.UTF8; - res.ContentType = ProximaMimeTypes.Get(Path.GetExtension(file.Path)); - res.ContentLength64 = file.Bytes.Length; - res.OutputStream.Write(file.Bytes, 0, file.Bytes.Length); - res.Close(); - } - else - { - res.StatusCode = (int)System.Net.HttpStatusCode.NotFound; - res.Close(); - } - }; - - _receiveQueue = new ConcurrentQueue<(ProximaConnection, string)>(); - _server.AddWebSocketService("/api", (api) => api.Initialize(displayName, password, _dispatcher, _status, _receiveQueue)); - - - _server.Start(); - UpdateConnectionInfo(); - } - - public async void UpdateConnectionInfo() - { - var ip = await GetIpAddress(); - var connectionInfo = (_useHttps ? "https" : "http") + "://" + ip + ":" + _port; - Log.Info("Proxima Inspector started on " + connectionInfo); - _status.SetConnectInfo(connectionInfo); - } - - private async Task GetIpAddress() - { - try - { - using (var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)) - { - // Try to connect to Google DNS servers. This is a more reliable way to get the local IP address. - var task = socket.ConnectAsync("8.8.8.8", 53); - await Task.WhenAny(task, Task.Delay(100)); - if (task.Status == TaskStatus.RanToCompletion) - { - return socket.LocalEndPoint.ToString().Split(':')[0]; - } - } - } - catch (Exception e) - { - Log.Exception(e); - } - - // If not connected to the internet, or this is taking too long, fallback to the first IPv4 address. - return Dns.GetHostEntry(Dns.GetHostName()) - .AddressList.First( - f => f.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) - .ToString(); - } - - public void Stop() - { - _server?.Stop(); - _server = null; - _receiveQueue = null; - } - - public bool TryGetMessage(out (ProximaConnection, string) message) - { - if (_receiveQueue != null) - { - return _receiveQueue.TryDequeue(out message); - } - else - { - message = (null, ""); - return false; - } - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedServer.cs.meta b/Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedServer.cs.meta deleted file mode 100644 index 9d836775..00000000 --- a/Assets/External/Proxima/Runtime/Embedded/ProximaEmbeddedServer.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 886fa013fd1b21f4d9e70f837e19dd45 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/Embedded/ProximaEmbeddedServer.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/Embedded/ProximaStatic.cs b/Assets/External/Proxima/Runtime/Embedded/ProximaStatic.cs deleted file mode 100644 index c78e6e44..00000000 --- a/Assets/External/Proxima/Runtime/Embedded/ProximaStatic.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Collections.Generic; -using System; -using UnityEngine; - -namespace Proxima -{ - public class ProximaStatic : ScriptableObject - { - [Serializable] - public struct StaticFile - { - public string Path; - public byte[] Bytes; - public long LastModified; - } - - public List Files; - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/Embedded/ProximaStatic.cs.meta b/Assets/External/Proxima/Runtime/Embedded/ProximaStatic.cs.meta deleted file mode 100644 index 93a9f598..00000000 --- a/Assets/External/Proxima/Runtime/Embedded/ProximaStatic.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 43c0651e2177f7b42846248f4ee5d1b6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/Embedded/ProximaStatic.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/FastJson.cs b/Assets/External/Proxima/Runtime/FastJson.cs deleted file mode 100644 index 49d46f02..00000000 --- a/Assets/External/Proxima/Runtime/FastJson.cs +++ /dev/null @@ -1,641 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Reflection; -using UnityEngine; - -namespace Proxima -{ - [AttributeUsage(AttributeTargets.Field)] - internal class SerializeIfAttribute : Attribute - { - public string Method; - - public SerializeIfAttribute(string method) - { - Method = method; - } - } - - internal class FastJson - { - private static bool _pretty = false; - private static MemoryStream _stream; - public static Dictionary> _typeToObjectFields = new Dictionary>(100); - - public static MemoryStream Serialize(object data, bool pretty = false) - { - if (data == null) - { - return null; - } - - _pretty = pretty; - _stream = new MemoryStream(1024); - - try - { - SerializeRecursively(data.GetType(), data, false); - _stream.Position = 0; - return _stream; - } - catch (Exception e) - { - Debug.LogException(e); - return null; - } - } - - private static void SerializeRecursively(Type type, object data, bool quote) - { - if (TrySerializeValue(type, data, quote)) - { - return; - } - - if (typeof(IList).IsAssignableFrom(type)) - { - SerializeList(data); - return; - } - - if (type.IsArray) - { - SerializeArray(data); - return; - } - - if (type.IsSerializable) - { - SerializeObject(data); - return; - } - - if (typeof(IEnumerable).IsAssignableFrom(type)) - { - SerializeEnumerable(data); - return; - } - - throw new Exception($"Unsupported type {type}"); - } - - private static bool TrySerializeValue(Type type, object data, bool quote) - { - switch (type) - { - case Type t when t == typeof(bool): SerializeBool(data); break; - case Type t when t == typeof(byte): WriteUInt64((ulong)(byte)data); break; - case Type t when t == typeof(sbyte): WriteInt64((long)(sbyte)data); break; - case Type t when t == typeof(short): WriteInt64((long)(short)data); break; - case Type t when t == typeof(ushort): WriteUInt64((ulong)(ushort)data); break; - case Type t when t == typeof(int): WriteInt64((long)(int)data); break; - case Type t when t == typeof(uint): WriteUInt64((ulong)(uint)data); break; - case Type t when t == typeof(long): WriteInt64((long)data); break; - case Type t when t == typeof(ulong): WriteUInt64((ulong)data); break; - case Type t when t == typeof(float): SerializeFloat(data); break; - case Type t when t == typeof(double): SerializeDouble(data); break; - case Type t when t == typeof(string): SerializeString(data, quote); break; - case Type t when t == typeof(Vector2): SerializeVector2(data); break; - case Type t when t == typeof(Vector3): SerializeVector3(data); break; - case Type t when t == typeof(Vector4): SerializeVector4(data); break; - case Type t when t == typeof(Vector2Int): SerializeVector2Int(data); break; - case Type t when t == typeof(Vector3Int): SerializeVector3Int(data); break; - case Type t when t == typeof(Quaternion): SerializeQuaternion(data); break; - case Type t when t == typeof(Rect): SerializeRect(data); break; - case Type t when t == typeof(RectInt): SerializeRectInt(data); break; - case Type t when t == typeof(Bounds): SerializeBounds(data); break; - case Type t when t == typeof(BoundsInt): SerializeBoundsInt(data); break; - case Type t when t == typeof(Color): SerializeColor(data, quote); break; - case Type t when t == typeof(LayerMask): SerializeLayerMask(data); break; - case Type t when t.IsEnum: SerializeEnum(data); break; - case Type t when t.IsSubclassOf(typeof(UnityEngine.Object)): SerializeUnityObject(type, data, quote); break; - default: return false; - } - - return true; - } - - private static void Write(char value) - { - _stream.WriteByte((byte)value); - } - - private static void Write(string value, int offset, int count) - { - var encoding = System.Text.Encoding.UTF8; - var startLength = (int)_stream.Length; - _stream.SetLength(_stream.Length + encoding.GetMaxByteCount(count)); - var written = encoding.GetBytes(value, offset, count, _stream.GetBuffer(), startLength); - _stream.SetLength(startLength + written); - _stream.Seek(0, SeekOrigin.End); - } - - private static void Write(string value) - { - Write(value, 0, value.Length); - } - - private static void SerializeBool(object data) - { - SerializeBool(data != null ? (bool)data : false); - } - - private static void SerializeBool(bool data) - { - if (data) - { - Write("true"); - } - else - { - Write("false"); - } - } - - private static void SerializeFloat(object data) - { - SerializeFloat(data != null ? (float)data : 0f); - } - - private static void SerializeFloat(float data) - { - if (float.IsNaN(data)) - { - Write('0'); - return; - } - - if (float.IsInfinity(data)) - { - Write("\"Infinity\""); - return; - } - - if (float.IsNegativeInfinity(data)) - { - Write("\"-Infinity\""); - return; - } - - var value = data; - Write(value.ToString(CultureInfo.InvariantCulture)); - } - - private static void SerializeDouble(object data) - { - SerializeDouble(data != null ? (double)data : 0d); - } - - private static void SerializeDouble(double data) - { - if (double.IsNaN(data)) - { - Write('0'); - return; - } - - if (double.IsInfinity(data)) - { - Write("\"Infinity\""); - return; - } - - if (double.IsNegativeInfinity(data)) - { - Write("\"-Infinity\""); - return; - } - - var value = data; - Write(value.ToString(CultureInfo.InvariantCulture)); - } - - private static void SerializeString(object data, bool quote) - { - var value = (string)data; - if (quote) - { - Write('"'); - } - - if (String.IsNullOrEmpty(value)) - { - if (quote) - { - Write('"'); - } - - return; - } - - int len = value.Length; - bool needEncode = false; - char c; - for (int i = 0; i < len; i++) - { - c = value[i]; - - if (c >= 0 && c <= 31 || c == 34 || c == 39 || c == 60 || c == 62 || c == 92) - { - needEncode = true; - break; - } - } - - if (!needEncode) - { - Write(value); - if (quote) - { - Write('"'); - } - - return; - } - - int start = 0; - for (int i = 0; i < len; i++) - { - c = value[i]; - string escaped = null; - if (c >= 0 && c <= 7 || c == 11 || c >= 14 && c <= 31 || c == 39 || c == 60 || c == 62) - { - escaped = string.Format("\\u{0:x4}", (int)c); - } - else switch ((int)c) - { - case 8: - escaped = "\\b"; - break; - case 9: - escaped = "\\t"; - break; - case 10: - escaped = "\\n"; - break; - case 12: - escaped = "\\f"; - break; - case 13: - escaped = "\\r"; - break; - case 34: - escaped = "\\\""; - break; - case 92: - escaped = "\\\\"; - break; - } - - if (escaped != null) - { - if (start < i) - { - Write(value.Substring(start, i - start)); - } - - Write(escaped); - start = i + 1; - } - } - - if (start < len) - { - Write(value.Substring(start)); - } - - if (quote) - { - Write('"'); - } - } - - private static void SerializeParams(params T[] values) - { - SerializeList(values); - } - - private static void SerializeVector2(object data) - { - var v = (data != null) ? (Vector2)data : Vector2.zero; - SerializeParams(v.x, v.y); - } - - private static void SerializeVector3(object data) - { - var v = (data != null) ? (Vector3)data : Vector3.zero; - SerializeParams(v.x, v.y, v.z); - } - - private static void SerializeVector4(object data) - { - var v = (data != null) ? (Vector4)data : Vector4.zero; - SerializeParams(v.x, v.y, v.z, v.w); - } - - private static void SerializeVector2Int(object data) - { - var v = (data != null) ? (Vector2Int)data : Vector2Int.zero; - SerializeParams(v.x, v.y); - } - - private static void SerializeVector3Int(object data) - { - var v = (data != null) ? (Vector3Int)data : Vector3Int.zero; - SerializeParams(v.x, v.y, v.z); - } - - private static void SerializeQuaternion(object data) - { - var euler = (data != null) ? ((Quaternion)data).eulerAngles : Vector3.zero; - SerializeVector3(euler); - } - - private static void SerializeRect(object data) - { - var r = (data != null) ? (Rect)data : Rect.zero; - SerializeParams(r.x, r.y, r.width, r.height); - } - - private static void SerializeRectInt(object data) - { - var r = (data != null) ? (RectInt)data : new RectInt(0, 0, 0, 0); - SerializeParams(r.x, r.y, r.width, r.height); - } - - private static void SerializeBounds(object data) - { - var b = (data != null) ? (Bounds)data : new Bounds(Vector3.zero, Vector3.zero); - SerializeParams(b.center.x, b.center.y, b.center.z, b.size.x, b.size.y, b.size.z); - } - - private static void SerializeBoundsInt(object data) - { - var b = (data != null) ? (BoundsInt)data : new BoundsInt(Vector3Int.zero, Vector3Int.zero); - SerializeParams(b.position.x, b.position.y, b.position.z, b.size.x, b.size.y, b.size.z); - } - - private static void WriteHex(byte value) - { - byte high = (byte)(value >> 4); - byte low = (byte)(value & 15); - Write((char)(high < 10 ? high + 48 : high + 55)); - Write((char)(low < 10 ? low + 48 : low + 55)); - } - - private static void SerializeColor(object data, bool quote) - { - var color = data != null ? (Color)data : Color.black; - if (quote) - { - Write('"'); - } - - Write('#'); - WriteHex((byte)(color.r * 255)); - WriteHex((byte)(color.g * 255)); - WriteHex((byte)(color.b * 255)); - WriteHex((byte)(color.a * 255)); - - if (quote) - { - Write('"'); - } - } - - private static void SerializeLayerMask(object data) - { - var value = (LayerMask)data; - WriteInt64(value.value); - } - - private static void SerializeEnum(object data) - { - if (data == null) - { - Write('0'); - return; - } - - var underlyingType = Enum.GetUnderlyingType(data.GetType()); - switch (underlyingType) - { - case Type t when t == typeof(byte): WriteUInt64((byte)data); break; - case Type t when t == typeof(sbyte): WriteInt64((sbyte)data); break; - case Type t when t == typeof(short): WriteInt64((short)data); break; - case Type t when t == typeof(ushort): WriteUInt64((ushort)data); break; - case Type t when t == typeof(int): WriteInt64((int)data); break; - case Type t when t == typeof(uint): WriteUInt64((uint)data); break; - case Type t when t == typeof(long): WriteInt64((long)data); break; - case Type t when t == typeof(ulong): WriteUInt64((ulong)data); break; - default: throw new Exception($"Unsupported enum type {underlyingType}"); - } - } - - private static void SerializeUnityObject(Type type, object data, bool quote) - { - var value = (UnityEngine.Object)data; - if (value == null) - { - Write("null"); - return; - } - - SerializeString(value.name, quote); - } - - private static void SerializeList(object data) - { - var list = (IList)data; - Write('['); - var first = true; - var elementType = list.GetType().GetElementType(); - for (int i = 0; i < list.Count; i++) - { - var item = list[i]; - if (!first) - { - if (_pretty) - { - Write(", "); - } - else - { - Write(','); - } - } - - SerializeRecursively(item != null ? item.GetType() : elementType, item, true); - first = false; - } - - Write(']'); - } - - private static void SerializeArray(object data) - { - var array = (Array)data; - Write('['); - var first = true; - var elementType = array.GetType().GetElementType(); - for (int i = 0; i < array.Length; i++) - { - var item = array.GetValue(i); - if (!first) - { - if (_pretty) - { - Write(", "); - } - else - { - Write(','); - } - } - - SerializeRecursively(item != null ? item.GetType() : elementType, item, true); - first = false; - } - - Write(']'); - } - - private static void SerializeEnumerable(object data) - { - var enumerable = (IEnumerable)data; - Write('['); - var first = true; - var genericType = data.GetType().GetGenericArguments()[0]; - foreach (var item in enumerable) - { - if (!first) - { - if (_pretty) - { - Write(", "); - } - else - { - Write(','); - } - } - - SerializeRecursively(item != null ? item.GetType() : genericType, item, true); - first = false; - } - - Write(']'); - } - - private static void SerializeObject(object data) - { - if (data == null) - { - Write("null"); - } - - var type = data.GetType(); - var json = JsonUtility.ToJson(data); - - if (!_typeToObjectFields.TryGetValue(type, out var objectFields)) - { - objectFields = new List(); - foreach (var field in type.GetFields(BindingFlags.Public | BindingFlags.Instance)) - { - if ((field.FieldType == typeof(object) || field.FieldType == typeof(object[])) - && !Attribute.IsDefined(field, typeof(NonSerializedAttribute))) - { - objectFields.Add(field); - } - } - - _typeToObjectFields.Add(type, objectFields); - } - - if (objectFields.Count > 0) - { - Write(json, 0, json.Length - 1); - foreach (var field in objectFields) - { - var value = field.GetValue(data); - if (value != null) - { - var serializeIf = field.GetCustomAttribute(); - if (serializeIf != null) - { - var conditionMethod = data.GetType().GetMethod(serializeIf.Method, BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); - if (conditionMethod == null) - { - throw new Exception($"Method {serializeIf.Method} not found in {data.GetType()}"); - } - - var shouldSerialize = (bool)conditionMethod.Invoke(data, null); - if (!shouldSerialize) - { - continue; - } - } - - if (json.Length > 2) - { - Write(','); - } - - Write('"'); - Write(field.Name); - Write("\":"); - SerializeRecursively(value.GetType(), value, true); - } - } - Write('}'); - } - else - { - Write(json); - } - } - - private static void WriteInt64(long data) - { - var value = (long)data; - if (value < 0) - { - if (value == long.MinValue) // -9223372036854775808 - { - Write("-9223372036854775808"); - return; - } - - Write('-'); - value = unchecked(-value); - } - - WriteUInt64((ulong)value); - } - - private static void WriteUInt64(ulong value) - { - var start = _stream.Length; - var buf = _stream.GetBuffer(); - - while (value > 9) - { - var digit = value % 10; - value /= 10; - _stream.WriteByte((byte)('0' + digit)); - } - - _stream.WriteByte((byte)('0' + value)); - var newLength = _stream.Length; - for (int i = 0; i < (newLength - start) / 2; i++) - { - var tmp = buf[start + i]; - buf[start + i] = buf[newLength - i - 1]; - buf[newLength - i - 1] = tmp; - } - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/FastJson.cs.meta b/Assets/External/Proxima/Runtime/FastJson.cs.meta deleted file mode 100644 index a541cf23..00000000 --- a/Assets/External/Proxima/Runtime/FastJson.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: ea1dc8830e236d145a577c7f26fd36d4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/FastJson.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/Generated.meta b/Assets/External/Proxima/Runtime/Generated.meta deleted file mode 100644 index d7795e6c..00000000 --- a/Assets/External/Proxima/Runtime/Generated.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 157a9ff2eb0b84d48aabb4b96f9c1158 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Runtime/Generated/ProximaReflection.Generated.cs b/Assets/External/Proxima/Runtime/Generated/ProximaReflection.Generated.cs deleted file mode 100644 index 2805bfd8..00000000 --- a/Assets/External/Proxima/Runtime/Generated/ProximaReflection.Generated.cs +++ /dev/null @@ -1,2003 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -namespace Proxima -{ - using UnityProperty = ProximaComponentCommands.PropertyInfo; - - internal static class ProximaReflection_Generated - { - public static Dictionary Properties = new Dictionary - { - #if UNITY_ANIMATION - { "UnityEngine.Animations.AimConstraint", new UnityProperty[] { - new UnityProperty { Name = "constraintActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).constraintActive = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).constraintActive, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).constraintActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "weight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).weight = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).weight, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).weight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "aimVector", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).aimVector = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).aimVector, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).aimVector; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "upVector", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).upVector = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).upVector, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).upVector; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "worldUpType", PropertyType = typeof(UnityEngine.Animations.AimConstraint.WorldUpType), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).worldUpType = (UnityEngine.Animations.AimConstraint.WorldUpType)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).worldUpType, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.AimConstraint)o).worldUpType; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "worldUpVector", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).worldUpVector = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).worldUpVector, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).worldUpVector; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "worldUpObject", PropertyType = typeof(UnityEngine.Transform), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).worldUpObject = (UnityEngine.Transform)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).worldUpObject, }, - new UnityProperty { Name = "locked", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).locked = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).locked, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).locked; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).rotationAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).rotationAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).rotationAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationOffset", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).rotationOffset = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).rotationOffset, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).rotationOffset; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationAxis", PropertyType = typeof(UnityEngine.Animations.Axis), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).rotationAxis = (UnityEngine.Animations.Axis)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).rotationAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.AimConstraint)o).rotationAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.AimConstraint)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.AimConstraint)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.AimConstraint)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_ANIMATION - { "UnityEngine.Animation", new UnityProperty[] { - new UnityProperty { Name = "clip", PropertyType = typeof(UnityEngine.AnimationClip), Setter = (o, v) => ((Animation)o).clip = (UnityEngine.AnimationClip)v, Getter = (o) => ((Animation)o).clip, }, - new UnityProperty { Name = "playAutomatically", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Animation)o).playAutomatically = (System.Boolean)v, Getter = (o) => ((Animation)o).playAutomatically, Updater = (object o, ref object v) => { var x = ((Animation)o).playAutomatically; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "animatePhysics", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Animation)o).animatePhysics = (System.Boolean)v, Getter = (o) => ((Animation)o).animatePhysics, Updater = (object o, ref object v) => { var x = ((Animation)o).animatePhysics; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "cullingType", PropertyType = typeof(UnityEngine.AnimationCullingType), Setter = (o, v) => ((Animation)o).cullingType = (UnityEngine.AnimationCullingType)v, Getter = (o) => ((Animation)o).cullingType, Updater = (object o, ref object v) => { var x = (int)((Animation)o).cullingType; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Animation)o).enabled = (System.Boolean)v, Getter = (o) => ((Animation)o).enabled, Updater = (object o, ref object v) => { var x = ((Animation)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_ANIMATION - { "UnityEngine.Animator", new UnityProperty[] { - new UnityProperty { Name = "runtimeAnimatorController", PropertyType = typeof(UnityEngine.RuntimeAnimatorController), Setter = (o, v) => ((Animator)o).runtimeAnimatorController = (UnityEngine.RuntimeAnimatorController)v, Getter = (o) => ((Animator)o).runtimeAnimatorController, }, - new UnityProperty { Name = "avatar", PropertyType = typeof(UnityEngine.Avatar), Setter = (o, v) => ((Animator)o).avatar = (UnityEngine.Avatar)v, Getter = (o) => ((Animator)o).avatar, }, - new UnityProperty { Name = "applyRootMotion", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Animator)o).applyRootMotion = (System.Boolean)v, Getter = (o) => ((Animator)o).applyRootMotion, Updater = (object o, ref object v) => { var x = ((Animator)o).applyRootMotion; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "updateMode", PropertyType = typeof(UnityEngine.AnimatorUpdateMode), Setter = (o, v) => ((Animator)o).updateMode = (UnityEngine.AnimatorUpdateMode)v, Getter = (o) => ((Animator)o).updateMode, Updater = (object o, ref object v) => { var x = (int)((Animator)o).updateMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "cullingMode", PropertyType = typeof(UnityEngine.AnimatorCullingMode), Setter = (o, v) => ((Animator)o).cullingMode = (UnityEngine.AnimatorCullingMode)v, Getter = (o) => ((Animator)o).cullingMode, Updater = (object o, ref object v) => { var x = (int)((Animator)o).cullingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Animator)o).enabled = (System.Boolean)v, Getter = (o) => ((Animator)o).enabled, Updater = (object o, ref object v) => { var x = ((Animator)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.AreaEffector2D", new UnityProperty[] { - new UnityProperty { Name = "useColliderMask", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AreaEffector2D)o).useColliderMask = (System.Boolean)v, Getter = (o) => ((AreaEffector2D)o).useColliderMask, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).useColliderMask; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "colliderMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AreaEffector2D)o).colliderMask = (System.Int32)v, Getter = (o) => ((AreaEffector2D)o).colliderMask, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).colliderMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useGlobalAngle", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AreaEffector2D)o).useGlobalAngle = (System.Boolean)v, Getter = (o) => ((AreaEffector2D)o).useGlobalAngle, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).useGlobalAngle; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "forceAngle", PropertyType = typeof(System.Single), Setter = (o, v) => ((AreaEffector2D)o).forceAngle = (System.Single)v, Getter = (o) => ((AreaEffector2D)o).forceAngle, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).forceAngle; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "forceMagnitude", PropertyType = typeof(System.Single), Setter = (o, v) => ((AreaEffector2D)o).forceMagnitude = (System.Single)v, Getter = (o) => ((AreaEffector2D)o).forceMagnitude, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).forceMagnitude; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "forceVariation", PropertyType = typeof(System.Single), Setter = (o, v) => ((AreaEffector2D)o).forceVariation = (System.Single)v, Getter = (o) => ((AreaEffector2D)o).forceVariation, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).forceVariation; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "forceTarget", PropertyType = typeof(UnityEngine.EffectorSelection2D), Setter = (o, v) => ((AreaEffector2D)o).forceTarget = (UnityEngine.EffectorSelection2D)v, Getter = (o) => ((AreaEffector2D)o).forceTarget, Updater = (object o, ref object v) => { var x = (int)((AreaEffector2D)o).forceTarget; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "drag", PropertyType = typeof(System.Single), Setter = (o, v) => ((AreaEffector2D)o).drag = (System.Single)v, Getter = (o) => ((AreaEffector2D)o).drag, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).drag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularDrag", PropertyType = typeof(System.Single), Setter = (o, v) => ((AreaEffector2D)o).angularDrag = (System.Single)v, Getter = (o) => ((AreaEffector2D)o).angularDrag, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).angularDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AreaEffector2D)o).enabled = (System.Boolean)v, Getter = (o) => ((AreaEffector2D)o).enabled, Updater = (object o, ref object v) => { var x = ((AreaEffector2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_2020_3_OR_NEWER&&UNITY_PHYSICS - { "UnityEngine.ArticulationBody", new UnityProperty[] { - new UnityProperty { Name = "mass", PropertyType = typeof(System.Single), Setter = (o, v) => ((ArticulationBody)o).mass = (System.Single)v, Getter = (o) => ((ArticulationBody)o).mass, Updater = (object o, ref object v) => { var x = ((ArticulationBody)o).mass; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useGravity", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ArticulationBody)o).useGravity = (System.Boolean)v, Getter = (o) => ((ArticulationBody)o).useGravity, Updater = (object o, ref object v) => { var x = ((ArticulationBody)o).useGravity; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "immovable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ArticulationBody)o).immovable = (System.Boolean)v, Getter = (o) => ((ArticulationBody)o).immovable, Updater = (object o, ref object v) => { var x = ((ArticulationBody)o).immovable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "linearDamping", PropertyType = typeof(System.Single), Setter = (o, v) => ((ArticulationBody)o).linearDamping = (System.Single)v, Getter = (o) => ((ArticulationBody)o).linearDamping, Updater = (object o, ref object v) => { var x = ((ArticulationBody)o).linearDamping; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularDamping", PropertyType = typeof(System.Single), Setter = (o, v) => ((ArticulationBody)o).angularDamping = (System.Single)v, Getter = (o) => ((ArticulationBody)o).angularDamping, Updater = (object o, ref object v) => { var x = ((ArticulationBody)o).angularDamping; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "collisionDetectionMode", PropertyType = typeof(UnityEngine.CollisionDetectionMode), Setter = (o, v) => ((ArticulationBody)o).collisionDetectionMode = (UnityEngine.CollisionDetectionMode)v, Getter = (o) => ((ArticulationBody)o).collisionDetectionMode, Updater = (object o, ref object v) => { var x = (int)((ArticulationBody)o).collisionDetectionMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ArticulationBody)o).enabled = (System.Boolean)v, Getter = (o) => ((ArticulationBody)o).enabled, Updater = (object o, ref object v) => { var x = ((ArticulationBody)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_AUDIO - { "UnityEngine.AudioChorusFilter", new UnityProperty[] { - new UnityProperty { Name = "dryMix", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).dryMix = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).dryMix, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).dryMix; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "wetMix1", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).wetMix1 = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).wetMix1, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).wetMix1; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "wetMix2", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).wetMix2 = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).wetMix2, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).wetMix2; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "wetMix3", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).wetMix3 = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).wetMix3, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).wetMix3; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "delay", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).delay = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).delay, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).delay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rate", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).rate = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).rate, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).rate; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "depth", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioChorusFilter)o).depth = (System.Single)v, Getter = (o) => ((AudioChorusFilter)o).depth, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).depth; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioChorusFilter)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioChorusFilter)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioChorusFilter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_AUDIO - { "UnityEngine.AudioDistortionFilter", new UnityProperty[] { - new UnityProperty { Name = "distortionLevel", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioDistortionFilter)o).distortionLevel = (System.Single)v, Getter = (o) => ((AudioDistortionFilter)o).distortionLevel, Updater = (object o, ref object v) => { var x = ((AudioDistortionFilter)o).distortionLevel; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioDistortionFilter)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioDistortionFilter)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioDistortionFilter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_AUDIO - { "UnityEngine.AudioEchoFilter", new UnityProperty[] { - new UnityProperty { Name = "delay", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioEchoFilter)o).delay = (System.Single)v, Getter = (o) => ((AudioEchoFilter)o).delay, Updater = (object o, ref object v) => { var x = ((AudioEchoFilter)o).delay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "decayRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioEchoFilter)o).decayRatio = (System.Single)v, Getter = (o) => ((AudioEchoFilter)o).decayRatio, Updater = (object o, ref object v) => { var x = ((AudioEchoFilter)o).decayRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "dryMix", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioEchoFilter)o).dryMix = (System.Single)v, Getter = (o) => ((AudioEchoFilter)o).dryMix, Updater = (object o, ref object v) => { var x = ((AudioEchoFilter)o).dryMix; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "wetMix", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioEchoFilter)o).wetMix = (System.Single)v, Getter = (o) => ((AudioEchoFilter)o).wetMix, Updater = (object o, ref object v) => { var x = ((AudioEchoFilter)o).wetMix; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioEchoFilter)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioEchoFilter)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioEchoFilter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_AUDIO - { "UnityEngine.AudioHighPassFilter", new UnityProperty[] { - new UnityProperty { Name = "cutoffFrequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioHighPassFilter)o).cutoffFrequency = (System.Single)v, Getter = (o) => ((AudioHighPassFilter)o).cutoffFrequency, Updater = (object o, ref object v) => { var x = ((AudioHighPassFilter)o).cutoffFrequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "highpassResonanceQ", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioHighPassFilter)o).highpassResonanceQ = (System.Single)v, Getter = (o) => ((AudioHighPassFilter)o).highpassResonanceQ, Updater = (object o, ref object v) => { var x = ((AudioHighPassFilter)o).highpassResonanceQ; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioHighPassFilter)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioHighPassFilter)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioHighPassFilter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_AUDIO - { "UnityEngine.AudioLowPassFilter", new UnityProperty[] { - new UnityProperty { Name = "cutoffFrequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioLowPassFilter)o).cutoffFrequency = (System.Single)v, Getter = (o) => ((AudioLowPassFilter)o).cutoffFrequency, Updater = (object o, ref object v) => { var x = ((AudioLowPassFilter)o).cutoffFrequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lowpassResonanceQ", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioLowPassFilter)o).lowpassResonanceQ = (System.Single)v, Getter = (o) => ((AudioLowPassFilter)o).lowpassResonanceQ, Updater = (object o, ref object v) => { var x = ((AudioLowPassFilter)o).lowpassResonanceQ; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioLowPassFilter)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioLowPassFilter)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioLowPassFilter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_AUDIO - { "UnityEngine.AudioReverbFilter", new UnityProperty[] { - new UnityProperty { Name = "reverbPreset", PropertyType = typeof(UnityEngine.AudioReverbPreset), Setter = (o, v) => ((AudioReverbFilter)o).reverbPreset = (UnityEngine.AudioReverbPreset)v, Getter = (o) => ((AudioReverbFilter)o).reverbPreset, Updater = (object o, ref object v) => { var x = (int)((AudioReverbFilter)o).reverbPreset; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "dryLevel", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).dryLevel = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).dryLevel, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).dryLevel; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "room", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).room = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).room, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).room; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "roomHF", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).roomHF = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).roomHF, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).roomHF; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "roomLF", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).roomLF = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).roomLF, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).roomLF; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "decayTime", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).decayTime = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).decayTime, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).decayTime; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "decayHFRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).decayHFRatio = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).decayHFRatio, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).decayHFRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reflectionsLevel", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).reflectionsLevel = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).reflectionsLevel, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).reflectionsLevel; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reflectionsDelay", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).reflectionsDelay = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).reflectionsDelay, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).reflectionsDelay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reverbLevel", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).reverbLevel = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).reverbLevel, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).reverbLevel; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reverbDelay", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).reverbDelay = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).reverbDelay, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).reverbDelay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "hfReference", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).hfReference = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).hfReference, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).hfReference; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lfReference", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).lfReference = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).lfReference, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).lfReference; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "diffusion", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).diffusion = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).diffusion, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).diffusion; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "density", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbFilter)o).density = (System.Single)v, Getter = (o) => ((AudioReverbFilter)o).density, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).density; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioReverbFilter)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioReverbFilter)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioReverbFilter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_AUDIO - { "UnityEngine.AudioReverbZone", new UnityProperty[] { - new UnityProperty { Name = "minDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).minDistance = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).minDistance, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).minDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maxDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).maxDistance = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).maxDistance, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).maxDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reverbPreset", PropertyType = typeof(UnityEngine.AudioReverbPreset), Setter = (o, v) => ((AudioReverbZone)o).reverbPreset = (UnityEngine.AudioReverbPreset)v, Getter = (o) => ((AudioReverbZone)o).reverbPreset, Updater = (object o, ref object v) => { var x = (int)((AudioReverbZone)o).reverbPreset; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "room", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AudioReverbZone)o).room = (System.Int32)v, Getter = (o) => ((AudioReverbZone)o).room, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).room; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "roomHF", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AudioReverbZone)o).roomHF = (System.Int32)v, Getter = (o) => ((AudioReverbZone)o).roomHF, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).roomHF; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "roomLF", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AudioReverbZone)o).roomLF = (System.Int32)v, Getter = (o) => ((AudioReverbZone)o).roomLF, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).roomLF; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "decayTime", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).decayTime = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).decayTime, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).decayTime; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "decayHFRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).decayHFRatio = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).decayHFRatio, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).decayHFRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reflections", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AudioReverbZone)o).reflections = (System.Int32)v, Getter = (o) => ((AudioReverbZone)o).reflections, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).reflections; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reflectionsDelay", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).reflectionsDelay = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).reflectionsDelay, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).reflectionsDelay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reverb", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AudioReverbZone)o).reverb = (System.Int32)v, Getter = (o) => ((AudioReverbZone)o).reverb, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).reverb; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reverbDelay", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).reverbDelay = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).reverbDelay, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).reverbDelay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "HFReference", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).HFReference = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).HFReference, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).HFReference; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "LFReference", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).LFReference = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).LFReference, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).LFReference; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "diffusion", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).diffusion = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).diffusion, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).diffusion; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "density", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioReverbZone)o).density = (System.Single)v, Getter = (o) => ((AudioReverbZone)o).density, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).density; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioReverbZone)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioReverbZone)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioReverbZone)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_AUDIO - { "UnityEngine.AudioSource", new UnityProperty[] { - new UnityProperty { Name = "clip", PropertyType = typeof(UnityEngine.AudioClip), Setter = (o, v) => ((AudioSource)o).clip = (UnityEngine.AudioClip)v, Getter = (o) => ((AudioSource)o).clip, }, - new UnityProperty { Name = "outputAudioMixerGroup", PropertyType = typeof(UnityEngine.Audio.AudioMixerGroup), Setter = (o, v) => ((AudioSource)o).outputAudioMixerGroup = (UnityEngine.Audio.AudioMixerGroup)v, Getter = (o) => ((AudioSource)o).outputAudioMixerGroup, }, - new UnityProperty { Name = "mute", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).mute = (System.Boolean)v, Getter = (o) => ((AudioSource)o).mute, Updater = (object o, ref object v) => { var x = ((AudioSource)o).mute; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "bypassEffects", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).bypassEffects = (System.Boolean)v, Getter = (o) => ((AudioSource)o).bypassEffects, Updater = (object o, ref object v) => { var x = ((AudioSource)o).bypassEffects; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "bypassListenerEffects", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).bypassListenerEffects = (System.Boolean)v, Getter = (o) => ((AudioSource)o).bypassListenerEffects, Updater = (object o, ref object v) => { var x = ((AudioSource)o).bypassListenerEffects; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "bypassReverbZones", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).bypassReverbZones = (System.Boolean)v, Getter = (o) => ((AudioSource)o).bypassReverbZones, Updater = (object o, ref object v) => { var x = ((AudioSource)o).bypassReverbZones; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "playOnAwake", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).playOnAwake = (System.Boolean)v, Getter = (o) => ((AudioSource)o).playOnAwake, Updater = (object o, ref object v) => { var x = ((AudioSource)o).playOnAwake; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "loop", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).loop = (System.Boolean)v, Getter = (o) => ((AudioSource)o).loop, Updater = (object o, ref object v) => { var x = ((AudioSource)o).loop; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "priority", PropertyType = typeof(System.Int32), Setter = (o, v) => ((AudioSource)o).priority = (System.Int32)v, Getter = (o) => ((AudioSource)o).priority, Updater = (object o, ref object v) => { var x = ((AudioSource)o).priority; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "volume", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).volume = (System.Single)v, Getter = (o) => ((AudioSource)o).volume, Updater = (object o, ref object v) => { var x = ((AudioSource)o).volume; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "pitch", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).pitch = (System.Single)v, Getter = (o) => ((AudioSource)o).pitch, Updater = (object o, ref object v) => { var x = ((AudioSource)o).pitch; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "panStereo", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).panStereo = (System.Single)v, Getter = (o) => ((AudioSource)o).panStereo, Updater = (object o, ref object v) => { var x = ((AudioSource)o).panStereo; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "spatialBlend", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).spatialBlend = (System.Single)v, Getter = (o) => ((AudioSource)o).spatialBlend, Updater = (object o, ref object v) => { var x = ((AudioSource)o).spatialBlend; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reverbZoneMix", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).reverbZoneMix = (System.Single)v, Getter = (o) => ((AudioSource)o).reverbZoneMix, Updater = (object o, ref object v) => { var x = ((AudioSource)o).reverbZoneMix; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "dopplerLevel", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).dopplerLevel = (System.Single)v, Getter = (o) => ((AudioSource)o).dopplerLevel, Updater = (object o, ref object v) => { var x = ((AudioSource)o).dopplerLevel; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "spread", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).spread = (System.Single)v, Getter = (o) => ((AudioSource)o).spread, Updater = (object o, ref object v) => { var x = ((AudioSource)o).spread; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rolloffMode", PropertyType = typeof(UnityEngine.AudioRolloffMode), Setter = (o, v) => ((AudioSource)o).rolloffMode = (UnityEngine.AudioRolloffMode)v, Getter = (o) => ((AudioSource)o).rolloffMode, Updater = (object o, ref object v) => { var x = (int)((AudioSource)o).rolloffMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "minDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).minDistance = (System.Single)v, Getter = (o) => ((AudioSource)o).minDistance, Updater = (object o, ref object v) => { var x = ((AudioSource)o).minDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maxDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((AudioSource)o).maxDistance = (System.Single)v, Getter = (o) => ((AudioSource)o).maxDistance, Updater = (object o, ref object v) => { var x = ((AudioSource)o).maxDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((AudioSource)o).enabled = (System.Boolean)v, Getter = (o) => ((AudioSource)o).enabled, Updater = (object o, ref object v) => { var x = ((AudioSource)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS - { "UnityEngine.BoxCollider", new UnityProperty[] { - new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider)o).isTrigger = (System.Boolean)v, Getter = (o) => ((BoxCollider)o).isTrigger, Updater = (object o, ref object v) => { var x = ((BoxCollider)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if !UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicMaterial), Setter = (o, v) => ((BoxCollider)o).sharedMaterial = (PhysicMaterial)v, Getter = (o) => ((BoxCollider)o).sharedMaterial, }, - #endif - #if UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicsMaterial), Setter = (o, v) => ((BoxCollider)o).sharedMaterial = (PhysicsMaterial)v, Getter = (o) => ((BoxCollider)o).sharedMaterial, }, - #endif - new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((BoxCollider)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((BoxCollider)o).center, Updater = (object o, ref object v) => { var x = ((BoxCollider)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "size", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((BoxCollider)o).size = (UnityEngine.Vector3)v, Getter = (o) => ((BoxCollider)o).size, Updater = (object o, ref object v) => { var x = ((BoxCollider)o).size; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider)o).enabled = (System.Boolean)v, Getter = (o) => ((BoxCollider)o).enabled, Updater = (object o, ref object v) => { var x = ((BoxCollider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.BoxCollider2D", new UnityProperty[] { - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((BoxCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((BoxCollider2D)o).sharedMaterial, }, - new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((BoxCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((BoxCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if !UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((BoxCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((BoxCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((BoxCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((BoxCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((BoxCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((BoxCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoTiling", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider2D)o).autoTiling = (System.Boolean)v, Getter = (o) => ((BoxCollider2D)o).autoTiling, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).autoTiling; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "size", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((BoxCollider2D)o).size = (UnityEngine.Vector2)v, Getter = (o) => ((BoxCollider2D)o).size, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).size; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "edgeRadius", PropertyType = typeof(System.Single), Setter = (o, v) => ((BoxCollider2D)o).edgeRadius = (System.Single)v, Getter = (o) => ((BoxCollider2D)o).edgeRadius, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).edgeRadius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BoxCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((BoxCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((BoxCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.BillboardRenderer", new UnityProperty[] { - new UnityProperty { Name = "billboard", PropertyType = typeof(UnityEngine.BillboardAsset), Setter = (o, v) => ((BillboardRenderer)o).billboard = (UnityEngine.BillboardAsset)v, Getter = (o) => ((BillboardRenderer)o).billboard, }, - new UnityProperty { Name = "shadowCastingMode", PropertyType = typeof(UnityEngine.Rendering.ShadowCastingMode), Setter = (o, v) => ((BillboardRenderer)o).shadowCastingMode = (UnityEngine.Rendering.ShadowCastingMode)v, Getter = (o) => ((BillboardRenderer)o).shadowCastingMode, Updater = (object o, ref object v) => { var x = (int)((BillboardRenderer)o).shadowCastingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "receiveShadows", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BillboardRenderer)o).receiveShadows = (System.Boolean)v, Getter = (o) => ((BillboardRenderer)o).receiveShadows, Updater = (object o, ref object v) => { var x = ((BillboardRenderer)o).receiveShadows; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lightProbeUsage", PropertyType = typeof(UnityEngine.Rendering.LightProbeUsage), Setter = (o, v) => ((BillboardRenderer)o).lightProbeUsage = (UnityEngine.Rendering.LightProbeUsage)v, Getter = (o) => ((BillboardRenderer)o).lightProbeUsage, Updater = (object o, ref object v) => { var x = (int)((BillboardRenderer)o).lightProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reflectionProbeUsage", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeUsage), Setter = (o, v) => ((BillboardRenderer)o).reflectionProbeUsage = (UnityEngine.Rendering.ReflectionProbeUsage)v, Getter = (o) => ((BillboardRenderer)o).reflectionProbeUsage, Updater = (object o, ref object v) => { var x = (int)((BillboardRenderer)o).reflectionProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "motionVectorGenerationMode", PropertyType = typeof(UnityEngine.MotionVectorGenerationMode), Setter = (o, v) => ((BillboardRenderer)o).motionVectorGenerationMode = (UnityEngine.MotionVectorGenerationMode)v, Getter = (o) => ((BillboardRenderer)o).motionVectorGenerationMode, Updater = (object o, ref object v) => { var x = (int)((BillboardRenderer)o).motionVectorGenerationMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "allowOcclusionWhenDynamic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BillboardRenderer)o).allowOcclusionWhenDynamic = (System.Boolean)v, Getter = (o) => ((BillboardRenderer)o).allowOcclusionWhenDynamic, Updater = (object o, ref object v) => { var x = ((BillboardRenderer)o).allowOcclusionWhenDynamic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BillboardRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((BillboardRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((BillboardRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_PHYSICS_2D - { "UnityEngine.BuoyancyEffector2D", new UnityProperty[] { - new UnityProperty { Name = "useColliderMask", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BuoyancyEffector2D)o).useColliderMask = (System.Boolean)v, Getter = (o) => ((BuoyancyEffector2D)o).useColliderMask, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).useColliderMask; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "colliderMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((BuoyancyEffector2D)o).colliderMask = (System.Int32)v, Getter = (o) => ((BuoyancyEffector2D)o).colliderMask, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).colliderMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "density", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).density = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).density, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).density; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "surfaceLevel", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).surfaceLevel = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).surfaceLevel, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).surfaceLevel; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "linearDrag", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).linearDrag = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).linearDrag, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).linearDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularDrag", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).angularDrag = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).angularDrag, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).angularDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "flowAngle", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).flowAngle = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).flowAngle, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).flowAngle; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "flowMagnitude", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).flowMagnitude = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).flowMagnitude, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).flowMagnitude; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "flowVariation", PropertyType = typeof(System.Single), Setter = (o, v) => ((BuoyancyEffector2D)o).flowVariation = (System.Single)v, Getter = (o) => ((BuoyancyEffector2D)o).flowVariation, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).flowVariation; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((BuoyancyEffector2D)o).enabled = (System.Boolean)v, Getter = (o) => ((BuoyancyEffector2D)o).enabled, Updater = (object o, ref object v) => { var x = ((BuoyancyEffector2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.Button", new UnityProperty[] { - new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Button)o).interactable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Button)o).interactable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Button)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((UnityEngine.UI.Button)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((UnityEngine.UI.Button)o).transition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Button)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.Button)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.Button)o).targetGraphic, }, - new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((UnityEngine.UI.Button)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((UnityEngine.UI.Button)o).colors, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Button)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((UnityEngine.UI.Button)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((UnityEngine.UI.Button)o).navigation, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Button)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Button)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Button)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Button)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.Camera", new UnityProperty[] { - new UnityProperty { Name = "clearFlags", PropertyType = typeof(UnityEngine.CameraClearFlags), Setter = (o, v) => ((Camera)o).clearFlags = (UnityEngine.CameraClearFlags)v, Getter = (o) => ((Camera)o).clearFlags, Updater = (object o, ref object v) => { var x = (int)((Camera)o).clearFlags; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "backgroundColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((Camera)o).backgroundColor = (UnityEngine.Color)v, Getter = (o) => ((Camera)o).backgroundColor, Updater = (object o, ref object v) => { var x = ((Camera)o).backgroundColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "cullingMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((Camera)o).cullingMask = (System.Int32)v, Getter = (o) => ((Camera)o).cullingMask, Updater = (object o, ref object v) => { var x = ((Camera)o).cullingMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "orthographic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).orthographic = (System.Boolean)v, Getter = (o) => ((Camera)o).orthographic, Updater = (object o, ref object v) => { var x = ((Camera)o).orthographic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "fieldOfView", PropertyType = typeof(System.Single), Setter = (o, v) => ((Camera)o).fieldOfView = (System.Single)v, Getter = (o) => ((Camera)o).fieldOfView, Updater = (object o, ref object v) => { var x = ((Camera)o).fieldOfView; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "usePhysicalProperties", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).usePhysicalProperties = (System.Boolean)v, Getter = (o) => ((Camera)o).usePhysicalProperties, Updater = (object o, ref object v) => { var x = ((Camera)o).usePhysicalProperties; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "nearClipPlane", PropertyType = typeof(System.Single), Setter = (o, v) => ((Camera)o).nearClipPlane = (System.Single)v, Getter = (o) => ((Camera)o).nearClipPlane, Updater = (object o, ref object v) => { var x = ((Camera)o).nearClipPlane; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "farClipPlane", PropertyType = typeof(System.Single), Setter = (o, v) => ((Camera)o).farClipPlane = (System.Single)v, Getter = (o) => ((Camera)o).farClipPlane, Updater = (object o, ref object v) => { var x = ((Camera)o).farClipPlane; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rect", PropertyType = typeof(UnityEngine.Rect), Setter = (o, v) => ((Camera)o).rect = (UnityEngine.Rect)v, Getter = (o) => ((Camera)o).rect, Updater = (object o, ref object v) => { var x = ((Camera)o).rect; if (!x.Equals((UnityEngine.Rect)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "depth", PropertyType = typeof(System.Single), Setter = (o, v) => ((Camera)o).depth = (System.Single)v, Getter = (o) => ((Camera)o).depth, Updater = (object o, ref object v) => { var x = ((Camera)o).depth; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "renderingPath", PropertyType = typeof(UnityEngine.RenderingPath), Setter = (o, v) => ((Camera)o).renderingPath = (UnityEngine.RenderingPath)v, Getter = (o) => ((Camera)o).renderingPath, Updater = (object o, ref object v) => { var x = (int)((Camera)o).renderingPath; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetTexture", PropertyType = typeof(UnityEngine.RenderTexture), Setter = (o, v) => ((Camera)o).targetTexture = (UnityEngine.RenderTexture)v, Getter = (o) => ((Camera)o).targetTexture, }, - new UnityProperty { Name = "useOcclusionCulling", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).useOcclusionCulling = (System.Boolean)v, Getter = (o) => ((Camera)o).useOcclusionCulling, Updater = (object o, ref object v) => { var x = ((Camera)o).useOcclusionCulling; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "allowHDR", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).allowHDR = (System.Boolean)v, Getter = (o) => ((Camera)o).allowHDR, Updater = (object o, ref object v) => { var x = ((Camera)o).allowHDR; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "allowMSAA", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).allowMSAA = (System.Boolean)v, Getter = (o) => ((Camera)o).allowMSAA, Updater = (object o, ref object v) => { var x = ((Camera)o).allowMSAA; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "allowDynamicResolution", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).allowDynamicResolution = (System.Boolean)v, Getter = (o) => ((Camera)o).allowDynamicResolution, Updater = (object o, ref object v) => { var x = ((Camera)o).allowDynamicResolution; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetDisplay", PropertyType = typeof(System.Int32), Setter = (o, v) => ((Camera)o).targetDisplay = (System.Int32)v, Getter = (o) => ((Camera)o).targetDisplay, Updater = (object o, ref object v) => { var x = ((Camera)o).targetDisplay; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Camera)o).enabled = (System.Boolean)v, Getter = (o) => ((Camera)o).enabled, Updater = (object o, ref object v) => { var x = ((Camera)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_UI - { "UnityEngine.Canvas", new UnityProperty[] { - new UnityProperty { Name = "renderMode", PropertyType = typeof(UnityEngine.RenderMode), Setter = (o, v) => ((Canvas)o).renderMode = (UnityEngine.RenderMode)v, Getter = (o) => ((Canvas)o).renderMode, Updater = (object o, ref object v) => { var x = (int)((Canvas)o).renderMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "worldCamera", PropertyType = typeof(UnityEngine.Camera), Setter = (o, v) => ((Canvas)o).worldCamera = (UnityEngine.Camera)v, Getter = (o) => ((Canvas)o).worldCamera, }, - new UnityProperty { Name = "pixelPerfect", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Canvas)o).pixelPerfect = (System.Boolean)v, Getter = (o) => ((Canvas)o).pixelPerfect, Updater = (object o, ref object v) => { var x = ((Canvas)o).pixelPerfect; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((Canvas)o).sortingOrder = (System.Int32)v, Getter = (o) => ((Canvas)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((Canvas)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetDisplay", PropertyType = typeof(System.Int32), Setter = (o, v) => ((Canvas)o).targetDisplay = (System.Int32)v, Getter = (o) => ((Canvas)o).targetDisplay, Updater = (object o, ref object v) => { var x = ((Canvas)o).targetDisplay; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "additionalShaderChannels", PropertyType = typeof(UnityEngine.AdditionalCanvasShaderChannels), Setter = (o, v) => ((Canvas)o).additionalShaderChannels = (UnityEngine.AdditionalCanvasShaderChannels)v, Getter = (o) => ((Canvas)o).additionalShaderChannels, Updater = (object o, ref object v) => { var x = (int)((Canvas)o).additionalShaderChannels; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Canvas)o).enabled = (System.Boolean)v, Getter = (o) => ((Canvas)o).enabled, Updater = (object o, ref object v) => { var x = ((Canvas)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_UI - { "UnityEngine.CanvasGroup", new UnityProperty[] { - new UnityProperty { Name = "alpha", PropertyType = typeof(System.Single), Setter = (o, v) => ((CanvasGroup)o).alpha = (System.Single)v, Getter = (o) => ((CanvasGroup)o).alpha, Updater = (object o, ref object v) => { var x = ((CanvasGroup)o).alpha; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CanvasGroup)o).interactable = (System.Boolean)v, Getter = (o) => ((CanvasGroup)o).interactable, Updater = (object o, ref object v) => { var x = ((CanvasGroup)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "blocksRaycasts", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CanvasGroup)o).blocksRaycasts = (System.Boolean)v, Getter = (o) => ((CanvasGroup)o).blocksRaycasts, Updater = (object o, ref object v) => { var x = ((CanvasGroup)o).blocksRaycasts; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "ignoreParentGroups", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CanvasGroup)o).ignoreParentGroups = (System.Boolean)v, Getter = (o) => ((CanvasGroup)o).ignoreParentGroups, Updater = (object o, ref object v) => { var x = ((CanvasGroup)o).ignoreParentGroups; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CanvasGroup)o).enabled = (System.Boolean)v, Getter = (o) => ((CanvasGroup)o).enabled, Updater = (object o, ref object v) => { var x = ((CanvasGroup)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_UI - { "UnityEngine.CanvasRenderer", new UnityProperty[] { - new UnityProperty { Name = "cullTransparentMesh", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CanvasRenderer)o).cullTransparentMesh = (System.Boolean)v, Getter = (o) => ((CanvasRenderer)o).cullTransparentMesh, Updater = (object o, ref object v) => { var x = ((CanvasRenderer)o).cullTransparentMesh; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.CanvasScaler", new UnityProperty[] { - new UnityProperty { Name = "uiScaleMode", PropertyType = typeof(UnityEngine.UI.CanvasScaler.ScaleMode), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).uiScaleMode = (UnityEngine.UI.CanvasScaler.ScaleMode)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).uiScaleMode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.CanvasScaler)o).uiScaleMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "scaleFactor", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).scaleFactor = (System.Single)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).scaleFactor, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.CanvasScaler)o).scaleFactor; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "referenceResolution", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).referenceResolution = (UnityEngine.Vector2)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).referenceResolution, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.CanvasScaler)o).referenceResolution; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "screenMatchMode", PropertyType = typeof(UnityEngine.UI.CanvasScaler.ScreenMatchMode), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).screenMatchMode = (UnityEngine.UI.CanvasScaler.ScreenMatchMode)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).screenMatchMode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.CanvasScaler)o).screenMatchMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "physicalUnit", PropertyType = typeof(UnityEngine.UI.CanvasScaler.Unit), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).physicalUnit = (UnityEngine.UI.CanvasScaler.Unit)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).physicalUnit, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.CanvasScaler)o).physicalUnit; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "fallbackScreenDPI", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).fallbackScreenDPI = (System.Single)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).fallbackScreenDPI, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.CanvasScaler)o).fallbackScreenDPI; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "defaultSpriteDPI", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).defaultSpriteDPI = (System.Single)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).defaultSpriteDPI, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.CanvasScaler)o).defaultSpriteDPI; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "referencePixelsPerUnit", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).referencePixelsPerUnit = (System.Single)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).referencePixelsPerUnit, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.CanvasScaler)o).referencePixelsPerUnit; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.CanvasScaler)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.CanvasScaler)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.CanvasScaler)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS - { "UnityEngine.CapsuleCollider", new UnityProperty[] { - new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CapsuleCollider)o).isTrigger = (System.Boolean)v, Getter = (o) => ((CapsuleCollider)o).isTrigger, Updater = (object o, ref object v) => { var x = ((CapsuleCollider)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if !UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicMaterial), Setter = (o, v) => ((CapsuleCollider)o).sharedMaterial = (PhysicMaterial)v, Getter = (o) => ((CapsuleCollider)o).sharedMaterial, }, - #endif - #if UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicsMaterial), Setter = (o, v) => ((CapsuleCollider)o).sharedMaterial = (PhysicsMaterial)v, Getter = (o) => ((CapsuleCollider)o).sharedMaterial, }, - #endif - new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((CapsuleCollider)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((CapsuleCollider)o).center, Updater = (object o, ref object v) => { var x = ((CapsuleCollider)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "radius", PropertyType = typeof(System.Single), Setter = (o, v) => ((CapsuleCollider)o).radius = (System.Single)v, Getter = (o) => ((CapsuleCollider)o).radius, Updater = (object o, ref object v) => { var x = ((CapsuleCollider)o).radius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "height", PropertyType = typeof(System.Single), Setter = (o, v) => ((CapsuleCollider)o).height = (System.Single)v, Getter = (o) => ((CapsuleCollider)o).height, Updater = (object o, ref object v) => { var x = ((CapsuleCollider)o).height; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "direction", PropertyType = typeof(System.Int32), Setter = (o, v) => ((CapsuleCollider)o).direction = (System.Int32)v, Getter = (o) => ((CapsuleCollider)o).direction, Updater = (object o, ref object v) => { var x = ((CapsuleCollider)o).direction; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CapsuleCollider)o).enabled = (System.Boolean)v, Getter = (o) => ((CapsuleCollider)o).enabled, Updater = (object o, ref object v) => { var x = ((CapsuleCollider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.CapsuleCollider2D", new UnityProperty[] { - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((CapsuleCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((CapsuleCollider2D)o).sharedMaterial, }, - new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CapsuleCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((CapsuleCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((CapsuleCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CapsuleCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((CapsuleCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((CapsuleCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if !UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CapsuleCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((CapsuleCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((CapsuleCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((CapsuleCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((CapsuleCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((CapsuleCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((CapsuleCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((CapsuleCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((CapsuleCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "size", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((CapsuleCollider2D)o).size = (UnityEngine.Vector2)v, Getter = (o) => ((CapsuleCollider2D)o).size, Updater = (object o, ref object v) => { var x = ((CapsuleCollider2D)o).size; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "direction", PropertyType = typeof(UnityEngine.CapsuleDirection2D), Setter = (o, v) => ((CapsuleCollider2D)o).direction = (UnityEngine.CapsuleDirection2D)v, Getter = (o) => ((CapsuleCollider2D)o).direction, Updater = (object o, ref object v) => { var x = (int)((CapsuleCollider2D)o).direction; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CapsuleCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((CapsuleCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((CapsuleCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS - { "UnityEngine.CharacterController", new UnityProperty[] { - new UnityProperty { Name = "slopeLimit", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterController)o).slopeLimit = (System.Single)v, Getter = (o) => ((CharacterController)o).slopeLimit, Updater = (object o, ref object v) => { var x = ((CharacterController)o).slopeLimit; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "stepOffset", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterController)o).stepOffset = (System.Single)v, Getter = (o) => ((CharacterController)o).stepOffset, Updater = (object o, ref object v) => { var x = ((CharacterController)o).stepOffset; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "skinWidth", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterController)o).skinWidth = (System.Single)v, Getter = (o) => ((CharacterController)o).skinWidth, Updater = (object o, ref object v) => { var x = ((CharacterController)o).skinWidth; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "minMoveDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterController)o).minMoveDistance = (System.Single)v, Getter = (o) => ((CharacterController)o).minMoveDistance, Updater = (object o, ref object v) => { var x = ((CharacterController)o).minMoveDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((CharacterController)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((CharacterController)o).center, Updater = (object o, ref object v) => { var x = ((CharacterController)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "radius", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterController)o).radius = (System.Single)v, Getter = (o) => ((CharacterController)o).radius, Updater = (object o, ref object v) => { var x = ((CharacterController)o).radius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "height", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterController)o).height = (System.Single)v, Getter = (o) => ((CharacterController)o).height, Updater = (object o, ref object v) => { var x = ((CharacterController)o).height; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CharacterController)o).enabled = (System.Boolean)v, Getter = (o) => ((CharacterController)o).enabled, Updater = (object o, ref object v) => { var x = ((CharacterController)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS - { "UnityEngine.CharacterJoint", new UnityProperty[] { - new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody), Setter = (o, v) => ((CharacterJoint)o).connectedBody = (UnityEngine.Rigidbody)v, Getter = (o) => ((CharacterJoint)o).connectedBody, }, - #if UNITY_2020_2_OR_NEWER - new UnityProperty { Name = "connectedArticulationBody", PropertyType = typeof(UnityEngine.ArticulationBody), Setter = (o, v) => ((CharacterJoint)o).connectedArticulationBody = (UnityEngine.ArticulationBody)v, Getter = (o) => ((CharacterJoint)o).connectedArticulationBody, }, - #endif - new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((CharacterJoint)o).anchor = (UnityEngine.Vector3)v, Getter = (o) => ((CharacterJoint)o).anchor, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).anchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "axis", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((CharacterJoint)o).axis = (UnityEngine.Vector3)v, Getter = (o) => ((CharacterJoint)o).axis, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).axis; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CharacterJoint)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((CharacterJoint)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((CharacterJoint)o).connectedAnchor = (UnityEngine.Vector3)v, Getter = (o) => ((CharacterJoint)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "swingAxis", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((CharacterJoint)o).swingAxis = (UnityEngine.Vector3)v, Getter = (o) => ((CharacterJoint)o).swingAxis, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).swingAxis; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "twistLimitSpring", PropertyType = typeof(UnityEngine.SoftJointLimitSpring), Setter = (o, v) => ((CharacterJoint)o).twistLimitSpring = (UnityEngine.SoftJointLimitSpring)v, Getter = (o) => ((CharacterJoint)o).twistLimitSpring, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).twistLimitSpring; if (!x.Equals((UnityEngine.SoftJointLimitSpring)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lowTwistLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((CharacterJoint)o).lowTwistLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((CharacterJoint)o).lowTwistLimit, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).lowTwistLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "highTwistLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((CharacterJoint)o).highTwistLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((CharacterJoint)o).highTwistLimit, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).highTwistLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "swingLimitSpring", PropertyType = typeof(UnityEngine.SoftJointLimitSpring), Setter = (o, v) => ((CharacterJoint)o).swingLimitSpring = (UnityEngine.SoftJointLimitSpring)v, Getter = (o) => ((CharacterJoint)o).swingLimitSpring, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).swingLimitSpring; if (!x.Equals((UnityEngine.SoftJointLimitSpring)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "swing1Limit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((CharacterJoint)o).swing1Limit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((CharacterJoint)o).swing1Limit, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).swing1Limit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "swing2Limit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((CharacterJoint)o).swing2Limit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((CharacterJoint)o).swing2Limit, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).swing2Limit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enableProjection", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CharacterJoint)o).enableProjection = (System.Boolean)v, Getter = (o) => ((CharacterJoint)o).enableProjection, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).enableProjection; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "projectionDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterJoint)o).projectionDistance = (System.Single)v, Getter = (o) => ((CharacterJoint)o).projectionDistance, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).projectionDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "projectionAngle", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterJoint)o).projectionAngle = (System.Single)v, Getter = (o) => ((CharacterJoint)o).projectionAngle, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).projectionAngle; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterJoint)o).breakForce = (System.Single)v, Getter = (o) => ((CharacterJoint)o).breakForce, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterJoint)o).breakTorque = (System.Single)v, Getter = (o) => ((CharacterJoint)o).breakTorque, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CharacterJoint)o).enableCollision = (System.Boolean)v, Getter = (o) => ((CharacterJoint)o).enableCollision, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enablePreprocessing", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CharacterJoint)o).enablePreprocessing = (System.Boolean)v, Getter = (o) => ((CharacterJoint)o).enablePreprocessing, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).enablePreprocessing; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "massScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterJoint)o).massScale = (System.Single)v, Getter = (o) => ((CharacterJoint)o).massScale, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).massScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedMassScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((CharacterJoint)o).connectedMassScale = (System.Single)v, Getter = (o) => ((CharacterJoint)o).connectedMassScale, Updater = (object o, ref object v) => { var x = ((CharacterJoint)o).connectedMassScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.CircleCollider2D", new UnityProperty[] { - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((CircleCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((CircleCollider2D)o).sharedMaterial, }, - new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CircleCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((CircleCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((CircleCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CircleCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((CircleCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((CircleCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if !UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CircleCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((CircleCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((CircleCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((CircleCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((CircleCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((CircleCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((CircleCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((CircleCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((CircleCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "radius", PropertyType = typeof(System.Single), Setter = (o, v) => ((CircleCollider2D)o).radius = (System.Single)v, Getter = (o) => ((CircleCollider2D)o).radius, Updater = (object o, ref object v) => { var x = ((CircleCollider2D)o).radius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CircleCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((CircleCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((CircleCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_CLOTH - { "UnityEngine.Cloth", new UnityProperty[] { - new UnityProperty { Name = "stretchingStiffness", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).stretchingStiffness = (System.Single)v, Getter = (o) => ((Cloth)o).stretchingStiffness, Updater = (object o, ref object v) => { var x = ((Cloth)o).stretchingStiffness; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "bendingStiffness", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).bendingStiffness = (System.Single)v, Getter = (o) => ((Cloth)o).bendingStiffness, Updater = (object o, ref object v) => { var x = ((Cloth)o).bendingStiffness; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useTethers", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Cloth)o).useTethers = (System.Boolean)v, Getter = (o) => ((Cloth)o).useTethers, Updater = (object o, ref object v) => { var x = ((Cloth)o).useTethers; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useGravity", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Cloth)o).useGravity = (System.Boolean)v, Getter = (o) => ((Cloth)o).useGravity, Updater = (object o, ref object v) => { var x = ((Cloth)o).useGravity; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "damping", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).damping = (System.Single)v, Getter = (o) => ((Cloth)o).damping, Updater = (object o, ref object v) => { var x = ((Cloth)o).damping; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "externalAcceleration", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((Cloth)o).externalAcceleration = (UnityEngine.Vector3)v, Getter = (o) => ((Cloth)o).externalAcceleration, Updater = (object o, ref object v) => { var x = ((Cloth)o).externalAcceleration; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "randomAcceleration", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((Cloth)o).randomAcceleration = (UnityEngine.Vector3)v, Getter = (o) => ((Cloth)o).randomAcceleration, Updater = (object o, ref object v) => { var x = ((Cloth)o).randomAcceleration; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "worldVelocityScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).worldVelocityScale = (System.Single)v, Getter = (o) => ((Cloth)o).worldVelocityScale, Updater = (object o, ref object v) => { var x = ((Cloth)o).worldVelocityScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "worldAccelerationScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).worldAccelerationScale = (System.Single)v, Getter = (o) => ((Cloth)o).worldAccelerationScale, Updater = (object o, ref object v) => { var x = ((Cloth)o).worldAccelerationScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "friction", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).friction = (System.Single)v, Getter = (o) => ((Cloth)o).friction, Updater = (object o, ref object v) => { var x = ((Cloth)o).friction; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "collisionMassScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).collisionMassScale = (System.Single)v, Getter = (o) => ((Cloth)o).collisionMassScale, Updater = (object o, ref object v) => { var x = ((Cloth)o).collisionMassScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enableContinuousCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Cloth)o).enableContinuousCollision = (System.Boolean)v, Getter = (o) => ((Cloth)o).enableContinuousCollision, Updater = (object o, ref object v) => { var x = ((Cloth)o).enableContinuousCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useVirtualParticles", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).useVirtualParticles = (System.Single)v, Getter = (o) => ((Cloth)o).useVirtualParticles, Updater = (object o, ref object v) => { var x = ((Cloth)o).useVirtualParticles; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "clothSolverFrequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).clothSolverFrequency = (System.Single)v, Getter = (o) => ((Cloth)o).clothSolverFrequency, Updater = (object o, ref object v) => { var x = ((Cloth)o).clothSolverFrequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sleepThreshold", PropertyType = typeof(System.Single), Setter = (o, v) => ((Cloth)o).sleepThreshold = (System.Single)v, Getter = (o) => ((Cloth)o).sleepThreshold, Updater = (object o, ref object v) => { var x = ((Cloth)o).sleepThreshold; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "capsuleColliders", PropertyType = typeof(UnityEngine.CapsuleCollider[]), Setter = (o, v) => ((Cloth)o).capsuleColliders = (UnityEngine.CapsuleCollider[])v, Getter = (o) => ((Cloth)o).capsuleColliders, }, - new UnityProperty { Name = "sphereColliders", PropertyType = typeof(UnityEngine.ClothSphereColliderPair[]), Setter = (o, v) => ((Cloth)o).sphereColliders = (UnityEngine.ClothSphereColliderPair[])v, Getter = (o) => ((Cloth)o).sphereColliders, }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Cloth)o).enabled = (System.Boolean)v, Getter = (o) => ((Cloth)o).enabled, Updater = (object o, ref object v) => { var x = ((Cloth)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.CompositeCollider2D", new UnityProperty[] { - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((CompositeCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((CompositeCollider2D)o).sharedMaterial, }, - new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CompositeCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((CompositeCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CompositeCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((CompositeCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if !UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CompositeCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((CompositeCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((CompositeCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((CompositeCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((CompositeCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((CompositeCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((CompositeCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "geometryType", PropertyType = typeof(UnityEngine.CompositeCollider2D.GeometryType), Setter = (o, v) => ((CompositeCollider2D)o).geometryType = (UnityEngine.CompositeCollider2D.GeometryType)v, Getter = (o) => ((CompositeCollider2D)o).geometryType, Updater = (object o, ref object v) => { var x = (int)((CompositeCollider2D)o).geometryType; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "generationType", PropertyType = typeof(UnityEngine.CompositeCollider2D.GenerationType), Setter = (o, v) => ((CompositeCollider2D)o).generationType = (UnityEngine.CompositeCollider2D.GenerationType)v, Getter = (o) => ((CompositeCollider2D)o).generationType, Updater = (object o, ref object v) => { var x = (int)((CompositeCollider2D)o).generationType; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "vertexDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((CompositeCollider2D)o).vertexDistance = (System.Single)v, Getter = (o) => ((CompositeCollider2D)o).vertexDistance, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).vertexDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "offsetDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((CompositeCollider2D)o).offsetDistance = (System.Single)v, Getter = (o) => ((CompositeCollider2D)o).offsetDistance, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).offsetDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "edgeRadius", PropertyType = typeof(System.Single), Setter = (o, v) => ((CompositeCollider2D)o).edgeRadius = (System.Single)v, Getter = (o) => ((CompositeCollider2D)o).edgeRadius, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).edgeRadius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((CompositeCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((CompositeCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((CompositeCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS - { "UnityEngine.ConfigurableJoint", new UnityProperty[] { - new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody), Setter = (o, v) => ((ConfigurableJoint)o).connectedBody = (UnityEngine.Rigidbody)v, Getter = (o) => ((ConfigurableJoint)o).connectedBody, }, - #if UNITY_2020_2_OR_NEWER - new UnityProperty { Name = "connectedArticulationBody", PropertyType = typeof(UnityEngine.ArticulationBody), Setter = (o, v) => ((ConfigurableJoint)o).connectedArticulationBody = (UnityEngine.ArticulationBody)v, Getter = (o) => ((ConfigurableJoint)o).connectedArticulationBody, }, - #endif - new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConfigurableJoint)o).anchor = (UnityEngine.Vector3)v, Getter = (o) => ((ConfigurableJoint)o).anchor, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).anchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "axis", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConfigurableJoint)o).axis = (UnityEngine.Vector3)v, Getter = (o) => ((ConfigurableJoint)o).axis, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).axis; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConfigurableJoint)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((ConfigurableJoint)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConfigurableJoint)o).connectedAnchor = (UnityEngine.Vector3)v, Getter = (o) => ((ConfigurableJoint)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "xMotion", PropertyType = typeof(UnityEngine.ConfigurableJointMotion), Setter = (o, v) => ((ConfigurableJoint)o).xMotion = (UnityEngine.ConfigurableJointMotion)v, Getter = (o) => ((ConfigurableJoint)o).xMotion, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).xMotion; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "yMotion", PropertyType = typeof(UnityEngine.ConfigurableJointMotion), Setter = (o, v) => ((ConfigurableJoint)o).yMotion = (UnityEngine.ConfigurableJointMotion)v, Getter = (o) => ((ConfigurableJoint)o).yMotion, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).yMotion; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "zMotion", PropertyType = typeof(UnityEngine.ConfigurableJointMotion), Setter = (o, v) => ((ConfigurableJoint)o).zMotion = (UnityEngine.ConfigurableJointMotion)v, Getter = (o) => ((ConfigurableJoint)o).zMotion, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).zMotion; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularXMotion", PropertyType = typeof(UnityEngine.ConfigurableJointMotion), Setter = (o, v) => ((ConfigurableJoint)o).angularXMotion = (UnityEngine.ConfigurableJointMotion)v, Getter = (o) => ((ConfigurableJoint)o).angularXMotion, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).angularXMotion; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularYMotion", PropertyType = typeof(UnityEngine.ConfigurableJointMotion), Setter = (o, v) => ((ConfigurableJoint)o).angularYMotion = (UnityEngine.ConfigurableJointMotion)v, Getter = (o) => ((ConfigurableJoint)o).angularYMotion, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).angularYMotion; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularZMotion", PropertyType = typeof(UnityEngine.ConfigurableJointMotion), Setter = (o, v) => ((ConfigurableJoint)o).angularZMotion = (UnityEngine.ConfigurableJointMotion)v, Getter = (o) => ((ConfigurableJoint)o).angularZMotion, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).angularZMotion; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "linearLimitSpring", PropertyType = typeof(UnityEngine.SoftJointLimitSpring), Setter = (o, v) => ((ConfigurableJoint)o).linearLimitSpring = (UnityEngine.SoftJointLimitSpring)v, Getter = (o) => ((ConfigurableJoint)o).linearLimitSpring, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).linearLimitSpring; if (!x.Equals((UnityEngine.SoftJointLimitSpring)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "linearLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((ConfigurableJoint)o).linearLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((ConfigurableJoint)o).linearLimit, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).linearLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularXLimitSpring", PropertyType = typeof(UnityEngine.SoftJointLimitSpring), Setter = (o, v) => ((ConfigurableJoint)o).angularXLimitSpring = (UnityEngine.SoftJointLimitSpring)v, Getter = (o) => ((ConfigurableJoint)o).angularXLimitSpring, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).angularXLimitSpring; if (!x.Equals((UnityEngine.SoftJointLimitSpring)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lowAngularXLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((ConfigurableJoint)o).lowAngularXLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((ConfigurableJoint)o).lowAngularXLimit, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).lowAngularXLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "highAngularXLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((ConfigurableJoint)o).highAngularXLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((ConfigurableJoint)o).highAngularXLimit, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).highAngularXLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularYZLimitSpring", PropertyType = typeof(UnityEngine.SoftJointLimitSpring), Setter = (o, v) => ((ConfigurableJoint)o).angularYZLimitSpring = (UnityEngine.SoftJointLimitSpring)v, Getter = (o) => ((ConfigurableJoint)o).angularYZLimitSpring, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).angularYZLimitSpring; if (!x.Equals((UnityEngine.SoftJointLimitSpring)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularYLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((ConfigurableJoint)o).angularYLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((ConfigurableJoint)o).angularYLimit, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).angularYLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularZLimit", PropertyType = typeof(UnityEngine.SoftJointLimit), Setter = (o, v) => ((ConfigurableJoint)o).angularZLimit = (UnityEngine.SoftJointLimit)v, Getter = (o) => ((ConfigurableJoint)o).angularZLimit, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).angularZLimit; if (!x.Equals((UnityEngine.SoftJointLimit)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetPosition", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConfigurableJoint)o).targetPosition = (UnityEngine.Vector3)v, Getter = (o) => ((ConfigurableJoint)o).targetPosition, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).targetPosition; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetVelocity", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConfigurableJoint)o).targetVelocity = (UnityEngine.Vector3)v, Getter = (o) => ((ConfigurableJoint)o).targetVelocity, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).targetVelocity; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "xDrive", PropertyType = typeof(UnityEngine.JointDrive), Setter = (o, v) => ((ConfigurableJoint)o).xDrive = (UnityEngine.JointDrive)v, Getter = (o) => ((ConfigurableJoint)o).xDrive, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).xDrive; if (!x.Equals((UnityEngine.JointDrive)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "yDrive", PropertyType = typeof(UnityEngine.JointDrive), Setter = (o, v) => ((ConfigurableJoint)o).yDrive = (UnityEngine.JointDrive)v, Getter = (o) => ((ConfigurableJoint)o).yDrive, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).yDrive; if (!x.Equals((UnityEngine.JointDrive)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "zDrive", PropertyType = typeof(UnityEngine.JointDrive), Setter = (o, v) => ((ConfigurableJoint)o).zDrive = (UnityEngine.JointDrive)v, Getter = (o) => ((ConfigurableJoint)o).zDrive, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).zDrive; if (!x.Equals((UnityEngine.JointDrive)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetRotation", PropertyType = typeof(UnityEngine.Quaternion), Setter = (o, v) => ((ConfigurableJoint)o).targetRotation = (UnityEngine.Quaternion)v, Getter = (o) => ((ConfigurableJoint)o).targetRotation, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).targetRotation; if (!x.Equals((UnityEngine.Quaternion)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetAngularVelocity", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConfigurableJoint)o).targetAngularVelocity = (UnityEngine.Vector3)v, Getter = (o) => ((ConfigurableJoint)o).targetAngularVelocity, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).targetAngularVelocity; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationDriveMode", PropertyType = typeof(UnityEngine.RotationDriveMode), Setter = (o, v) => ((ConfigurableJoint)o).rotationDriveMode = (UnityEngine.RotationDriveMode)v, Getter = (o) => ((ConfigurableJoint)o).rotationDriveMode, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).rotationDriveMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularXDrive", PropertyType = typeof(UnityEngine.JointDrive), Setter = (o, v) => ((ConfigurableJoint)o).angularXDrive = (UnityEngine.JointDrive)v, Getter = (o) => ((ConfigurableJoint)o).angularXDrive, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).angularXDrive; if (!x.Equals((UnityEngine.JointDrive)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularYZDrive", PropertyType = typeof(UnityEngine.JointDrive), Setter = (o, v) => ((ConfigurableJoint)o).angularYZDrive = (UnityEngine.JointDrive)v, Getter = (o) => ((ConfigurableJoint)o).angularYZDrive, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).angularYZDrive; if (!x.Equals((UnityEngine.JointDrive)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "slerpDrive", PropertyType = typeof(UnityEngine.JointDrive), Setter = (o, v) => ((ConfigurableJoint)o).slerpDrive = (UnityEngine.JointDrive)v, Getter = (o) => ((ConfigurableJoint)o).slerpDrive, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).slerpDrive; if (!x.Equals((UnityEngine.JointDrive)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "projectionMode", PropertyType = typeof(UnityEngine.JointProjectionMode), Setter = (o, v) => ((ConfigurableJoint)o).projectionMode = (UnityEngine.JointProjectionMode)v, Getter = (o) => ((ConfigurableJoint)o).projectionMode, Updater = (object o, ref object v) => { var x = (int)((ConfigurableJoint)o).projectionMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "projectionDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConfigurableJoint)o).projectionDistance = (System.Single)v, Getter = (o) => ((ConfigurableJoint)o).projectionDistance, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).projectionDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "projectionAngle", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConfigurableJoint)o).projectionAngle = (System.Single)v, Getter = (o) => ((ConfigurableJoint)o).projectionAngle, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).projectionAngle; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "configuredInWorldSpace", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConfigurableJoint)o).configuredInWorldSpace = (System.Boolean)v, Getter = (o) => ((ConfigurableJoint)o).configuredInWorldSpace, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).configuredInWorldSpace; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "swapBodies", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConfigurableJoint)o).swapBodies = (System.Boolean)v, Getter = (o) => ((ConfigurableJoint)o).swapBodies, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).swapBodies; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConfigurableJoint)o).breakForce = (System.Single)v, Getter = (o) => ((ConfigurableJoint)o).breakForce, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConfigurableJoint)o).breakTorque = (System.Single)v, Getter = (o) => ((ConfigurableJoint)o).breakTorque, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConfigurableJoint)o).enableCollision = (System.Boolean)v, Getter = (o) => ((ConfigurableJoint)o).enableCollision, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enablePreprocessing", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConfigurableJoint)o).enablePreprocessing = (System.Boolean)v, Getter = (o) => ((ConfigurableJoint)o).enablePreprocessing, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).enablePreprocessing; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "massScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConfigurableJoint)o).massScale = (System.Single)v, Getter = (o) => ((ConfigurableJoint)o).massScale, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).massScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedMassScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConfigurableJoint)o).connectedMassScale = (System.Single)v, Getter = (o) => ((ConfigurableJoint)o).connectedMassScale, Updater = (object o, ref object v) => { var x = ((ConfigurableJoint)o).connectedMassScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS - { "UnityEngine.ConstantForce", new UnityProperty[] { - new UnityProperty { Name = "force", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConstantForce)o).force = (UnityEngine.Vector3)v, Getter = (o) => ((ConstantForce)o).force, Updater = (object o, ref object v) => { var x = ((ConstantForce)o).force; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "relativeForce", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConstantForce)o).relativeForce = (UnityEngine.Vector3)v, Getter = (o) => ((ConstantForce)o).relativeForce, Updater = (object o, ref object v) => { var x = ((ConstantForce)o).relativeForce; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "torque", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConstantForce)o).torque = (UnityEngine.Vector3)v, Getter = (o) => ((ConstantForce)o).torque, Updater = (object o, ref object v) => { var x = ((ConstantForce)o).torque; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "relativeTorque", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ConstantForce)o).relativeTorque = (UnityEngine.Vector3)v, Getter = (o) => ((ConstantForce)o).relativeTorque, Updater = (object o, ref object v) => { var x = ((ConstantForce)o).relativeTorque; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConstantForce)o).enabled = (System.Boolean)v, Getter = (o) => ((ConstantForce)o).enabled, Updater = (object o, ref object v) => { var x = ((ConstantForce)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.ConstantForce2D", new UnityProperty[] { - new UnityProperty { Name = "force", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((ConstantForce2D)o).force = (UnityEngine.Vector2)v, Getter = (o) => ((ConstantForce2D)o).force, Updater = (object o, ref object v) => { var x = ((ConstantForce2D)o).force; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "relativeForce", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((ConstantForce2D)o).relativeForce = (UnityEngine.Vector2)v, Getter = (o) => ((ConstantForce2D)o).relativeForce, Updater = (object o, ref object v) => { var x = ((ConstantForce2D)o).relativeForce; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "torque", PropertyType = typeof(System.Single), Setter = (o, v) => ((ConstantForce2D)o).torque = (System.Single)v, Getter = (o) => ((ConstantForce2D)o).torque, Updater = (object o, ref object v) => { var x = ((ConstantForce2D)o).torque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ConstantForce2D)o).enabled = (System.Boolean)v, Getter = (o) => ((ConstantForce2D)o).enabled, Updater = (object o, ref object v) => { var x = ((ConstantForce2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.ContentSizeFitter", new UnityProperty[] { - new UnityProperty { Name = "horizontalFit", PropertyType = typeof(UnityEngine.UI.ContentSizeFitter.FitMode), Setter = (o, v) => ((UnityEngine.UI.ContentSizeFitter)o).horizontalFit = (UnityEngine.UI.ContentSizeFitter.FitMode)v, Getter = (o) => ((UnityEngine.UI.ContentSizeFitter)o).horizontalFit, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.ContentSizeFitter)o).horizontalFit; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "verticalFit", PropertyType = typeof(UnityEngine.UI.ContentSizeFitter.FitMode), Setter = (o, v) => ((UnityEngine.UI.ContentSizeFitter)o).verticalFit = (UnityEngine.UI.ContentSizeFitter.FitMode)v, Getter = (o) => ((UnityEngine.UI.ContentSizeFitter)o).verticalFit, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.ContentSizeFitter)o).verticalFit; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ContentSizeFitter)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ContentSizeFitter)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ContentSizeFitter)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.DistanceJoint2D", new UnityProperty[] { - new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((DistanceJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((DistanceJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((DistanceJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((DistanceJoint2D)o).connectedBody, }, - new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((DistanceJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((DistanceJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((DistanceJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((DistanceJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((DistanceJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((DistanceJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoConfigureDistance", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((DistanceJoint2D)o).autoConfigureDistance = (System.Boolean)v, Getter = (o) => ((DistanceJoint2D)o).autoConfigureDistance, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).autoConfigureDistance; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "distance", PropertyType = typeof(System.Single), Setter = (o, v) => ((DistanceJoint2D)o).distance = (System.Single)v, Getter = (o) => ((DistanceJoint2D)o).distance, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).distance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maxDistanceOnly", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((DistanceJoint2D)o).maxDistanceOnly = (System.Boolean)v, Getter = (o) => ((DistanceJoint2D)o).maxDistanceOnly, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).maxDistanceOnly; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((DistanceJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((DistanceJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((DistanceJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((DistanceJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((DistanceJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.Dropdown", new UnityProperty[] { - new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).interactable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).interactable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Dropdown)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).transition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Dropdown)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).targetGraphic, }, - new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).colors, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Dropdown)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).navigation, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Dropdown)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "template", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).template = (UnityEngine.RectTransform)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).template, }, - new UnityProperty { Name = "captionText", PropertyType = typeof(UnityEngine.UI.Text), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).captionText = (UnityEngine.UI.Text)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).captionText, }, - new UnityProperty { Name = "captionImage", PropertyType = typeof(UnityEngine.UI.Image), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).captionImage = (UnityEngine.UI.Image)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).captionImage, }, - new UnityProperty { Name = "itemText", PropertyType = typeof(UnityEngine.UI.Text), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).itemText = (UnityEngine.UI.Text)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).itemText, }, - new UnityProperty { Name = "itemImage", PropertyType = typeof(UnityEngine.UI.Image), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).itemImage = (UnityEngine.UI.Image)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).itemImage, }, - new UnityProperty { Name = "value", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).value = (System.Int32)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).value, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Dropdown)o).value; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "alphaFadeSpeed", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).alphaFadeSpeed = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).alphaFadeSpeed, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Dropdown)o).alphaFadeSpeed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "options", PropertyType = typeof(System.Collections.Generic.List), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).options = (System.Collections.Generic.List)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).options, }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Dropdown)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Dropdown)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Dropdown)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.EdgeCollider2D", new UnityProperty[] { - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((EdgeCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((EdgeCollider2D)o).sharedMaterial, }, - new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((EdgeCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((EdgeCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((EdgeCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((EdgeCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if !UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((EdgeCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((EdgeCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((EdgeCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((EdgeCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((EdgeCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((EdgeCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((EdgeCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "edgeRadius", PropertyType = typeof(System.Single), Setter = (o, v) => ((EdgeCollider2D)o).edgeRadius = (System.Single)v, Getter = (o) => ((EdgeCollider2D)o).edgeRadius, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).edgeRadius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "points", PropertyType = typeof(UnityEngine.Vector2[]), Setter = (o, v) => ((EdgeCollider2D)o).points = (UnityEngine.Vector2[])v, Getter = (o) => ((EdgeCollider2D)o).points, }, - #if UNITY_2020_1_OR_NEWER - new UnityProperty { Name = "useAdjacentStartPoint", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((EdgeCollider2D)o).useAdjacentStartPoint = (System.Boolean)v, Getter = (o) => ((EdgeCollider2D)o).useAdjacentStartPoint, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).useAdjacentStartPoint; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_2020_1_OR_NEWER - new UnityProperty { Name = "useAdjacentEndPoint", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((EdgeCollider2D)o).useAdjacentEndPoint = (System.Boolean)v, Getter = (o) => ((EdgeCollider2D)o).useAdjacentEndPoint, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).useAdjacentEndPoint; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((EdgeCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((EdgeCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((EdgeCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.EventSystems.EventSystem", new UnityProperty[] { - new UnityProperty { Name = "firstSelectedGameObject", PropertyType = typeof(UnityEngine.GameObject), Setter = (o, v) => ((UnityEngine.EventSystems.EventSystem)o).firstSelectedGameObject = (UnityEngine.GameObject)v, Getter = (o) => ((UnityEngine.EventSystems.EventSystem)o).firstSelectedGameObject, }, - new UnityProperty { Name = "sendNavigationEvents", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.EventSystems.EventSystem)o).sendNavigationEvents = (System.Boolean)v, Getter = (o) => ((UnityEngine.EventSystems.EventSystem)o).sendNavigationEvents, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.EventSystem)o).sendNavigationEvents; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "pixelDragThreshold", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.EventSystems.EventSystem)o).pixelDragThreshold = (System.Int32)v, Getter = (o) => ((UnityEngine.EventSystems.EventSystem)o).pixelDragThreshold, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.EventSystem)o).pixelDragThreshold; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.EventSystems.EventSystem)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.EventSystems.EventSystem)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.EventSystem)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.FixedJoint2D", new UnityProperty[] { - new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((FixedJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((FixedJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((FixedJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((FixedJoint2D)o).connectedBody, }, - new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((FixedJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((FixedJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((FixedJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((FixedJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((FixedJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((FixedJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "dampingRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((FixedJoint2D)o).dampingRatio = (System.Single)v, Getter = (o) => ((FixedJoint2D)o).dampingRatio, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).dampingRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "frequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((FixedJoint2D)o).frequency = (System.Single)v, Getter = (o) => ((FixedJoint2D)o).frequency, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).frequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((FixedJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((FixedJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((FixedJoint2D)o).breakTorque = (System.Single)v, Getter = (o) => ((FixedJoint2D)o).breakTorque, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((FixedJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((FixedJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((FixedJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.FrictionJoint2D", new UnityProperty[] { - new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((FrictionJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((FrictionJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((FrictionJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((FrictionJoint2D)o).connectedBody, }, - new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((FrictionJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((FrictionJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((FrictionJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((FrictionJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((FrictionJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((FrictionJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maxForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((FrictionJoint2D)o).maxForce = (System.Single)v, Getter = (o) => ((FrictionJoint2D)o).maxForce, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).maxForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maxTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((FrictionJoint2D)o).maxTorque = (System.Single)v, Getter = (o) => ((FrictionJoint2D)o).maxTorque, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).maxTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((FrictionJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((FrictionJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((FrictionJoint2D)o).breakTorque = (System.Single)v, Getter = (o) => ((FrictionJoint2D)o).breakTorque, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((FrictionJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((FrictionJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((FrictionJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.GraphicRaycaster", new UnityProperty[] { - new UnityProperty { Name = "ignoreReversedGraphics", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.GraphicRaycaster)o).ignoreReversedGraphics = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.GraphicRaycaster)o).ignoreReversedGraphics, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.GraphicRaycaster)o).ignoreReversedGraphics; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "blockingObjects", PropertyType = typeof(UnityEngine.UI.GraphicRaycaster.BlockingObjects), Setter = (o, v) => ((UnityEngine.UI.GraphicRaycaster)o).blockingObjects = (UnityEngine.UI.GraphicRaycaster.BlockingObjects)v, Getter = (o) => ((UnityEngine.UI.GraphicRaycaster)o).blockingObjects, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.GraphicRaycaster)o).blockingObjects; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #if UNITY_2020_2_OR_NEWER - new UnityProperty { Name = "blockingMask", PropertyType = typeof(UnityEngine.LayerMask), Setter = (o, v) => ((UnityEngine.UI.GraphicRaycaster)o).blockingMask = (UnityEngine.LayerMask)v, Getter = (o) => ((UnityEngine.UI.GraphicRaycaster)o).blockingMask, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.GraphicRaycaster)o).blockingMask; if (!x.Equals((UnityEngine.LayerMask)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.GraphicRaycaster)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.GraphicRaycaster)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.GraphicRaycaster)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.Grid", new UnityProperty[] { - new UnityProperty { Name = "cellSize", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((Grid)o).cellSize = (UnityEngine.Vector3)v, Getter = (o) => ((Grid)o).cellSize, Updater = (object o, ref object v) => { var x = ((Grid)o).cellSize; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "cellGap", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((Grid)o).cellGap = (UnityEngine.Vector3)v, Getter = (o) => ((Grid)o).cellGap, Updater = (object o, ref object v) => { var x = ((Grid)o).cellGap; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "cellLayout", PropertyType = typeof(UnityEngine.GridLayout.CellLayout), Setter = (o, v) => ((Grid)o).cellLayout = (UnityEngine.GridLayout.CellLayout)v, Getter = (o) => ((Grid)o).cellLayout, Updater = (object o, ref object v) => { var x = (int)((Grid)o).cellLayout; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "cellSwizzle", PropertyType = typeof(UnityEngine.GridLayout.CellSwizzle), Setter = (o, v) => ((Grid)o).cellSwizzle = (UnityEngine.GridLayout.CellSwizzle)v, Getter = (o) => ((Grid)o).cellSwizzle, Updater = (object o, ref object v) => { var x = (int)((Grid)o).cellSwizzle; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Grid)o).enabled = (System.Boolean)v, Getter = (o) => ((Grid)o).enabled, Updater = (object o, ref object v) => { var x = ((Grid)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_GUI - { "UnityEngine.UI.GridLayoutGroup", new UnityProperty[] { - new UnityProperty { Name = "padding", PropertyType = typeof(UnityEngine.RectOffset), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).padding = (UnityEngine.RectOffset)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).padding, }, - new UnityProperty { Name = "cellSize", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).cellSize = (UnityEngine.Vector2)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).cellSize, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.GridLayoutGroup)o).cellSize; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "spacing", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).spacing = (UnityEngine.Vector2)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).spacing, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.GridLayoutGroup)o).spacing; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "startCorner", PropertyType = typeof(UnityEngine.UI.GridLayoutGroup.Corner), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).startCorner = (UnityEngine.UI.GridLayoutGroup.Corner)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).startCorner, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.GridLayoutGroup)o).startCorner; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "startAxis", PropertyType = typeof(UnityEngine.UI.GridLayoutGroup.Axis), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).startAxis = (UnityEngine.UI.GridLayoutGroup.Axis)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).startAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.GridLayoutGroup)o).startAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childAlignment", PropertyType = typeof(UnityEngine.TextAnchor), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).childAlignment = (UnityEngine.TextAnchor)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).childAlignment, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.GridLayoutGroup)o).childAlignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "constraint", PropertyType = typeof(UnityEngine.UI.GridLayoutGroup.Constraint), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).constraint = (UnityEngine.UI.GridLayoutGroup.Constraint)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).constraint, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.GridLayoutGroup)o).constraint; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.GridLayoutGroup)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.GridLayoutGroup)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.GridLayoutGroup)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS - { "UnityEngine.HingeJoint", new UnityProperty[] { - new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody), Setter = (o, v) => ((HingeJoint)o).connectedBody = (UnityEngine.Rigidbody)v, Getter = (o) => ((HingeJoint)o).connectedBody, }, - #if UNITY_2020_2_OR_NEWER - new UnityProperty { Name = "connectedArticulationBody", PropertyType = typeof(UnityEngine.ArticulationBody), Setter = (o, v) => ((HingeJoint)o).connectedArticulationBody = (UnityEngine.ArticulationBody)v, Getter = (o) => ((HingeJoint)o).connectedArticulationBody, }, - #endif - new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((HingeJoint)o).anchor = (UnityEngine.Vector3)v, Getter = (o) => ((HingeJoint)o).anchor, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).anchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "axis", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((HingeJoint)o).axis = (UnityEngine.Vector3)v, Getter = (o) => ((HingeJoint)o).axis, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).axis; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((HingeJoint)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((HingeJoint)o).connectedAnchor = (UnityEngine.Vector3)v, Getter = (o) => ((HingeJoint)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useSpring", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint)o).useSpring = (System.Boolean)v, Getter = (o) => ((HingeJoint)o).useSpring, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).useSpring; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "spring", PropertyType = typeof(UnityEngine.JointSpring), Setter = (o, v) => ((HingeJoint)o).spring = (UnityEngine.JointSpring)v, Getter = (o) => ((HingeJoint)o).spring, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).spring; if (!x.Equals((UnityEngine.JointSpring)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useMotor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint)o).useMotor = (System.Boolean)v, Getter = (o) => ((HingeJoint)o).useMotor, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).useMotor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "motor", PropertyType = typeof(UnityEngine.JointMotor), Setter = (o, v) => ((HingeJoint)o).motor = (UnityEngine.JointMotor)v, Getter = (o) => ((HingeJoint)o).motor, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).motor; if (!x.Equals((UnityEngine.JointMotor)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useLimits", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint)o).useLimits = (System.Boolean)v, Getter = (o) => ((HingeJoint)o).useLimits, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).useLimits; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "limits", PropertyType = typeof(UnityEngine.JointLimits), Setter = (o, v) => ((HingeJoint)o).limits = (UnityEngine.JointLimits)v, Getter = (o) => ((HingeJoint)o).limits, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).limits; if (!x.Equals((UnityEngine.JointLimits)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((HingeJoint)o).breakForce = (System.Single)v, Getter = (o) => ((HingeJoint)o).breakForce, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((HingeJoint)o).breakTorque = (System.Single)v, Getter = (o) => ((HingeJoint)o).breakTorque, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint)o).enableCollision = (System.Boolean)v, Getter = (o) => ((HingeJoint)o).enableCollision, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enablePreprocessing", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint)o).enablePreprocessing = (System.Boolean)v, Getter = (o) => ((HingeJoint)o).enablePreprocessing, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).enablePreprocessing; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "massScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((HingeJoint)o).massScale = (System.Single)v, Getter = (o) => ((HingeJoint)o).massScale, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).massScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedMassScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((HingeJoint)o).connectedMassScale = (System.Single)v, Getter = (o) => ((HingeJoint)o).connectedMassScale, Updater = (object o, ref object v) => { var x = ((HingeJoint)o).connectedMassScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.HingeJoint2D", new UnityProperty[] { - new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((HingeJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((HingeJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((HingeJoint2D)o).connectedBody, }, - new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((HingeJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((HingeJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((HingeJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((HingeJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((HingeJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useMotor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint2D)o).useMotor = (System.Boolean)v, Getter = (o) => ((HingeJoint2D)o).useMotor, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).useMotor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "motor", PropertyType = typeof(UnityEngine.JointMotor2D), Setter = (o, v) => ((HingeJoint2D)o).motor = (UnityEngine.JointMotor2D)v, Getter = (o) => ((HingeJoint2D)o).motor, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).motor; if (!x.Equals((UnityEngine.JointMotor2D)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useLimits", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint2D)o).useLimits = (System.Boolean)v, Getter = (o) => ((HingeJoint2D)o).useLimits, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).useLimits; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "limits", PropertyType = typeof(UnityEngine.JointAngleLimits2D), Setter = (o, v) => ((HingeJoint2D)o).limits = (UnityEngine.JointAngleLimits2D)v, Getter = (o) => ((HingeJoint2D)o).limits, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).limits; if (!x.Equals((UnityEngine.JointAngleLimits2D)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((HingeJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((HingeJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((HingeJoint2D)o).breakTorque = (System.Single)v, Getter = (o) => ((HingeJoint2D)o).breakTorque, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((HingeJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((HingeJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((HingeJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.HorizontalLayoutGroup", new UnityProperty[] { - new UnityProperty { Name = "padding", PropertyType = typeof(UnityEngine.RectOffset), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).padding = (UnityEngine.RectOffset)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).padding, }, - new UnityProperty { Name = "spacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).spacing = (System.Single)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).spacing, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).spacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childAlignment", PropertyType = typeof(UnityEngine.TextAnchor), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childAlignment = (UnityEngine.TextAnchor)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childAlignment, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.HorizontalLayoutGroup)o).childAlignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childControlWidth", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childControlWidth = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childControlWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).childControlWidth; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childControlHeight", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childControlHeight = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childControlHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).childControlHeight; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childScaleWidth", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childScaleWidth = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childScaleWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).childScaleWidth; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childScaleHeight", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childScaleHeight = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childScaleHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).childScaleHeight; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childForceExpandWidth", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childForceExpandWidth = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childForceExpandWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).childForceExpandWidth; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childForceExpandHeight", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childForceExpandHeight = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).childForceExpandHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).childForceExpandHeight; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.HorizontalLayoutGroup)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.HorizontalLayoutGroup)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.HorizontalLayoutGroup)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.VerticalLayoutGroup", new UnityProperty[] { - new UnityProperty { Name = "padding", PropertyType = typeof(UnityEngine.RectOffset), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).padding = (UnityEngine.RectOffset)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).padding, }, - new UnityProperty { Name = "spacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).spacing = (System.Single)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).spacing, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).spacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childAlignment", PropertyType = typeof(UnityEngine.TextAnchor), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childAlignment = (UnityEngine.TextAnchor)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childAlignment, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.VerticalLayoutGroup)o).childAlignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childControlWidth", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childControlWidth = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childControlWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).childControlWidth; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childControlHeight", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childControlHeight = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childControlHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).childControlHeight; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childScaleWidth", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childScaleWidth = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childScaleWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).childScaleWidth; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childScaleHeight", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childScaleHeight = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childScaleHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).childScaleHeight; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childForceExpandWidth", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childForceExpandWidth = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childForceExpandWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).childForceExpandWidth; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "childForceExpandHeight", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).childForceExpandHeight = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).childForceExpandHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).childForceExpandHeight; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.VerticalLayoutGroup)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.VerticalLayoutGroup)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.VerticalLayoutGroup)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.Image", new UnityProperty[] { - new UnityProperty { Name = "sprite", PropertyType = typeof(UnityEngine.Sprite), Setter = (o, v) => ((UnityEngine.UI.Image)o).sprite = (UnityEngine.Sprite)v, Getter = (o) => ((UnityEngine.UI.Image)o).sprite, }, - new UnityProperty { Name = "material", PropertyType = typeof(UnityEngine.Material), Setter = (o, v) => ((UnityEngine.UI.Image)o).material = (UnityEngine.Material)v, Getter = (o) => ((UnityEngine.UI.Image)o).material, }, - new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.UI.Image)o).color = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.UI.Image)o).color, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Image)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "raycastTarget", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Image)o).raycastTarget = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Image)o).raycastTarget, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Image)o).raycastTarget; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if UNITY_2020_1_OR_NEWER - new UnityProperty { Name = "raycastPadding", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((UnityEngine.UI.Image)o).raycastPadding = (UnityEngine.Vector4)v, Getter = (o) => ((UnityEngine.UI.Image)o).raycastPadding, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Image)o).raycastPadding; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "maskable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Image)o).maskable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Image)o).maskable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Image)o).maskable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Image)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Image)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Image)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.InputField", new UnityProperty[] { - new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.InputField)o).interactable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.InputField)o).interactable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((UnityEngine.UI.InputField)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((UnityEngine.UI.InputField)o).transition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.InputField)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.InputField)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.InputField)o).targetGraphic, }, - new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((UnityEngine.UI.InputField)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((UnityEngine.UI.InputField)o).colors, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((UnityEngine.UI.InputField)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((UnityEngine.UI.InputField)o).navigation, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "textComponent", PropertyType = typeof(UnityEngine.UI.Text), Setter = (o, v) => ((UnityEngine.UI.InputField)o).textComponent = (UnityEngine.UI.Text)v, Getter = (o) => ((UnityEngine.UI.InputField)o).textComponent, }, - new UnityProperty { Name = "text", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.UI.InputField)o).text = (System.String)v, Getter = (o) => ((UnityEngine.UI.InputField)o).text, }, - new UnityProperty { Name = "characterLimit", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.UI.InputField)o).characterLimit = (System.Int32)v, Getter = (o) => ((UnityEngine.UI.InputField)o).characterLimit, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).characterLimit; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "contentType", PropertyType = typeof(UnityEngine.UI.InputField.ContentType), Setter = (o, v) => ((UnityEngine.UI.InputField)o).contentType = (UnityEngine.UI.InputField.ContentType)v, Getter = (o) => ((UnityEngine.UI.InputField)o).contentType, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.InputField)o).contentType; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lineType", PropertyType = typeof(UnityEngine.UI.InputField.LineType), Setter = (o, v) => ((UnityEngine.UI.InputField)o).lineType = (UnityEngine.UI.InputField.LineType)v, Getter = (o) => ((UnityEngine.UI.InputField)o).lineType, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.InputField)o).lineType; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "placeholder", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.InputField)o).placeholder = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.InputField)o).placeholder, }, - new UnityProperty { Name = "caretBlinkRate", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.InputField)o).caretBlinkRate = (System.Single)v, Getter = (o) => ((UnityEngine.UI.InputField)o).caretBlinkRate, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).caretBlinkRate; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "caretWidth", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.UI.InputField)o).caretWidth = (System.Int32)v, Getter = (o) => ((UnityEngine.UI.InputField)o).caretWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).caretWidth; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "customCaretColor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.InputField)o).customCaretColor = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.InputField)o).customCaretColor, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).customCaretColor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "selectionColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.UI.InputField)o).selectionColor = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.UI.InputField)o).selectionColor, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).selectionColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "shouldHideMobileInput", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.InputField)o).shouldHideMobileInput = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.InputField)o).shouldHideMobileInput, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).shouldHideMobileInput; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "readOnly", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.InputField)o).readOnly = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.InputField)o).readOnly, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).readOnly; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if UNITY_2020_3_OR_NEWER - new UnityProperty { Name = "shouldActivateOnSelect", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.InputField)o).shouldActivateOnSelect = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.InputField)o).shouldActivateOnSelect, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).shouldActivateOnSelect; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.InputField)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.InputField)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.InputField)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.LayoutElement", new UnityProperty[] { - new UnityProperty { Name = "ignoreLayout", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).ignoreLayout = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).ignoreLayout, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).ignoreLayout; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "minWidth", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).minWidth = (System.Single)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).minWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).minWidth; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "minHeight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).minHeight = (System.Single)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).minHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).minHeight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "preferredWidth", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).preferredWidth = (System.Single)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).preferredWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).preferredWidth; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "preferredHeight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).preferredHeight = (System.Single)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).preferredHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).preferredHeight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "flexibleWidth", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).flexibleWidth = (System.Single)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).flexibleWidth, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).flexibleWidth; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "flexibleHeight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).flexibleHeight = (System.Single)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).flexibleHeight, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).flexibleHeight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "layoutPriority", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).layoutPriority = (System.Int32)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).layoutPriority, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).layoutPriority; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.LayoutElement)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.LayoutElement)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.LayoutElement)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.LensFlare", new UnityProperty[] { - new UnityProperty { Name = "flare", PropertyType = typeof(UnityEngine.Flare), Setter = (o, v) => ((LensFlare)o).flare = (UnityEngine.Flare)v, Getter = (o) => ((LensFlare)o).flare, }, - new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((LensFlare)o).color = (UnityEngine.Color)v, Getter = (o) => ((LensFlare)o).color, Updater = (object o, ref object v) => { var x = ((LensFlare)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "brightness", PropertyType = typeof(System.Single), Setter = (o, v) => ((LensFlare)o).brightness = (System.Single)v, Getter = (o) => ((LensFlare)o).brightness, Updater = (object o, ref object v) => { var x = ((LensFlare)o).brightness; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "fadeSpeed", PropertyType = typeof(System.Single), Setter = (o, v) => ((LensFlare)o).fadeSpeed = (System.Single)v, Getter = (o) => ((LensFlare)o).fadeSpeed, Updater = (object o, ref object v) => { var x = ((LensFlare)o).fadeSpeed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LensFlare)o).enabled = (System.Boolean)v, Getter = (o) => ((LensFlare)o).enabled, Updater = (object o, ref object v) => { var x = ((LensFlare)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - { "UnityEngine.Light", new UnityProperty[] { - new UnityProperty { Name = "type", PropertyType = typeof(UnityEngine.LightType), Setter = (o, v) => ((Light)o).type = (UnityEngine.LightType)v, Getter = (o) => ((Light)o).type, Updater = (object o, ref object v) => { var x = (int)((Light)o).type; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "range", PropertyType = typeof(System.Single), Setter = (o, v) => ((Light)o).range = (System.Single)v, Getter = (o) => ((Light)o).range, Updater = (object o, ref object v) => { var x = ((Light)o).range; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "spotAngle", PropertyType = typeof(System.Single), Setter = (o, v) => ((Light)o).spotAngle = (System.Single)v, Getter = (o) => ((Light)o).spotAngle, Updater = (object o, ref object v) => { var x = ((Light)o).spotAngle; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((Light)o).color = (UnityEngine.Color)v, Getter = (o) => ((Light)o).color, Updater = (object o, ref object v) => { var x = ((Light)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "intensity", PropertyType = typeof(System.Single), Setter = (o, v) => ((Light)o).intensity = (System.Single)v, Getter = (o) => ((Light)o).intensity, Updater = (object o, ref object v) => { var x = ((Light)o).intensity; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "bounceIntensity", PropertyType = typeof(System.Single), Setter = (o, v) => ((Light)o).bounceIntensity = (System.Single)v, Getter = (o) => ((Light)o).bounceIntensity, Updater = (object o, ref object v) => { var x = ((Light)o).bounceIntensity; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "shadows", PropertyType = typeof(UnityEngine.LightShadows), Setter = (o, v) => ((Light)o).shadows = (UnityEngine.LightShadows)v, Getter = (o) => ((Light)o).shadows, Updater = (object o, ref object v) => { var x = (int)((Light)o).shadows; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "cookie", PropertyType = typeof(UnityEngine.Texture), Setter = (o, v) => ((Light)o).cookie = (UnityEngine.Texture)v, Getter = (o) => ((Light)o).cookie, }, - new UnityProperty { Name = "flare", PropertyType = typeof(UnityEngine.Flare), Setter = (o, v) => ((Light)o).flare = (UnityEngine.Flare)v, Getter = (o) => ((Light)o).flare, }, - new UnityProperty { Name = "renderMode", PropertyType = typeof(UnityEngine.LightRenderMode), Setter = (o, v) => ((Light)o).renderMode = (UnityEngine.LightRenderMode)v, Getter = (o) => ((Light)o).renderMode, Updater = (object o, ref object v) => { var x = (int)((Light)o).renderMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "cullingMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((Light)o).cullingMask = (System.Int32)v, Getter = (o) => ((Light)o).cullingMask, Updater = (object o, ref object v) => { var x = ((Light)o).cullingMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Light)o).enabled = (System.Boolean)v, Getter = (o) => ((Light)o).enabled, Updater = (object o, ref object v) => { var x = ((Light)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - { "UnityEngine.LightProbeProxyVolume", new UnityProperty[] { - new UnityProperty { Name = "refreshMode", PropertyType = typeof(UnityEngine.LightProbeProxyVolume.RefreshMode), Setter = (o, v) => ((LightProbeProxyVolume)o).refreshMode = (UnityEngine.LightProbeProxyVolume.RefreshMode)v, Getter = (o) => ((LightProbeProxyVolume)o).refreshMode, Updater = (object o, ref object v) => { var x = (int)((LightProbeProxyVolume)o).refreshMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "qualityMode", PropertyType = typeof(UnityEngine.LightProbeProxyVolume.QualityMode), Setter = (o, v) => ((LightProbeProxyVolume)o).qualityMode = (UnityEngine.LightProbeProxyVolume.QualityMode)v, Getter = (o) => ((LightProbeProxyVolume)o).qualityMode, Updater = (object o, ref object v) => { var x = (int)((LightProbeProxyVolume)o).qualityMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #if UNITY_2020_2_OR_NEWER - new UnityProperty { Name = "dataFormat", PropertyType = typeof(UnityEngine.LightProbeProxyVolume.DataFormat), Setter = (o, v) => ((LightProbeProxyVolume)o).dataFormat = (UnityEngine.LightProbeProxyVolume.DataFormat)v, Getter = (o) => ((LightProbeProxyVolume)o).dataFormat, Updater = (object o, ref object v) => { var x = (int)((LightProbeProxyVolume)o).dataFormat; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "boundingBoxMode", PropertyType = typeof(UnityEngine.LightProbeProxyVolume.BoundingBoxMode), Setter = (o, v) => ((LightProbeProxyVolume)o).boundingBoxMode = (UnityEngine.LightProbeProxyVolume.BoundingBoxMode)v, Getter = (o) => ((LightProbeProxyVolume)o).boundingBoxMode, Updater = (object o, ref object v) => { var x = (int)((LightProbeProxyVolume)o).boundingBoxMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "resolutionMode", PropertyType = typeof(UnityEngine.LightProbeProxyVolume.ResolutionMode), Setter = (o, v) => ((LightProbeProxyVolume)o).resolutionMode = (UnityEngine.LightProbeProxyVolume.ResolutionMode)v, Getter = (o) => ((LightProbeProxyVolume)o).resolutionMode, Updater = (object o, ref object v) => { var x = (int)((LightProbeProxyVolume)o).resolutionMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "probeDensity", PropertyType = typeof(System.Single), Setter = (o, v) => ((LightProbeProxyVolume)o).probeDensity = (System.Single)v, Getter = (o) => ((LightProbeProxyVolume)o).probeDensity, Updater = (object o, ref object v) => { var x = ((LightProbeProxyVolume)o).probeDensity; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "probePositionMode", PropertyType = typeof(UnityEngine.LightProbeProxyVolume.ProbePositionMode), Setter = (o, v) => ((LightProbeProxyVolume)o).probePositionMode = (UnityEngine.LightProbeProxyVolume.ProbePositionMode)v, Getter = (o) => ((LightProbeProxyVolume)o).probePositionMode, Updater = (object o, ref object v) => { var x = (int)((LightProbeProxyVolume)o).probePositionMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LightProbeProxyVolume)o).enabled = (System.Boolean)v, Getter = (o) => ((LightProbeProxyVolume)o).enabled, Updater = (object o, ref object v) => { var x = ((LightProbeProxyVolume)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - { "UnityEngine.LineRenderer", new UnityProperty[] { - new UnityProperty { Name = "loop", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LineRenderer)o).loop = (System.Boolean)v, Getter = (o) => ((LineRenderer)o).loop, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).loop; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "startColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((LineRenderer)o).startColor = (UnityEngine.Color)v, Getter = (o) => ((LineRenderer)o).startColor, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).startColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "endColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((LineRenderer)o).endColor = (UnityEngine.Color)v, Getter = (o) => ((LineRenderer)o).endColor, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).endColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "numCornerVertices", PropertyType = typeof(System.Int32), Setter = (o, v) => ((LineRenderer)o).numCornerVertices = (System.Int32)v, Getter = (o) => ((LineRenderer)o).numCornerVertices, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).numCornerVertices; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "numCapVertices", PropertyType = typeof(System.Int32), Setter = (o, v) => ((LineRenderer)o).numCapVertices = (System.Int32)v, Getter = (o) => ((LineRenderer)o).numCapVertices, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).numCapVertices; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "alignment", PropertyType = typeof(UnityEngine.LineAlignment), Setter = (o, v) => ((LineRenderer)o).alignment = (UnityEngine.LineAlignment)v, Getter = (o) => ((LineRenderer)o).alignment, Updater = (object o, ref object v) => { var x = (int)((LineRenderer)o).alignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "textureMode", PropertyType = typeof(UnityEngine.LineTextureMode), Setter = (o, v) => ((LineRenderer)o).textureMode = (UnityEngine.LineTextureMode)v, Getter = (o) => ((LineRenderer)o).textureMode, Updater = (object o, ref object v) => { var x = (int)((LineRenderer)o).textureMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "shadowBias", PropertyType = typeof(System.Single), Setter = (o, v) => ((LineRenderer)o).shadowBias = (System.Single)v, Getter = (o) => ((LineRenderer)o).shadowBias, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).shadowBias; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "generateLightingData", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LineRenderer)o).generateLightingData = (System.Boolean)v, Getter = (o) => ((LineRenderer)o).generateLightingData, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).generateLightingData; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useWorldSpace", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LineRenderer)o).useWorldSpace = (System.Boolean)v, Getter = (o) => ((LineRenderer)o).useWorldSpace, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).useWorldSpace; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((LineRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((LineRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} }, - new UnityProperty { Name = "shadowCastingMode", PropertyType = typeof(UnityEngine.Rendering.ShadowCastingMode), Setter = (o, v) => ((LineRenderer)o).shadowCastingMode = (UnityEngine.Rendering.ShadowCastingMode)v, Getter = (o) => ((LineRenderer)o).shadowCastingMode, Updater = (object o, ref object v) => { var x = (int)((LineRenderer)o).shadowCastingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "receiveShadows", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LineRenderer)o).receiveShadows = (System.Boolean)v, Getter = (o) => ((LineRenderer)o).receiveShadows, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).receiveShadows; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lightProbeUsage", PropertyType = typeof(UnityEngine.Rendering.LightProbeUsage), Setter = (o, v) => ((LineRenderer)o).lightProbeUsage = (UnityEngine.Rendering.LightProbeUsage)v, Getter = (o) => ((LineRenderer)o).lightProbeUsage, Updater = (object o, ref object v) => { var x = (int)((LineRenderer)o).lightProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reflectionProbeUsage", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeUsage), Setter = (o, v) => ((LineRenderer)o).reflectionProbeUsage = (UnityEngine.Rendering.ReflectionProbeUsage)v, Getter = (o) => ((LineRenderer)o).reflectionProbeUsage, Updater = (object o, ref object v) => { var x = (int)((LineRenderer)o).reflectionProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "motionVectorGenerationMode", PropertyType = typeof(UnityEngine.MotionVectorGenerationMode), Setter = (o, v) => ((LineRenderer)o).motionVectorGenerationMode = (UnityEngine.MotionVectorGenerationMode)v, Getter = (o) => ((LineRenderer)o).motionVectorGenerationMode, Updater = (object o, ref object v) => { var x = (int)((LineRenderer)o).motionVectorGenerationMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "allowOcclusionWhenDynamic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LineRenderer)o).allowOcclusionWhenDynamic = (System.Boolean)v, Getter = (o) => ((LineRenderer)o).allowOcclusionWhenDynamic, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).allowOcclusionWhenDynamic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((LineRenderer)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((LineRenderer)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((LineRenderer)o).sortingOrder = (System.Int32)v, Getter = (o) => ((LineRenderer)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((LineRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((LineRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((LineRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_ANIMATION - { "UnityEngine.Animations.LookAtConstraint", new UnityProperty[] { - new UnityProperty { Name = "constraintActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).constraintActive = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).constraintActive, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).constraintActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "weight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).weight = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).weight, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).weight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useUpObject", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).useUpObject = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).useUpObject, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).useUpObject; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "roll", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).roll = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).roll, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).roll; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "worldUpObject", PropertyType = typeof(UnityEngine.Transform), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).worldUpObject = (UnityEngine.Transform)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).worldUpObject, }, - new UnityProperty { Name = "locked", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).locked = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).locked, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).locked; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).rotationAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).rotationAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).rotationAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationOffset", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).rotationOffset = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).rotationOffset, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).rotationOffset; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.LookAtConstraint)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.LookAtConstraint)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.LookAtConstraint)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.Mask", new UnityProperty[] { - new UnityProperty { Name = "showMaskGraphic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Mask)o).showMaskGraphic = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Mask)o).showMaskGraphic, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Mask)o).showMaskGraphic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Mask)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Mask)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Mask)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS - { "UnityEngine.MeshCollider", new UnityProperty[] { - new UnityProperty { Name = "convex", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((MeshCollider)o).convex = (System.Boolean)v, Getter = (o) => ((MeshCollider)o).convex, Updater = (object o, ref object v) => { var x = ((MeshCollider)o).convex; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((MeshCollider)o).isTrigger = (System.Boolean)v, Getter = (o) => ((MeshCollider)o).isTrigger, Updater = (object o, ref object v) => { var x = ((MeshCollider)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "cookingOptions", PropertyType = typeof(UnityEngine.MeshColliderCookingOptions), Setter = (o, v) => ((MeshCollider)o).cookingOptions = (UnityEngine.MeshColliderCookingOptions)v, Getter = (o) => ((MeshCollider)o).cookingOptions, Updater = (object o, ref object v) => { var x = (int)((MeshCollider)o).cookingOptions; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #if !UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicMaterial), Setter = (o, v) => ((MeshCollider)o).sharedMaterial = (PhysicMaterial)v, Getter = (o) => ((MeshCollider)o).sharedMaterial, }, - #endif - #if UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicsMaterial), Setter = (o, v) => ((MeshCollider)o).sharedMaterial = (PhysicsMaterial)v, Getter = (o) => ((MeshCollider)o).sharedMaterial, }, - #endif - new UnityProperty { Name = "sharedMesh", PropertyType = typeof(UnityEngine.Mesh), Setter = (o, v) => ((MeshCollider)o).sharedMesh = (UnityEngine.Mesh)v, Getter = (o) => ((MeshCollider)o).sharedMesh, }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((MeshCollider)o).enabled = (System.Boolean)v, Getter = (o) => ((MeshCollider)o).enabled, Updater = (object o, ref object v) => { var x = ((MeshCollider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.MeshFilter", new UnityProperty[] { - new UnityProperty { Name = "sharedMesh", PropertyType = typeof(UnityEngine.Mesh), Setter = (o, v) => ((MeshFilter)o).sharedMesh = (UnityEngine.Mesh)v, Getter = (o) => ((MeshFilter)o).sharedMesh, }, - }}, - - - { "UnityEngine.MeshRenderer", new UnityProperty[] { - new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((MeshRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((MeshRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((MeshRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} }, - new UnityProperty { Name = "shadowCastingMode", PropertyType = typeof(UnityEngine.Rendering.ShadowCastingMode), Setter = (o, v) => ((MeshRenderer)o).shadowCastingMode = (UnityEngine.Rendering.ShadowCastingMode)v, Getter = (o) => ((MeshRenderer)o).shadowCastingMode, Updater = (object o, ref object v) => { var x = (int)((MeshRenderer)o).shadowCastingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "receiveShadows", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((MeshRenderer)o).receiveShadows = (System.Boolean)v, Getter = (o) => ((MeshRenderer)o).receiveShadows, Updater = (object o, ref object v) => { var x = ((MeshRenderer)o).receiveShadows; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lightProbeUsage", PropertyType = typeof(UnityEngine.Rendering.LightProbeUsage), Setter = (o, v) => ((MeshRenderer)o).lightProbeUsage = (UnityEngine.Rendering.LightProbeUsage)v, Getter = (o) => ((MeshRenderer)o).lightProbeUsage, Updater = (object o, ref object v) => { var x = (int)((MeshRenderer)o).lightProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reflectionProbeUsage", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeUsage), Setter = (o, v) => ((MeshRenderer)o).reflectionProbeUsage = (UnityEngine.Rendering.ReflectionProbeUsage)v, Getter = (o) => ((MeshRenderer)o).reflectionProbeUsage, Updater = (object o, ref object v) => { var x = (int)((MeshRenderer)o).reflectionProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "probeAnchor", PropertyType = typeof(UnityEngine.Transform), Setter = (o, v) => ((MeshRenderer)o).probeAnchor = (UnityEngine.Transform)v, Getter = (o) => ((MeshRenderer)o).probeAnchor, }, - new UnityProperty { Name = "motionVectorGenerationMode", PropertyType = typeof(UnityEngine.MotionVectorGenerationMode), Setter = (o, v) => ((MeshRenderer)o).motionVectorGenerationMode = (UnityEngine.MotionVectorGenerationMode)v, Getter = (o) => ((MeshRenderer)o).motionVectorGenerationMode, Updater = (object o, ref object v) => { var x = (int)((MeshRenderer)o).motionVectorGenerationMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "allowOcclusionWhenDynamic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((MeshRenderer)o).allowOcclusionWhenDynamic = (System.Boolean)v, Getter = (o) => ((MeshRenderer)o).allowOcclusionWhenDynamic, Updater = (object o, ref object v) => { var x = ((MeshRenderer)o).allowOcclusionWhenDynamic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((MeshRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((MeshRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((MeshRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_AI - { "UnityEngine.AI.NavMeshAgent", new UnityProperty[] { - new UnityProperty { Name = "agentTypeID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).agentTypeID = (System.Int32)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).agentTypeID, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).agentTypeID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "baseOffset", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).baseOffset = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).baseOffset, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).baseOffset; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "speed", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).speed = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).speed, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).speed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularSpeed", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).angularSpeed = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).angularSpeed, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).angularSpeed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "acceleration", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).acceleration = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).acceleration, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).acceleration; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "stoppingDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).stoppingDistance = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).stoppingDistance, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).stoppingDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoBraking", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).autoBraking = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).autoBraking, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).autoBraking; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "radius", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).radius = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).radius, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).radius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "height", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).height = (System.Single)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).height, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).height; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "obstacleAvoidanceType", PropertyType = typeof(UnityEngine.AI.ObstacleAvoidanceType), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).obstacleAvoidanceType = (UnityEngine.AI.ObstacleAvoidanceType)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).obstacleAvoidanceType, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.AI.NavMeshAgent)o).obstacleAvoidanceType; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "avoidancePriority", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).avoidancePriority = (System.Int32)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).avoidancePriority, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).avoidancePriority; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoTraverseOffMeshLink", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).autoTraverseOffMeshLink = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).autoTraverseOffMeshLink, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).autoTraverseOffMeshLink; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoRepath", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).autoRepath = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).autoRepath, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).autoRepath; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "areaMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).areaMask = (System.Int32)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).areaMask, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).areaMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.NavMeshAgent)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.NavMeshAgent)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshAgent)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_AI - { "UnityEngine.AI.NavMeshObstacle", new UnityProperty[] { - new UnityProperty { Name = "shape", PropertyType = typeof(UnityEngine.AI.NavMeshObstacleShape), Setter = (o, v) => ((UnityEngine.AI.NavMeshObstacle)o).shape = (UnityEngine.AI.NavMeshObstacleShape)v, Getter = (o) => ((UnityEngine.AI.NavMeshObstacle)o).shape, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.AI.NavMeshObstacle)o).shape; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.AI.NavMeshObstacle)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.AI.NavMeshObstacle)o).center, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshObstacle)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "size", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.AI.NavMeshObstacle)o).size = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.AI.NavMeshObstacle)o).size, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshObstacle)o).size; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "carving", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.NavMeshObstacle)o).carving = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.NavMeshObstacle)o).carving, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshObstacle)o).carving; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.NavMeshObstacle)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.NavMeshObstacle)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.NavMeshObstacle)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.OcclusionArea", new UnityProperty[] { - new UnityProperty { Name = "size", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((OcclusionArea)o).size = (UnityEngine.Vector3)v, Getter = (o) => ((OcclusionArea)o).size, Updater = (object o, ref object v) => { var x = ((OcclusionArea)o).size; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((OcclusionArea)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((OcclusionArea)o).center, Updater = (object o, ref object v) => { var x = ((OcclusionArea)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - }}, - - - { "UnityEngine.OcclusionPortal", new UnityProperty[] { - new UnityProperty { Name = "open", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((OcclusionPortal)o).open = (System.Boolean)v, Getter = (o) => ((OcclusionPortal)o).open, Updater = (object o, ref object v) => { var x = ((OcclusionPortal)o).open; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_AI&&!UNITY_2023_2_OR_NEWER - { "UnityEngine.AI.OffMeshLink", new UnityProperty[] { - new UnityProperty { Name = "startTransform", PropertyType = typeof(UnityEngine.Transform), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).startTransform = (UnityEngine.Transform)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).startTransform, }, - new UnityProperty { Name = "endTransform", PropertyType = typeof(UnityEngine.Transform), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).endTransform = (UnityEngine.Transform)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).endTransform, }, - new UnityProperty { Name = "costOverride", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).costOverride = (System.Single)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).costOverride, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.OffMeshLink)o).costOverride; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "biDirectional", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).biDirectional = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).biDirectional, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.OffMeshLink)o).biDirectional; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "activated", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).activated = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).activated, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.OffMeshLink)o).activated; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoUpdatePositions", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).autoUpdatePositions = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).autoUpdatePositions, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.OffMeshLink)o).autoUpdatePositions; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "area", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).area = (System.Int32)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).area, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.OffMeshLink)o).area; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.AI.OffMeshLink)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.AI.OffMeshLink)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.AI.OffMeshLink)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.Outline", new UnityProperty[] { - new UnityProperty { Name = "effectColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.UI.Outline)o).effectColor = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.UI.Outline)o).effectColor, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Outline)o).effectColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "effectDistance", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((UnityEngine.UI.Outline)o).effectDistance = (UnityEngine.Vector2)v, Getter = (o) => ((UnityEngine.UI.Outline)o).effectDistance, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Outline)o).effectDistance; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useGraphicAlpha", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Outline)o).useGraphicAlpha = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Outline)o).useGraphicAlpha, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Outline)o).useGraphicAlpha; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Outline)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Outline)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Outline)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_ANIMATION - { "UnityEngine.Animations.ParentConstraint", new UnityProperty[] { - new UnityProperty { Name = "constraintActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).constraintActive = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).constraintActive, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ParentConstraint)o).constraintActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "weight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).weight = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).weight, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ParentConstraint)o).weight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "locked", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).locked = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).locked, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ParentConstraint)o).locked; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "translationAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).translationAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).translationAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ParentConstraint)o).translationAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).rotationAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).rotationAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ParentConstraint)o).rotationAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "translationOffsets", PropertyType = typeof(UnityEngine.Vector3[]), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).translationOffsets = (UnityEngine.Vector3[])v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).translationOffsets, }, - new UnityProperty { Name = "rotationOffsets", PropertyType = typeof(UnityEngine.Vector3[]), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).rotationOffsets = (UnityEngine.Vector3[])v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).rotationOffsets, }, - new UnityProperty { Name = "translationAxis", PropertyType = typeof(UnityEngine.Animations.Axis), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).translationAxis = (UnityEngine.Animations.Axis)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).translationAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.ParentConstraint)o).translationAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationAxis", PropertyType = typeof(UnityEngine.Animations.Axis), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).rotationAxis = (UnityEngine.Animations.Axis)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).rotationAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.ParentConstraint)o).rotationAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.ParentConstraint)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.ParentConstraint)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ParentConstraint)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PARTICLE_SYSTEM - { "UnityEngine.ParticleSystemForceField", new UnityProperty[] { - new UnityProperty { Name = "shape", PropertyType = typeof(UnityEngine.ParticleSystemForceFieldShape), Setter = (o, v) => ((ParticleSystemForceField)o).shape = (UnityEngine.ParticleSystemForceFieldShape)v, Getter = (o) => ((ParticleSystemForceField)o).shape, Updater = (object o, ref object v) => { var x = (int)((ParticleSystemForceField)o).shape; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "startRange", PropertyType = typeof(System.Single), Setter = (o, v) => ((ParticleSystemForceField)o).startRange = (System.Single)v, Getter = (o) => ((ParticleSystemForceField)o).startRange, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).startRange; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "endRange", PropertyType = typeof(System.Single), Setter = (o, v) => ((ParticleSystemForceField)o).endRange = (System.Single)v, Getter = (o) => ((ParticleSystemForceField)o).endRange, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).endRange; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "directionX", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).directionX = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).directionX, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).directionX; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "directionY", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).directionY = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).directionY, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).directionY; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "directionZ", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).directionZ = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).directionZ, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).directionZ; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "gravity", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).gravity = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).gravity, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).gravity; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "gravityFocus", PropertyType = typeof(System.Single), Setter = (o, v) => ((ParticleSystemForceField)o).gravityFocus = (System.Single)v, Getter = (o) => ((ParticleSystemForceField)o).gravityFocus, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).gravityFocus; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationSpeed", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).rotationSpeed = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).rotationSpeed, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).rotationSpeed; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationAttraction", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).rotationAttraction = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).rotationAttraction, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).rotationAttraction; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationRandomness", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((ParticleSystemForceField)o).rotationRandomness = (UnityEngine.Vector2)v, Getter = (o) => ((ParticleSystemForceField)o).rotationRandomness, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).rotationRandomness; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "drag", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).drag = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).drag, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).drag; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "multiplyDragByParticleSize", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ParticleSystemForceField)o).multiplyDragByParticleSize = (System.Boolean)v, Getter = (o) => ((ParticleSystemForceField)o).multiplyDragByParticleSize, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).multiplyDragByParticleSize; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "multiplyDragByParticleVelocity", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ParticleSystemForceField)o).multiplyDragByParticleVelocity = (System.Boolean)v, Getter = (o) => ((ParticleSystemForceField)o).multiplyDragByParticleVelocity, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).multiplyDragByParticleVelocity; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "vectorField", PropertyType = typeof(UnityEngine.Texture3D), Setter = (o, v) => ((ParticleSystemForceField)o).vectorField = (UnityEngine.Texture3D)v, Getter = (o) => ((ParticleSystemForceField)o).vectorField, }, - new UnityProperty { Name = "vectorFieldSpeed", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).vectorFieldSpeed = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).vectorFieldSpeed, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).vectorFieldSpeed; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "vectorFieldAttraction", PropertyType = typeof(UnityEngine.ParticleSystem.MinMaxCurve), Setter = (o, v) => ((ParticleSystemForceField)o).vectorFieldAttraction = (UnityEngine.ParticleSystem.MinMaxCurve)v, Getter = (o) => ((ParticleSystemForceField)o).vectorFieldAttraction, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).vectorFieldAttraction; if (!x.Equals((UnityEngine.ParticleSystem.MinMaxCurve)v)) { v = x; return true; } return false; } }, - #if UNITY_2021_3_OR_NEWER - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ParticleSystemForceField)o).enabled = (System.Boolean)v, Getter = (o) => ((ParticleSystemForceField)o).enabled, Updater = (object o, ref object v) => { var x = ((ParticleSystemForceField)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.EventSystems.Physics2DRaycaster", new UnityProperty[] { - new UnityProperty { Name = "eventMask", PropertyType = typeof(UnityEngine.LayerMask), Setter = (o, v) => ((UnityEngine.EventSystems.Physics2DRaycaster)o).eventMask = (UnityEngine.LayerMask)v, Getter = (o) => ((UnityEngine.EventSystems.Physics2DRaycaster)o).eventMask, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.Physics2DRaycaster)o).eventMask; if (!x.Equals((UnityEngine.LayerMask)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maxRayIntersections", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.EventSystems.Physics2DRaycaster)o).maxRayIntersections = (System.Int32)v, Getter = (o) => ((UnityEngine.EventSystems.Physics2DRaycaster)o).maxRayIntersections, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.Physics2DRaycaster)o).maxRayIntersections; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.EventSystems.Physics2DRaycaster)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.EventSystems.Physics2DRaycaster)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.Physics2DRaycaster)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.EventSystems.PhysicsRaycaster", new UnityProperty[] { - new UnityProperty { Name = "eventMask", PropertyType = typeof(UnityEngine.LayerMask), Setter = (o, v) => ((UnityEngine.EventSystems.PhysicsRaycaster)o).eventMask = (UnityEngine.LayerMask)v, Getter = (o) => ((UnityEngine.EventSystems.PhysicsRaycaster)o).eventMask, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.PhysicsRaycaster)o).eventMask; if (!x.Equals((UnityEngine.LayerMask)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maxRayIntersections", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.EventSystems.PhysicsRaycaster)o).maxRayIntersections = (System.Int32)v, Getter = (o) => ((UnityEngine.EventSystems.PhysicsRaycaster)o).maxRayIntersections, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.PhysicsRaycaster)o).maxRayIntersections; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.EventSystems.PhysicsRaycaster)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.EventSystems.PhysicsRaycaster)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.PhysicsRaycaster)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.PlatformEffector2D", new UnityProperty[] { - new UnityProperty { Name = "useColliderMask", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PlatformEffector2D)o).useColliderMask = (System.Boolean)v, Getter = (o) => ((PlatformEffector2D)o).useColliderMask, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).useColliderMask; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "colliderMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((PlatformEffector2D)o).colliderMask = (System.Int32)v, Getter = (o) => ((PlatformEffector2D)o).colliderMask, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).colliderMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationalOffset", PropertyType = typeof(System.Single), Setter = (o, v) => ((PlatformEffector2D)o).rotationalOffset = (System.Single)v, Getter = (o) => ((PlatformEffector2D)o).rotationalOffset, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).rotationalOffset; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useOneWay", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PlatformEffector2D)o).useOneWay = (System.Boolean)v, Getter = (o) => ((PlatformEffector2D)o).useOneWay, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).useOneWay; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useOneWayGrouping", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PlatformEffector2D)o).useOneWayGrouping = (System.Boolean)v, Getter = (o) => ((PlatformEffector2D)o).useOneWayGrouping, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).useOneWayGrouping; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "surfaceArc", PropertyType = typeof(System.Single), Setter = (o, v) => ((PlatformEffector2D)o).surfaceArc = (System.Single)v, Getter = (o) => ((PlatformEffector2D)o).surfaceArc, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).surfaceArc; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useSideFriction", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PlatformEffector2D)o).useSideFriction = (System.Boolean)v, Getter = (o) => ((PlatformEffector2D)o).useSideFriction, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).useSideFriction; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useSideBounce", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PlatformEffector2D)o).useSideBounce = (System.Boolean)v, Getter = (o) => ((PlatformEffector2D)o).useSideBounce, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).useSideBounce; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sideArc", PropertyType = typeof(System.Single), Setter = (o, v) => ((PlatformEffector2D)o).sideArc = (System.Single)v, Getter = (o) => ((PlatformEffector2D)o).sideArc, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).sideArc; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PlatformEffector2D)o).enabled = (System.Boolean)v, Getter = (o) => ((PlatformEffector2D)o).enabled, Updater = (object o, ref object v) => { var x = ((PlatformEffector2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_DIRECTOR - { "UnityEngine.Playables.PlayableDirector", new UnityProperty[] { - new UnityProperty { Name = "playableAsset", PropertyType = typeof(UnityEngine.Playables.PlayableAsset), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).playableAsset = (UnityEngine.Playables.PlayableAsset)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).playableAsset, }, - new UnityProperty { Name = "timeUpdateMode", PropertyType = typeof(UnityEngine.Playables.DirectorUpdateMode), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).timeUpdateMode = (UnityEngine.Playables.DirectorUpdateMode)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).timeUpdateMode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Playables.PlayableDirector)o).timeUpdateMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "playOnAwake", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).playOnAwake = (System.Boolean)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).playOnAwake, Updater = (object o, ref object v) => { var x = ((UnityEngine.Playables.PlayableDirector)o).playOnAwake; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "extrapolationMode", PropertyType = typeof(UnityEngine.Playables.DirectorWrapMode), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).extrapolationMode = (UnityEngine.Playables.DirectorWrapMode)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).extrapolationMode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Playables.PlayableDirector)o).extrapolationMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "initialTime", PropertyType = typeof(System.Double), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).initialTime = (System.Double)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).initialTime, Updater = (object o, ref object v) => { var x = ((UnityEngine.Playables.PlayableDirector)o).initialTime; if (!x.Equals((System.Double)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "time", PropertyType = typeof(System.Double), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).time = (System.Double)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).time, Updater = (object o, ref object v) => { var x = ((UnityEngine.Playables.PlayableDirector)o).time; if (!x.Equals((System.Double)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Playables.PlayableDirector)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Playables.PlayableDirector)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Playables.PlayableDirector)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.PointEffector2D", new UnityProperty[] { - new UnityProperty { Name = "useColliderMask", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PointEffector2D)o).useColliderMask = (System.Boolean)v, Getter = (o) => ((PointEffector2D)o).useColliderMask, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).useColliderMask; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "colliderMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((PointEffector2D)o).colliderMask = (System.Int32)v, Getter = (o) => ((PointEffector2D)o).colliderMask, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).colliderMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "forceMagnitude", PropertyType = typeof(System.Single), Setter = (o, v) => ((PointEffector2D)o).forceMagnitude = (System.Single)v, Getter = (o) => ((PointEffector2D)o).forceMagnitude, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).forceMagnitude; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "forceVariation", PropertyType = typeof(System.Single), Setter = (o, v) => ((PointEffector2D)o).forceVariation = (System.Single)v, Getter = (o) => ((PointEffector2D)o).forceVariation, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).forceVariation; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "distanceScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((PointEffector2D)o).distanceScale = (System.Single)v, Getter = (o) => ((PointEffector2D)o).distanceScale, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).distanceScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "forceSource", PropertyType = typeof(UnityEngine.EffectorSelection2D), Setter = (o, v) => ((PointEffector2D)o).forceSource = (UnityEngine.EffectorSelection2D)v, Getter = (o) => ((PointEffector2D)o).forceSource, Updater = (object o, ref object v) => { var x = (int)((PointEffector2D)o).forceSource; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "forceTarget", PropertyType = typeof(UnityEngine.EffectorSelection2D), Setter = (o, v) => ((PointEffector2D)o).forceTarget = (UnityEngine.EffectorSelection2D)v, Getter = (o) => ((PointEffector2D)o).forceTarget, Updater = (object o, ref object v) => { var x = (int)((PointEffector2D)o).forceTarget; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "forceMode", PropertyType = typeof(UnityEngine.EffectorForceMode2D), Setter = (o, v) => ((PointEffector2D)o).forceMode = (UnityEngine.EffectorForceMode2D)v, Getter = (o) => ((PointEffector2D)o).forceMode, Updater = (object o, ref object v) => { var x = (int)((PointEffector2D)o).forceMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "drag", PropertyType = typeof(System.Single), Setter = (o, v) => ((PointEffector2D)o).drag = (System.Single)v, Getter = (o) => ((PointEffector2D)o).drag, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).drag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularDrag", PropertyType = typeof(System.Single), Setter = (o, v) => ((PointEffector2D)o).angularDrag = (System.Single)v, Getter = (o) => ((PointEffector2D)o).angularDrag, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).angularDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PointEffector2D)o).enabled = (System.Boolean)v, Getter = (o) => ((PointEffector2D)o).enabled, Updater = (object o, ref object v) => { var x = ((PointEffector2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.PolygonCollider2D", new UnityProperty[] { - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((PolygonCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((PolygonCollider2D)o).sharedMaterial, }, - new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PolygonCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((PolygonCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PolygonCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((PolygonCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if !UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PolygonCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((PolygonCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((PolygonCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((PolygonCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((PolygonCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "autoTiling", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PolygonCollider2D)o).autoTiling = (System.Boolean)v, Getter = (o) => ((PolygonCollider2D)o).autoTiling, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).autoTiling; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((PolygonCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((PolygonCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "pathCount", PropertyType = typeof(System.Int32), Setter = (o, v) => ((PolygonCollider2D)o).pathCount = (System.Int32)v, Getter = (o) => ((PolygonCollider2D)o).pathCount, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).pathCount; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "points", PropertyType = typeof(UnityEngine.Vector2[]), Setter = (o, v) => ((PolygonCollider2D)o).points = (UnityEngine.Vector2[])v, Getter = (o) => ((PolygonCollider2D)o).points, }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((PolygonCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((PolygonCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((PolygonCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_ANIMATION - { "UnityEngine.Animations.PositionConstraint", new UnityProperty[] { - new UnityProperty { Name = "constraintActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).constraintActive = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).constraintActive, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.PositionConstraint)o).constraintActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "weight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).weight = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).weight, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.PositionConstraint)o).weight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "locked", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).locked = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).locked, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.PositionConstraint)o).locked; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "translationAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).translationAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).translationAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.PositionConstraint)o).translationAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "translationOffset", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).translationOffset = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).translationOffset, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.PositionConstraint)o).translationOffset; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "translationAxis", PropertyType = typeof(UnityEngine.Animations.Axis), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).translationAxis = (UnityEngine.Animations.Axis)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).translationAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.PositionConstraint)o).translationAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.PositionConstraint)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.PositionConstraint)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.PositionConstraint)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.Projector", new UnityProperty[] { - new UnityProperty { Name = "nearClipPlane", PropertyType = typeof(System.Single), Setter = (o, v) => ((Projector)o).nearClipPlane = (System.Single)v, Getter = (o) => ((Projector)o).nearClipPlane, Updater = (object o, ref object v) => { var x = ((Projector)o).nearClipPlane; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "farClipPlane", PropertyType = typeof(System.Single), Setter = (o, v) => ((Projector)o).farClipPlane = (System.Single)v, Getter = (o) => ((Projector)o).farClipPlane, Updater = (object o, ref object v) => { var x = ((Projector)o).farClipPlane; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "fieldOfView", PropertyType = typeof(System.Single), Setter = (o, v) => ((Projector)o).fieldOfView = (System.Single)v, Getter = (o) => ((Projector)o).fieldOfView, Updater = (object o, ref object v) => { var x = ((Projector)o).fieldOfView; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "aspectRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((Projector)o).aspectRatio = (System.Single)v, Getter = (o) => ((Projector)o).aspectRatio, Updater = (object o, ref object v) => { var x = ((Projector)o).aspectRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "orthographic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Projector)o).orthographic = (System.Boolean)v, Getter = (o) => ((Projector)o).orthographic, Updater = (object o, ref object v) => { var x = ((Projector)o).orthographic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "orthographicSize", PropertyType = typeof(System.Single), Setter = (o, v) => ((Projector)o).orthographicSize = (System.Single)v, Getter = (o) => ((Projector)o).orthographicSize, Updater = (object o, ref object v) => { var x = ((Projector)o).orthographicSize; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "material", PropertyType = typeof(UnityEngine.Material), Setter = (o, v) => ((Projector)o).material = (UnityEngine.Material)v, Getter = (o) => ((Projector)o).material, }, - new UnityProperty { Name = "ignoreLayers", PropertyType = typeof(System.Int32), Setter = (o, v) => ((Projector)o).ignoreLayers = (System.Int32)v, Getter = (o) => ((Projector)o).ignoreLayers, Updater = (object o, ref object v) => { var x = ((Projector)o).ignoreLayers; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Projector)o).enabled = (System.Boolean)v, Getter = (o) => ((Projector)o).enabled, Updater = (object o, ref object v) => { var x = ((Projector)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_GUI - { "UnityEngine.UI.RawImage", new UnityProperty[] { - new UnityProperty { Name = "texture", PropertyType = typeof(UnityEngine.Texture), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).texture = (UnityEngine.Texture)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).texture, }, - new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).color = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).color, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RawImage)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "raycastTarget", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).raycastTarget = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).raycastTarget, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RawImage)o).raycastTarget; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if UNITY_2020_1_OR_NEWER - new UnityProperty { Name = "raycastPadding", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).raycastPadding = (UnityEngine.Vector4)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).raycastPadding, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RawImage)o).raycastPadding; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "maskable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).maskable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).maskable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RawImage)o).maskable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "uvRect", PropertyType = typeof(UnityEngine.Rect), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).uvRect = (UnityEngine.Rect)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).uvRect, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RawImage)o).uvRect; if (!x.Equals((UnityEngine.Rect)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.RawImage)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.RawImage)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RawImage)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.RectMask2D", new UnityProperty[] { - new UnityProperty { Name = "padding", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((UnityEngine.UI.RectMask2D)o).padding = (UnityEngine.Vector4)v, Getter = (o) => ((UnityEngine.UI.RectMask2D)o).padding, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RectMask2D)o).padding; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "softness", PropertyType = typeof(UnityEngine.Vector2Int), Setter = (o, v) => ((UnityEngine.UI.RectMask2D)o).softness = (UnityEngine.Vector2Int)v, Getter = (o) => ((UnityEngine.UI.RectMask2D)o).softness, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RectMask2D)o).softness; if (!x.Equals((UnityEngine.Vector2Int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.RectMask2D)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.RectMask2D)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.RectMask2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.RectTransform", new UnityProperty[] { - new UnityProperty { Name = "localPosition", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((RectTransform)o).localPosition = (UnityEngine.Vector3)v, Getter = (o) => ((RectTransform)o).localPosition, Updater = (object o, ref object v) => { var x = ((RectTransform)o).localPosition; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sizeDelta", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((RectTransform)o).sizeDelta = (UnityEngine.Vector2)v, Getter = (o) => ((RectTransform)o).sizeDelta, Updater = (object o, ref object v) => { var x = ((RectTransform)o).sizeDelta; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "anchorMin", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((RectTransform)o).anchorMin = (UnityEngine.Vector2)v, Getter = (o) => ((RectTransform)o).anchorMin, Updater = (object o, ref object v) => { var x = ((RectTransform)o).anchorMin; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "anchorMax", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((RectTransform)o).anchorMax = (UnityEngine.Vector2)v, Getter = (o) => ((RectTransform)o).anchorMax, Updater = (object o, ref object v) => { var x = ((RectTransform)o).anchorMax; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "localRotation", PropertyType = typeof(UnityEngine.Quaternion), Setter = (o, v) => ((RectTransform)o).localRotation = (UnityEngine.Quaternion)v, Getter = (o) => ((RectTransform)o).localRotation, Updater = (object o, ref object v) => { var x = ((RectTransform)o).localRotation; if (!x.Equals((UnityEngine.Quaternion)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "localScale", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((RectTransform)o).localScale = (UnityEngine.Vector3)v, Getter = (o) => ((RectTransform)o).localScale, Updater = (object o, ref object v) => { var x = ((RectTransform)o).localScale; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - }}, - - - { "UnityEngine.ReflectionProbe", new UnityProperty[] { - new UnityProperty { Name = "mode", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeMode), Setter = (o, v) => ((ReflectionProbe)o).mode = (UnityEngine.Rendering.ReflectionProbeMode)v, Getter = (o) => ((ReflectionProbe)o).mode, Updater = (object o, ref object v) => { var x = (int)((ReflectionProbe)o).mode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "importance", PropertyType = typeof(System.Int32), Setter = (o, v) => ((ReflectionProbe)o).importance = (System.Int32)v, Getter = (o) => ((ReflectionProbe)o).importance, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).importance; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "intensity", PropertyType = typeof(System.Single), Setter = (o, v) => ((ReflectionProbe)o).intensity = (System.Single)v, Getter = (o) => ((ReflectionProbe)o).intensity, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).intensity; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "boxProjection", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ReflectionProbe)o).boxProjection = (System.Boolean)v, Getter = (o) => ((ReflectionProbe)o).boxProjection, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).boxProjection; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "blendDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((ReflectionProbe)o).blendDistance = (System.Single)v, Getter = (o) => ((ReflectionProbe)o).blendDistance, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).blendDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "size", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ReflectionProbe)o).size = (UnityEngine.Vector3)v, Getter = (o) => ((ReflectionProbe)o).size, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).size; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((ReflectionProbe)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((ReflectionProbe)o).center, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "resolution", PropertyType = typeof(System.Int32), Setter = (o, v) => ((ReflectionProbe)o).resolution = (System.Int32)v, Getter = (o) => ((ReflectionProbe)o).resolution, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).resolution; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "hdr", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ReflectionProbe)o).hdr = (System.Boolean)v, Getter = (o) => ((ReflectionProbe)o).hdr, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).hdr; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "shadowDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((ReflectionProbe)o).shadowDistance = (System.Single)v, Getter = (o) => ((ReflectionProbe)o).shadowDistance, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).shadowDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "clearFlags", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeClearFlags), Setter = (o, v) => ((ReflectionProbe)o).clearFlags = (UnityEngine.Rendering.ReflectionProbeClearFlags)v, Getter = (o) => ((ReflectionProbe)o).clearFlags, Updater = (object o, ref object v) => { var x = (int)((ReflectionProbe)o).clearFlags; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "backgroundColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((ReflectionProbe)o).backgroundColor = (UnityEngine.Color)v, Getter = (o) => ((ReflectionProbe)o).backgroundColor, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).backgroundColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "cullingMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((ReflectionProbe)o).cullingMask = (System.Int32)v, Getter = (o) => ((ReflectionProbe)o).cullingMask, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).cullingMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "nearClipPlane", PropertyType = typeof(System.Single), Setter = (o, v) => ((ReflectionProbe)o).nearClipPlane = (System.Single)v, Getter = (o) => ((ReflectionProbe)o).nearClipPlane, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).nearClipPlane; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "farClipPlane", PropertyType = typeof(System.Single), Setter = (o, v) => ((ReflectionProbe)o).farClipPlane = (System.Single)v, Getter = (o) => ((ReflectionProbe)o).farClipPlane, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).farClipPlane; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((ReflectionProbe)o).enabled = (System.Boolean)v, Getter = (o) => ((ReflectionProbe)o).enabled, Updater = (object o, ref object v) => { var x = ((ReflectionProbe)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_PHYSICS_2D - { "UnityEngine.RelativeJoint2D", new UnityProperty[] { - new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((RelativeJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((RelativeJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((RelativeJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((RelativeJoint2D)o).connectedBody, }, - new UnityProperty { Name = "maxForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((RelativeJoint2D)o).maxForce = (System.Single)v, Getter = (o) => ((RelativeJoint2D)o).maxForce, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).maxForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maxTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((RelativeJoint2D)o).maxTorque = (System.Single)v, Getter = (o) => ((RelativeJoint2D)o).maxTorque, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).maxTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "correctionScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((RelativeJoint2D)o).correctionScale = (System.Single)v, Getter = (o) => ((RelativeJoint2D)o).correctionScale, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).correctionScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoConfigureOffset", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((RelativeJoint2D)o).autoConfigureOffset = (System.Boolean)v, Getter = (o) => ((RelativeJoint2D)o).autoConfigureOffset, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).autoConfigureOffset; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "linearOffset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((RelativeJoint2D)o).linearOffset = (UnityEngine.Vector2)v, Getter = (o) => ((RelativeJoint2D)o).linearOffset, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).linearOffset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angularOffset", PropertyType = typeof(System.Single), Setter = (o, v) => ((RelativeJoint2D)o).angularOffset = (System.Single)v, Getter = (o) => ((RelativeJoint2D)o).angularOffset, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).angularOffset; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((RelativeJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((RelativeJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((RelativeJoint2D)o).breakTorque = (System.Single)v, Getter = (o) => ((RelativeJoint2D)o).breakTorque, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((RelativeJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((RelativeJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((RelativeJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS - { "UnityEngine.Rigidbody", new UnityProperty[] { - new UnityProperty { Name = "mass", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody)o).mass = (System.Single)v, Getter = (o) => ((Rigidbody)o).mass, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).mass; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - #if !UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "drag", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody)o).drag = (System.Single)v, Getter = (o) => ((Rigidbody)o).drag, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).drag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - #endif - #if !UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "angularDrag", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody)o).angularDrag = (System.Single)v, Getter = (o) => ((Rigidbody)o).angularDrag, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).angularDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "linearDamping", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody)o).linearDamping = (System.Single)v, Getter = (o) => ((Rigidbody)o).linearDamping, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).linearDamping; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "angularDamping", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody)o).angularDamping = (System.Single)v, Getter = (o) => ((Rigidbody)o).angularDamping, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).angularDamping; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "useGravity", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Rigidbody)o).useGravity = (System.Boolean)v, Getter = (o) => ((Rigidbody)o).useGravity, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).useGravity; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "isKinematic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Rigidbody)o).isKinematic = (System.Boolean)v, Getter = (o) => ((Rigidbody)o).isKinematic, Updater = (object o, ref object v) => { var x = ((Rigidbody)o).isKinematic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "interpolation", PropertyType = typeof(UnityEngine.RigidbodyInterpolation), Setter = (o, v) => ((Rigidbody)o).interpolation = (UnityEngine.RigidbodyInterpolation)v, Getter = (o) => ((Rigidbody)o).interpolation, Updater = (object o, ref object v) => { var x = (int)((Rigidbody)o).interpolation; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "collisionDetectionMode", PropertyType = typeof(UnityEngine.CollisionDetectionMode), Setter = (o, v) => ((Rigidbody)o).collisionDetectionMode = (UnityEngine.CollisionDetectionMode)v, Getter = (o) => ((Rigidbody)o).collisionDetectionMode, Updater = (object o, ref object v) => { var x = (int)((Rigidbody)o).collisionDetectionMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "constraints", PropertyType = typeof(UnityEngine.RigidbodyConstraints), Setter = (o, v) => ((Rigidbody)o).constraints = (UnityEngine.RigidbodyConstraints)v, Getter = (o) => ((Rigidbody)o).constraints, Updater = (object o, ref object v) => { var x = (int)((Rigidbody)o).constraints; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.Rigidbody2D", new UnityProperty[] { - new UnityProperty { Name = "bodyType", PropertyType = typeof(UnityEngine.RigidbodyType2D), Setter = (o, v) => ((Rigidbody2D)o).bodyType = (UnityEngine.RigidbodyType2D)v, Getter = (o) => ((Rigidbody2D)o).bodyType, Updater = (object o, ref object v) => { var x = (int)((Rigidbody2D)o).bodyType; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "simulated", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Rigidbody2D)o).simulated = (System.Boolean)v, Getter = (o) => ((Rigidbody2D)o).simulated, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).simulated; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useAutoMass", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Rigidbody2D)o).useAutoMass = (System.Boolean)v, Getter = (o) => ((Rigidbody2D)o).useAutoMass, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).useAutoMass; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "mass", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody2D)o).mass = (System.Single)v, Getter = (o) => ((Rigidbody2D)o).mass, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).mass; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - #if !UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "drag", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody2D)o).drag = (System.Single)v, Getter = (o) => ((Rigidbody2D)o).drag, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).drag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - #endif - #if !UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "angularDrag", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody2D)o).angularDrag = (System.Single)v, Getter = (o) => ((Rigidbody2D)o).angularDrag, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).angularDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "linearDamping", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody2D)o).drag = (System.Single)v, Getter = (o) => ((Rigidbody2D)o).drag, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).drag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "angularDamping", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody2D)o).angularDrag = (System.Single)v, Getter = (o) => ((Rigidbody2D)o).angularDrag, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).angularDrag; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "gravityScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((Rigidbody2D)o).gravityScale = (System.Single)v, Getter = (o) => ((Rigidbody2D)o).gravityScale, Updater = (object o, ref object v) => { var x = ((Rigidbody2D)o).gravityScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "collisionDetectionMode", PropertyType = typeof(UnityEngine.CollisionDetectionMode2D), Setter = (o, v) => ((Rigidbody2D)o).collisionDetectionMode = (UnityEngine.CollisionDetectionMode2D)v, Getter = (o) => ((Rigidbody2D)o).collisionDetectionMode, Updater = (object o, ref object v) => { var x = (int)((Rigidbody2D)o).collisionDetectionMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sleepMode", PropertyType = typeof(UnityEngine.RigidbodySleepMode2D), Setter = (o, v) => ((Rigidbody2D)o).sleepMode = (UnityEngine.RigidbodySleepMode2D)v, Getter = (o) => ((Rigidbody2D)o).sleepMode, Updater = (object o, ref object v) => { var x = (int)((Rigidbody2D)o).sleepMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "interpolation", PropertyType = typeof(UnityEngine.RigidbodyInterpolation2D), Setter = (o, v) => ((Rigidbody2D)o).interpolation = (UnityEngine.RigidbodyInterpolation2D)v, Getter = (o) => ((Rigidbody2D)o).interpolation, Updater = (object o, ref object v) => { var x = (int)((Rigidbody2D)o).interpolation; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "constraints", PropertyType = typeof(UnityEngine.RigidbodyConstraints2D), Setter = (o, v) => ((Rigidbody2D)o).constraints = (UnityEngine.RigidbodyConstraints2D)v, Getter = (o) => ((Rigidbody2D)o).constraints, Updater = (object o, ref object v) => { var x = (int)((Rigidbody2D)o).constraints; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_ANIMATION - { "UnityEngine.Animations.RotationConstraint", new UnityProperty[] { - new UnityProperty { Name = "constraintActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).constraintActive = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).constraintActive, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.RotationConstraint)o).constraintActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "weight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).weight = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).weight, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.RotationConstraint)o).weight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "locked", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).locked = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).locked, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.RotationConstraint)o).locked; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).rotationAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).rotationAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.RotationConstraint)o).rotationAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationOffset", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).rotationOffset = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).rotationOffset, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.RotationConstraint)o).rotationOffset; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "rotationAxis", PropertyType = typeof(UnityEngine.Animations.Axis), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).rotationAxis = (UnityEngine.Animations.Axis)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).rotationAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.RotationConstraint)o).rotationAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.RotationConstraint)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.RotationConstraint)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.RotationConstraint)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_ANIMATION - { "UnityEngine.Animations.ScaleConstraint", new UnityProperty[] { - new UnityProperty { Name = "constraintActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).constraintActive = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).constraintActive, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ScaleConstraint)o).constraintActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "weight", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).weight = (System.Single)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).weight, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ScaleConstraint)o).weight; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "locked", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).locked = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).locked, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ScaleConstraint)o).locked; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "scaleAtRest", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).scaleAtRest = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).scaleAtRest, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ScaleConstraint)o).scaleAtRest; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "scaleOffset", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).scaleOffset = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).scaleOffset, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ScaleConstraint)o).scaleOffset; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "scalingAxis", PropertyType = typeof(UnityEngine.Animations.Axis), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).scalingAxis = (UnityEngine.Animations.Axis)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).scalingAxis, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Animations.ScaleConstraint)o).scalingAxis; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Animations.ScaleConstraint)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Animations.ScaleConstraint)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Animations.ScaleConstraint)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.Scrollbar", new UnityProperty[] { - new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).interactable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).interactable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).transition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Scrollbar)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).targetGraphic, }, - new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).colors, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).navigation, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "handleRect", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).handleRect = (UnityEngine.RectTransform)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).handleRect, }, - new UnityProperty { Name = "direction", PropertyType = typeof(UnityEngine.UI.Scrollbar.Direction), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).direction = (UnityEngine.UI.Scrollbar.Direction)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).direction, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Scrollbar)o).direction; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "value", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).value = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).value, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).value; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "size", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).size = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).size, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).size; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "numberOfSteps", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).numberOfSteps = (System.Int32)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).numberOfSteps, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).numberOfSteps; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Scrollbar)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Scrollbar)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Scrollbar)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.ScrollRect", new UnityProperty[] { - new UnityProperty { Name = "content", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).content = (UnityEngine.RectTransform)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).content, }, - new UnityProperty { Name = "horizontal", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).horizontal = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).horizontal, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).horizontal; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "vertical", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).vertical = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).vertical, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).vertical; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "movementType", PropertyType = typeof(UnityEngine.UI.ScrollRect.MovementType), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).movementType = (UnityEngine.UI.ScrollRect.MovementType)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).movementType, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.ScrollRect)o).movementType; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "elasticity", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).elasticity = (System.Single)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).elasticity, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).elasticity; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "inertia", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).inertia = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).inertia, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).inertia; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "decelerationRate", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).decelerationRate = (System.Single)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).decelerationRate, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).decelerationRate; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "scrollSensitivity", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).scrollSensitivity = (System.Single)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).scrollSensitivity, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).scrollSensitivity; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "viewport", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).viewport = (UnityEngine.RectTransform)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).viewport, }, - new UnityProperty { Name = "horizontalScrollbar", PropertyType = typeof(UnityEngine.UI.Scrollbar), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).horizontalScrollbar = (UnityEngine.UI.Scrollbar)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).horizontalScrollbar, }, - new UnityProperty { Name = "verticalScrollbar", PropertyType = typeof(UnityEngine.UI.Scrollbar), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).verticalScrollbar = (UnityEngine.UI.Scrollbar)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).verticalScrollbar, }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ScrollRect)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ScrollRect)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ScrollRect)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.Shadow", new UnityProperty[] { - new UnityProperty { Name = "effectColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.UI.Shadow)o).effectColor = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.UI.Shadow)o).effectColor, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Shadow)o).effectColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "effectDistance", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((UnityEngine.UI.Shadow)o).effectDistance = (UnityEngine.Vector2)v, Getter = (o) => ((UnityEngine.UI.Shadow)o).effectDistance, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Shadow)o).effectDistance; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useGraphicAlpha", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Shadow)o).useGraphicAlpha = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Shadow)o).useGraphicAlpha, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Shadow)o).useGraphicAlpha; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Shadow)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Shadow)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Shadow)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.SkinnedMeshRenderer", new UnityProperty[] { - #if UNITY_2021_2_OR_NEWER - new UnityProperty { Name = "bounds", PropertyType = typeof(UnityEngine.Bounds), Setter = (o, v) => ((SkinnedMeshRenderer)o).bounds = (UnityEngine.Bounds)v, Getter = (o) => ((SkinnedMeshRenderer)o).bounds, Updater = (object o, ref object v) => { var x = ((SkinnedMeshRenderer)o).bounds; if (!x.Equals((UnityEngine.Bounds)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "quality", PropertyType = typeof(UnityEngine.SkinQuality), Setter = (o, v) => ((SkinnedMeshRenderer)o).quality = (UnityEngine.SkinQuality)v, Getter = (o) => ((SkinnedMeshRenderer)o).quality, Updater = (object o, ref object v) => { var x = (int)((SkinnedMeshRenderer)o).quality; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "updateWhenOffscreen", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SkinnedMeshRenderer)o).updateWhenOffscreen = (System.Boolean)v, Getter = (o) => ((SkinnedMeshRenderer)o).updateWhenOffscreen, Updater = (object o, ref object v) => { var x = ((SkinnedMeshRenderer)o).updateWhenOffscreen; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sharedMesh", PropertyType = typeof(UnityEngine.Mesh), Setter = (o, v) => ((SkinnedMeshRenderer)o).sharedMesh = (UnityEngine.Mesh)v, Getter = (o) => ((SkinnedMeshRenderer)o).sharedMesh, }, - new UnityProperty { Name = "rootBone", PropertyType = typeof(UnityEngine.Transform), Setter = (o, v) => ((SkinnedMeshRenderer)o).rootBone = (UnityEngine.Transform)v, Getter = (o) => ((SkinnedMeshRenderer)o).rootBone, }, - new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((SkinnedMeshRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((SkinnedMeshRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((SkinnedMeshRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} }, - new UnityProperty { Name = "shadowCastingMode", PropertyType = typeof(UnityEngine.Rendering.ShadowCastingMode), Setter = (o, v) => ((SkinnedMeshRenderer)o).shadowCastingMode = (UnityEngine.Rendering.ShadowCastingMode)v, Getter = (o) => ((SkinnedMeshRenderer)o).shadowCastingMode, Updater = (object o, ref object v) => { var x = (int)((SkinnedMeshRenderer)o).shadowCastingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "receiveShadows", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SkinnedMeshRenderer)o).receiveShadows = (System.Boolean)v, Getter = (o) => ((SkinnedMeshRenderer)o).receiveShadows, Updater = (object o, ref object v) => { var x = ((SkinnedMeshRenderer)o).receiveShadows; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lightProbeUsage", PropertyType = typeof(UnityEngine.Rendering.LightProbeUsage), Setter = (o, v) => ((SkinnedMeshRenderer)o).lightProbeUsage = (UnityEngine.Rendering.LightProbeUsage)v, Getter = (o) => ((SkinnedMeshRenderer)o).lightProbeUsage, Updater = (object o, ref object v) => { var x = (int)((SkinnedMeshRenderer)o).lightProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reflectionProbeUsage", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeUsage), Setter = (o, v) => ((SkinnedMeshRenderer)o).reflectionProbeUsage = (UnityEngine.Rendering.ReflectionProbeUsage)v, Getter = (o) => ((SkinnedMeshRenderer)o).reflectionProbeUsage, Updater = (object o, ref object v) => { var x = (int)((SkinnedMeshRenderer)o).reflectionProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "motionVectorGenerationMode", PropertyType = typeof(UnityEngine.MotionVectorGenerationMode), Setter = (o, v) => ((SkinnedMeshRenderer)o).motionVectorGenerationMode = (UnityEngine.MotionVectorGenerationMode)v, Getter = (o) => ((SkinnedMeshRenderer)o).motionVectorGenerationMode, Updater = (object o, ref object v) => { var x = (int)((SkinnedMeshRenderer)o).motionVectorGenerationMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "allowOcclusionWhenDynamic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SkinnedMeshRenderer)o).allowOcclusionWhenDynamic = (System.Boolean)v, Getter = (o) => ((SkinnedMeshRenderer)o).allowOcclusionWhenDynamic, Updater = (object o, ref object v) => { var x = ((SkinnedMeshRenderer)o).allowOcclusionWhenDynamic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SkinnedMeshRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((SkinnedMeshRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((SkinnedMeshRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - { "UnityEngine.Skybox", new UnityProperty[] { - new UnityProperty { Name = "material", PropertyType = typeof(UnityEngine.Material), Setter = (o, v) => ((Skybox)o).material = (UnityEngine.Material)v, Getter = (o) => ((Skybox)o).material, }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((Skybox)o).enabled = (System.Boolean)v, Getter = (o) => ((Skybox)o).enabled, Updater = (object o, ref object v) => { var x = ((Skybox)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_GUI - { "UnityEngine.UI.Slider", new UnityProperty[] { - new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Slider)o).interactable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Slider)o).interactable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((UnityEngine.UI.Slider)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((UnityEngine.UI.Slider)o).transition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Slider)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.Slider)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.Slider)o).targetGraphic, }, - new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((UnityEngine.UI.Slider)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((UnityEngine.UI.Slider)o).colors, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((UnityEngine.UI.Slider)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((UnityEngine.UI.Slider)o).navigation, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "fillRect", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((UnityEngine.UI.Slider)o).fillRect = (UnityEngine.RectTransform)v, Getter = (o) => ((UnityEngine.UI.Slider)o).fillRect, }, - new UnityProperty { Name = "handleRect", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((UnityEngine.UI.Slider)o).handleRect = (UnityEngine.RectTransform)v, Getter = (o) => ((UnityEngine.UI.Slider)o).handleRect, }, - new UnityProperty { Name = "direction", PropertyType = typeof(UnityEngine.UI.Slider.Direction), Setter = (o, v) => ((UnityEngine.UI.Slider)o).direction = (UnityEngine.UI.Slider.Direction)v, Getter = (o) => ((UnityEngine.UI.Slider)o).direction, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Slider)o).direction; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "minValue", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Slider)o).minValue = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Slider)o).minValue, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).minValue; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maxValue", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Slider)o).maxValue = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Slider)o).maxValue, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).maxValue; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "wholeNumbers", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Slider)o).wholeNumbers = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Slider)o).wholeNumbers, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).wholeNumbers; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "value", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Slider)o).value = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Slider)o).value, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).value; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Slider)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Slider)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Slider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.SliderJoint2D", new UnityProperty[] { - new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SliderJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((SliderJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((SliderJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((SliderJoint2D)o).connectedBody, }, - new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SliderJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((SliderJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((SliderJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((SliderJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((SliderJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((SliderJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoConfigureAngle", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SliderJoint2D)o).autoConfigureAngle = (System.Boolean)v, Getter = (o) => ((SliderJoint2D)o).autoConfigureAngle, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).autoConfigureAngle; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "angle", PropertyType = typeof(System.Single), Setter = (o, v) => ((SliderJoint2D)o).angle = (System.Single)v, Getter = (o) => ((SliderJoint2D)o).angle, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).angle; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useMotor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SliderJoint2D)o).useMotor = (System.Boolean)v, Getter = (o) => ((SliderJoint2D)o).useMotor, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).useMotor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "motor", PropertyType = typeof(UnityEngine.JointMotor2D), Setter = (o, v) => ((SliderJoint2D)o).motor = (UnityEngine.JointMotor2D)v, Getter = (o) => ((SliderJoint2D)o).motor, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).motor; if (!x.Equals((UnityEngine.JointMotor2D)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useLimits", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SliderJoint2D)o).useLimits = (System.Boolean)v, Getter = (o) => ((SliderJoint2D)o).useLimits, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).useLimits; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "limits", PropertyType = typeof(UnityEngine.JointTranslationLimits2D), Setter = (o, v) => ((SliderJoint2D)o).limits = (UnityEngine.JointTranslationLimits2D)v, Getter = (o) => ((SliderJoint2D)o).limits, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).limits; if (!x.Equals((UnityEngine.JointTranslationLimits2D)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((SliderJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((SliderJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((SliderJoint2D)o).breakTorque = (System.Single)v, Getter = (o) => ((SliderJoint2D)o).breakTorque, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SliderJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((SliderJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((SliderJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.Rendering.SortingGroup", new UnityProperty[] { - new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.Rendering.SortingGroup)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((UnityEngine.Rendering.SortingGroup)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((UnityEngine.Rendering.SortingGroup)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.Rendering.SortingGroup)o).sortingOrder = (System.Int32)v, Getter = (o) => ((UnityEngine.Rendering.SortingGroup)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((UnityEngine.Rendering.SortingGroup)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Rendering.SortingGroup)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Rendering.SortingGroup)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Rendering.SortingGroup)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_PHYSICS - { "UnityEngine.SphereCollider", new UnityProperty[] { - new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SphereCollider)o).isTrigger = (System.Boolean)v, Getter = (o) => ((SphereCollider)o).isTrigger, Updater = (object o, ref object v) => { var x = ((SphereCollider)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if !UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicMaterial), Setter = (o, v) => ((SphereCollider)o).sharedMaterial = (PhysicMaterial)v, Getter = (o) => ((SphereCollider)o).sharedMaterial, }, - #endif - #if UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicsMaterial), Setter = (o, v) => ((SphereCollider)o).sharedMaterial = (PhysicsMaterial)v, Getter = (o) => ((SphereCollider)o).sharedMaterial, }, - #endif - new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((SphereCollider)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((SphereCollider)o).center, Updater = (object o, ref object v) => { var x = ((SphereCollider)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "radius", PropertyType = typeof(System.Single), Setter = (o, v) => ((SphereCollider)o).radius = (System.Single)v, Getter = (o) => ((SphereCollider)o).radius, Updater = (object o, ref object v) => { var x = ((SphereCollider)o).radius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SphereCollider)o).enabled = (System.Boolean)v, Getter = (o) => ((SphereCollider)o).enabled, Updater = (object o, ref object v) => { var x = ((SphereCollider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS - { "UnityEngine.SpringJoint", new UnityProperty[] { - new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody), Setter = (o, v) => ((SpringJoint)o).connectedBody = (UnityEngine.Rigidbody)v, Getter = (o) => ((SpringJoint)o).connectedBody, }, - #if UNITY_2020_2_OR_NEWER - new UnityProperty { Name = "connectedArticulationBody", PropertyType = typeof(UnityEngine.ArticulationBody), Setter = (o, v) => ((SpringJoint)o).connectedArticulationBody = (UnityEngine.ArticulationBody)v, Getter = (o) => ((SpringJoint)o).connectedArticulationBody, }, - #endif - new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((SpringJoint)o).anchor = (UnityEngine.Vector3)v, Getter = (o) => ((SpringJoint)o).anchor, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).anchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "axis", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((SpringJoint)o).axis = (UnityEngine.Vector3)v, Getter = (o) => ((SpringJoint)o).axis, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).axis; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((SpringJoint)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((SpringJoint)o).connectedAnchor = (UnityEngine.Vector3)v, Getter = (o) => ((SpringJoint)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "spring", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).spring = (System.Single)v, Getter = (o) => ((SpringJoint)o).spring, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).spring; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "damper", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).damper = (System.Single)v, Getter = (o) => ((SpringJoint)o).damper, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).damper; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "minDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).minDistance = (System.Single)v, Getter = (o) => ((SpringJoint)o).minDistance, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).minDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maxDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).maxDistance = (System.Single)v, Getter = (o) => ((SpringJoint)o).maxDistance, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).maxDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "tolerance", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).tolerance = (System.Single)v, Getter = (o) => ((SpringJoint)o).tolerance, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).tolerance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).breakForce = (System.Single)v, Getter = (o) => ((SpringJoint)o).breakForce, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).breakTorque = (System.Single)v, Getter = (o) => ((SpringJoint)o).breakTorque, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint)o).enableCollision = (System.Boolean)v, Getter = (o) => ((SpringJoint)o).enableCollision, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enablePreprocessing", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint)o).enablePreprocessing = (System.Boolean)v, Getter = (o) => ((SpringJoint)o).enablePreprocessing, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).enablePreprocessing; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "massScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).massScale = (System.Single)v, Getter = (o) => ((SpringJoint)o).massScale, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).massScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedMassScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint)o).connectedMassScale = (System.Single)v, Getter = (o) => ((SpringJoint)o).connectedMassScale, Updater = (object o, ref object v) => { var x = ((SpringJoint)o).connectedMassScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.SpringJoint2D", new UnityProperty[] { - new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((SpringJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((SpringJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((SpringJoint2D)o).connectedBody, }, - new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((SpringJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((SpringJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((SpringJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((SpringJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((SpringJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoConfigureDistance", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint2D)o).autoConfigureDistance = (System.Boolean)v, Getter = (o) => ((SpringJoint2D)o).autoConfigureDistance, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).autoConfigureDistance; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "distance", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint2D)o).distance = (System.Single)v, Getter = (o) => ((SpringJoint2D)o).distance, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).distance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "dampingRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint2D)o).dampingRatio = (System.Single)v, Getter = (o) => ((SpringJoint2D)o).dampingRatio, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).dampingRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "frequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint2D)o).frequency = (System.Single)v, Getter = (o) => ((SpringJoint2D)o).frequency, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).frequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpringJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((SpringJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpringJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((SpringJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((SpringJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.SpriteMask", new UnityProperty[] { - new UnityProperty { Name = "sprite", PropertyType = typeof(UnityEngine.Sprite), Setter = (o, v) => ((SpriteMask)o).sprite = (UnityEngine.Sprite)v, Getter = (o) => ((SpriteMask)o).sprite, }, - new UnityProperty { Name = "alphaCutoff", PropertyType = typeof(System.Single), Setter = (o, v) => ((SpriteMask)o).alphaCutoff = (System.Single)v, Getter = (o) => ((SpriteMask)o).alphaCutoff, Updater = (object o, ref object v) => { var x = ((SpriteMask)o).alphaCutoff; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "isCustomRangeActive", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpriteMask)o).isCustomRangeActive = (System.Boolean)v, Getter = (o) => ((SpriteMask)o).isCustomRangeActive, Updater = (object o, ref object v) => { var x = ((SpriteMask)o).isCustomRangeActive; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "frontSortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((SpriteMask)o).frontSortingOrder = (System.Int32)v, Getter = (o) => ((SpriteMask)o).frontSortingOrder, Updater = (object o, ref object v) => { var x = ((SpriteMask)o).frontSortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpriteMask)o).enabled = (System.Boolean)v, Getter = (o) => ((SpriteMask)o).enabled, Updater = (object o, ref object v) => { var x = ((SpriteMask)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - { "UnityEngine.SpriteRenderer", new UnityProperty[] { - new UnityProperty { Name = "sprite", PropertyType = typeof(UnityEngine.Sprite), Setter = (o, v) => ((SpriteRenderer)o).sprite = (UnityEngine.Sprite)v, Getter = (o) => ((SpriteRenderer)o).sprite, }, - new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((SpriteRenderer)o).color = (UnityEngine.Color)v, Getter = (o) => ((SpriteRenderer)o).color, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "flipX", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpriteRenderer)o).flipX = (System.Boolean)v, Getter = (o) => ((SpriteRenderer)o).flipX, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).flipX; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "flipY", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpriteRenderer)o).flipY = (System.Boolean)v, Getter = (o) => ((SpriteRenderer)o).flipY, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).flipY; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "drawMode", PropertyType = typeof(UnityEngine.SpriteDrawMode), Setter = (o, v) => ((SpriteRenderer)o).drawMode = (UnityEngine.SpriteDrawMode)v, Getter = (o) => ((SpriteRenderer)o).drawMode, Updater = (object o, ref object v) => { var x = (int)((SpriteRenderer)o).drawMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maskInteraction", PropertyType = typeof(UnityEngine.SpriteMaskInteraction), Setter = (o, v) => ((SpriteRenderer)o).maskInteraction = (UnityEngine.SpriteMaskInteraction)v, Getter = (o) => ((SpriteRenderer)o).maskInteraction, Updater = (object o, ref object v) => { var x = (int)((SpriteRenderer)o).maskInteraction; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "spriteSortPoint", PropertyType = typeof(UnityEngine.SpriteSortPoint), Setter = (o, v) => ((SpriteRenderer)o).spriteSortPoint = (UnityEngine.SpriteSortPoint)v, Getter = (o) => ((SpriteRenderer)o).spriteSortPoint, Updater = (object o, ref object v) => { var x = (int)((SpriteRenderer)o).spriteSortPoint; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((SpriteRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((SpriteRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} }, - new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((SpriteRenderer)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((SpriteRenderer)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((SpriteRenderer)o).sortingOrder = (System.Int32)v, Getter = (o) => ((SpriteRenderer)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SpriteRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((SpriteRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((SpriteRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_UI - { "UnityEngine.U2D.SpriteShapeRenderer", new UnityProperty[] { - new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.U2D.SpriteShapeRenderer)o).color = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.U2D.SpriteShapeRenderer)o).color, Updater = (object o, ref object v) => { var x = ((UnityEngine.U2D.SpriteShapeRenderer)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maskInteraction", PropertyType = typeof(UnityEngine.SpriteMaskInteraction), Setter = (o, v) => ((UnityEngine.U2D.SpriteShapeRenderer)o).maskInteraction = (UnityEngine.SpriteMaskInteraction)v, Getter = (o) => ((UnityEngine.U2D.SpriteShapeRenderer)o).maskInteraction, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.U2D.SpriteShapeRenderer)o).maskInteraction; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((UnityEngine.U2D.SpriteShapeRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((UnityEngine.U2D.SpriteShapeRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((UnityEngine.U2D.SpriteShapeRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} }, - new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.U2D.SpriteShapeRenderer)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((UnityEngine.U2D.SpriteShapeRenderer)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((UnityEngine.U2D.SpriteShapeRenderer)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.U2D.SpriteShapeRenderer)o).sortingOrder = (System.Int32)v, Getter = (o) => ((UnityEngine.U2D.SpriteShapeRenderer)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((UnityEngine.U2D.SpriteShapeRenderer)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.U2D.SpriteShapeRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.U2D.SpriteShapeRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.U2D.SpriteShapeRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.EventSystems.StandaloneInputModule", new UnityProperty[] { - new UnityProperty { Name = "horizontalAxis", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).horizontalAxis = (System.String)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).horizontalAxis, }, - new UnityProperty { Name = "verticalAxis", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).verticalAxis = (System.String)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).verticalAxis, }, - new UnityProperty { Name = "submitButton", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).submitButton = (System.String)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).submitButton, }, - new UnityProperty { Name = "cancelButton", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).cancelButton = (System.String)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).cancelButton, }, - new UnityProperty { Name = "inputActionsPerSecond", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).inputActionsPerSecond = (System.Single)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).inputActionsPerSecond, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.StandaloneInputModule)o).inputActionsPerSecond; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "repeatDelay", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).repeatDelay = (System.Single)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).repeatDelay, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.StandaloneInputModule)o).repeatDelay; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.EventSystems.StandaloneInputModule)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.EventSystems.StandaloneInputModule)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.EventSystems.StandaloneInputModule)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.StreamingController", new UnityProperty[] { - new UnityProperty { Name = "streamingMipmapBias", PropertyType = typeof(System.Single), Setter = (o, v) => ((StreamingController)o).streamingMipmapBias = (System.Single)v, Getter = (o) => ((StreamingController)o).streamingMipmapBias, Updater = (object o, ref object v) => { var x = ((StreamingController)o).streamingMipmapBias; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((StreamingController)o).enabled = (System.Boolean)v, Getter = (o) => ((StreamingController)o).enabled, Updater = (object o, ref object v) => { var x = ((StreamingController)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_PHYSICS_2D - { "UnityEngine.SurfaceEffector2D", new UnityProperty[] { - new UnityProperty { Name = "useColliderMask", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SurfaceEffector2D)o).useColliderMask = (System.Boolean)v, Getter = (o) => ((SurfaceEffector2D)o).useColliderMask, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).useColliderMask; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "colliderMask", PropertyType = typeof(System.Int32), Setter = (o, v) => ((SurfaceEffector2D)o).colliderMask = (System.Int32)v, Getter = (o) => ((SurfaceEffector2D)o).colliderMask, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).colliderMask; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "speed", PropertyType = typeof(System.Single), Setter = (o, v) => ((SurfaceEffector2D)o).speed = (System.Single)v, Getter = (o) => ((SurfaceEffector2D)o).speed, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).speed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "speedVariation", PropertyType = typeof(System.Single), Setter = (o, v) => ((SurfaceEffector2D)o).speedVariation = (System.Single)v, Getter = (o) => ((SurfaceEffector2D)o).speedVariation, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).speedVariation; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "forceScale", PropertyType = typeof(System.Single), Setter = (o, v) => ((SurfaceEffector2D)o).forceScale = (System.Single)v, Getter = (o) => ((SurfaceEffector2D)o).forceScale, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).forceScale; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useContactForce", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SurfaceEffector2D)o).useContactForce = (System.Boolean)v, Getter = (o) => ((SurfaceEffector2D)o).useContactForce, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).useContactForce; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useFriction", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SurfaceEffector2D)o).useFriction = (System.Boolean)v, Getter = (o) => ((SurfaceEffector2D)o).useFriction, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).useFriction; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useBounce", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SurfaceEffector2D)o).useBounce = (System.Boolean)v, Getter = (o) => ((SurfaceEffector2D)o).useBounce, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).useBounce; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((SurfaceEffector2D)o).enabled = (System.Boolean)v, Getter = (o) => ((SurfaceEffector2D)o).enabled, Updater = (object o, ref object v) => { var x = ((SurfaceEffector2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.TargetJoint2D", new UnityProperty[] { - new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((TargetJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((TargetJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "target", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((TargetJoint2D)o).target = (UnityEngine.Vector2)v, Getter = (o) => ((TargetJoint2D)o).target, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).target; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoConfigureTarget", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TargetJoint2D)o).autoConfigureTarget = (System.Boolean)v, Getter = (o) => ((TargetJoint2D)o).autoConfigureTarget, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).autoConfigureTarget; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maxForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((TargetJoint2D)o).maxForce = (System.Single)v, Getter = (o) => ((TargetJoint2D)o).maxForce, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).maxForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "dampingRatio", PropertyType = typeof(System.Single), Setter = (o, v) => ((TargetJoint2D)o).dampingRatio = (System.Single)v, Getter = (o) => ((TargetJoint2D)o).dampingRatio, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).dampingRatio; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "frequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((TargetJoint2D)o).frequency = (System.Single)v, Getter = (o) => ((TargetJoint2D)o).frequency, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).frequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((TargetJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((TargetJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TargetJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((TargetJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((TargetJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_TERRAIN_PHYSICS - { "UnityEngine.TerrainCollider", new UnityProperty[] { - new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TerrainCollider)o).isTrigger = (System.Boolean)v, Getter = (o) => ((TerrainCollider)o).isTrigger, Updater = (object o, ref object v) => { var x = ((TerrainCollider)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if !UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicMaterial), Setter = (o, v) => ((TerrainCollider)o).sharedMaterial = (PhysicMaterial)v, Getter = (o) => ((TerrainCollider)o).sharedMaterial, }, - #endif - #if UNITY_6000_0_OR_NEWER - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(PhysicsMaterial), Setter = (o, v) => ((TerrainCollider)o).sharedMaterial = (PhysicsMaterial)v, Getter = (o) => ((TerrainCollider)o).sharedMaterial, }, - #endif - new UnityProperty { Name = "terrainData", PropertyType = typeof(UnityEngine.TerrainData), Setter = (o, v) => ((TerrainCollider)o).terrainData = (UnityEngine.TerrainData)v, Getter = (o) => ((TerrainCollider)o).terrainData, }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TerrainCollider)o).enabled = (System.Boolean)v, Getter = (o) => ((TerrainCollider)o).enabled, Updater = (object o, ref object v) => { var x = ((TerrainCollider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.Text", new UnityProperty[] { - new UnityProperty { Name = "text", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.UI.Text)o).text = (System.String)v, Getter = (o) => ((UnityEngine.UI.Text)o).text, }, - new UnityProperty { Name = "font", PropertyType = typeof(UnityEngine.Font), Setter = (o, v) => ((UnityEngine.UI.Text)o).font = (UnityEngine.Font)v, Getter = (o) => ((UnityEngine.UI.Text)o).font, }, - new UnityProperty { Name = "fontStyle", PropertyType = typeof(UnityEngine.FontStyle), Setter = (o, v) => ((UnityEngine.UI.Text)o).fontStyle = (UnityEngine.FontStyle)v, Getter = (o) => ((UnityEngine.UI.Text)o).fontStyle, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Text)o).fontStyle; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "fontSize", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.UI.Text)o).fontSize = (System.Int32)v, Getter = (o) => ((UnityEngine.UI.Text)o).fontSize, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).fontSize; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lineSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UI.Text)o).lineSpacing = (System.Single)v, Getter = (o) => ((UnityEngine.UI.Text)o).lineSpacing, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).lineSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "supportRichText", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Text)o).supportRichText = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Text)o).supportRichText, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).supportRichText; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "alignment", PropertyType = typeof(UnityEngine.TextAnchor), Setter = (o, v) => ((UnityEngine.UI.Text)o).alignment = (UnityEngine.TextAnchor)v, Getter = (o) => ((UnityEngine.UI.Text)o).alignment, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Text)o).alignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "alignByGeometry", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Text)o).alignByGeometry = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Text)o).alignByGeometry, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).alignByGeometry; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "horizontalOverflow", PropertyType = typeof(UnityEngine.HorizontalWrapMode), Setter = (o, v) => ((UnityEngine.UI.Text)o).horizontalOverflow = (UnityEngine.HorizontalWrapMode)v, Getter = (o) => ((UnityEngine.UI.Text)o).horizontalOverflow, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Text)o).horizontalOverflow; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "verticalOverflow", PropertyType = typeof(UnityEngine.VerticalWrapMode), Setter = (o, v) => ((UnityEngine.UI.Text)o).verticalOverflow = (UnityEngine.VerticalWrapMode)v, Getter = (o) => ((UnityEngine.UI.Text)o).verticalOverflow, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Text)o).verticalOverflow; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "resizeTextForBestFit", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Text)o).resizeTextForBestFit = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Text)o).resizeTextForBestFit, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).resizeTextForBestFit; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.UI.Text)o).color = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.UI.Text)o).color, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "raycastTarget", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Text)o).raycastTarget = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Text)o).raycastTarget, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).raycastTarget; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if UNITY_2020_1_OR_NEWER - new UnityProperty { Name = "raycastPadding", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((UnityEngine.UI.Text)o).raycastPadding = (UnityEngine.Vector4)v, Getter = (o) => ((UnityEngine.UI.Text)o).raycastPadding, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).raycastPadding; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "maskable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Text)o).maskable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Text)o).maskable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).maskable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Text)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Text)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Text)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_TMPRO - { "TMPro.TextContainer", new UnityProperty[] { - new UnityProperty { Name = "anchorPosition", PropertyType = typeof(TMPro.TextContainerAnchors), Setter = (o, v) => ((TMPro.TextContainer)o).anchorPosition = (TMPro.TextContainerAnchors)v, Getter = (o) => ((TMPro.TextContainer)o).anchorPosition, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextContainer)o).anchorPosition; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "width", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextContainer)o).width = (System.Single)v, Getter = (o) => ((TMPro.TextContainer)o).width, Updater = (object o, ref object v) => { var x = ((TMPro.TextContainer)o).width; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "height", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextContainer)o).height = (System.Single)v, Getter = (o) => ((TMPro.TextContainer)o).height, Updater = (object o, ref object v) => { var x = ((TMPro.TextContainer)o).height; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "margins", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((TMPro.TextContainer)o).margins = (UnityEngine.Vector4)v, Getter = (o) => ((TMPro.TextContainer)o).margins, Updater = (object o, ref object v) => { var x = ((TMPro.TextContainer)o).margins; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextContainer)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TextContainer)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TextContainer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.TextMesh", new UnityProperty[] { - new UnityProperty { Name = "text", PropertyType = typeof(System.String), Setter = (o, v) => ((TextMesh)o).text = (System.String)v, Getter = (o) => ((TextMesh)o).text, }, - new UnityProperty { Name = "offsetZ", PropertyType = typeof(System.Single), Setter = (o, v) => ((TextMesh)o).offsetZ = (System.Single)v, Getter = (o) => ((TextMesh)o).offsetZ, Updater = (object o, ref object v) => { var x = ((TextMesh)o).offsetZ; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "characterSize", PropertyType = typeof(System.Single), Setter = (o, v) => ((TextMesh)o).characterSize = (System.Single)v, Getter = (o) => ((TextMesh)o).characterSize, Updater = (object o, ref object v) => { var x = ((TextMesh)o).characterSize; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lineSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TextMesh)o).lineSpacing = (System.Single)v, Getter = (o) => ((TextMesh)o).lineSpacing, Updater = (object o, ref object v) => { var x = ((TextMesh)o).lineSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.TextAnchor), Setter = (o, v) => ((TextMesh)o).anchor = (UnityEngine.TextAnchor)v, Getter = (o) => ((TextMesh)o).anchor, Updater = (object o, ref object v) => { var x = (int)((TextMesh)o).anchor; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "alignment", PropertyType = typeof(UnityEngine.TextAlignment), Setter = (o, v) => ((TextMesh)o).alignment = (UnityEngine.TextAlignment)v, Getter = (o) => ((TextMesh)o).alignment, Updater = (object o, ref object v) => { var x = (int)((TextMesh)o).alignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "tabSize", PropertyType = typeof(System.Single), Setter = (o, v) => ((TextMesh)o).tabSize = (System.Single)v, Getter = (o) => ((TextMesh)o).tabSize, Updater = (object o, ref object v) => { var x = ((TextMesh)o).tabSize; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "fontSize", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TextMesh)o).fontSize = (System.Int32)v, Getter = (o) => ((TextMesh)o).fontSize, Updater = (object o, ref object v) => { var x = ((TextMesh)o).fontSize; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "fontStyle", PropertyType = typeof(UnityEngine.FontStyle), Setter = (o, v) => ((TextMesh)o).fontStyle = (UnityEngine.FontStyle)v, Getter = (o) => ((TextMesh)o).fontStyle, Updater = (object o, ref object v) => { var x = (int)((TextMesh)o).fontStyle; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "richText", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TextMesh)o).richText = (System.Boolean)v, Getter = (o) => ((TextMesh)o).richText, Updater = (object o, ref object v) => { var x = ((TextMesh)o).richText; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "font", PropertyType = typeof(UnityEngine.Font), Setter = (o, v) => ((TextMesh)o).font = (UnityEngine.Font)v, Getter = (o) => ((TextMesh)o).font, }, - new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((TextMesh)o).color = (UnityEngine.Color)v, Getter = (o) => ((TextMesh)o).color, Updater = (object o, ref object v) => { var x = ((TextMesh)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_TMPRO - { "TMPro.TextMeshPro", new UnityProperty[] { - new UnityProperty { Name = "text", PropertyType = typeof(System.String), Setter = (o, v) => ((TMPro.TextMeshPro)o).text = (System.String)v, Getter = (o) => ((TMPro.TextMeshPro)o).text, }, - new UnityProperty { Name = "font", PropertyType = typeof(TMPro.TMP_FontAsset), Setter = (o, v) => ((TMPro.TextMeshPro)o).font = (TMPro.TMP_FontAsset)v, Getter = (o) => ((TMPro.TextMeshPro)o).font, }, - new UnityProperty { Name = "fontStyle", PropertyType = typeof(TMPro.FontStyles), Setter = (o, v) => ((TMPro.TextMeshPro)o).fontStyle = (TMPro.FontStyles)v, Getter = (o) => ((TMPro.TextMeshPro)o).fontStyle, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).fontStyle; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "fontSize", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshPro)o).fontSize = (System.Single)v, Getter = (o) => ((TMPro.TextMeshPro)o).fontSize, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).fontSize; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoSizeTextContainer", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).autoSizeTextContainer = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).autoSizeTextContainer, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).autoSizeTextContainer; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((TMPro.TextMeshPro)o).color = (UnityEngine.Color)v, Getter = (o) => ((TMPro.TextMeshPro)o).color, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "colorGradientPreset", PropertyType = typeof(TMPro.TMP_ColorGradient), Setter = (o, v) => ((TMPro.TextMeshPro)o).colorGradientPreset = (TMPro.TMP_ColorGradient)v, Getter = (o) => ((TMPro.TextMeshPro)o).colorGradientPreset, }, - new UnityProperty { Name = "colorGradient", PropertyType = typeof(TMPro.VertexGradient), Setter = (o, v) => ((TMPro.TextMeshPro)o).colorGradient = (TMPro.VertexGradient)v, Getter = (o) => ((TMPro.TextMeshPro)o).colorGradient, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).colorGradient; if (!x.Equals((TMPro.VertexGradient)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "overrideColorTags", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).overrideColorTags = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).overrideColorTags, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).overrideColorTags; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "characterSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshPro)o).characterSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshPro)o).characterSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).characterSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "wordSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshPro)o).wordSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshPro)o).wordSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).wordSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lineSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshPro)o).lineSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshPro)o).lineSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).lineSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "paragraphSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshPro)o).paragraphSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshPro)o).paragraphSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).paragraphSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "alignment", PropertyType = typeof(TMPro.TextAlignmentOptions), Setter = (o, v) => ((TMPro.TextMeshPro)o).alignment = (TMPro.TextAlignmentOptions)v, Getter = (o) => ((TMPro.TextMeshPro)o).alignment, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).alignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #if !UNITY_2023_2_OR_NEWER - new UnityProperty { Name = "enableWordWrapping", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).enableWordWrapping = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).enableWordWrapping, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).enableWordWrapping; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_2023_2_OR_NEWER - new UnityProperty { Name = "textWrappingMode", PropertyType = typeof(TMPro.TextWrappingModes), Setter = (o, v) => ((TMPro.TextMeshPro)o).textWrappingMode = (TMPro.TextWrappingModes)v, Getter = (o) => ((TMPro.TextMeshPro)o).textWrappingMode, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).textWrappingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "overflowMode", PropertyType = typeof(TMPro.TextOverflowModes), Setter = (o, v) => ((TMPro.TextMeshPro)o).overflowMode = (TMPro.TextOverflowModes)v, Getter = (o) => ((TMPro.TextMeshPro)o).overflowMode, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).overflowMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "horizontalMapping", PropertyType = typeof(TMPro.TextureMappingOptions), Setter = (o, v) => ((TMPro.TextMeshPro)o).horizontalMapping = (TMPro.TextureMappingOptions)v, Getter = (o) => ((TMPro.TextMeshPro)o).horizontalMapping, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).horizontalMapping; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "verticalMapping", PropertyType = typeof(TMPro.TextureMappingOptions), Setter = (o, v) => ((TMPro.TextMeshPro)o).verticalMapping = (TMPro.TextureMappingOptions)v, Getter = (o) => ((TMPro.TextMeshPro)o).verticalMapping, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).verticalMapping; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "margin", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((TMPro.TextMeshPro)o).margin = (UnityEngine.Vector4)v, Getter = (o) => ((TMPro.TextMeshPro)o).margin, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).margin; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TMPro.TextMeshPro)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((TMPro.TextMeshPro)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TMPro.TextMeshPro)o).sortingOrder = (System.Int32)v, Getter = (o) => ((TMPro.TextMeshPro)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "geometrySortingOrder", PropertyType = typeof(TMPro.VertexSortingOrder), Setter = (o, v) => ((TMPro.TextMeshPro)o).geometrySortingOrder = (TMPro.VertexSortingOrder)v, Getter = (o) => ((TMPro.TextMeshPro)o).geometrySortingOrder, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshPro)o).geometrySortingOrder; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "isTextObjectScaleStatic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).isTextObjectScaleStatic = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).isTextObjectScaleStatic, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).isTextObjectScaleStatic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "isOrthographic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).isOrthographic = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).isOrthographic, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).isOrthographic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "richText", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).richText = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).richText, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).richText; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "parseCtrlCharacters", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).parseCtrlCharacters = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).parseCtrlCharacters, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).parseCtrlCharacters; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useMaxVisibleDescender", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).useMaxVisibleDescender = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).useMaxVisibleDescender, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).useMaxVisibleDescender; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "spriteAsset", PropertyType = typeof(TMPro.TMP_SpriteAsset), Setter = (o, v) => ((TMPro.TextMeshPro)o).spriteAsset = (TMPro.TMP_SpriteAsset)v, Getter = (o) => ((TMPro.TextMeshPro)o).spriteAsset, }, - new UnityProperty { Name = "styleSheet", PropertyType = typeof(TMPro.TMP_StyleSheet), Setter = (o, v) => ((TMPro.TextMeshPro)o).styleSheet = (TMPro.TMP_StyleSheet)v, Getter = (o) => ((TMPro.TextMeshPro)o).styleSheet, }, - #if !UNITY_2023_2_OR_NEWER - new UnityProperty { Name = "enableKerning", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).enableKerning = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).enableKerning, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).enableKerning; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_2023_2_OR_NEWER - new UnityProperty { Name = "fontFeatures", PropertyType = typeof(System.Collections.Generic.List), Setter = (o, v) => ((TMPro.TextMeshPro)o).fontFeatures = (System.Collections.Generic.List)v, Getter = (o) => ((TMPro.TextMeshPro)o).fontFeatures, }, - #endif - new UnityProperty { Name = "extraPadding", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).extraPadding = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).extraPadding, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).extraPadding; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshPro)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshPro)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshPro)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_TMPRO - { "TMPro.TextMeshProUGUI", new UnityProperty[] { - new UnityProperty { Name = "text", PropertyType = typeof(System.String), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).text = (System.String)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).text, }, - new UnityProperty { Name = "font", PropertyType = typeof(TMPro.TMP_FontAsset), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).font = (TMPro.TMP_FontAsset)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).font, }, - new UnityProperty { Name = "fontStyle", PropertyType = typeof(TMPro.FontStyles), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).fontStyle = (TMPro.FontStyles)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).fontStyle, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).fontStyle; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "fontSize", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).fontSize = (System.Single)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).fontSize, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).fontSize; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autoSizeTextContainer", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).autoSizeTextContainer = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).autoSizeTextContainer, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).autoSizeTextContainer; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).color = (UnityEngine.Color)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).color, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "colorGradientPreset", PropertyType = typeof(TMPro.TMP_ColorGradient), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).colorGradientPreset = (TMPro.TMP_ColorGradient)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).colorGradientPreset, }, - new UnityProperty { Name = "colorGradient", PropertyType = typeof(TMPro.VertexGradient), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).colorGradient = (TMPro.VertexGradient)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).colorGradient, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).colorGradient; if (!x.Equals((TMPro.VertexGradient)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "overrideColorTags", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).overrideColorTags = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).overrideColorTags, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).overrideColorTags; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "characterSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).characterSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).characterSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).characterSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "wordSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).wordSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).wordSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).wordSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lineSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).lineSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).lineSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).lineSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "paragraphSpacing", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).paragraphSpacing = (System.Single)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).paragraphSpacing, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).paragraphSpacing; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "alignment", PropertyType = typeof(TMPro.TextAlignmentOptions), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).alignment = (TMPro.TextAlignmentOptions)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).alignment, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).alignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #if !UNITY_2023_2_OR_NEWER - new UnityProperty { Name = "enableWordWrapping", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).enableWordWrapping = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).enableWordWrapping, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).enableWordWrapping; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_2023_2_OR_NEWER - new UnityProperty { Name = "textWrappingMode", PropertyType = typeof(TMPro.TextWrappingModes), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).textWrappingMode = (TMPro.TextWrappingModes)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).textWrappingMode, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).textWrappingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "overflowMode", PropertyType = typeof(TMPro.TextOverflowModes), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).overflowMode = (TMPro.TextOverflowModes)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).overflowMode, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).overflowMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "horizontalMapping", PropertyType = typeof(TMPro.TextureMappingOptions), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).horizontalMapping = (TMPro.TextureMappingOptions)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).horizontalMapping, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).horizontalMapping; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "verticalMapping", PropertyType = typeof(TMPro.TextureMappingOptions), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).verticalMapping = (TMPro.TextureMappingOptions)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).verticalMapping, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).verticalMapping; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "margin", PropertyType = typeof(UnityEngine.Vector4), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).margin = (UnityEngine.Vector4)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).margin, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).margin; if (!x.Equals((UnityEngine.Vector4)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "geometrySortingOrder", PropertyType = typeof(TMPro.VertexSortingOrder), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).geometrySortingOrder = (TMPro.VertexSortingOrder)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).geometrySortingOrder, Updater = (object o, ref object v) => { var x = (int)((TMPro.TextMeshProUGUI)o).geometrySortingOrder; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "isTextObjectScaleStatic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).isTextObjectScaleStatic = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).isTextObjectScaleStatic, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).isTextObjectScaleStatic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "isOrthographic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).isOrthographic = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).isOrthographic, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).isOrthographic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "richText", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).richText = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).richText, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).richText; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "parseCtrlCharacters", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).parseCtrlCharacters = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).parseCtrlCharacters, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).parseCtrlCharacters; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useMaxVisibleDescender", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).useMaxVisibleDescender = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).useMaxVisibleDescender, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).useMaxVisibleDescender; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "spriteAsset", PropertyType = typeof(TMPro.TMP_SpriteAsset), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).spriteAsset = (TMPro.TMP_SpriteAsset)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).spriteAsset, }, - new UnityProperty { Name = "styleSheet", PropertyType = typeof(TMPro.TMP_StyleSheet), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).styleSheet = (TMPro.TMP_StyleSheet)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).styleSheet, }, - #if !UNITY_2023_2_OR_NEWER - new UnityProperty { Name = "enableKerning", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).enableKerning = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).enableKerning, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).enableKerning; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_2023_2_OR_NEWER - new UnityProperty { Name = "fontFeatures", PropertyType = typeof(System.Collections.Generic.List), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).fontFeatures = (System.Collections.Generic.List)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).fontFeatures, }, - #endif - new UnityProperty { Name = "extraPadding", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).extraPadding = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).extraPadding, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).extraPadding; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TextMeshProUGUI)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TextMeshProUGUI)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TextMeshProUGUI)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_TILEMAP - { "UnityEngine.Tilemaps.Tilemap", new UnityProperty[] { - new UnityProperty { Name = "animationFrameRate", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Tilemaps.Tilemap)o).animationFrameRate = (System.Single)v, Getter = (o) => ((UnityEngine.Tilemaps.Tilemap)o).animationFrameRate, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.Tilemap)o).animationFrameRate; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "color", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((UnityEngine.Tilemaps.Tilemap)o).color = (UnityEngine.Color)v, Getter = (o) => ((UnityEngine.Tilemaps.Tilemap)o).color, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.Tilemap)o).color; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "tileAnchor", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Tilemaps.Tilemap)o).tileAnchor = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Tilemaps.Tilemap)o).tileAnchor, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.Tilemap)o).tileAnchor; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "orientation", PropertyType = typeof(UnityEngine.Tilemaps.Tilemap.Orientation), Setter = (o, v) => ((UnityEngine.Tilemaps.Tilemap)o).orientation = (UnityEngine.Tilemaps.Tilemap.Orientation)v, Getter = (o) => ((UnityEngine.Tilemaps.Tilemap)o).orientation, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Tilemaps.Tilemap)o).orientation; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Tilemaps.Tilemap)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Tilemaps.Tilemap)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.Tilemap)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_TILEMAP - { "UnityEngine.Tilemaps.TilemapCollider2D", new UnityProperty[] { - new UnityProperty { Name = "maximumTileChangeCount", PropertyType = typeof(System.UInt32), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).maximumTileChangeCount = (System.UInt32)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).maximumTileChangeCount, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).maximumTileChangeCount; if (!x.Equals((System.UInt32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "extrusionFactor", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).extrusionFactor = (System.Single)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).extrusionFactor, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).extrusionFactor; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sharedMaterial", PropertyType = typeof(UnityEngine.PhysicsMaterial2D), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).sharedMaterial = (UnityEngine.PhysicsMaterial2D)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).sharedMaterial, }, - new UnityProperty { Name = "isTrigger", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).isTrigger = (System.Boolean)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).isTrigger, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).isTrigger; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "usedByEffector", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).usedByEffector = (System.Boolean)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).usedByEffector, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).usedByEffector; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #if !UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "usedByComposite", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).usedByComposite = (System.Boolean)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).usedByComposite, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).usedByComposite; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - #endif - #if UNITY_2023_1_OR_NEWER - new UnityProperty { Name = "compositeOperation", PropertyType = typeof(UnityEngine.Collider2D.CompositeOperation), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).compositeOperation = (UnityEngine.Collider2D.CompositeOperation)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).compositeOperation, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Tilemaps.TilemapCollider2D)o).compositeOperation; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - #endif - new UnityProperty { Name = "offset", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).offset = (UnityEngine.Vector2)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).offset, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).offset; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapCollider2D)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapCollider2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_TILEMAP - { "UnityEngine.Tilemaps.TilemapRenderer", new UnityProperty[] { - new UnityProperty { Name = "sortOrder", PropertyType = typeof(UnityEngine.Tilemaps.TilemapRenderer.SortOrder), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sortOrder = (UnityEngine.Tilemaps.TilemapRenderer.SortOrder)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sortOrder, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Tilemaps.TilemapRenderer)o).sortOrder; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "mode", PropertyType = typeof(UnityEngine.Tilemaps.TilemapRenderer.Mode), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).mode = (UnityEngine.Tilemaps.TilemapRenderer.Mode)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).mode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Tilemaps.TilemapRenderer)o).mode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "detectChunkCullingBounds", PropertyType = typeof(UnityEngine.Tilemaps.TilemapRenderer.DetectChunkCullingBounds), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).detectChunkCullingBounds = (UnityEngine.Tilemaps.TilemapRenderer.DetectChunkCullingBounds)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).detectChunkCullingBounds, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Tilemaps.TilemapRenderer)o).detectChunkCullingBounds; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "chunkCullingBounds", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).chunkCullingBounds = (UnityEngine.Vector3)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).chunkCullingBounds, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapRenderer)o).chunkCullingBounds; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "maskInteraction", PropertyType = typeof(UnityEngine.SpriteMaskInteraction), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).maskInteraction = (UnityEngine.SpriteMaskInteraction)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).maskInteraction, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Tilemaps.TilemapRenderer)o).maskInteraction; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} }, - new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapRenderer)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sortingOrder = (System.Int32)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapRenderer)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Tilemaps.TilemapRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Tilemaps.TilemapRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Tilemaps.TilemapRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_TMPRO - { "TMPro.TMP_Dropdown", new UnityProperty[] { - new UnityProperty { Name = "template", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).template = (UnityEngine.RectTransform)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).template, }, - new UnityProperty { Name = "captionText", PropertyType = typeof(TMPro.TMP_Text), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).captionText = (TMPro.TMP_Text)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).captionText, }, - new UnityProperty { Name = "captionImage", PropertyType = typeof(UnityEngine.UI.Image), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).captionImage = (UnityEngine.UI.Image)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).captionImage, }, - new UnityProperty { Name = "placeholder", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).placeholder = (UnityEngine.UI.Graphic)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).placeholder, }, - new UnityProperty { Name = "itemText", PropertyType = typeof(TMPro.TMP_Text), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).itemText = (TMPro.TMP_Text)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).itemText, }, - new UnityProperty { Name = "itemImage", PropertyType = typeof(UnityEngine.UI.Image), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).itemImage = (UnityEngine.UI.Image)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).itemImage, }, - new UnityProperty { Name = "value", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).value = (System.Int32)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).value, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_Dropdown)o).value; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "alphaFadeSpeed", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).alphaFadeSpeed = (System.Single)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).alphaFadeSpeed, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_Dropdown)o).alphaFadeSpeed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "options", PropertyType = typeof(System.Collections.Generic.List), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).options = (System.Collections.Generic.List)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).options, }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_Dropdown)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_Dropdown)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_Dropdown)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_TMPRO - { "TMPro.TMP_InputField", new UnityProperty[] { - new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).interactable = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).interactable, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((TMPro.TMP_InputField)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((TMPro.TMP_InputField)o).transition, Updater = (object o, ref object v) => { var x = (int)((TMPro.TMP_InputField)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((TMPro.TMP_InputField)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((TMPro.TMP_InputField)o).targetGraphic, }, - new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((TMPro.TMP_InputField)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((TMPro.TMP_InputField)o).colors, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((TMPro.TMP_InputField)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((TMPro.TMP_InputField)o).navigation, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "textViewport", PropertyType = typeof(UnityEngine.RectTransform), Setter = (o, v) => ((TMPro.TMP_InputField)o).textViewport = (UnityEngine.RectTransform)v, Getter = (o) => ((TMPro.TMP_InputField)o).textViewport, }, - new UnityProperty { Name = "textComponent", PropertyType = typeof(TMPro.TMP_Text), Setter = (o, v) => ((TMPro.TMP_InputField)o).textComponent = (TMPro.TMP_Text)v, Getter = (o) => ((TMPro.TMP_InputField)o).textComponent, }, - new UnityProperty { Name = "text", PropertyType = typeof(System.String), Setter = (o, v) => ((TMPro.TMP_InputField)o).text = (System.String)v, Getter = (o) => ((TMPro.TMP_InputField)o).text, }, - new UnityProperty { Name = "fontAsset", PropertyType = typeof(TMPro.TMP_FontAsset), Setter = (o, v) => ((TMPro.TMP_InputField)o).fontAsset = (TMPro.TMP_FontAsset)v, Getter = (o) => ((TMPro.TMP_InputField)o).fontAsset, }, - new UnityProperty { Name = "pointSize", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TMP_InputField)o).pointSize = (System.Single)v, Getter = (o) => ((TMPro.TMP_InputField)o).pointSize, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).pointSize; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "characterLimit", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TMPro.TMP_InputField)o).characterLimit = (System.Int32)v, Getter = (o) => ((TMPro.TMP_InputField)o).characterLimit, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).characterLimit; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "contentType", PropertyType = typeof(TMPro.TMP_InputField.ContentType), Setter = (o, v) => ((TMPro.TMP_InputField)o).contentType = (TMPro.TMP_InputField.ContentType)v, Getter = (o) => ((TMPro.TMP_InputField)o).contentType, Updater = (object o, ref object v) => { var x = (int)((TMPro.TMP_InputField)o).contentType; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lineType", PropertyType = typeof(TMPro.TMP_InputField.LineType), Setter = (o, v) => ((TMPro.TMP_InputField)o).lineType = (TMPro.TMP_InputField.LineType)v, Getter = (o) => ((TMPro.TMP_InputField)o).lineType, Updater = (object o, ref object v) => { var x = (int)((TMPro.TMP_InputField)o).lineType; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "placeholder", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((TMPro.TMP_InputField)o).placeholder = (UnityEngine.UI.Graphic)v, Getter = (o) => ((TMPro.TMP_InputField)o).placeholder, }, - new UnityProperty { Name = "verticalScrollbar", PropertyType = typeof(UnityEngine.UI.Scrollbar), Setter = (o, v) => ((TMPro.TMP_InputField)o).verticalScrollbar = (UnityEngine.UI.Scrollbar)v, Getter = (o) => ((TMPro.TMP_InputField)o).verticalScrollbar, }, - new UnityProperty { Name = "caretBlinkRate", PropertyType = typeof(System.Single), Setter = (o, v) => ((TMPro.TMP_InputField)o).caretBlinkRate = (System.Single)v, Getter = (o) => ((TMPro.TMP_InputField)o).caretBlinkRate, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).caretBlinkRate; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "caretWidth", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TMPro.TMP_InputField)o).caretWidth = (System.Int32)v, Getter = (o) => ((TMPro.TMP_InputField)o).caretWidth, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).caretWidth; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "customCaretColor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).customCaretColor = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).customCaretColor, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).customCaretColor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "selectionColor", PropertyType = typeof(UnityEngine.Color), Setter = (o, v) => ((TMPro.TMP_InputField)o).selectionColor = (UnityEngine.Color)v, Getter = (o) => ((TMPro.TMP_InputField)o).selectionColor, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).selectionColor; if (!x.Equals((UnityEngine.Color)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "onFocusSelectAll", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).onFocusSelectAll = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).onFocusSelectAll, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).onFocusSelectAll; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "resetOnDeActivation", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).resetOnDeActivation = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).resetOnDeActivation, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).resetOnDeActivation; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "restoreOriginalTextOnEscape", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).restoreOriginalTextOnEscape = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).restoreOriginalTextOnEscape, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).restoreOriginalTextOnEscape; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "shouldHideSoftKeyboard", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).shouldHideSoftKeyboard = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).shouldHideSoftKeyboard, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).shouldHideSoftKeyboard; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "shouldHideMobileInput", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).shouldHideMobileInput = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).shouldHideMobileInput, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).shouldHideMobileInput; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "readOnly", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).readOnly = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).readOnly, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).readOnly; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "richText", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).richText = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).richText, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).richText; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "isRichTextEditingAllowed", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).isRichTextEditingAllowed = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).isRichTextEditingAllowed, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).isRichTextEditingAllowed; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_InputField)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_InputField)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_InputField)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_TMPRO - { "TMPro.TMP_ScrollbarEventHandler", new UnityProperty[] { - new UnityProperty { Name = "isSelected", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_ScrollbarEventHandler)o).isSelected = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_ScrollbarEventHandler)o).isSelected, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_ScrollbarEventHandler)o).isSelected; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_ScrollbarEventHandler)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_ScrollbarEventHandler)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_ScrollbarEventHandler)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_TMPRO - { "TMPro.TMP_SubMesh", new UnityProperty[] { - new UnityProperty { Name = "fontAsset", PropertyType = typeof(TMPro.TMP_FontAsset), Setter = (o, v) => ((TMPro.TMP_SubMesh)o).fontAsset = (TMPro.TMP_FontAsset)v, Getter = (o) => ((TMPro.TMP_SubMesh)o).fontAsset, }, - new UnityProperty { Name = "spriteAsset", PropertyType = typeof(TMPro.TMP_SpriteAsset), Setter = (o, v) => ((TMPro.TMP_SubMesh)o).spriteAsset = (TMPro.TMP_SpriteAsset)v, Getter = (o) => ((TMPro.TMP_SubMesh)o).spriteAsset, }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_SubMesh)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_SubMesh)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_SubMesh)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_TMPRO - { "TMPro.TMP_SubMeshUI", new UnityProperty[] { - new UnityProperty { Name = "fontAsset", PropertyType = typeof(TMPro.TMP_FontAsset), Setter = (o, v) => ((TMPro.TMP_SubMeshUI)o).fontAsset = (TMPro.TMP_FontAsset)v, Getter = (o) => ((TMPro.TMP_SubMeshUI)o).fontAsset, }, - new UnityProperty { Name = "spriteAsset", PropertyType = typeof(TMPro.TMP_SpriteAsset), Setter = (o, v) => ((TMPro.TMP_SubMeshUI)o).spriteAsset = (TMPro.TMP_SpriteAsset)v, Getter = (o) => ((TMPro.TMP_SubMeshUI)o).spriteAsset, }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TMPro.TMP_SubMeshUI)o).enabled = (System.Boolean)v, Getter = (o) => ((TMPro.TMP_SubMeshUI)o).enabled, Updater = (object o, ref object v) => { var x = ((TMPro.TMP_SubMeshUI)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.Toggle", new UnityProperty[] { - new UnityProperty { Name = "interactable", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).interactable = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).interactable, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Toggle)o).interactable; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "transition", PropertyType = typeof(UnityEngine.UI.Selectable.Transition), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).transition = (UnityEngine.UI.Selectable.Transition)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).transition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Toggle)o).transition; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetGraphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).targetGraphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).targetGraphic, }, - new UnityProperty { Name = "colors", PropertyType = typeof(UnityEngine.UI.ColorBlock), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).colors = (UnityEngine.UI.ColorBlock)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).colors, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Toggle)o).colors; if (!x.Equals((UnityEngine.UI.ColorBlock)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "navigation", PropertyType = typeof(UnityEngine.UI.Navigation), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).navigation = (UnityEngine.UI.Navigation)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).navigation, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Toggle)o).navigation; if (!x.Equals((UnityEngine.UI.Navigation)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "isOn", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).isOn = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).isOn, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Toggle)o).isOn; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "toggleTransition", PropertyType = typeof(UnityEngine.UI.Toggle.ToggleTransition), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).toggleTransition = (UnityEngine.UI.Toggle.ToggleTransition)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).toggleTransition, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.UI.Toggle)o).toggleTransition; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "graphic", PropertyType = typeof(UnityEngine.UI.Graphic), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).graphic = (UnityEngine.UI.Graphic)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).graphic, }, - new UnityProperty { Name = "group", PropertyType = typeof(UnityEngine.UI.ToggleGroup), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).group = (UnityEngine.UI.ToggleGroup)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).group, }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.Toggle)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.Toggle)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.Toggle)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_GUI - { "UnityEngine.UI.ToggleGroup", new UnityProperty[] { - new UnityProperty { Name = "allowSwitchOff", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ToggleGroup)o).allowSwitchOff = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ToggleGroup)o).allowSwitchOff, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ToggleGroup)o).allowSwitchOff; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UI.ToggleGroup)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UI.ToggleGroup)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UI.ToggleGroup)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - { "UnityEngine.TrailRenderer", new UnityProperty[] { - new UnityProperty { Name = "time", PropertyType = typeof(System.Single), Setter = (o, v) => ((TrailRenderer)o).time = (System.Single)v, Getter = (o) => ((TrailRenderer)o).time, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).time; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "minVertexDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((TrailRenderer)o).minVertexDistance = (System.Single)v, Getter = (o) => ((TrailRenderer)o).minVertexDistance, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).minVertexDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "autodestruct", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TrailRenderer)o).autodestruct = (System.Boolean)v, Getter = (o) => ((TrailRenderer)o).autodestruct, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).autodestruct; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "emitting", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TrailRenderer)o).emitting = (System.Boolean)v, Getter = (o) => ((TrailRenderer)o).emitting, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).emitting; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "colorGradient", PropertyType = typeof(UnityEngine.Gradient), Setter = (o, v) => ((TrailRenderer)o).colorGradient = (UnityEngine.Gradient)v, Getter = (o) => ((TrailRenderer)o).colorGradient, }, - new UnityProperty { Name = "numCornerVertices", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TrailRenderer)o).numCornerVertices = (System.Int32)v, Getter = (o) => ((TrailRenderer)o).numCornerVertices, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).numCornerVertices; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "numCapVertices", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TrailRenderer)o).numCapVertices = (System.Int32)v, Getter = (o) => ((TrailRenderer)o).numCapVertices, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).numCapVertices; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "alignment", PropertyType = typeof(UnityEngine.LineAlignment), Setter = (o, v) => ((TrailRenderer)o).alignment = (UnityEngine.LineAlignment)v, Getter = (o) => ((TrailRenderer)o).alignment, Updater = (object o, ref object v) => { var x = (int)((TrailRenderer)o).alignment; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "textureMode", PropertyType = typeof(UnityEngine.LineTextureMode), Setter = (o, v) => ((TrailRenderer)o).textureMode = (UnityEngine.LineTextureMode)v, Getter = (o) => ((TrailRenderer)o).textureMode, Updater = (object o, ref object v) => { var x = (int)((TrailRenderer)o).textureMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "generateLightingData", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TrailRenderer)o).generateLightingData = (System.Boolean)v, Getter = (o) => ((TrailRenderer)o).generateLightingData, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).generateLightingData; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "shadowBias", PropertyType = typeof(System.Single), Setter = (o, v) => ((TrailRenderer)o).shadowBias = (System.Single)v, Getter = (o) => ((TrailRenderer)o).shadowBias, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).shadowBias; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sharedMaterials", PropertyType = typeof(UnityEngine.Material[]), Setter = (o, v) => ((TrailRenderer)o).sharedMaterials = (UnityEngine.Material[])v, Getter = (o) => ((TrailRenderer)o).sharedMaterials, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).sharedMaterials; if (x.Length != ((UnityEngine.Material[])v).Length) { v = x; return true; } else { v = x; return false; }} }, - new UnityProperty { Name = "shadowCastingMode", PropertyType = typeof(UnityEngine.Rendering.ShadowCastingMode), Setter = (o, v) => ((TrailRenderer)o).shadowCastingMode = (UnityEngine.Rendering.ShadowCastingMode)v, Getter = (o) => ((TrailRenderer)o).shadowCastingMode, Updater = (object o, ref object v) => { var x = (int)((TrailRenderer)o).shadowCastingMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "receiveShadows", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TrailRenderer)o).receiveShadows = (System.Boolean)v, Getter = (o) => ((TrailRenderer)o).receiveShadows, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).receiveShadows; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "lightProbeUsage", PropertyType = typeof(UnityEngine.Rendering.LightProbeUsage), Setter = (o, v) => ((TrailRenderer)o).lightProbeUsage = (UnityEngine.Rendering.LightProbeUsage)v, Getter = (o) => ((TrailRenderer)o).lightProbeUsage, Updater = (object o, ref object v) => { var x = (int)((TrailRenderer)o).lightProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "reflectionProbeUsage", PropertyType = typeof(UnityEngine.Rendering.ReflectionProbeUsage), Setter = (o, v) => ((TrailRenderer)o).reflectionProbeUsage = (UnityEngine.Rendering.ReflectionProbeUsage)v, Getter = (o) => ((TrailRenderer)o).reflectionProbeUsage, Updater = (object o, ref object v) => { var x = (int)((TrailRenderer)o).reflectionProbeUsage; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "motionVectorGenerationMode", PropertyType = typeof(UnityEngine.MotionVectorGenerationMode), Setter = (o, v) => ((TrailRenderer)o).motionVectorGenerationMode = (UnityEngine.MotionVectorGenerationMode)v, Getter = (o) => ((TrailRenderer)o).motionVectorGenerationMode, Updater = (object o, ref object v) => { var x = (int)((TrailRenderer)o).motionVectorGenerationMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "allowOcclusionWhenDynamic", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TrailRenderer)o).allowOcclusionWhenDynamic = (System.Boolean)v, Getter = (o) => ((TrailRenderer)o).allowOcclusionWhenDynamic, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).allowOcclusionWhenDynamic; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sortingLayerID", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TrailRenderer)o).sortingLayerID = (System.Int32)v, Getter = (o) => ((TrailRenderer)o).sortingLayerID, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).sortingLayerID; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Int32), Setter = (o, v) => ((TrailRenderer)o).sortingOrder = (System.Int32)v, Getter = (o) => ((TrailRenderer)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).sortingOrder; if (!x.Equals((System.Int32)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((TrailRenderer)o).enabled = (System.Boolean)v, Getter = (o) => ((TrailRenderer)o).enabled, Updater = (object o, ref object v) => { var x = ((TrailRenderer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - - - { "UnityEngine.Transform", new UnityProperty[] { - new UnityProperty { Name = "localPosition", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((Transform)o).localPosition = (UnityEngine.Vector3)v, Getter = (o) => ((Transform)o).localPosition, Updater = (object o, ref object v) => { var x = ((Transform)o).localPosition; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "localRotation", PropertyType = typeof(UnityEngine.Quaternion), Setter = (o, v) => ((Transform)o).localRotation = (UnityEngine.Quaternion)v, Getter = (o) => ((Transform)o).localRotation, Updater = (object o, ref object v) => { var x = ((Transform)o).localRotation; if (!x.Equals((UnityEngine.Quaternion)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "localScale", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((Transform)o).localScale = (UnityEngine.Vector3)v, Getter = (o) => ((Transform)o).localScale, Updater = (object o, ref object v) => { var x = ((Transform)o).localScale; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - }}, - - - #if UNITY_2021_2_OR_NEWER&&UNITY_UIELEMENTS - { "UnityEngine.UIElements.UIDocument", new UnityProperty[] { - new UnityProperty { Name = "panelSettings", PropertyType = typeof(UnityEngine.UIElements.PanelSettings), Setter = (o, v) => ((UnityEngine.UIElements.UIDocument)o).panelSettings = (UnityEngine.UIElements.PanelSettings)v, Getter = (o) => ((UnityEngine.UIElements.UIDocument)o).panelSettings, }, - new UnityProperty { Name = "visualTreeAsset", PropertyType = typeof(UnityEngine.UIElements.VisualTreeAsset), Setter = (o, v) => ((UnityEngine.UIElements.UIDocument)o).visualTreeAsset = (UnityEngine.UIElements.VisualTreeAsset)v, Getter = (o) => ((UnityEngine.UIElements.UIDocument)o).visualTreeAsset, }, - new UnityProperty { Name = "sortingOrder", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.UIElements.UIDocument)o).sortingOrder = (System.Single)v, Getter = (o) => ((UnityEngine.UIElements.UIDocument)o).sortingOrder, Updater = (object o, ref object v) => { var x = ((UnityEngine.UIElements.UIDocument)o).sortingOrder; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.UIElements.UIDocument)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.UIElements.UIDocument)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.UIElements.UIDocument)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_VIDEO - { "UnityEngine.Video.VideoPlayer", new UnityProperty[] { - new UnityProperty { Name = "source", PropertyType = typeof(UnityEngine.Video.VideoSource), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).source = (UnityEngine.Video.VideoSource)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).source, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Video.VideoPlayer)o).source; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "clip", PropertyType = typeof(UnityEngine.Video.VideoClip), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).clip = (UnityEngine.Video.VideoClip)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).clip, }, - new UnityProperty { Name = "url", PropertyType = typeof(System.String), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).url = (System.String)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).url, }, - new UnityProperty { Name = "playOnAwake", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).playOnAwake = (System.Boolean)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).playOnAwake, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).playOnAwake; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "waitForFirstFrame", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).waitForFirstFrame = (System.Boolean)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).waitForFirstFrame, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).waitForFirstFrame; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "isLooping", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).isLooping = (System.Boolean)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).isLooping, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).isLooping; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "skipOnDrop", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).skipOnDrop = (System.Boolean)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).skipOnDrop, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).skipOnDrop; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "playbackSpeed", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).playbackSpeed = (System.Single)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).playbackSpeed, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).playbackSpeed; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "renderMode", PropertyType = typeof(UnityEngine.Video.VideoRenderMode), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).renderMode = (UnityEngine.Video.VideoRenderMode)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).renderMode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Video.VideoPlayer)o).renderMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetCamera", PropertyType = typeof(UnityEngine.Camera), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).targetCamera = (UnityEngine.Camera)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).targetCamera, }, - new UnityProperty { Name = "targetCameraAlpha", PropertyType = typeof(System.Single), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).targetCameraAlpha = (System.Single)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).targetCameraAlpha, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).targetCameraAlpha; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "targetCamera3DLayout", PropertyType = typeof(UnityEngine.Video.Video3DLayout), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).targetCamera3DLayout = (UnityEngine.Video.Video3DLayout)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).targetCamera3DLayout, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Video.VideoPlayer)o).targetCamera3DLayout; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "aspectRatio", PropertyType = typeof(UnityEngine.Video.VideoAspectRatio), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).aspectRatio = (UnityEngine.Video.VideoAspectRatio)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).aspectRatio, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Video.VideoPlayer)o).aspectRatio; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "audioOutputMode", PropertyType = typeof(UnityEngine.Video.VideoAudioOutputMode), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).audioOutputMode = (UnityEngine.Video.VideoAudioOutputMode)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).audioOutputMode, Updater = (object o, ref object v) => { var x = (int)((UnityEngine.Video.VideoPlayer)o).audioOutputMode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "controlledAudioTrackCount", PropertyType = typeof(System.UInt16), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).controlledAudioTrackCount = (System.UInt16)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).controlledAudioTrackCount, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).controlledAudioTrackCount; if (!x.Equals((System.UInt16)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((UnityEngine.Video.VideoPlayer)o).enabled = (System.Boolean)v, Getter = (o) => ((UnityEngine.Video.VideoPlayer)o).enabled, Updater = (object o, ref object v) => { var x = ((UnityEngine.Video.VideoPlayer)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_VEHICLES - { "UnityEngine.WheelCollider", new UnityProperty[] { - new UnityProperty { Name = "mass", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelCollider)o).mass = (System.Single)v, Getter = (o) => ((WheelCollider)o).mass, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).mass; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "radius", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelCollider)o).radius = (System.Single)v, Getter = (o) => ((WheelCollider)o).radius, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).radius; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "wheelDampingRate", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelCollider)o).wheelDampingRate = (System.Single)v, Getter = (o) => ((WheelCollider)o).wheelDampingRate, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).wheelDampingRate; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "suspensionDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelCollider)o).suspensionDistance = (System.Single)v, Getter = (o) => ((WheelCollider)o).suspensionDistance, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).suspensionDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "forceAppPointDistance", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelCollider)o).forceAppPointDistance = (System.Single)v, Getter = (o) => ((WheelCollider)o).forceAppPointDistance, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).forceAppPointDistance; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "center", PropertyType = typeof(UnityEngine.Vector3), Setter = (o, v) => ((WheelCollider)o).center = (UnityEngine.Vector3)v, Getter = (o) => ((WheelCollider)o).center, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).center; if (!x.Equals((UnityEngine.Vector3)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "suspensionSpring", PropertyType = typeof(UnityEngine.JointSpring), Setter = (o, v) => ((WheelCollider)o).suspensionSpring = (UnityEngine.JointSpring)v, Getter = (o) => ((WheelCollider)o).suspensionSpring, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).suspensionSpring; if (!x.Equals((UnityEngine.JointSpring)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "forwardFriction", PropertyType = typeof(UnityEngine.WheelFrictionCurve), Setter = (o, v) => ((WheelCollider)o).forwardFriction = (UnityEngine.WheelFrictionCurve)v, Getter = (o) => ((WheelCollider)o).forwardFriction, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).forwardFriction; if (!x.Equals((UnityEngine.WheelFrictionCurve)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "sidewaysFriction", PropertyType = typeof(UnityEngine.WheelFrictionCurve), Setter = (o, v) => ((WheelCollider)o).sidewaysFriction = (UnityEngine.WheelFrictionCurve)v, Getter = (o) => ((WheelCollider)o).sidewaysFriction, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).sidewaysFriction; if (!x.Equals((UnityEngine.WheelFrictionCurve)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((WheelCollider)o).enabled = (System.Boolean)v, Getter = (o) => ((WheelCollider)o).enabled, Updater = (object o, ref object v) => { var x = ((WheelCollider)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_PHYSICS_2D - { "UnityEngine.WheelJoint2D", new UnityProperty[] { - new UnityProperty { Name = "enableCollision", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((WheelJoint2D)o).enableCollision = (System.Boolean)v, Getter = (o) => ((WheelJoint2D)o).enableCollision, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).enableCollision; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedBody", PropertyType = typeof(UnityEngine.Rigidbody2D), Setter = (o, v) => ((WheelJoint2D)o).connectedBody = (UnityEngine.Rigidbody2D)v, Getter = (o) => ((WheelJoint2D)o).connectedBody, }, - new UnityProperty { Name = "autoConfigureConnectedAnchor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((WheelJoint2D)o).autoConfigureConnectedAnchor = (System.Boolean)v, Getter = (o) => ((WheelJoint2D)o).autoConfigureConnectedAnchor, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).autoConfigureConnectedAnchor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "anchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((WheelJoint2D)o).anchor = (UnityEngine.Vector2)v, Getter = (o) => ((WheelJoint2D)o).anchor, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).anchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "connectedAnchor", PropertyType = typeof(UnityEngine.Vector2), Setter = (o, v) => ((WheelJoint2D)o).connectedAnchor = (UnityEngine.Vector2)v, Getter = (o) => ((WheelJoint2D)o).connectedAnchor, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).connectedAnchor; if (!x.Equals((UnityEngine.Vector2)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "suspension", PropertyType = typeof(UnityEngine.JointSuspension2D), Setter = (o, v) => ((WheelJoint2D)o).suspension = (UnityEngine.JointSuspension2D)v, Getter = (o) => ((WheelJoint2D)o).suspension, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).suspension; if (!x.Equals((UnityEngine.JointSuspension2D)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "useMotor", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((WheelJoint2D)o).useMotor = (System.Boolean)v, Getter = (o) => ((WheelJoint2D)o).useMotor, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).useMotor; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "motor", PropertyType = typeof(UnityEngine.JointMotor2D), Setter = (o, v) => ((WheelJoint2D)o).motor = (UnityEngine.JointMotor2D)v, Getter = (o) => ((WheelJoint2D)o).motor, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).motor; if (!x.Equals((UnityEngine.JointMotor2D)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakForce", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelJoint2D)o).breakForce = (System.Single)v, Getter = (o) => ((WheelJoint2D)o).breakForce, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).breakForce; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "breakTorque", PropertyType = typeof(System.Single), Setter = (o, v) => ((WheelJoint2D)o).breakTorque = (System.Single)v, Getter = (o) => ((WheelJoint2D)o).breakTorque, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).breakTorque; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "enabled", PropertyType = typeof(System.Boolean), Setter = (o, v) => ((WheelJoint2D)o).enabled = (System.Boolean)v, Getter = (o) => ((WheelJoint2D)o).enabled, Updater = (object o, ref object v) => { var x = ((WheelJoint2D)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; } }, - }}, - #endif - - - #if UNITY_WIND - { "UnityEngine.WindZone", new UnityProperty[] { - new UnityProperty { Name = "mode", PropertyType = typeof(UnityEngine.WindZoneMode), Setter = (o, v) => ((WindZone)o).mode = (UnityEngine.WindZoneMode)v, Getter = (o) => ((WindZone)o).mode, Updater = (object o, ref object v) => { var x = (int)((WindZone)o).mode; if (!x.Equals((int)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "windMain", PropertyType = typeof(System.Single), Setter = (o, v) => ((WindZone)o).windMain = (System.Single)v, Getter = (o) => ((WindZone)o).windMain, Updater = (object o, ref object v) => { var x = ((WindZone)o).windMain; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "windTurbulence", PropertyType = typeof(System.Single), Setter = (o, v) => ((WindZone)o).windTurbulence = (System.Single)v, Getter = (o) => ((WindZone)o).windTurbulence, Updater = (object o, ref object v) => { var x = ((WindZone)o).windTurbulence; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "windPulseMagnitude", PropertyType = typeof(System.Single), Setter = (o, v) => ((WindZone)o).windPulseMagnitude = (System.Single)v, Getter = (o) => ((WindZone)o).windPulseMagnitude, Updater = (object o, ref object v) => { var x = ((WindZone)o).windPulseMagnitude; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - new UnityProperty { Name = "windPulseFrequency", PropertyType = typeof(System.Single), Setter = (o, v) => ((WindZone)o).windPulseFrequency = (System.Single)v, Getter = (o) => ((WindZone)o).windPulseFrequency, Updater = (object o, ref object v) => { var x = ((WindZone)o).windPulseFrequency; if (!x.Equals((System.Single)v)) { v = x; return true; } return false; } }, - }}, - #endif - }; - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/Generated/ProximaReflection.Generated.cs.meta b/Assets/External/Proxima/Runtime/Generated/ProximaReflection.Generated.cs.meta deleted file mode 100644 index 4179e9d8..00000000 --- a/Assets/External/Proxima/Runtime/Generated/ProximaReflection.Generated.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 195ceee437781954394800fb2b18ed2e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/Generated/ProximaReflection.Generated.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/Generated/ProximaReflection.Template.cs b/Assets/External/Proxima/Runtime/Generated/ProximaReflection.Template.cs deleted file mode 100644 index 285276fc..00000000 --- a/Assets/External/Proxima/Runtime/Generated/ProximaReflection.Template.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -namespace Proxima -{ - using UnityProperty = ProximaComponentCommands.PropertyInfo; - - internal static class ProximaReflection_Template - { - public static Dictionary Properties = new Dictionary - { - // - }; - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/Generated/ProximaReflection.Template.cs.meta b/Assets/External/Proxima/Runtime/Generated/ProximaReflection.Template.cs.meta deleted file mode 100644 index 9920bffd..00000000 --- a/Assets/External/Proxima/Runtime/Generated/ProximaReflection.Template.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: b4fde9a24ee322043a11937afe647590 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/Generated/ProximaReflection.Template.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/Proxima.asmdef b/Assets/External/Proxima/Runtime/Proxima.asmdef deleted file mode 100644 index 04b50e50..00000000 --- a/Assets/External/Proxima/Runtime/Proxima.asmdef +++ /dev/null @@ -1,109 +0,0 @@ -{ - "name": "Proxima", - "rootNamespace": "", - "references": [ - "Unity.TextMeshPro" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": true, - "precompiledReferences": [ - "proxima-websocket-sharp.dll" - ], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [ - { - "name": "com.unity.modules.ai", - "expression": "", - "define": "UNITY_AI" - }, - { - "name": "com.unity.modules.cloth", - "expression": "", - "define": "UNITY_CLOTH" - }, - { - "name": "com.unity.modules.animation", - "expression": "", - "define": "UNITY_ANIMATION" - }, - { - "name": "com.unity.modules.particlesystem", - "expression": "", - "define": "UNITY_PARTICLE_SYSTEM" - }, - { - "name": "com.unity.modules.director", - "expression": "", - "define": "UNITY_DIRECTOR" - }, - { - "name": "com.unity.modules.physics2d", - "expression": "", - "define": "UNITY_PHYSICS_2D" - }, - { - "name": "com.unity.modules.audio", - "expression": "", - "define": "UNITY_AUDIO" - }, - { - "name": "com.unity.modules.terrainphysics", - "expression": "", - "define": "UNITY_TERRAIN_PHYSICS" - }, - { - "name": "com.unity.modules.tilemap", - "expression": "", - "define": "UNITY_TILEMAP" - }, - { - "name": "com.unity.modules.video", - "expression": "", - "define": "UNITY_VIDEO" - }, - { - "name": "com.unity.modules.physics", - "expression": "", - "define": "UNITY_PHYSICS" - }, - { - "name": "com.unity.modules.wind", - "expression": "", - "define": "UNITY_WIND" - }, - { - "name": "com.unity.modules.vehicles", - "expression": "", - "define": "UNITY_VEHICLES" - }, - { - "name": "com.unity.textmeshpro", - "expression": "", - "define": "UNITY_TMPRO" - }, - { - "name": "com.unity.ugui", - "expression": "2.0.0", - "define": "UNITY_TMPRO" - }, - { - "name": "com.unity.modules.ui", - "expression": "", - "define": "UNITY_UI" - }, - { - "name": "com.unity.ugui", - "expression": "", - "define": "UNITY_GUI" - }, - { - "name": "com.unity.modules.uielements", - "expression": "", - "define": "UNITY_UIELEMENTS" - } - ], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/Proxima.asmdef.meta b/Assets/External/Proxima/Runtime/Proxima.asmdef.meta deleted file mode 100644 index 35f944af..00000000 --- a/Assets/External/Proxima/Runtime/Proxima.asmdef.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 5aecca43f8b5ec34dbb52f863bdf0e59 -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/Proxima.asmdef - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaCommand.cs b/Assets/External/Proxima/Runtime/ProximaCommand.cs deleted file mode 100644 index 7d86057f..00000000 --- a/Assets/External/Proxima/Runtime/ProximaCommand.cs +++ /dev/null @@ -1,25 +0,0 @@ - -using System; -using UnityEngine.Scripting; - -namespace Proxima -{ - [AttributeUsage(AttributeTargets.Method)] - public class ProximaCommandAttribute : PreserveAttribute - { - public string Category; - public string Alias; - public string Description; - public string ExampleInput; - public string ExampleOutput; - - public ProximaCommandAttribute(string category, string alias = "", string description = "", string exampleInput = "", string exampleOutput = "") - { - Category = category; - Alias = alias; - Description = description; - ExampleInput = exampleInput; - ExampleOutput = exampleOutput; - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaCommand.cs.meta b/Assets/External/Proxima/Runtime/ProximaCommand.cs.meta deleted file mode 100644 index ad456db8..00000000 --- a/Assets/External/Proxima/Runtime/ProximaCommand.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 99574471972d90040a8d9e1fd8bc45da -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaCommand.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaCommandHelpers.cs b/Assets/External/Proxima/Runtime/ProximaCommandHelpers.cs deleted file mode 100644 index 861126fb..00000000 --- a/Assets/External/Proxima/Runtime/ProximaCommandHelpers.cs +++ /dev/null @@ -1,353 +0,0 @@ -using System; -using System.Reflection; -using System.Collections.Generic; -using System.Text.RegularExpressions; -using UnityEngine; -using UnityEngine.Scripting; - -namespace Proxima -{ - public interface IPropertyOrValue - { - object Get(Type type); - } - - public struct PropertyOrValue : IPropertyOrValue - { - private string _pattern; - - [Preserve] - public PropertyOrValue(string pattern) - { - _pattern = pattern; - } - - public bool IsSet => !string.IsNullOrEmpty(_pattern); - - public T Get() - { - return (T)Get(typeof(T)); - } - - public object Get(Type type) - { - var properties = ProximaCommandHelpers.FindProperties(_pattern); - if (properties.Count > 1) - { - throw new Exception("Multiple properties found that match pattern."); - } - - if (properties.Count == 1) - { - var property = properties[0]; - if (property.CanRead && property.Type.IsAssignableFrom(type)) - { - return property.GetValue(); - } - } - - return ProximaSerialization.Deserialize(type, _pattern); - } - - public T GetOrDefault(T defaultValue = default) - { - if (!IsSet) - { - return defaultValue; - } - - return Get(); - } - } - - public static class ProximaCommandHelpers - { - public static List FindGameObjects(string name) - { - #if UNITY_2023_1_OR_NEWER - var allGameObjects = GameObject.FindObjectsByType(FindObjectsInactive.Include, FindObjectsSortMode.None); - #elif UNITY_2020_1_OR_NEWER - var allGameObjects = GameObject.FindObjectsOfType(true); - #else - #pragma warning disable 612, 618 - var allGameObjects = (GameObject[]) GameObject.FindObjectsOfTypeAll(typeof(GameObject)); - #pragma warning restore 612, 618 - #endif - - var objects = new List(); - - if (name.StartsWith("[") && name.EndsWith("]") && int.TryParse(name.Substring(1, name.Length - 2), out var id)) - { - foreach (var o in allGameObjects) - { - if (o.GetInstanceID() == id) - { - objects.Add(o); - break; - } - } - } - else - { - var regex = new Regex("^" + Regex.Escape(name).Replace("\\*", ".*?") + "$", RegexOptions.IgnoreCase); - foreach (var o in allGameObjects) - { - if (o.scene.isLoaded && regex.IsMatch(o.name)) - { - objects.Add(o); - } - } - } - - objects.Sort((a, b) => a.name.ToLower().CompareTo(b.name.ToLower())); - return objects; - } - - internal static List FindProperties(string pattern) - { - var result = new List(); - var idx = pattern.IndexOf('.'); - if (idx == -1) - { - return result; - } - - var objectName = pattern.Substring(0, idx); - var rest = pattern.Substring(idx + 1); - - foreach (var unityStatic in UnityStatics) - { - if (unityStatic.Name.Equals(objectName, StringComparison.OrdinalIgnoreCase)) - { - AddStaticProperty(result, unityStatic, rest); - return result; - } - } - - var gameObjects = FindGameObjects(objectName); - foreach (var o in gameObjects) - { - result.AddRange(FindGameObjectProperties(o, rest)); - } - - return result; - } - - public static Type FindFirstComponentType(string className) - { - var fullType = Type.GetType(className, false, true); - if (fullType != null) - { - return fullType.IsSubclassOf(typeof(UnityEngine.Component)) ? fullType : null; - } - - foreach (Assembly a in AppDomain.CurrentDomain.GetAssemblies()) - { - foreach (var type in a.GetTypes()) - { - if (type.IsSubclassOf(typeof(UnityEngine.Component)) && - type.Name.Equals(className, StringComparison.OrdinalIgnoreCase)) - { - return type; - } - } - } - - return null; - } - - private static bool ComponentMatchesPattern(Component component, string pattern) - { - var type = component.GetType(); - while (type != typeof(Component)) - { - if (type.Name.Equals(pattern, StringComparison.OrdinalIgnoreCase)) - { - return true; - } - - type = type.BaseType; - } - - return false; - } - - private static List FindGameObjectProperties(GameObject obj, string pattern) - { - var descriptor = obj.name + " [" + obj.GetInstanceID() + "]"; - var result = new List(); - if (TryAddObjectProperty(result, descriptor, obj, pattern)) - { - return result; - } - - var idx = pattern.IndexOf('.'); - if (idx >= 0) - { - var componentName = pattern.Substring(0, idx); - var rest = pattern.Substring(idx + 1); - foreach (var component in obj.GetComponents()) - { - if (ComponentMatchesPattern(component, componentName)) - { - TryAddObjectProperty(result, descriptor, component, rest); - } - } - } - else - { - foreach (var component in obj.GetComponents()) - { - if (ComponentMatchesPattern(component, pattern)) - { - result.Add(new PropertyOrField(descriptor, component)); - } - } - } - - return result; - } - - private static bool TryAddObjectProperty(List list, string descriptor, object obj, string pattern) - { - var result = new List(); - var prop = obj.GetType().GetProperty(pattern, BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase); - var field = obj.GetType().GetField(pattern, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.IgnoreCase); - if (prop != null || field != null) - { - list.Add(new PropertyOrField(descriptor, obj, prop, field)); - return true; - } - - return false; - } - - private static void AddStaticProperty(List list, Type staticType, string pattern) - { - var result = new List(); - var prop = staticType.GetProperty(pattern, BindingFlags.Public | BindingFlags.Static | BindingFlags.IgnoreCase); - var field = staticType.GetField(pattern, BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.IgnoreCase); - if (prop != null || field != null) - { - var name = prop != null ? prop.Name : field.Name; - list.Add(new PropertyOrField(staticType.Name + "." + name, null, prop, field)); - } - } - - private static Type[] UnityStatics = new Type[] { - typeof(Application), typeof(Time), typeof(Screen), typeof(QualitySettings), typeof(Input), - - #if UNITY_PHYSICS - typeof(Physics), - #endif - - #if UNITY_AUDIO - typeof(AudioSettings), - #endif - - #if UNITY_PHYSICS_2D - typeof(Physics2D) - #endif - }; - } - - internal class PropertyOrField - { - public string Descriptor { get; set; } - public object Object { get; set; } - public PropertyInfo Property { get; set; } - public FieldInfo Field { get; set; } - public object Value { get; set; } - - public PropertyOrField(string descriptor, object obj, PropertyInfo property, FieldInfo field) - { - Descriptor = descriptor; - Object = obj; - Property = property; - Field = field; - } - - public PropertyOrField(string descriptor, object value) - { - Descriptor = descriptor; - Value = value; - } - - public void SetValue(object value) - { - if (Property != null && Property.CanWrite) - { - Property.SetValue(Object, value); - } - else if (Field != null) - { - Field.SetValue(Object, value); - } - } - - public object GetValue() - { - if (Property != null && Property.CanRead) - { - return Property.GetValue(Object); - } - else if (Field != null) - { - return Field.GetValue(Object); - } - else - { - return Value; - } - } - - public Type Type - { - get - { - if (Property != null) - { - return Property.PropertyType; - } - else if (Field != null) - { - return Field.FieldType; - } - else - { - return Value?.GetType(); - } - } - } - - public bool CanWrite - { - get - { - if (Property != null) - { - return Property.CanWrite; - } - else - { - return Field != null; - } - } - } - - public bool CanRead - { - get - { - if (Property != null) - { - return Property.CanRead; - } - else - { - return Field != null || Value != null; - } - } - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaCommandHelpers.cs.meta b/Assets/External/Proxima/Runtime/ProximaCommandHelpers.cs.meta deleted file mode 100644 index b68e0d9a..00000000 --- a/Assets/External/Proxima/Runtime/ProximaCommandHelpers.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 1e0f703866146ad4d9d9ef9f598eb95f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaCommandHelpers.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaComponentCommands.cs b/Assets/External/Proxima/Runtime/ProximaComponentCommands.cs deleted file mode 100644 index 9f3948ac..00000000 --- a/Assets/External/Proxima/Runtime/ProximaComponentCommands.cs +++ /dev/null @@ -1,846 +0,0 @@ -using System; -using System.Linq; -using System.Collections; -using System.Collections.Generic; -using System.Reflection; -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine.Scripting; - -namespace Proxima -{ - internal delegate void PropertySetter(object obj, object value); - internal delegate object PropertyGetter(object obj); - internal delegate bool PropertyUpdater(object obj, ref object value); - - internal class ProximaComponentCommands - { - [Serializable] - internal class ButtonInfo - { - public string Id; - public string Text; - - [NonSerialized] - public MethodInfo Method; - } - - [Serializable] - internal class PropertyInfo - { - public string Name; - public string Type; - - [SerializeIf("ShouldSerializeValue")] - public object Value; - - [Preserve] - public bool ShouldSerializeValue() - { - return Children == null || Type.StartsWith("Object "); - } - - public object Children; - public List ChildProps => (List)Children; - - [NonSerialized] - public PropertySetter Setter; - - [NonSerialized] - public PropertyGetter Getter; - - [NonSerialized] - public PropertyUpdater Updater; - - [NonSerialized] - public Type PropertyType; - } - - [Serializable] - internal class ComponentInfo - { - public int Id; - public int Order; - public string Name; - public object Properties; - public List Props => (List)Properties; - public object Buttons; - public List Btns => (List)Buttons; - - [NonSerialized] - public Component Component; - - [NonSerialized] - public bool Temp; - } - - [Serializable] - internal class ComponentList - { - public object Components = new List(); - public List Comps => (List)Components; - public List Destroyed = new List(); - } - - private static Dictionary _goToStream; - private static Dictionary _streams; - private static Dictionary _idToComponentInfo; - public static Dictionary IdToComponentInfo => _idToComponentInfo; - - private static List _pool = new List(); - private static readonly int _poolSize = 25; - - internal static Action ProHook_CreateComponentButtons; - - private static ComponentInfo GetFromPool(int id, string name, Component component, bool temp) - { - ComponentInfo info; - if (_pool.Count > 0) - { - info = _pool[_pool.Count - 1]; - _pool.RemoveAt(_pool.Count - 1); - } - else - { - info = new ComponentInfo { - Properties = new List(), - Buttons = new List() - }; - } - - info.Id = id; - info.Name = name; - info.Component = component; - info.Temp = temp; - return info; - } - - private static void ReturnToPool(ComponentInfo info) - { - if (_pool.Count >= _poolSize) - { - return; - } - - info.Id = 0; - info.Name = null; - info.Component = null; - info.Props.Clear(); - info.Btns.Clear(); - _pool.Add(info); - } - - private static bool AreEqual(object lhs, object rhs) - { - if (lhs == null && rhs == null) - { - return true; - } - - if (lhs == null || rhs == null) - { - return false; - } - - return lhs.Equals(rhs); - } - - [ProximaInitialize] - public static void Init() - { - _goToStream = new Dictionary(); - _streams = new Dictionary(); - _idToComponentInfo = new Dictionary(); - } - - [ProximaTeardown] - public static void Teardown() - { - foreach (var stream in _streams.Values) - { - stream.Cleanup(); - } - - _goToStream.Clear(); - _streams.Clear(); - _idToComponentInfo.Clear(); - } - - private class ComponentStream - { - public HashSet ActiveStreamIds = new HashSet(); - public HashSet PendingStreamIds = new HashSet(); - public int GameObjectId; - - private List _components = new List(); - private ComponentList _componentList = new ComponentList(); - private ComponentList _changeList = new ComponentList(); - private int _lastUpdateFrame; - private int _lastUpdatedIndex; - - public ComponentList Update(string id) - { - UpdateChangeList(); - - if (PendingStreamIds.Contains(id)) - { - PendingStreamIds.Remove(id); - ActiveStreamIds.Add(id); - return _componentList; - } - - bool changed = _changeList.Comps.Count > 0 || _changeList.Destroyed.Count > 0; - return changed ? _changeList : null; - } - - public void Cleanup() - { - foreach (var ci in _componentList.Comps) - { - _idToComponentInfo.Remove(ci.Id); - ReturnToPool(ci); - } - } - - private void UpdateChangeList() - { - if (_lastUpdateFrame == Time.frameCount) - { - return; - } - - _lastUpdateFrame = Time.frameCount; - - var cis = _changeList.Comps; - for (int i = 0 ; i < cis.Count; i++) - { - if (cis[i].Temp) - { - ReturnToPool(cis[i]); - } - } - - _changeList.Comps.Clear(); - _changeList.Destroyed.Clear(); - - if (!ProximaGameObjectCommands.IdToGameObject.TryGetValue(GameObjectId, out var go) || !go) - { - return; - } - - go.GetComponents(_components); - UpdateDeletedComponents(); - - if (_lastUpdatedIndex >= _components.Count) - { - if (_lastUpdatedIndex < ProximaInspector.MaxComponentUpdateFrequency) - { - _lastUpdatedIndex++; - return; - } - else - { - _lastUpdatedIndex = 0; - } - } - - UpdateComponentInfo(_components[_lastUpdatedIndex], _lastUpdatedIndex); - _lastUpdatedIndex++; - } - - private bool ShouldHide(Component component) - { - return !ProximaGameObjectCommands.ShowHidden && component.hideFlags.HasFlag(HideFlags.HideInInspector); - } - - private void UpdateDeletedComponents() - { - for (int i = _componentList.Comps.Count - 1; i >= 0; i--) - { - var ci = _componentList.Comps[i]; - if (!ci.Component || ShouldHide(ci.Component)) - { - _idToComponentInfo.Remove(ci.Id); - _componentList.Comps.RemoveAt(i); - _changeList.Destroyed.Add(ci.Id); - ReturnToPool(ci); - } - } - } - - private void UpdateComponentInfo(Component component, int order) - { - if (ShouldHide(component)) - { - return; - } - - var id = component.GetInstanceID(); - if (!_idToComponentInfo.TryGetValue(id, out var ci)) - { - ci = GetFromPool(id, component.GetType().Name, component, false); - ci.Order = order; - _componentList.Comps.Add(ci); - _idToComponentInfo.Add(component.GetInstanceID(), ci); - CreateComponentProperties(component, ci); - ProHook_CreateComponentButtons?.Invoke(component, ci); - _changeList.Comps.Add(ci); - } - else - { - UpdateProperties(ci, order); - } - } - - private bool CallUpdater(object parent, PropertyInfo property) - { - return property.Updater(parent, ref property.Value); - } - - private bool UpdatePropertyValue(object parent, PropertyInfo property, bool force) - { - if (force && property.Getter != null) - { - property.Value = property.Getter(parent); - return true; - } - else if (property.Updater != null) - { - return CallUpdater(parent, property); - } - else if (property.Getter != null) - { - var value = property.Getter(parent); - if (!AreEqual(value, property.Value)) - { - property.Value = value; - return true; - } - } - - return false; - } - - private bool UpdateProperty(object parent, PropertyInfo property) - { - bool changed = UpdatePropertyValue(parent, property, false); - if (property.Value != null && property.Children != null) - { - if (ArrayOrList.IsArrayOrList(property.PropertyType)) - { - changed = UpdateArrayItemProperties(property) || changed; - } - - if (property.ChildProps != null) - { - foreach (var child in property.ChildProps) - { - changed = UpdateProperty(property.Value, child) || changed; - } - } - } - - return changed; - } - - private void UpdateProperties(ComponentInfo ci, int order) - { - ComponentInfo clci = null; - for (int i = 0; i < ci.Props.Count; i++) - { - var property = ci.Props[i]; - if (UpdateProperty(ci.Component, property)) - { - if (clci == null) - { - clci = GetFromPool(ci.Id, ci.Name, ci.Component, true); - _changeList.Comps.Add(clci); - } - - clci.Props.Add(property); - } - } - - if (ci.Order != order) - { - ci.Order = order; - if (clci == null) - { - clci = GetFromPool(ci.Id, ci.Name, ci.Component, true); - _changeList.Comps.Add(clci); - } - - clci.Order = order; - } - } - - private void UpdateChildProperties(PropertyGetter parentGetter, List list) - { - var parent = parentGetter(null); - if (parent != null) - { - foreach (var property in list) - { - UpdatePropertyValue(parent, property, false); - } - } - } - - private void CreateComponentProperties(Component component, ComponentInfo ci) - { - ci.Properties = new List(); - var type = component.GetType(); - - if (ProximaReflection_Generated.Properties.TryGetValue(component.GetType().FullName, out var props)) - { - CreatePropertiesFromOverride(ci, props); - } - else if (component is MonoBehaviour) - { - CreatePropertiesForMonoBehaviour(component, ci); - } - else - { - CreatePropertiesForNativeObject(component, ci); - } - } - - private void CreatePropertiesFromOverride(ComponentInfo ci, PropertyInfo[] props) - { - foreach (var prop in props) - { - AddPropertyRecursively(ci.Component, ci.Props, prop.Name, prop.PropertyType, prop.Setter, prop.Getter, prop.Updater); - } - } - - private PropertyInfo AddPropertyToList(object parent, List list, string name, Type type, PropertySetter setter, PropertyGetter getter, PropertyUpdater updater) - { - var propInfo = new PropertyInfo { - Name = name, - Type = ProximaSerialization.GetSerializedTypeName(type), - PropertyType = type, - Setter = setter, - Getter = getter, - Updater = updater - }; - - UpdatePropertyValue(parent, propInfo, true); - list.Add(propInfo); - return propInfo; - } - - private PropertyGetter GetPropertyGetter(System.Reflection.PropertyInfo property, FieldInfo field) - { - if (property != null && property.CanRead) - { - return property.GetValue; - } - else if (field != null) - { - return field.GetValue; - } - - return null; - } - - private PropertySetter GetPropertySetter(System.Reflection.PropertyInfo property, FieldInfo field) - { - if (property != null && property.CanWrite) - { - return property.SetValue; - } - else if (field != null) - { - return field.SetValue; - } - - return null; - } - - private bool UpdateArrayItemProperties(PropertyInfo property) - { - if (property.Value == null) - { - if (property.Children != null) - { - property.Children = null; - return true; - } - - return false; - } - - if (property.Children == null) - { - property.Children = new List(); - } - - var length = ArrayOrList.Count(property.Value); - var oldLength = property.ChildProps.Count; - - if (length < oldLength) - { - property.ChildProps.RemoveRange(length, oldLength - length); - return true; - } - - if (length > oldLength) - { - var elementType = ArrayOrList.GetElementType(property.PropertyType); - while (length > oldLength) - { - var index = oldLength; - PropertySetter setter = (o, v) => ArrayOrList.Set(o, index, v); - PropertyGetter getter = (o) => ArrayOrList.Get(o, index); - AddPropertyRecursively(property.Value, property.ChildProps, index.ToString(), elementType, setter, getter); - oldLength++; - } - - return true; - } - - return false; - } - - private void AddPropertyRecursively(object parent, List list, string name, Type type, PropertySetter setter, PropertyGetter getter, PropertyUpdater updater = null) - { - if (HasEditor(type)) - { - var propInfo = AddPropertyToList(parent, list, name, type, setter, getter, updater); - - if (type.IsSubclassOf(typeof(UnityEngine.Object)) && (propInfo.Value as UnityEngine.Object) != null) - { - var valueType = propInfo.Value.GetType(); - if (type == typeof(Material)) - { - propInfo.Children = new List(); - AddMaterialProperties(propInfo.Value as Material, propInfo.ChildProps); - } - else if (valueType.IsSubclassOf(typeof(ScriptableObject))) - { - propInfo.Children = new List(); - AddChildProperties(propInfo.Value, valueType, propInfo.ChildProps); - } - } - } - else if (ArrayOrList.IsArrayOrList(type)) - { - var propInfo = AddPropertyToList(parent, list, name, type, setter, getter, updater); - UpdateArrayItemProperties(propInfo); - } - else - { - var propInfo = AddPropertyToList(parent, list, name, type, setter, getter, updater); - propInfo.Children = new List(); - if (propInfo.Value != null) - { - AddChildProperties(propInfo.Value, type, propInfo.ChildProps); - } - } - } - - private void AddMaterialProperties(Material material, List children) - { - var shader = material.shader; - int propertyCount = shader.GetPropertyCount(); - - for (int i = 0; i < propertyCount; i++) - { - string propertyName = shader.GetPropertyName(i); - var propertyType = shader.GetPropertyType(i); - - switch (propertyType) - { - case ShaderPropertyType.Color: - AddPropertyToList(material, children, propertyName, - typeof(Color), - (o, v) => material.SetColor(propertyName, (Color)v), - o => material.GetColor(propertyName), null); - break; - - case ShaderPropertyType.Vector: - AddPropertyToList(material, children, propertyName, - typeof(Vector4), - (o, v) => material.SetVector(propertyName, (Vector4)v), - o => material.GetVector(propertyName), null); - break; - - case ShaderPropertyType.Float: - case ShaderPropertyType.Range: - AddPropertyToList(material, children, propertyName, - typeof(float), - (o, v) => material.SetFloat(propertyName, (float)v), - o => material.GetFloat(propertyName), null); - break; - - case ShaderPropertyType.Texture: - AddPropertyToList(material, children, propertyName, - typeof(Texture), - (o, v) => material.SetTexture(propertyName, (Texture)v), - o => material.GetTexture(propertyName), null); - break; - - #if UNITY_2021_1_OR_NEWER - case ShaderPropertyType.Int: - AddPropertyToList(material, children, propertyName, - typeof(int), - (o, v) => material.SetInt(propertyName, (int)v), - o => material.GetInt(propertyName), null); - break; - #endif - } - } - } - - private void AddPropertyRecursively(object parent, List list, string name, System.Reflection.PropertyInfo property, FieldInfo field) - { - var type = property != null ? property.PropertyType : field.FieldType; - var setter = GetPropertySetter(property, field); - var getter = GetPropertyGetter(property, field); - AddPropertyRecursively(parent, list, name, type, setter, getter); - } - - private void AddEnabledProperty(ComponentInfo ci) - { - PropertySetter setter = (c, v) => ((MonoBehaviour)c).enabled = (bool)v; - PropertyGetter getter = c => ((MonoBehaviour)c).enabled; - PropertyUpdater updater = (object o, ref object v) => { var x = ((MonoBehaviour)o).enabled; if (!x.Equals((System.Boolean)v)) { v = x; return true; } return false; }; - AddPropertyToList(ci.Component, ci.Props, "enabled", typeof(bool), setter, getter, updater); - } - - private static List _nativeSerializedTypes = new List() { - typeof(Gradient), typeof(AnimationCurve), typeof(Keyframe), - // These types are problematic because Gradient returns a new array copy in the getter. - // typeof(GradientColorKey), typeof(GradientAlphaKey), -#if UNITY_PHYSICS - typeof(SoftJointLimit), typeof(SoftJointLimitSpring), - typeof(JointDrive), typeof(JointMotor), typeof(JointSpring), - typeof(JointLimits), typeof(WheelFrictionCurve), -#endif -#if UNITY_PHYSICS_2D - typeof(JointAngleLimits2D), typeof(JointTranslationLimits2D), - typeof(JointMotor2D), typeof(JointSuspension2D), -#endif -#if UNITY_UI - typeof(RectOffset), -#endif - }; - - private void AddChildProperties(object parent, Type type, List list) - { - foreach (var field in type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) - { - if ((field.IsPublic || field.GetCustomAttribute() != null) && - field.GetCustomAttribute() == null) - { - // If there's a custom editor, often just changing a field will have no effect. - // Search for a corresponding property we can use instead. - // https://docs.unity3d.com/Manual/VariablesAndTheInspector.html - var fieldWithoutPrefix = - field.Name.StartsWith("m_") ? field.Name.Substring(2) : - // field.Name.StartsWith("k") ? field.Name.Substring(1) : // This isn't true... - field.Name.StartsWith("_") ? field.Name.Substring(1) : - field.Name; - - var fieldWithoutPrefixUpperCase = fieldWithoutPrefix[0].ToString().ToUpper() + fieldWithoutPrefix.Substring(1); - var property = type.GetProperties().FirstOrDefault(p => p.Name == fieldWithoutPrefix || p.Name == fieldWithoutPrefixUpperCase); - if (property != null && property.PropertyType == field.FieldType && ShouldUseProperty(property)) - { - AddPropertyRecursively(parent, list, property.Name, property, field); - } - else if (ShouldUseField(field)) - { - AddPropertyRecursively(parent, list, field.Name, null, field); - } - } - } - - if (_nativeSerializedTypes.Contains(type)) - { - foreach (var property in type.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)) - { - if (property.CanWrite && ShouldUseProperty(property)) - { - AddPropertyRecursively(parent, list, property.Name, property, null); - } - } - } - } - - private void CreatePropertiesForMonoBehaviour(Component component, ComponentInfo ci) - { - AddEnabledProperty(ci); - AddChildProperties(component, component.GetType(), ci.Props); - } - - private static HashSet _typesWithEditor = new HashSet - { - typeof(string).Name, typeof(bool).Name, typeof(byte).Name, typeof(sbyte).Name, - typeof(short).Name, typeof(ushort).Name, - typeof(int).Name, typeof(uint).Name, typeof(long).Name, typeof(ulong).Name, - typeof(float).Name, typeof(double).Name, - typeof(Vector2).Name, typeof(Vector3).Name, typeof(Vector4).Name, - typeof(Vector2Int).Name, typeof(Vector3Int).Name, typeof(Quaternion).Name, - typeof(Rect).Name, typeof(RectInt).Name, typeof(Bounds).Name, typeof(BoundsInt).Name, - typeof(Color).Name, typeof(LayerMask).Name - }; - - private static HashSet _disallowedAttrs = new HashSet - { - "HideInInspector", "ObsoleteAttribute", "NativeConditionalAttribute", "EditorBrowsableAttribute" - }; - - private bool HasEditor(Type type) - { - return _typesWithEditor.Contains(type.Name) || - type.IsEnum || - type.IsSubclassOf(typeof(UnityEngine.Object)); - } - - private bool ShouldUseType(Type type) - { - if (!type.IsArray && type.IsSerializable) - { - return true; - } - - if (HasEditor(type)) - { - return true; - } - - if (type.IsArray && ShouldUseType(type.GetElementType())) - { - return true; - } - - if (typeof(IList).IsAssignableFrom(type) && type.IsGenericType && ShouldUseType(type.GetGenericArguments()[0])) - { - return true; - } - - if (_nativeSerializedTypes.Contains(type)) - { - return true; - } - - return false; - } - - private bool ShouldUse(IEnumerable attributes, string name, Type type) - { - var attrs = attributes.Select(a => a.GetType().Name); - return - ShouldUseType(type) && - !attrs.Intersect(_disallowedAttrs).Any(); - } - - private bool ShouldUseProperty(System.Reflection.PropertyInfo property) - { - return ShouldUse(property.GetCustomAttributes(), property.Name, property.PropertyType); - } - - private bool ShouldUseField(FieldInfo field) - { - return ShouldUse(field.GetCustomAttributes(), field.Name, field.FieldType); - } - - private void CreatePropertiesForNativeObject(Component component, ComponentInfo ci) - { - // Fallback to just enumerating public properties. This works well for some components. - foreach (var property in component.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public)) - { - if (ShouldUseProperty(property)) - { - AddPropertyRecursively(ci.Component, ci.Props, property.Name, property, null); - } - } - } - } - - [ProximaStreamStart("Components")] - public static void StartStream(string id, int gameObjectId) - { - if (!_goToStream.TryGetValue(gameObjectId, out var stream)) - { - stream = new ComponentStream(); - stream.GameObjectId = gameObjectId; - _goToStream.Add(gameObjectId, stream); - } - - stream.PendingStreamIds.Add(id); - _streams.Add(id, stream); - } - - [ProximaStreamUpdate("Components")] - public static ComponentList UpdateStream(string id) - { - if (_streams.TryGetValue(id, out var stream)) - { - return stream.Update(id); - } - - return null; - } - - [ProximaStreamStop("Components")] - public static void StopStream(string id) - { - if (_streams.TryGetValue(id, out var stream)) - { - stream.PendingStreamIds.Remove(id); - stream.ActiveStreamIds.Remove(id); - if (stream.PendingStreamIds.Count == 0 && stream.ActiveStreamIds.Count == 0) - { - stream.Cleanup(); - _goToStream.Remove(stream.GameObjectId); - } - } - - _streams.Remove(id); - } - - [ProximaCommand("Internal")] - public static void DestroyComponent(int id) - { - if (!_idToComponentInfo.TryGetValue(id, out var ci)) - { - Log.Warning($"DestroyComponent: Component with id {id} not found"); - return; - } - - if (ci.Component) - { - UnityEngine.Object.DestroyImmediate(ci.Component); - } - } - - public static object GetPropertyValueForTest(int componentId, string name) - { - if (_idToComponentInfo.TryGetValue(componentId, out var ci)) - { - var prop = ci.Props.Find(p => p.Name == name); - if (prop != null) - { - return prop.Getter(ci.Component); - } - } - - return null; - } - - public static Type GetPropertyTypeForTest(int componentId, string name) - { - if (_idToComponentInfo.TryGetValue(componentId, out var ci)) - { - var prop = ci.Props.Find(p => p.Name == name); - if (prop != null) - { - return prop.PropertyType; - } - } - - return null; - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaComponentCommands.cs.meta b/Assets/External/Proxima/Runtime/ProximaComponentCommands.cs.meta deleted file mode 100644 index 2190ddf1..00000000 --- a/Assets/External/Proxima/Runtime/ProximaComponentCommands.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 0f7284d77cab99b45a8412399566627f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaComponentCommands.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaConnectUI.cs b/Assets/External/Proxima/Runtime/ProximaConnectUI.cs deleted file mode 100644 index f55e9691..00000000 --- a/Assets/External/Proxima/Runtime/ProximaConnectUI.cs +++ /dev/null @@ -1,229 +0,0 @@ -#if UNITY_TMPRO - -using TMPro; -using UnityEngine; -using UnityEngine.EventSystems; -using UnityEngine.UI; - -namespace Proxima -{ - [HelpURL("https://www.unityproxima.com/docs")] - public class ProximaConnectUI : MonoBehaviour - { - // Insepctor to start and stop. - [SerializeField] - private ProximaInspector _proximaInspector; - public ProximaInspector ProximaInspector - { - get => _proximaInspector; - set => _proximaInspector = value; - } - - // Input field to enter the display name. - [SerializeField] - private TMP_InputField _displayNameInputField; - public TMP_InputField DisplayNameInputField - { - get => _displayNameInputField; - set => _displayNameInputField = value; - } - - // Input field to enter the password. - [SerializeField] - private TMP_InputField _passwordInputField; - public TMP_InputField PasswordInputField - { - get => _passwordInputField; - set => _passwordInputField = value; - } - - // Text to display errors. - [SerializeField] - private TMP_Text _errorLabel; - public TMP_Text ErrorLabel - { - get => _errorLabel; - set => _errorLabel = value; - } - - // Button to start Proxima. - [SerializeField] - private Button _startButton; - public Button StartButton - { - get => _startButton; - set => _startButton = value; - } - - // Button to open Proxima in the browser. - [SerializeField] - private Button _openButton; - public Button OpenButton - { - get => _openButton; - set => _openButton = value; - } - - // Button to stop Proxima. - [SerializeField] - private Button _stopButton; - public Button StopButton - { - get => _stopButton; - set => _stopButton = value; - } - - // GameObject to show when Proxima is not started. - [SerializeField] - private GameObject _connectUIRoot; - public GameObject ConnectUIRoot - { - get => _connectUIRoot; - set => _connectUIRoot = value; - } - - // GameObject to show when Proxima is started. - [SerializeField] - private GameObject _startedUIRoot; - public GameObject StartedUIRoot - { - get => _startedUIRoot; - set => _startedUIRoot = value; - } - - // Button to show/hide the UI. - [SerializeField] - private Button _showHideButton; - public Button ShowHideButton - { - get => _showHideButton; - set => _showHideButton = value; - } - - void Start() - { - if (EventSystem.current == null) - { - gameObject.AddComponent(); - gameObject.AddComponent(); - } - - _proximaInspector.Status.Changed += OnStatusChanged; - _displayNameInputField.text = _proximaInspector.DisplayName; - _displayNameInputField.onSubmit.AddListener((s) => _passwordInputField.Select()); - _startButton.onClick.AddListener(OnStartButtonClicked); - - if (_openButton) - { - #if UNITY_WEBGL && !UNITY_EDITOR - var trigger = _openButton.gameObject.AddComponent(); - var pointerDown = new EventTrigger.Entry(); - pointerDown.eventID = EventTriggerType.PointerDown; - pointerDown.callback.AddListener((e) => { - ProximaWebGLConnection.OpenOnMouseUp(_proximaInspector.Status.ConnectInfo); - }); - trigger.triggers.Add(pointerDown); - #else - _openButton.onClick.AddListener(() => { - Application.OpenURL(_proximaInspector.Status.ConnectInfo); - }); - #endif - } - - _stopButton.onClick.AddListener(OnStopButtonClicked); - _showHideButton.onClick.AddListener(TogglePanel); - _passwordInputField.onSubmit.AddListener((s) => OnStartButtonClicked()); - - OnStatusChanged(); - } - - private void OnDestroy() - { - if (_proximaInspector) - { - _proximaInspector.Status.Changed -= OnStatusChanged; - } - } - - private void OnStatusChanged() - { - _startButton.interactable = !_proximaInspector.Status.IsRunning; - - if (_proximaInspector.Status.Listening) - { - _startedUIRoot.SetActive(true); - _connectUIRoot.SetActive(false); - } - else - { - _startedUIRoot.SetActive(false); - _connectUIRoot.SetActive(true); - } - - if (_errorLabel != null) - { - _errorLabel.text = _proximaInspector.Status.Error; - _errorLabel.gameObject.SetActive(!string.IsNullOrWhiteSpace(_proximaInspector.Status.Error)); - } - } - - private void OnStartButtonClicked() - { - if (_proximaInspector != null && - _passwordInputField != null && - _displayNameInputField != null && - !_proximaInspector.Status.IsRunning) - { - _proximaInspector.Password = _passwordInputField.text; - _proximaInspector.DisplayName = _displayNameInputField.text; - _proximaInspector.Run(); - } - } - - private void OnStopButtonClicked() - { - if (_proximaInspector != null) - { - _proximaInspector.Stop(); - } - } - - private void Update() - { - if (Input.GetKeyDown(KeyCode.Escape)) - { - HidePanel(); - } - } - - public void ShowPanel() - { - var panel = transform.GetChild(0).gameObject; - panel.SetActive(true); - } - - public void HidePanel() - { - var panel = transform.GetChild(0).gameObject; - panel.SetActive(false); - } - - public void TogglePanel() - { - var panel = transform.GetChild(0).gameObject; - panel.SetActive(!panel.activeSelf); - } - } -} - -#else - -namespace Proxima -{ - public class ProximaConnectUI : UnityEngine.MonoBehaviour - { - public ProximaInspector ProximaInspector; - } -} - -#endif \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaConnectUI.cs.meta b/Assets/External/Proxima/Runtime/ProximaConnectUI.cs.meta deleted file mode 100644 index 4c61c5b4..00000000 --- a/Assets/External/Proxima/Runtime/ProximaConnectUI.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: d20fb960dcd6aee4c91d76796c4e489a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaConnectUI.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaConnection.cs b/Assets/External/Proxima/Runtime/ProximaConnection.cs deleted file mode 100644 index 15d6fb1b..00000000 --- a/Assets/External/Proxima/Runtime/ProximaConnection.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System.IO; - -namespace Proxima -{ - internal interface ProximaConnection - { - bool Open { get; } - void SendMessage(MemoryStream data); - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaConnection.cs.meta b/Assets/External/Proxima/Runtime/ProximaConnection.cs.meta deleted file mode 100644 index 81834a9a..00000000 --- a/Assets/External/Proxima/Runtime/ProximaConnection.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 191b8b0b4ac76204b84195265c432cd3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaConnection.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaDispatcher.cs b/Assets/External/Proxima/Runtime/ProximaDispatcher.cs deleted file mode 100644 index 090ded30..00000000 --- a/Assets/External/Proxima/Runtime/ProximaDispatcher.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Concurrent; -using UnityEngine; - -namespace Proxima -{ - internal class ProximaDispatcher - { - private ConcurrentQueue _queue = new ConcurrentQueue(); - private MonoBehaviour _coroutineRunner; - - public ProximaDispatcher(MonoBehaviour coroutineRunner) - { - _coroutineRunner = coroutineRunner; - } - - public void Dispatch(Action action) - { - _queue.Enqueue(action); - } - - public void InvokeAll() - { - while (_queue.TryDequeue(out var action)) - { - try - { - action(); - } - catch (Exception e) - { - Log.Exception(e); - } - } - } - - public void StartCoroutine(IEnumerator coroutine) - { - if (_coroutineRunner) - { - _coroutineRunner.StartCoroutine(coroutine); - } - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaDispatcher.cs.meta b/Assets/External/Proxima/Runtime/ProximaDispatcher.cs.meta deleted file mode 100644 index d76de2b8..00000000 --- a/Assets/External/Proxima/Runtime/ProximaDispatcher.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: eada919c535fd264ab8d40736ba71513 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaDispatcher.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaFeatures.cs b/Assets/External/Proxima/Runtime/ProximaFeatures.cs deleted file mode 100644 index 158b352e..00000000 --- a/Assets/External/Proxima/Runtime/ProximaFeatures.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System.Collections.Generic; -using System.Reflection; - -namespace Proxima -{ - internal class ProximaFeatures - { - [ProximaCommand("Internal")] - public static List GetInstalledFeatures() - { - var features = new List(); - var assembly = Assembly.GetAssembly(typeof(ProximaInspector)); - - if (assembly.GetType("Proxima.ProximaConsoleCommands") != null) - { - features.Add("console"); - } - - if (assembly.GetType("Proxima.ProximaProComponentCommands") != null) - { - features.Add("inspectorEdit"); - } - - if (assembly.GetType("Proxima.ProximaProfilerCommands") != null) - { - features.Add("profiler"); - } - - return features; - } - - public static void RegisterProFeatures() - { - ProximaInspector.RegisterCommands(); - - var assembly = Assembly.GetAssembly(typeof(ProximaInspector)); - - var consoleCommands = assembly.GetType("Proxima.ProximaConsoleCommands"); - if (consoleCommands != null) - { - ProximaInspector.RegisterCommands(consoleCommands); - } - - var proComponentCommands = assembly.GetType("Proxima.ProximaProComponentCommands"); - if (proComponentCommands != null) - { - ProximaInspector.RegisterCommands(proComponentCommands); - } - - var profilerCommands = assembly.GetType("Proxima.ProximaProfilerCommands"); - if (profilerCommands != null) - { - ProximaInspector.RegisterCommands(profilerCommands); - } - } - - public static bool AllFeaturesInstalled() - { - return GetInstalledFeatures().Count == 3; - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaFeatures.cs.meta b/Assets/External/Proxima/Runtime/ProximaFeatures.cs.meta deleted file mode 100644 index 093d5721..00000000 --- a/Assets/External/Proxima/Runtime/ProximaFeatures.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 04e66cb66bc0fa94995a4e0fd4c81ef1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaFeatures.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaGameObjectCommands.cs b/Assets/External/Proxima/Runtime/ProximaGameObjectCommands.cs deleted file mode 100644 index 78c5f52f..00000000 --- a/Assets/External/Proxima/Runtime/ProximaGameObjectCommands.cs +++ /dev/null @@ -1,534 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using UnityEngine; -using UnityEngine.SceneManagement; - -namespace Proxima -{ - internal class ProximaGameObjectCommands - { - [Serializable] - internal class GameObjectInfo - { - public int Id; - public string Name; - public bool ActiveSelf; - public int Parent; - public int Depth; - public int SiblingIndex; - public int ChildCount; - public int Order; - public int Layer; - public string Tag; - public string Scene; - } - - [Serializable] - internal class GameObjectList - { - public List GameObjects = new List(); - public string[] Layers; - public List Destroyed = new List(); - } - - private static Dictionary _idToGameObject; - public static Dictionary IdToGameObject => _idToGameObject; - private static List _rootGameObjects; - private static GameObjectList _gameObjects; - private static GameObjectList _changeList; - private static Dictionary _gameObjectToInfo; - private static int _lastUpdate; - private static int _order; - private static GameObject _lastUpdatedGameObject; - private static int _lastDeleteCheckedGameObjectInfo = -1; - private static Scene _dontDestroyOnLoadScene; - private static HashSet _pendingStreamIds; - private static bool _showHidden; - public static bool ShowHidden => _showHidden; - - [ProximaInitialize] - public static void Init() - { - _idToGameObject = new Dictionary(); - _rootGameObjects = new List(); - _gameObjects = new GameObjectList(); - _gameObjects.Layers = Enumerable.Range(0, 31).Select(index => LayerMask.LayerToName(index)).ToArray(); - _changeList = new GameObjectList(); - _gameObjectToInfo = new Dictionary(); - _lastUpdate = -1; - _pendingStreamIds = new HashSet(); - - var ddolGO = new GameObject("Proxima DDOL"); - GameObject.DontDestroyOnLoad(ddolGO); - _dontDestroyOnLoadScene = ddolGO.scene; - GameObject.Destroy(ddolGO); - } - - [ProximaTeardown] - public static void Teardown() - { - _idToGameObject = null; - _rootGameObjects = null; - _gameObjects = null; - _changeList = null; - _gameObjectToInfo = null; - _lastUpdate = -1; - _pendingStreamIds = null; - _order = 0; - _lastUpdatedGameObject = null; - _lastDeleteCheckedGameObjectInfo = -1; - _dontDestroyOnLoadScene = default; - } - - [ProximaCommand("Internal")] - public static void SetParent(int id, int parentId, int index) - { - if (_idToGameObject.TryGetValue(id, out var go)) - { - _idToGameObject.TryGetValue(parentId, out var parentGo); - go.transform.SetParent(parentGo?.transform, true); - go.transform.SetSiblingIndex(index); - } - else - { - Log.Warning($"SetParent: GameObject with id {id} not found"); - } - } - - [ProximaCommand("Internal")] - public static void SetScene(int id, int sceneIndex, int index) - { - if (_idToGameObject.TryGetValue(id, out var go)) - { - if (sceneIndex < SceneManager.sceneCount) - { - go.transform.SetParent(null, true); - SceneManager.MoveGameObjectToScene(go, SceneManager.GetSceneAt(sceneIndex)); - go.transform.SetSiblingIndex(index); - } - } - else - { - Log.Warning($"SetScene: GameObject with id {id} not found"); - } - } - - [ProximaCommand("Internal")] - public static void SetActive(int id, bool active) - { - if (_idToGameObject.TryGetValue(id, out var go)) - { - go.SetActive(active); - } - else - { - Log.Warning($"SetActive: GameObject with id {id} not found"); - } - } - - [ProximaCommand("Internal")] - public static void SetName(int id, string name) - { - if (_idToGameObject.TryGetValue(id, out var go)) - { - go.name = name; - } - else - { - Log.Warning($"SetName: GameObject with id {id} not found"); - } - } - - [ProximaCommand("Internal")] - public static void SetLayer(int id, int layer) - { - if (_idToGameObject.TryGetValue(id, out var go)) - { - go.layer = layer; - } - else - { - Log.Warning($"SetLayer: GameObject with id {id} not found"); - } - } - - [ProximaCommand("Internal")] - public static void SetTag(int id, string tag) - { - if (_idToGameObject.TryGetValue(id, out var go)) - { - go.tag = tag; - } - else - { - Log.Warning($"SetTag: GameObject with id {id} not found"); - } - } - - [ProximaCommand("Internal")] - public static void CreateGameObject(int parentId) - { - var go = new GameObject(); - if (_idToGameObject.TryGetValue(parentId, out var parentGo)) - { - go.transform.SetParent(parentGo.transform, true); - } - } - - [ProximaCommand("Internal")] - public static void DuplicateGameObject(int id) - { - if (!_idToGameObject.TryGetValue(id, out var go)) - { - Log.Warning($"DuplicateGameObject: GameObject with id {id} not found"); - - } - - GameObject.Instantiate(go, go.transform.parent); - } - - [ProximaCommand("Internal")] - public static void DestroyGameObject(int id) - { - if (_idToGameObject.TryGetValue(id, out var go) && go) - { - GameObject.Destroy(go); - } - else - { - Log.Warning($"DestroyGameObject: GameObject with id {id} not found"); - } - } - - [ProximaCommand("Internal")] - public static void AddGameObjectComponent(int id, string component) - { - if (!_idToGameObject.TryGetValue(id, out var go)) - { - Log.Warning($"AddComponent: GameObject with id {id} not found"); - return; - } - - var componentType = ProximaCommandHelpers.FindFirstComponentType(component); - if (componentType == null) - { - throw new Exception($"Component type {component} not found."); - } - - go.AddComponent(componentType); - } - - [ProximaCommand("Internal")] - public static void SetShowHidden(bool showHidden) - { - _showHidden = showHidden; - } - - [ProximaStreamStart("GameObjects")] - public static void StartStream(string id) - { - _pendingStreamIds.Add(id); - } - - [ProximaStreamUpdate("GameObjects")] - public static GameObjectList UpdateStream(string id) - { - UpdateInfoLists(); - - if (_pendingStreamIds.Contains(id)) - { - _pendingStreamIds.Remove(id); - return _gameObjects; - } - - bool changed = _changeList.Destroyed.Count > 0 || _changeList.GameObjects.Count > 0; - return changed ? _changeList : null; - } - - [ProximaStreamStop("GameObjects")] - public static void StopStream(string id) - { - _pendingStreamIds.Remove(id); - } - - public static void UpdateInfoLists() - { - if (_lastUpdate == Time.frameCount) - { - return; - } - - _lastUpdate = Time.frameCount; - _changeList.GameObjects.Clear(); - _changeList.Destroyed.Clear(); - - if (!_lastUpdatedGameObject) - { - _lastUpdatedGameObject = null; - } - - var updates = 0; - while (updates <= ProximaInspector.MaxGameObjectUpdatesPerFrame && UpdateNextGameObjectInfo()) - { - updates++; - } - - var deleteUpdates = 0; - while (deleteUpdates <= ProximaInspector.MaxGameObjectUpdatesPerFrame && UpdateNextDeletedGameObjectInfo()) - { - deleteUpdates++; - } - } - - private static bool UpdateNextGameObjectInfo() - { - _lastUpdatedGameObject = GetNextGameObject(_lastUpdatedGameObject); - if (_lastUpdatedGameObject != null) - { - UpdateGameObjectInfo(_lastUpdatedGameObject); - return true; - } - - return false; - } - - private static bool ShouldHide(GameObject go) - { - return !_showHidden && go.hideFlags.HasFlag(HideFlags.HideInHierarchy); - } - - private static GameObject GetNextChildGameObject(Transform t) - { - for (int i = 0; i < t.childCount; i++) - { - var child = t.GetChild(i); - if (!ShouldHide(child.gameObject)) - { - return child.gameObject; - } - } - - return null; - } - - private static GameObject GetNextSiblingGameObject(Transform parent, Transform t) - { - var nextSiblingIndex = t.GetSiblingIndex() + 1; - while (nextSiblingIndex < parent.childCount) - { - var nextSibling = parent.GetChild(nextSiblingIndex); - var go = nextSibling.gameObject; - if (!ShouldHide(go)) - { - return go; - } - - nextSiblingIndex++; - } - - return null; - } - - private static GameObject GetNextRootGameObject(GameObject go) - { - var rootIndex = _rootGameObjects.IndexOf(go); - if (rootIndex >= 0) - { - return GetNextRootGameObject(rootIndex + 1); - } - - return null; - } - - private static GameObject GetNextRootGameObject(int rootIndex) - { - while (rootIndex < _rootGameObjects.Count) - { - var nextRoot = _rootGameObjects[rootIndex]; - if (nextRoot && !ShouldHide(nextRoot)) - { - return nextRoot; - } - - rootIndex++; - } - - return null; - } - - private static GameObject GetNextSceneGameObject(Scene? currentScene) - { - var nextSceneIndex = 0; - for (int i = 0; i < SceneManager.sceneCount; i++) - { - if (SceneManager.GetSceneAt(i) == currentScene) - { - nextSceneIndex = i + 1; - } - } - - if (nextSceneIndex == 0) - { - _order = 0; - } - - while (nextSceneIndex < SceneManager.sceneCount) - { - var nextScene = SceneManager.GetSceneAt(nextSceneIndex); - if (nextScene.isLoaded) - { - nextScene.GetRootGameObjects(_rootGameObjects); - var nextRoot = GetNextRootGameObject(0); - if (nextRoot != null) - { - return nextRoot; - } - } - - nextSceneIndex++; - } - - if (_dontDestroyOnLoadScene != null && currentScene != _dontDestroyOnLoadScene) - { - _dontDestroyOnLoadScene.GetRootGameObjects(_rootGameObjects); - var nextRoot = GetNextRootGameObject(0); - if (nextRoot != null) - { - return nextRoot; - } - } - - return null; - } - - private static GameObject GetNextGameObject(GameObject go) - { - if (go == null) - { - return GetNextSceneGameObject(null); - } - - _order++; - - var t = go.transform; - var nextChild = GetNextChildGameObject(t); - if (nextChild != null) - { - return nextChild; - } - - var parent = t.parent; - while (parent != null) - { - var nextSibling = GetNextSiblingGameObject(parent, t); - if (nextSibling != null) - { - return nextSibling; - } - - t = parent; - parent = t.parent; - } - - go = t.gameObject; - go.scene.GetRootGameObjects(_rootGameObjects); - var nextRoot = GetNextRootGameObject(go); - if (nextRoot != null) - { - return nextRoot; - } - - return GetNextSceneGameObject(go.scene); - } - - private static bool FastStringEqual(string lhs, string rhs) - { - return lhs.Length == rhs.Length && lhs[0] == rhs[0] && lhs[lhs.Length - 1] == rhs[rhs.Length - 1]; - } - - private static void UpdateGameObjectInfo(GameObject go) - { - var id = go.GetInstanceID(); - var parentId = go.transform.parent ? go.transform.parent.gameObject.GetInstanceID() : 0; - var siblingIndex = go.transform.GetSiblingIndex(); - - int depth = 0; - if (go.transform.parent) - { - if (_gameObjectToInfo.TryGetValue(parentId, out var parentGoi)) - { - depth = parentGoi.Depth + 1; - } - } - - if (!_gameObjectToInfo.TryGetValue(id, out var goi)) - { - goi = new GameObjectInfo { - Id = id, - Name = go.name, - ActiveSelf = go.activeSelf, - Parent = parentId, - Depth = depth, - SiblingIndex = siblingIndex, - ChildCount = go.transform.childCount, - Order = _order, - Tag = go.tag, - Layer = go.layer, - Scene = depth == 0 ? go.scene.name + "#" + go.scene.handle : null - }; - - _gameObjects.GameObjects.Add(goi); - _gameObjectToInfo.Add(id, goi); - _idToGameObject.Add(id, go); - _changeList.GameObjects.Add(goi); - } - else - { - if (!FastStringEqual(goi.Name, go.name) || - goi.ActiveSelf != go.activeSelf || - goi.Parent != parentId || - goi.Depth != depth || - goi.SiblingIndex != siblingIndex || - goi.ChildCount != go.transform.childCount || - goi.Order != _order || - !FastStringEqual(goi.Tag, go.tag) || - goi.Layer != go.layer) - { - goi.Name = go.name; - goi.ActiveSelf = go.activeSelf; - goi.Parent = parentId; - goi.Depth = depth; - goi.SiblingIndex = siblingIndex; - goi.ChildCount = go.transform.childCount; - goi.Order = _order; - goi.Tag = go.tag; - goi.Layer = go.layer; - goi.Scene = depth == 0 ? go.scene.name + "#" + go.scene.handle : null; - _changeList.GameObjects.Add(goi); - } - } - } - - private static bool UpdateNextDeletedGameObjectInfo() - { - if (_gameObjects.GameObjects.Count == 0) - { - return false; - } - - _lastDeleteCheckedGameObjectInfo = (_lastDeleteCheckedGameObjectInfo + 1) % _gameObjects.GameObjects.Count; - var goi = _gameObjects.GameObjects[_lastDeleteCheckedGameObjectInfo]; - var go = _idToGameObject[goi.Id]; - if (!go || ShouldHide(go)) - { - _gameObjectToInfo.Remove(goi.Id); - _gameObjects.GameObjects.RemoveAt(_lastDeleteCheckedGameObjectInfo); - _changeList.Destroyed.Add(goi.Id); - _idToGameObject.Remove(goi.Id); - } - - return true; - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaGameObjectCommands.cs.meta b/Assets/External/Proxima/Runtime/ProximaGameObjectCommands.cs.meta deleted file mode 100644 index 456993ed..00000000 --- a/Assets/External/Proxima/Runtime/ProximaGameObjectCommands.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: f423de30373ae9147ad4d6f2b9a13a6f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaGameObjectCommands.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaInitialize.cs b/Assets/External/Proxima/Runtime/ProximaInitialize.cs deleted file mode 100644 index 61413ba3..00000000 --- a/Assets/External/Proxima/Runtime/ProximaInitialize.cs +++ /dev/null @@ -1,16 +0,0 @@ - -using System; -using UnityEngine.Scripting; - -namespace Proxima -{ - [AttributeUsage(AttributeTargets.Method)] - internal class ProximaInitializeAttribute : PreserveAttribute - { - } - - [AttributeUsage(AttributeTargets.Method)] - internal class ProximaTeardownAttribute : PreserveAttribute - { - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaInitialize.cs.meta b/Assets/External/Proxima/Runtime/ProximaInitialize.cs.meta deleted file mode 100644 index 6789238b..00000000 --- a/Assets/External/Proxima/Runtime/ProximaInitialize.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: d0bb0da2a2865e54f8fa5372774fc723 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaInitialize.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaInspector.cs b/Assets/External/Proxima/Runtime/ProximaInspector.cs deleted file mode 100644 index 3ecb2760..00000000 --- a/Assets/External/Proxima/Runtime/ProximaInspector.cs +++ /dev/null @@ -1,728 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Reflection; -using UnityEngine; - -namespace Proxima -{ - /// Proxima Inspector enables remote inspecting, debugging, and control of a Unity application. - [HelpURL("https://www.unityproxima.com/docs")] - public class ProximaInspector : MonoBehaviour - { - // The name displayed to show in the browser when connected. - [SerializeField] - private string _displayName; - public string DisplayName - { - get => _displayName; - set => _displayName = value; - } - - // The port number to host the embedded Proxima server. - [SerializeField] - private int _port = 7759; - public int Port - { - get => _port; - set => _port = value; - } - - // The password required to connect to Proxima. See unityproxima.com/docs/security for more information. - [SerializeField] - private string _password = ""; - public string Password - { - get => _password; - set => _password = value; - } - - // Enables and disables HTTPS for encryption. See unityproxima.com/docs/security for more information. - [SerializeField] - private bool _useHttps = false; - public bool UseHttps - { - get => _useHttps; - set => _useHttps = value; - } - - // Optional TLS certificate. By default Proxima uses Proxima/Resources/Proxima/ProximaEmbeddedCert.pfx. - [SerializeField] - private PfxAsset _certificate; - public PfxAsset Certificate - { - get => _certificate; - set => _certificate = value; - } - - // Password for the TLS certificate. - [SerializeField] - private string _certificatePassword; - public string CertificatePassword - { - get => _certificatePassword; - set => _certificatePassword = value; - } - - // Automatically starts the Proxima server when this component is enabled. - [SerializeField] - private bool _runOnEnable = true; - public bool StartOnEnable - { - get => _runOnEnable; - set => _runOnEnable = value; - } - - // Maximum number of log messages to keep in memory. - [SerializeField] - private int _logBufferSize = 1000; - public int LogBufferSize - { - get => _logBufferSize; - set => ProximaLogCommands.SetLogCapacity(value); - } - - // Instantiates Proxima/Resources/Proxima/ProximaStatusUI.prefab on startup. - // This UI lets you see the current status of Proxima at the bottom of your screen. - [SerializeField] - private bool _instantiateStatusUI = true; - public bool InstantiateStatusUI - { - get => _instantiateStatusUI; - set => _instantiateStatusUI = value; - } - - // Instantiates Proxima/Resources/Proxima/ProximaConnectUI.prefab on startup. - // This UI appears when the user presses F2 and allows the user to start and stop the server - // with a display name and password. - [SerializeField] - private bool _instantiateConnectUI = false; - public bool InstantiateConnectUI - { - get => _instantiateConnectUI; - set => _instantiateConnectUI = value; - } - - // Adds the gameObject with the Proxima Inspector to the DontDestroyOnLoad scene, - // which keeps connections alive when transitioning between scenes. - [SerializeField] - private bool _dontDestroyOnLoad = true; - - // When Proxima starts, sets Application.runInBackground to true. When Proxima stops, - // sets Application.runInBackground back to its previous value. This allows Proxima - // to work when connecting from a browseer on the same device, since normally Unity - // will pause the app when focus is set to the browser. - [SerializeField] - private bool _setRunInBackground = true; - - // Stores the current status of Proxima and raises events when it changes. - public ProximaStatus Status = new ProximaStatus(); - - public enum ServerTypes - { - Remote, - Embedded, -#if PROXIMA_DEMO - Demo -#endif - } - - // Is the Proxima server embedded or hosted remotely? - // This feature is a work in progress, and so is disabled. - [SerializeField, HideInInspector] - private ServerTypes _serverType = ServerTypes.Embedded; - public ServerTypes ServerType - { - get => _serverType; - set => _serverType = value; - } - - /// URL of the remote Proxima Server. - [SerializeField, HideInInspector] - private string _serverUrl = ""; - public string ServerUrl - { - get => _serverUrl; - set => _serverUrl = value; - } - - // Performance options - public static int MaxGameObjectUpdatesPerFrame = 10; - public static int MaxComponentUpdateFrequency = 10; - - private struct OpenStream - { - public ProximaConnection Connection; - public string Id; - public string Guid; - public StreamInfo Info; - } - - private class StreamInfo - { - public MethodInfo StartMethod; - public MethodInfo StopMethod; - public MethodInfo UpdateMethod; - } - - private ProximaServer _server; - private static List _inits = new List(); - private static List _teardowns = new List(); - private static Dictionary _commands = new Dictionary(StringComparer.OrdinalIgnoreCase); - public static Dictionary Commands => _commands; - private static bool _staticInitialized; - - private static Dictionary _streams = new Dictionary(StringComparer.OrdinalIgnoreCase); - private Dictionary> _openStreams; - - private ProximaDispatcher _dispatcher; - private ProximaStatusUI _statusUI; - private ProximaConnectUI _connectUI; - private bool _wasRunInBackgroundSet; - - void Awake() - { - if (!_staticInitialized) - { - RegisterBuiltInCommands(); - ProximaLogCommands.SetLogCapacity(_logBufferSize); - _staticInitialized = true; - } - - _dispatcher = new ProximaDispatcher(this); - - if (string.IsNullOrEmpty(_displayName)) - { - _displayName = Application.companyName + "." + Application.productName + "." + Application.version; - } - } - - void OnEnable() - { - if (_dontDestroyOnLoad) - { - DontDestroyOnLoad(gameObject); - } - - if (_runOnEnable) - { - Run(); - } - - if (_instantiateStatusUI) - { - _statusUI = Instantiate(Resources.Load("Proxima/ProximaStatusUI")); - _statusUI.ProximaInspector = this; - _statusUI.transform.SetParent(transform); - } - - if (_instantiateConnectUI) - { - _connectUI = Instantiate(Resources.Load("Proxima/ProximaConnectUI")); - _connectUI.ProximaInspector = this; - _connectUI.GetComponent().ProximaInspector = this; - _connectUI.transform.SetParent(transform); - } - } - - void OnApplicationQuit() - { - Stop(); - } - - void OnDestroy() - { - Stop(); - } - - void OnDisable() - { - Stop(); - - if (_statusUI) - { - Destroy(_statusUI.gameObject); - _statusUI = null; - } - - if (_connectUI) - { - Destroy(_connectUI.gameObject); - _connectUI = null; - } - } - - // Starts the Proxima Server with the current configuration. - public void Run() - { - if (_server != null) - { - Log.Warning("Run was called, but Proxima is already running."); - return; - } - - if (string.IsNullOrWhiteSpace(_displayName)) - { - Status.SetError("Display name is required to start Proxima."); - Log.Error("Display name is required to start Proxima."); - return; - } - - if (string.IsNullOrWhiteSpace(_password)) - { - Status.SetError("Password is required to start Proxima."); - Log.Error("Password is required to start Proxima."); - return; - } - - foreach (var method in _inits) - { - method.Invoke(null, null); - } - - if (_setRunInBackground) - { - _wasRunInBackgroundSet = Application.runInBackground; - Application.runInBackground = true; - } - - Status.Reset(); - Status.SetRunning(true); - - var remoteServerType = Type.GetType("Proxima.ProximaRemoteServer"); - var demoServerType = Type.GetType("Proxima.ProximaDemoServer"); - if (remoteServerType != null && _serverType == ServerTypes.Remote) - { - _server = (ProximaServer)Activator.CreateInstance(remoteServerType, _dispatcher, Status, _serverUrl); - } -#if PROXIMA_DEMO - else if (demoServerType != null && _serverType == ServerTypes.Demo) - { - _server = (ProximaServer)Activator.CreateInstance(demoServerType, _dispatcher, Status); - } -#endif - else - { -#if UNITY_WEBGL && !UNITY_EDITOR - _server = new ProximaWebGLServer(_dispatcher, Status); -#else - _server = new ProximaEmbeddedServer(_dispatcher, Status, _port, _useHttps, _certificate, _certificatePassword); -#endif - } - - try - { - _server.Start(_displayName, _password); - } - catch (Exception e) - { - if (e.InnerException != null) - { - e = e.InnerException; - } - - Log.Exception(e); - Status.SetError(e.Message); - Status.SetRunning(false); - Cleanup(); - } - } - - // Stops the Proxima Server, closing any connections. - public void Stop() - { - if (_server != null) - { - Log.Info("Proxima shutting down."); - foreach (var method in _teardowns) - { - method.Invoke(null, null); - } - } - - _server?.Stop(); - Status.Reset(); - Cleanup(); - } - - private void Cleanup() - { - if (_server != null && _setRunInBackground) - { - Application.runInBackground = _wasRunInBackgroundSet; - } - - _server = null; - _openStreams = null; - } - - void Update() - { - _dispatcher?.InvokeAll(); - - if (_server == null) - { - return; - } - - if (_server.TryGetMessage(out var item)) - { - var (connection, message) = item; - var response = HandleMessage(connection, message); - if (response != null) - { - connection.SendMessage(response); - } - } - - UpdateStreams(); - } - - private MemoryStream HandleMessage(ProximaConnection connection, string message) - { - ProximaRequest request; - - try - { - request = JsonUtility.FromJson(message); - } - catch (Exception ex) - { - Log.Error("Failed to parse request: " + ex.Message); - return ProximaSerialization.ErrorResponse(message, "Invalid request."); - } - - if (request.Type == ProximaRequestType.StartStream) - { - return HandleStreamStartRequest(connection, request); - } - else if (request.Type == ProximaRequestType.StopStream) - { - return HandleStreamStopRequest(connection, request); - } - else if (request.Type == ProximaRequestType.Command) - { - return HandleCommand(request); - } - else if (request.Type == ProximaRequestType.List) - { - return ProximaSerialization.DataResponse(request, ""); - } - else if (request.Type == ProximaRequestType.Select) - { - return ProximaSerialization.ErrorResponse(request, "Already selected."); - } - else - { - return ProximaSerialization.ErrorResponse(request, "Invalid request type."); - } - } - - private MemoryStream HandleStreamStartRequest(ProximaConnection connection, ProximaRequest request) - { - var stream = request.Cmd; - if (!_streams.TryGetValue(stream, out var streamInfo)) - { - return ProximaSerialization.ErrorResponse(request, "Invalid stream."); - } - - if (_openStreams == null) - { - _openStreams = new Dictionary>(StringComparer.OrdinalIgnoreCase); - } - - if (!_openStreams.ContainsKey(stream)) - { - _openStreams.Add(stream, new List()); - } - - var guid = Guid.NewGuid().ToString(); - if (streamInfo.StartMethod != null) - { - var args = new string[request.Args.Length + 1]; - args[0] = guid; - Array.Copy(request.Args, 0, args, 1, request.Args.Length); - if (!TryInvoke(streamInfo.StartMethod, args, out var data, out var error)) - { - return ProximaSerialization.ErrorResponse(request, error); - } - } - - var openStream = new OpenStream { - Connection = connection, - Id = request.Id, - Guid = guid, - Info = streamInfo - }; - - _openStreams[stream].Add(openStream); - return null; - } - - private MemoryStream HandleStreamStopRequest(ProximaConnection connection, ProximaRequest request) - { - var stream = request.Cmd; - if (!_streams.TryGetValue(stream, out var streamInfo)) - { - return ProximaSerialization.ErrorResponse(request, "Invalid stream name."); - } - - if (_openStreams == null) - { - return ProximaSerialization.ErrorResponse(request, "Stream not open. (A)"); - } - - if (!_openStreams.TryGetValue(stream, out var listeners)) - { - return ProximaSerialization.ErrorResponse(request, "Stream not open. (B)"); - } - - var idx = listeners.FindIndex(os => os.Connection == connection && os.Id == request.Id); - if (idx < 0) - { - return ProximaSerialization.ErrorResponse(request, "Stream not open. (C)"); - } - - var guid = listeners[idx].Guid; - listeners.RemoveAt(idx); - - if (!TryInvoke(streamInfo.StopMethod, new string[] { guid }, out var result, out var error)) - { - return ProximaSerialization.ErrorResponse(request, error); - } - - return ProximaSerialization.DataResponse(request, ""); - } - - private MemoryStream HandleCommand(ProximaRequest request) - { - if (!_commands.TryGetValue(request.Cmd, out var method)) - { - return ProximaSerialization.ErrorResponse(request, $"Method {request.Cmd} not found."); - } - - if (!TryInvoke(method, request.Args, out var data, out var error)) - { - return ProximaSerialization.ErrorResponse(request, error); - } - - return ProximaSerialization.DataResponse(request, data); - } - - private static StreamInfo GetOrCreateStreamInfo(string name) - { - if (!_streams.TryGetValue(name, out var streamInfo)) - { - streamInfo = new StreamInfo(); - _streams.Add(name, streamInfo); - } - - return streamInfo; - } - - private void RegisterBuiltInCommands() - { - RegisterCommands(); - RegisterCommands(); - RegisterCommands(); - RegisterCommands(); - ProximaFeatures.RegisterProFeatures(); - } - - public static void RegisterCommands() - { - RegisterCommands(typeof(T)); - } - - public static void RegisterCommands(Type type) - { - foreach (var method in type.GetRuntimeMethods()) - { - if (!method.IsStatic) continue; - - var initAttribute = method.GetCustomAttribute(); - if (initAttribute != null) - { - Log.Verbose("Found init: " + type.Name + "." + method.Name); - _inits.Add(method); - } - - var teardownAttribute = method.GetCustomAttribute(); - if (teardownAttribute != null) - { - Log.Verbose("Found teardown: " + type.Name + "." + method.Name); - _teardowns.Add(method); - } - - var commandAttribute = method.GetCustomAttribute(); - if (commandAttribute != null) - { - if (_commands.ContainsKey(method.Name)) - { - throw new Exception($"Multiple Proxima commands found with name {type.Name}.{method.Name}."); - } - - Log.Verbose("Found command: " + type.Name + "." + method.Name); - _commands.Add(method.Name, method); - if (!string.IsNullOrWhiteSpace(commandAttribute.Alias)) - { - Log.Verbose("Found command alias: " + commandAttribute.Alias); - _commands.Add(commandAttribute.Alias, method); - } - } - - var streamStart = method.GetCustomAttribute(); - if (streamStart != null) - { - var streamInfo = GetOrCreateStreamInfo(streamStart.Name); - if (streamInfo.StartMethod != null) - { - throw new Exception($"Multiple Proxima stream start methods found for stream {type.Name}.{streamStart.Name}."); - } - - Log.Verbose($"Found stream start: {type.Name}.{streamStart.Name}"); - streamInfo.StartMethod = method; - } - - var streamStop = method.GetCustomAttribute(); - if (streamStop != null) - { - var streamInfo = GetOrCreateStreamInfo(streamStop.Name); - if (streamInfo.StopMethod != null) - { - throw new Exception($"Multiple Proxima stream stop methods found for stream {type.Name}.{streamStop.Name}."); - } - - Log.Verbose($"Found stream stop: {type.Name}.{streamStop.Name}"); - streamInfo.StopMethod = method; - } - - var streamUpdate = method.GetCustomAttribute(); - if (streamUpdate != null) - { - var streamInfo = GetOrCreateStreamInfo(streamUpdate.Name); - if (streamInfo.UpdateMethod != null) - { - throw new Exception($"Multiple Proxima stream update methods found for stream {type.Name}.{streamUpdate.Name}."); - } - - Log.Verbose($"Found stream update: {type.Name}.{streamUpdate.Name}"); - streamInfo.UpdateMethod = method; - - } - } - } - - private void UpdateStreams() - { - if (_openStreams != null) - { - foreach (var stream in _openStreams) - { - var listeners = stream.Value; - - // Close streams that disconnected - foreach (var listener in listeners) - { - if (!listener.Connection.Open) - { - TryInvoke(listener.Info.StopMethod, new string[] { listener.Guid }); - } - } - - listeners.RemoveAll(os => !os.Connection.Open); - - foreach (var listener in listeners) - { - object data = null; - string error = null; - - try - { - data = listener.Info.UpdateMethod?.Invoke(null, new object[] { listener.Guid }); - } - catch (Exception e) - { - Debug.LogException(e); - error = e.Message; - } - - if (!string.IsNullOrEmpty(error)) - { - listener.Connection.SendMessage(ProximaSerialization.ErrorResponse(listener.Id, error)); - } - else if (data != null) - { - listener.Connection.SendMessage(ProximaSerialization.DataResponse(listener.Id, data)); - } - } - } - } - } - - private bool TryInvoke(MethodInfo method, string[] args) - { - return TryInvoke(method, args, out var result, out var error); - } - - private bool TryInvoke(MethodInfo method, string[] args, out object result, out string error) - { - result = null; - error = string.Empty; - if (method == null) return true; - - var parameters = method.GetParameters(); - var values = new object[parameters.Length]; - for (int i = 0; i < parameters.Length; i++) - { - var parameter = parameters[i]; - if (args == null || args.Length <= i) - { - if (parameters[i].HasDefaultValue) - { - values[i] = parameters[i].DefaultValue; - continue; - } - - error = $"Required argument {parameter.Name} not found."; - return false; - } - - if (typeof(IPropertyOrValue).IsAssignableFrom(parameter.ParameterType)) - { - values[i] = Activator.CreateInstance(parameter.ParameterType, new object[] { args[i] }); - continue; - } - - if (ProximaSerialization.TryDeserialize(parameter.ParameterType, args[i], out var value)) - { - values[i] = value; - continue; - } - - error = $"Unable to deserialize argument {parameter.Name} as {parameter.ParameterType.Name}."; - return false; - } - - try - { - if (method.ReturnType == typeof(void)) - { - method.Invoke(null, values); - } - else - { - result = method.Invoke(null, values); - } - } - catch (Exception e) - { - Log.Exception(e); - error = e.InnerException.Message; - return false; - } - - return true; - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaInspector.cs.meta b/Assets/External/Proxima/Runtime/ProximaInspector.cs.meta deleted file mode 100644 index 1da5f6ef..00000000 --- a/Assets/External/Proxima/Runtime/ProximaInspector.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: e277581af68d4604da056e460b819656 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaInspector.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaInternalCommands.cs b/Assets/External/Proxima/Runtime/ProximaInternalCommands.cs deleted file mode 100644 index baa26cb5..00000000 --- a/Assets/External/Proxima/Runtime/ProximaInternalCommands.cs +++ /dev/null @@ -1,288 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Reflection; -using System.Text; -using UnityEngine; -using UnityEngine.SceneManagement; - -namespace Proxima -{ - internal class ProximaInternalCommands - { - [Serializable] - private struct CommandsDump - { - public List Commands; - } - - [Serializable] - private struct CommandDump - { - public string Name; - public string Category; - public string Alias; - public string Description; - public string ExampleInput; - public string ExampleOutput; - public List Parameters; - } - - [Serializable] - private struct ParameterDump - { - public string Name; - public string Type; - public string Default; - } - - private static bool _paused; - private static float _timeScale; - - private static string HelpCommand(string command) - { - if (!ProximaInspector.Commands.TryGetValue(command, out var method)) - { - return "Unknown command: " + command; - } - - var attr = method.GetCustomAttribute(); - var sb = new StringBuilder(); - sb.AppendLine(method.Name); - sb.AppendLine("Category: " + attr.Category); - if (!string.IsNullOrWhiteSpace(attr.Alias)) - { - sb.AppendLine("Alias: " + attr.Alias); - } - - if (!string.IsNullOrWhiteSpace(attr.Description)) - { - sb.AppendLine("Description: " + attr.Description); - } - - var parameters = method.GetParameters(); - if (parameters.Length > 0) - { - sb.AppendLine("Parameters:"); - } - - for (int i = 0; i < parameters.Length; i++) - { - var parameter = parameters[i]; - - sb.Append(" "); - - var type = parameter.ParameterType; - var def = parameter.HasDefaultValue ? parameter.DefaultValue : null; - if (typeof(IPropertyOrValue).IsAssignableFrom(parameter.ParameterType)) - { - type = parameter.ParameterType.GetGenericArguments()[0]; - def = type.IsValueType ? Activator.CreateInstance(type) : "null"; - } - - sb.Append(parameter.Name); - sb.Append(": "); - sb.Append(type.Name); - - if (parameter.HasDefaultValue) - { - sb.Append(" (default: "); - sb.Append(def); - sb.Append(")"); - } - - sb.AppendLine(); - } - - if (!string.IsNullOrWhiteSpace(attr.ExampleInput)) - { - sb.AppendLine(); - sb.AppendLine("Example:"); - sb.AppendLine(" > " + attr.ExampleInput); - - if (!string.IsNullOrWhiteSpace(attr.ExampleOutput)) - { - sb.AppendLine(" " + attr.ExampleOutput.Replace("\n", "\n ")); - } - } - - return sb.ToString(); - } - - private static string HelpAll() - { - var sb = new StringBuilder(); - var categorizedCommands = new Dictionary>(); - foreach (var kv in ProximaInspector.Commands) - { - var command = kv.Key; - var method = kv.Value; - var attr = method.GetCustomAttribute(); - if (attr.Alias == command || attr.Category == "Internal") - { - continue; - } - - if (!categorizedCommands.TryGetValue(attr.Category, out var commands)) - { - commands = new List<(string, MethodInfo)>(); - categorizedCommands.Add(attr.Category, commands); - } - - commands.Add((command, method)); - } - - var sortedCategories = new List(categorizedCommands.Keys); - sortedCategories.Sort(); - foreach (var category in sortedCategories) - { - var commands = categorizedCommands[category]; - commands.Sort((a, b) => a.Item1.CompareTo(b.Item1)); - - sb.AppendLine(category + " Commands:"); - foreach (var (command, method) in commands) - { - var attr = method.GetCustomAttribute(); - - var parameters = method.GetParameters(); - sb.Append(" "); - sb.Append(command); - sb.Append(" "); - - if (!string.IsNullOrEmpty(attr.Alias)) - { - sb.Append("("); - sb.Append(attr.Alias); - sb.Append(") "); - } - - for (int i = 0; i < parameters.Length; i++) - { - var parameter = parameters[i]; - - if (parameter.HasDefaultValue) - { - sb.Append("<"); - sb.Append(parameter.Name); - sb.Append(">"); - } - else - { - sb.Append(parameter.Name); - } - - if (i < parameters.Length - 1) - { - sb.Append(" "); - } - } - - sb.AppendLine(); - } - } - - return sb.ToString(); - } - - [ProximaCommand("Internal", "?")] - public static string Help(string command = null) - { - if (!string.IsNullOrWhiteSpace(command)) - { - return HelpCommand(command); - } - else - { - return HelpAll(); - } - } - - [ProximaCommand("Internal")] - public static string Ping() - { - return "Pong"; - } - - [ProximaCommand("Internal")] - public static bool IsPaused() - { - return _paused; - } - - [ProximaCommand("Internal")] - public static string Pause() - { - if (!_paused) - { - _timeScale = Time.timeScale; - Time.timeScale = 0; - _paused = true; - return "Paused."; - } - - return "Already paused."; - } - - [ProximaCommand("Internal")] - public static string Resume() - { - if (_paused) - { - Time.timeScale = _timeScale; - _paused = false; - return "Resumed."; - } - - return "Already resume."; - } - - [ProximaCommand("Internal")] - public static object DumpCommands() - { - var dump = new CommandsDump { - Commands = new List() - }; - - foreach (var kv in ProximaInspector.Commands) - { - var name = kv.Key; - var method = kv.Value; - var attr = method.GetCustomAttribute(); - if (attr.Category == "Internal") continue; - if (attr.Alias == name) continue; - - var cd = new CommandDump { - Name = method.Name, - Category = attr.Category, - Alias = attr.Alias, - Description = attr.Description, - ExampleInput = attr.ExampleInput, - ExampleOutput = attr.ExampleOutput, - Parameters = new List() - }; - - var parameters = method.GetParameters(); - for (int i = 0; i < parameters.Length; i++) - { - var parameter = parameters[i]; - var type = parameter.ParameterType; - var def = parameter.HasDefaultValue ? parameter.DefaultValue : null; - if (typeof(IPropertyOrValue).IsAssignableFrom(parameter.ParameterType)) - { - type = parameter.ParameterType.GetGenericArguments()[0]; - def = type.IsValueType ? Activator.CreateInstance(type) : "null"; - } - - cd.Parameters.Add(new ParameterDump { - Name = parameter.Name, - Type = type.Name, - Default = def != null ? ProximaSerialization.Serialize(def) : null - }); - } - - dump.Commands.Add(cd); - } - - return dump; - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaInternalCommands.cs.meta b/Assets/External/Proxima/Runtime/ProximaInternalCommands.cs.meta deleted file mode 100644 index c475d87d..00000000 --- a/Assets/External/Proxima/Runtime/ProximaInternalCommands.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 5631c2ba32970104590d7fa32d88dd45 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaInternalCommands.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaLog.cs b/Assets/External/Proxima/Runtime/ProximaLog.cs deleted file mode 100644 index 6f5c1803..00000000 --- a/Assets/External/Proxima/Runtime/ProximaLog.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Diagnostics; - -namespace Proxima -{ - internal class Log - { - [Conditional("PROXIMA_LOG_VERBOSE")] - public static void Verbose(string message) - { - UnityEngine.Debug.Log("PXV: " + message); - } - - public static void Info(string message) - { - UnityEngine.Debug.Log("PX: " + message); - } - - public static void Warning(string message) - { - UnityEngine.Debug.LogWarning("PX: " + message); - } - - public static void Error(string message) - { - UnityEngine.Debug.LogError("PX: " + message); - } - - public static void Exception(System.Exception e) - { - UnityEngine.Debug.LogException(e); - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaLog.cs.meta b/Assets/External/Proxima/Runtime/ProximaLog.cs.meta deleted file mode 100644 index 1aaa14e3..00000000 --- a/Assets/External/Proxima/Runtime/ProximaLog.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 02714c12f1904514a8b943bb91117463 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaLog.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaLogCommands.cs b/Assets/External/Proxima/Runtime/ProximaLogCommands.cs deleted file mode 100644 index a9640efd..00000000 --- a/Assets/External/Proxima/Runtime/ProximaLogCommands.cs +++ /dev/null @@ -1,147 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using UnityEngine; -using System.Collections; - -namespace Proxima -{ - internal class ProximaLogCommands - { - [Serializable] - public struct LogInfo - { - public long LogTime; - public string LogString; - public string StackTrace; - public LogType Type; - } - - private static HashSet _pendingStreamIds; - private static CircularList _logs; - private static IEnumerable _streamLogs; - private static int _streamIndex = 0; - private static int _lastUpdateFrame; - - public static void SetLogCapacity(int capacity) - { - _logs = new CircularList(capacity); - } - - [ProximaInitialize] - public static void Initialize() - { - _pendingStreamIds = new HashSet(); - Application.logMessageReceived += OnLogMessageReceived; - } - - [ProximaTeardown] - public static void Teardown() - { - _pendingStreamIds = null; - Application.logMessageReceived -= OnLogMessageReceived; - } - - [ProximaStreamStart("LogStream")] - public static void StartStream(string id) - { - _pendingStreamIds.Add(id); - } - - [ProximaStreamUpdate("LogStream")] - public static IEnumerable UpdateStream(string id) - { - if (_lastUpdateFrame != Time.frameCount) - { - _lastUpdateFrame = Time.frameCount; - bool hasUpdate = _streamIndex != _logs.ItemsAdded; - _streamLogs = hasUpdate ? _logs.GetRange(_streamIndex) : null; - _streamIndex = _logs.ItemsAdded; - } - - if (_pendingStreamIds.Contains(id)) - { - _pendingStreamIds.Remove(id); - return _logs.ItemsAdded > 0 ? _logs : null; - } - - return _streamLogs; - } - - [ProximaStreamStop("LogStream")] - public static void StopStream(string id) - { - _pendingStreamIds.Remove(id); - } - - private static void OnLogMessageReceived(string message, string stackTrace, LogType type) - { - #if PROXIMA_LOG_VERBOSE - if (message.StartsWith("PXV:")) - { - return; - } - #endif - - var logInfo = new LogInfo - { - LogTime = (long) System.DateTime.UtcNow.Subtract(new System.DateTime(1970, 1, 1)).TotalMilliseconds, - LogString = message, - StackTrace = stackTrace, - Type = type - }; - - _logs.Add(logInfo); - } - - [ProximaCommand("Internal")] - public static string GetLogFile() - { - if (string.IsNullOrEmpty(Application.consoleLogPath)) - { - throw new Exception("Log file not available"); - } - - try - { - // If we just try to open the file we'll get a sharing violation, so need to copy it first. - var temp = Path.Combine(Application.temporaryCachePath, Path.GetTempFileName()); - File.Copy(Application.consoleLogPath, temp, true); - var result = File.ReadAllText(temp); - File.Delete(temp); - return result; - } - catch (Exception e) - { - Log.Error("Failed to get log file: " + e.Message); - return "Failed to get log file: " + e.Message; - } - } - - [ProximaCommand("Internal")] - public static string GetPreviousLogFile() - { - if (string.IsNullOrEmpty(Application.consoleLogPath)) - { - throw new Exception("Log file not available"); - } - - try - { - var path = Application.consoleLogPath.Replace(".log", "-prev.log"); - return File.ReadAllText(path); - } - catch (Exception e) - { - Log.Error("Failed to get previous log file: " + e.Message); - return "Failed to get previous log file: " + e.Message; - } - } - - [ProximaCommand("Internal")] - public static bool GetLogFilesAvailable() - { - return !string.IsNullOrEmpty(Application.consoleLogPath) && File.Exists(Application.consoleLogPath); - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaLogCommands.cs.meta b/Assets/External/Proxima/Runtime/ProximaLogCommands.cs.meta deleted file mode 100644 index be1ea674..00000000 --- a/Assets/External/Proxima/Runtime/ProximaLogCommands.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: cd9d69ce3bb609948a7a44e254094c6d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaLogCommands.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaMimeTypes.cs b/Assets/External/Proxima/Runtime/ProximaMimeTypes.cs deleted file mode 100644 index 7f75d1cc..00000000 --- a/Assets/External/Proxima/Runtime/ProximaMimeTypes.cs +++ /dev/null @@ -1,95 +0,0 @@ -using System.Collections.Generic; - -namespace Proxima -{ - internal static class ProximaMimeTypes - { - private static Dictionary MimeTypes = new Dictionary() - { - { ".aac", "audio/aac" }, - { ".abw", "application/x-abiword" }, - { ".arc", "application/x-freearc" }, - { ".avi", "video/x-msvideo" }, - { ".azw", "application/vnd.amazon.ebook" }, - { ".bin", "application/octet-stream" }, - { ".bmp", "image/bmp" }, - { ".bz", "application/x-bzip" }, - { ".bz2", "application/x-bzip2" }, - { ".csh", "application/x-csh" }, - { ".css", "text/css" }, - { ".csv", "text/csv" }, - { ".doc", "application/msword" }, - { ".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document" }, - { ".eot", "application/vnd.ms-fontobject" }, - { ".epub", "application/epub+zip" }, - { ".gz", "application/gzip" }, - { ".gif", "image/gif" }, - { ".htm", "text/html" }, - { ".html", "text/html" }, - { ".ico", "image/vnd.microsoft.icon" }, - { ".ics", "text/calendar" }, - { ".jar", "application/java-archive" }, - { ".jpeg", "image/jpeg" }, - { ".jpg", "image/jpeg" }, - { ".js", "text/javascript" }, - { ".json", "application/json" }, - { ".jsonld", "application/ld+json" }, - { ".mid", "audio/midi" }, - { ".midi", "audio/midi" }, - { ".mjs", "text/javascript" }, - { ".mp3", "audio/mpeg" }, - { ".mpeg", "video/mpeg" }, - { ".mpkg", "application/vnd.apple.installer+xml" }, - { ".odp", "application/vnd.oasis.opendocument.presentation" }, - { ".ods", "application/vnd.oasis.opendocument.spreadsheet" }, - { ".odt", "application/vnd.oasis.opendocument.text" }, - { ".oga", "audio/ogg" }, - { ".ogv", "video/ogg" }, - { ".ogx", "application/ogg" }, - { ".opus", "audio/opus" }, - { ".otf", "font/otf" }, - { ".png", "image/png" }, - { ".pdf", "application/pdf" }, - { ".php", "application/x-httpd-php" }, - { ".ppt", "application/vnd.ms-powerpoint" }, - { ".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation" }, - { ".rar", "application/vnd.rar" }, - { ".rtf", "application/rtf" }, - { ".sh", "application/x-sh" }, - { ".svg", "image/svg+xml" }, - { ".swf", "application/x-shockwave-flash" }, - { ".tar", "application/x-tar" }, - { ".tif", "image/tiff" }, - { ".tiff", "image/tiff" }, - { ".ts", "video/mp2t" }, - { ".ttf", "font/ttf" }, - { ".txt", "text/plain" }, - { ".vsd", "application/vnd.visio" }, - { ".wav", "audio/wav" }, - { ".weba", "audio/webm" }, - { ".webm", "video/webm" }, - { ".webp", "image/webp" }, - { ".woff", "font/woff" }, - { ".woff2", "font/woff2" }, - { ".xhtml", "application/xhtml+xml" }, - { ".xls", "application/vnd.ms-excel" }, - { ".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, - { ".xml", "application/xml" }, - { ".xul", "application/vnd.mozilla.xul+xml" }, - { ".zip", "application/zip" }, - { ".3gp", "video/3gpp" }, - { ".3g2", "video/3gpp2" }, - { ".7z", "application/x-7z-compressed" }, - }; - - public static string Get(string extension) - { - if (MimeTypes.TryGetValue(extension, out var mimeType)) - { - return mimeType; - } - - return "application/octet-stream"; - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaMimeTypes.cs.meta b/Assets/External/Proxima/Runtime/ProximaMimeTypes.cs.meta deleted file mode 100644 index a071b1ae..00000000 --- a/Assets/External/Proxima/Runtime/ProximaMimeTypes.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 515a81d2e925f9c4ca6315349af8e00b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaMimeTypes.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaSerialization.cs b/Assets/External/Proxima/Runtime/ProximaSerialization.cs deleted file mode 100644 index 0609f0da..00000000 --- a/Assets/External/Proxima/Runtime/ProximaSerialization.cs +++ /dev/null @@ -1,618 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Reflection; -using System.Security.Cryptography; -using System.Text; -using UnityEngine; - -namespace Proxima -{ - [Serializable] - internal enum ProximaRequestType - { - Command = 0, - StartStream = 1, - StopStream = 2, - List = 3, - Select = 4 - } - - [Serializable] - internal class ProximaRequest - { - public string Id; - public ProximaRequestType Type; - public string Cmd; - public string[] Args; - } - - [Serializable] - internal class ProximaDataResponse - { - public string Id; - public object Data; - } - - [Serializable] - internal class ProximaErrorResponse - { - public string Id; - public string Error; - } - - [System.Serializable] - internal struct ProximaInstanceHello - { - public string DisplayName; - public string InstanceId; - public string ProductName; - public string CompanyName; - public string Platform; - public string ProductVersion; - public string ProximaVersion; - public string ConnectionId; - public string Password; - } - - public static class ProximaSerialization - { - internal static readonly string VERSION = "1.0.0"; - - public static string Serialize(object data, bool pretty = false) - { - var stream = FastJson.Serialize(data, pretty); - if (stream == null) - { - return null; - } - - return Encoding.UTF8.GetString(stream.GetBuffer(), 0, (int)stream.Length); - } - - internal static MemoryStream DataResponse(ProximaRequest request, object data) - { - return DataResponse(request.Id, data); - } - - internal static MemoryStream DataResponse(string id, object data) - { - return FastJson.Serialize(new ProximaDataResponse { Id = id, Data = data }); - } - - internal static MemoryStream ErrorResponse(ProximaRequest request, string error) - { - return ErrorResponse(request.Id, error); - } - - internal static MemoryStream ErrorResponse(string id, string error) - { - return FastJson.Serialize(new ProximaErrorResponse { Id = id, Error = error }); - } - - internal static string HashPassword(string password, string connectionId) - { - SHA256 hash = SHA256.Create(); - byte[] bytes = hash.ComputeHash(Encoding.UTF8.GetBytes(password + connectionId)); - var hashedPassword = Convert.ToBase64String(bytes); - return hashedPassword; - } - - internal static ProximaInstanceHello CreateHello(string displayName, string password = "") - { - var hello = new ProximaInstanceHello(); - hello.DisplayName = displayName; - hello.InstanceId = displayName.GetHashCode().ToString() + "_" + VERSION; - hello.ProductName = Application.productName; - hello.CompanyName = Application.companyName; - hello.Platform = Enum.GetName(typeof(RuntimePlatform), Application.platform); - hello.ProductVersion = Application.version; - hello.ProximaVersion = VERSION; - hello.ConnectionId = Guid.NewGuid().ToString(); - - if (!string.IsNullOrEmpty(password)) - { - hello.Password = HashPassword(password, hello.ConnectionId); - } - - return hello; - } - - private static bool TrySplitArray(string arrayString, out List elements) - { - elements = null; - - if (arrayString.Length < 2) - { - return false; - } - - if (arrayString[0] != '[') - { - return false; - } - - if (arrayString[arrayString.Length - 1] != ']') - { - return false; - } - - elements = new List(); - int b = 0; - bool q = false; - bool bs = false; - var sb = new StringBuilder(); - for (int i = 1; i < arrayString.Length - 1; i++) - { - var c = arrayString[i]; - if (!q && b == 0 && c == ',') { - elements.Add(sb.ToString()); - sb.Clear(); - continue; - } - - sb.Append(c); - - if (bs) - { - bs = false; - } - else if (c == '\\') - { - bs = true; - } - else if (c == '"') - { - q = !q; - } - else if (c == '[') - { - b++; - } - else if (c == ']') - { - b--; - } - } - - if (sb.Length > 0) - { - elements.Add(sb.ToString()); - } - - return true; - } - - internal static IList MakeListOf(Type elementType) - { - var list = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(elementType)); - return list; - } - - internal static IList MakeList(Type listType) - { - return MakeListOf(listType.GetGenericArguments()[0]); - } - - internal static IList CopyList(IList list) - { - var newList = MakeList(list.GetType()); - foreach (var item in list) - { - newList.Add(item); - } - - return newList; - } - - internal static Array MakeArrayOf(Type elementType, int length) - { - return Array.CreateInstance(elementType, length); - } - - internal static Array MakeArray(Type arrayType, int length) - { - return MakeArrayOf(arrayType.GetElementType(), length); - } - - internal static Array CopyArray(Array array) - { - var newArray = MakeArray(array.GetType(), array.Length); - Array.Copy(array, newArray, array.Length); - return newArray; - } - - internal static Array ResizeArray(Array array, int size) - { - var newArray = MakeArray(array.GetType(), size); - Array.Copy(array, newArray, Math.Min(array.Length, size)); - return newArray; - } - - private static bool TryDeserializeList(Type listType, string arrayString, out IList values) - { - if (!TrySplitArray(arrayString, out var elements)) - { - values = null; - return false; - } - - var elementType = listType.GetGenericArguments()[0]; - values = MakeListOf(elementType); - for (int i = 0; i < elements.Count; i++) - { - if (!TryDeserialize(elementType, elements[i].Trim('"'), out var obj)) - { - values = null; - return false; - } - - values.Add(obj); - } - - return true; - } - - private static bool TryDeserializeArray(Type elementType, string arrayString, out Array values) - { - if (!TrySplitArray(arrayString, out var elements)) - { - values = null; - return false; - } - - values = MakeArrayOf(elementType, elements.Count); - for (int i = 0; i < elements.Count; i++) - { - if (!TryDeserialize(elementType, elements[i].Trim('"'), out var obj)) - { - values = null; - return false; - } - - values.SetValue(obj, i); - } - - return true; - } - - private static bool TryDeserializeArray(string arrayString, out T[] values) - { - if (TryDeserializeArray(typeof(T), arrayString, out var array)) - { - values = (T[])array; - return true; - } - - values = null; - return false; - } - - private static bool TryDeserializeArray(string arrayString, int count, out T[] values) - { - if (!TryDeserializeArray(arrayString, out values)) - { - return false; - } - - if (values.Length != count) - { - values = null; - return false; - } - - return true; - } - - internal static bool TryDeserialize(string value, out T result) - { - if (TryDeserialize(typeof(T), value, out var obj)) - { - result = (T)obj; - return true; - } - - result = default(T); - return false; - } - - // This does NOT do full JSON deserialization. It just deserializes single values - // or arrays of values, which is all the inspector needs. - internal static bool TryDeserialize(Type type, string value, out object result) - { - if (type == typeof(string)) - { - result = value; - return true; - } - else if (type == typeof(float)) - { - if (float.TryParse(value, NumberStyles.Float, CultureInfo.InvariantCulture, out var floatValue)) - { - result = floatValue; - return true; - } - } - else if (type == typeof(double)) - { - if (double.TryParse(value, out var doubleValue)) - { - result = doubleValue; - return true; - } - } - else if (type == typeof(byte)) - { - if (byte.TryParse(value, out var byteValue)) - { - result = byteValue; - return true; - } - } - else if (type == typeof(sbyte)) - { - if (sbyte.TryParse(value, out var sbyteValue)) - { - result = sbyteValue; - return true; - } - } - else if (type == typeof(short)) - { - if (short.TryParse(value, out var shortValue)) - { - result = shortValue; - return true; - } - } - else if (type == typeof(ushort)) - { - if (ushort.TryParse(value, out var ushortValue)) - { - result = ushortValue; - return true; - } - } - else if (type == typeof(int)) - { - if (int.TryParse(value, out var intValue)) - { - result = intValue; - return true; - } - } - else if (type == typeof(uint)) - { - if (uint.TryParse(value, out var uintValue)) - { - result = uintValue; - return true; - } - } - else if (type == typeof(long)) - { - if (long.TryParse(value, out var longValue)) - { - result = longValue; - return true; - } - } - else if (type == typeof(ulong)) - { - if (ulong.TryParse(value, out var ulongValue)) - { - result = ulongValue; - return true; - } - } - else if (type == typeof(bool)) - { - result = (value == "true"); - return true; - } - else if (type == typeof(Vector2)) - { - if (TryDeserializeArray(value, 2, out var v)) - { - result = new Vector2(v[0], v[1]); - return true; - } - } - else if (type == typeof(Vector3)) - { - if (TryDeserializeArray(value, 3, out var v)) - { - result = new Vector3(v[0], v[1], v[2]); - return true; - } - } - else if (type == typeof(Vector4)) - { - if (TryDeserializeArray(value, 4, out var v)) - { - result = new Vector4(v[0], v[1], v[2], v[3]); - return true; - } - } - else if (type == typeof(Vector2Int)) - { - if (TryDeserializeArray(value, 2, out var v)) - { - result = new Vector2Int(v[0], v[1]); - return true; - } - } - else if (type == typeof(Vector3Int)) - { - if (TryDeserializeArray(value, 3, out var v)) - { - result = new Vector3Int(v[0], v[1], v[2]); - return true; - } - } - else if (type == typeof(Quaternion)) - { - if (TryDeserializeArray(value, 3, out var v)) - { - result = Quaternion.Euler(v[0], v[1], v[2]); - return true; - } - } - else if (type == typeof(Rect)) - { - if (TryDeserializeArray(value, 4, out var v)) - { - result = new Rect(v[0], v[1], v[2], v[3]); - return true; - } - } - else if (type == typeof(RectInt)) - { - if (TryDeserializeArray(value, 4, out var v)) - { - result = new RectInt(v[0], v[1], v[2], v[3]); - return true; - } - } - else if (type == typeof(Bounds)) - { - if (TryDeserializeArray(value, 6, out var v)) - { - result = new Bounds(new Vector3(v[0], v[1], v[2]), new Vector3(v[3], v[4], v[5])); - return true; - } - } - else if (type == typeof(BoundsInt)) - { - if (TryDeserializeArray(value, 6, out var v)) - { - result = new BoundsInt(new Vector3Int(v[0], v[1], v[2]), new Vector3Int(v[3], v[4], v[5])); - return true; - } - } - else if (type == typeof(Color)) - { - if (ColorUtility.TryParseHtmlString(value, out var color)) - { - result = color; - return true; - } - } - else if (type == typeof(LayerMask)) - { - if (int.TryParse(value, out var intValue)) - { - result = new LayerMask() { value = intValue }; - return true; - } - } - else if (type.IsEnum) - { - if (int.TryParse(value, out var enumValue)) - { - result = enumValue; - return true; - } - } - else if (type.IsArray) - { - if (TryDeserializeArray(type.GetElementType(), value, out var array)) - { - result = array; - return true; - } - } - else if (typeof(IList).IsAssignableFrom(type)) - { - if (TryDeserializeList(type, value, out var list)) - { - result = list; - return true; - } - } - - result = null; - return false; - } - - internal static object Deserialize(Type t, string value) - { - if (TryDeserialize(t, value, out var result)) - { - return result; - } - - throw new Exception("Failed to deserialize value: " + value + " as type: " + t.Name); - } - - internal static T Deserialize(string value) - { - return (T)Deserialize(typeof(T), value); - } - - private static List _nativeFlags = new List() { -#if UNITY_PHYSICS - typeof(RigidbodyConstraints) -#endif - }; - - internal static string GetSerializedTypeName(Type propertyType) - { - if (propertyType.IsEnum) - { - var sb = new StringBuilder(); - var values = Enum.GetValues(propertyType); - var names = propertyType.GetEnumNames(); - var underlyingType = Enum.GetUnderlyingType(propertyType); - - bool nativeFlag = _nativeFlags.Contains(propertyType); - if (nativeFlag || propertyType.GetCustomAttribute(typeof(FlagsAttribute)) != null) - { - sb.Append("Flags"); - } - else - { - sb.Append("Enum"); - } - - if (values.Length > 0) - { - sb.Append(" "); - } - - for (int i = 0; i < values.Length; i++) - { - if (i > 0) - { - sb.Append(","); - } - - sb.Append(names[i]); - sb.Append(":"); - sb.Append(Convert.ChangeType(values.GetValue(i), underlyingType)); - } - - return sb.ToString(); - } - - if (propertyType.IsArray) - { - return "Array " + GetSerializedTypeName(propertyType.GetElementType()); - } - - if (typeof(IList).IsAssignableFrom(propertyType)) - { - return "Array " + GetSerializedTypeName(propertyType.GetGenericArguments()[0]); - } - - if (propertyType.IsSubclassOf(typeof(UnityEngine.Object))) - { - return "Object " + propertyType.Name; - } - - return propertyType.Name; - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaSerialization.cs.meta b/Assets/External/Proxima/Runtime/ProximaSerialization.cs.meta deleted file mode 100644 index 97319bb0..00000000 --- a/Assets/External/Proxima/Runtime/ProximaSerialization.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 201053f9f6c9b184a90c145b9e3733cd -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaSerialization.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaServer.cs b/Assets/External/Proxima/Runtime/ProximaServer.cs deleted file mode 100644 index fc1e4ba0..00000000 --- a/Assets/External/Proxima/Runtime/ProximaServer.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace Proxima -{ - internal interface ProximaServer - { - void Start(string displayName, string password); - void Stop(); - bool TryGetMessage(out (ProximaConnection, string) message); - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaServer.cs.meta b/Assets/External/Proxima/Runtime/ProximaServer.cs.meta deleted file mode 100644 index edc9c7d9..00000000 --- a/Assets/External/Proxima/Runtime/ProximaServer.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: d0eba2327bf45a14ca7165f1058269b1 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaServer.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaStatus.cs b/Assets/External/Proxima/Runtime/ProximaStatus.cs deleted file mode 100644 index b5915276..00000000 --- a/Assets/External/Proxima/Runtime/ProximaStatus.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System; - -namespace Proxima -{ - public class ProximaStatus - { - // Is Proxima running? - private bool _isRunning; - public bool IsRunning => _isRunning; - - // Information for how to connect to Proxima. - private string _connectInfo; - public string ConnectInfo => _connectInfo; - - // True if Proxima is listening for connections. - private bool _listening; - public bool Listening => _listening; - - // Number of active connections which have entered the correct password. - private int _connections; - public int Connections => _connections; - - // Error message to display to the user. - private string _error; - public string Error => _error; - - // Event which is fired when any of the above properties change. - public event Action Changed; - - internal void Reset() - { - _isRunning = false; - _connectInfo = null; - _listening = false; - _connections = 0; - _error = null; - Changed?.Invoke(); - } - - internal void SetRunning(bool running) - { - _isRunning = running; - Changed?.Invoke(); - } - - internal void SetConnectInfo(string info) - { - _connectInfo = info; - _listening = true; - _error = null; - Changed?.Invoke(); - } - - internal void SetError(string error) - { - _error = error; - Changed?.Invoke(); - } - - internal void IncrementConnections() - { - _connections++; - Changed?.Invoke(); - } - - internal void DecrementConnections() - { - if (_connections > 0) - { - _connections--; - Changed?.Invoke(); - } - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaStatus.cs.meta b/Assets/External/Proxima/Runtime/ProximaStatus.cs.meta deleted file mode 100644 index 9bf8d706..00000000 --- a/Assets/External/Proxima/Runtime/ProximaStatus.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 99dc7c2f70983554c864c7aaac5267dd -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaStatus.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaStatusUI.cs b/Assets/External/Proxima/Runtime/ProximaStatusUI.cs deleted file mode 100644 index f58e9950..00000000 --- a/Assets/External/Proxima/Runtime/ProximaStatusUI.cs +++ /dev/null @@ -1,122 +0,0 @@ -#if UNITY_TMPRO - -using TMPro; -using UnityEngine; - -namespace Proxima -{ - [HelpURL("https://www.unityproxima.com/docs")] - public class ProximaStatusUI : MonoBehaviour - { - // The inspector to monitor status from. - [SerializeField] - private ProximaInspector _proximaInspector; - public ProximaInspector ProximaInspector - { - get => _proximaInspector; - set => _proximaInspector = value; - } - - // GameObject to show when Proxima is enabled. - [SerializeField] - private GameObject _uiRoot; - public GameObject UIRoot - { - get => _uiRoot; - set => _uiRoot = value; - } - - // Label to show address to connect to Proxima. - [SerializeField] - private TMP_InputField _connectInfoLabel; - public TMP_InputField ConnectInfoLabel - { - get => _connectInfoLabel; - set => _connectInfoLabel = value; - } - - // Label to show the current status and errors. - [SerializeField] - private TMP_Text _statusLabel; - public TMP_Text StatusLabel - { - get => _statusLabel; - set => _statusLabel = value; - } - - private bool _isPortrait; - - void Start() - { - _proximaInspector.Status.Changed += UpdateUI; - UpdateUI(); - } - - void OnDestroy() - { - if (_proximaInspector) - { - _proximaInspector.Status.Changed -= UpdateUI; - } - } - - private void UpdateUI() - { - if (_uiRoot) - { - _uiRoot.SetActive(_proximaInspector.Status.Listening); - } - - if (_connectInfoLabel) - { - _connectInfoLabel.text = _proximaInspector.Status.ConnectInfo; - } - - if (_statusLabel) - { - if (_proximaInspector.Status.Connections > 0) - { - if (_isPortrait) - { - _statusLabel.text = "Connected: " + _proximaInspector.Status.Connections; - } - else - { - _statusLabel.text = "Proxima connected to " + _proximaInspector.Status.Connections + - (_proximaInspector.Status.Connections > 1 ? " clients." : " client."); - } - } - else if (_proximaInspector.Status.Error != null) - { - _statusLabel.text = _proximaInspector.Status.Error; - } - else if (_proximaInspector.Status.Listening) - { - _statusLabel.text = _isPortrait ? "Listening" : "Proxima is listening for connections."; - } - } - } - - void Update() - { - bool isPortrait = (float)Screen.width / (float)Screen.height < 0.75f; - if (_isPortrait != isPortrait) - { - _isPortrait = isPortrait; - UpdateUI(); - } - } - } -} - -#else - -namespace Proxima -{ - public class ProximaStatusUI : UnityEngine.MonoBehaviour - { - public ProximaInspector ProximaInspector; - } -} - -#endif \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaStatusUI.cs.meta b/Assets/External/Proxima/Runtime/ProximaStatusUI.cs.meta deleted file mode 100644 index 9c6d8b29..00000000 --- a/Assets/External/Proxima/Runtime/ProximaStatusUI.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: f8a779904589bf645b974624adf18491 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaStatusUI.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/ProximaStream.cs b/Assets/External/Proxima/Runtime/ProximaStream.cs deleted file mode 100644 index 69862ef0..00000000 --- a/Assets/External/Proxima/Runtime/ProximaStream.cs +++ /dev/null @@ -1,39 +0,0 @@ - -using System; -using UnityEngine.Scripting; - -namespace Proxima -{ - [AttributeUsage(AttributeTargets.Method)] - internal class ProximaStreamStartAttribute : PreserveAttribute - { - public string Name; - - public ProximaStreamStartAttribute(string name, bool hidden = false) - { - Name = name; - } - } - - [AttributeUsage(AttributeTargets.Method)] - internal class ProximaStreamStopAttribute : PreserveAttribute - { - public string Name; - - public ProximaStreamStopAttribute(string name, bool hidden = false) - { - Name = name; - } - } - - [AttributeUsage(AttributeTargets.Method)] - internal class ProximaStreamUpdateAttribute : PreserveAttribute - { - public string Name; - - public ProximaStreamUpdateAttribute(string name, bool hidden = false) - { - Name = name; - } - } -} \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/ProximaStream.cs.meta b/Assets/External/Proxima/Runtime/ProximaStream.cs.meta deleted file mode 100644 index 20c979ef..00000000 --- a/Assets/External/Proxima/Runtime/ProximaStream.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 52a8003bd3ff1f74ca735d2b68d69135 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/ProximaStream.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/UnityComponents.json b/Assets/External/Proxima/Runtime/UnityComponents.json deleted file mode 100644 index a4717719..00000000 --- a/Assets/External/Proxima/Runtime/UnityComponents.json +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2771e578e04052f1d761aa570cbbd85b96489236380be923c437ff3027b42895 -size 23793 diff --git a/Assets/External/Proxima/Runtime/UnityComponents.json.meta b/Assets/External/Proxima/Runtime/UnityComponents.json.meta deleted file mode 100644 index d3470916..00000000 --- a/Assets/External/Proxima/Runtime/UnityComponents.json.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: d6f93b674e30e4fc0bfa22e0880c4c87 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/UnityComponents.json - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/WebGL.meta b/Assets/External/Proxima/Runtime/WebGL.meta deleted file mode 100644 index 38e6d326..00000000 --- a/Assets/External/Proxima/Runtime/WebGL.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7c6b1bb1619309a4c8f72816937018d3 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Runtime/WebGL/ProximaWebGL.jslib b/Assets/External/Proxima/Runtime/WebGL/ProximaWebGL.jslib deleted file mode 100644 index f632b073..00000000 --- a/Assets/External/Proxima/Runtime/WebGL/ProximaWebGL.jslib +++ /dev/null @@ -1,113 +0,0 @@ -const ProximaWebGLLib = { - $channels: {}, - - ProximaWebGLCreate: function(displayName, instanceId, productName, companyName, platform, productVersion, proximaVersion, connectionId, messageCb, closeCB) { - const connId = UTF8ToString(connectionId); - const instId = UTF8ToString(instanceId); - const inChannel = new BroadcastChannel('proxima-' + connId + '-in'); - const outChannel = new BroadcastChannel('proxima-' + connId + '-out'); - - const conIdUtf8Length = lengthBytesUTF8(connId) + 1; - const connIdUtf8 = _malloc(conIdUtf8Length); - stringToUTF8(connId, connIdUtf8, conIdUtf8Length); - - inChannel.onmessage = function(e) { - if (e.data === 'close') { - Module.dynCall_vi(closeCB, connIdUtf8); - return; - } - - const size = lengthBytesUTF8(e.data) + 1; - const buffer = _malloc(size); - stringToUTF8(e.data, buffer, size); - - try { - Module.dynCall_vii(messageCb, connIdUtf8, buffer); - } finally { - _free(buffer); - } - }; - - const channel = { - out: outChannel, - in: inChannel, - connIdUtf8: connIdUtf8, - }; - - channels[connId] = channel; - - const connections = [{ - DisplayName: UTF8ToString(displayName), - InstanceId: instId, - ProductName: UTF8ToString(productName), - CompanyName: UTF8ToString(companyName), - Platform: UTF8ToString(platform), - ProductVersion: UTF8ToString(productVersion), - ProximaVersion: UTF8ToString(proximaVersion), - ConnectionId: connId - }]; - - // Avoid hanging onto old connections in localStorage by clearing it out - window.localStorage.setItem('proxima-connections', JSON.stringify(connections)); - - window.addEventListener('pagehide', function() { - if (channel.out) { - const connections = window.localStorage.getItem('proxima-connections'); - if (connections && connections.includes(connId)) { - window.localStorage.setItem('proxima-connections', '[]'); - } - - channel.out.postMessage('close'); - } - }); - }, - - ProximaWebGLSelected: function(connectionId) { - window.localStorage.setItem('proxima-connections', '[]'); - }, - - ProximaWebGLOpenOnMouseUp: function(url) { - const urlString = UTF8ToString(url); - function openUrl() { - window.open(urlString, '_blank'); - document.removeEventListener('mouseup', openUrl); - } - - document.addEventListener('mouseup', openUrl); - }, - - ProximaWebGLDestroy: function(connectionId) { - const connId = UTF8ToString(connectionId); - - const outChannel = channels[connId].out; - if (outChannel) { - outChannel.postMessage('close'); - outChannel.close(); - } - - const inChannel = channels[connId].in; - if (inChannel) { - inChannel.close(); - } - - const connIdUtf8 = channels[connId].connIdUtf8; - if (connIdUtf8) { - _free(connIdUtf8); - } - - const connections = window.localStorage.getItem('proxima-connections'); - if (connections && connections.includes(connId)) { - window.localStorage.setItem('proxima-connections', '[]'); - } - - delete channels[connId]; - }, - - ProximaWebGLSend: function(connectionId, data) { - const connId = UTF8ToString(connectionId); - channels[connId].out.postMessage(UTF8ToString(data)); - } -} - -autoAddDeps(ProximaWebGLLib, '$channels'); -mergeInto(LibraryManager.library, ProximaWebGLLib); \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/WebGL/ProximaWebGL.jslib.meta b/Assets/External/Proxima/Runtime/WebGL/ProximaWebGL.jslib.meta deleted file mode 100644 index 3dfd33fb..00000000 --- a/Assets/External/Proxima/Runtime/WebGL/ProximaWebGL.jslib.meta +++ /dev/null @@ -1,39 +0,0 @@ -fileFormatVersion: 2 -guid: 0a66e2f15d6d7b441ba16ebb86095440 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 0 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - WebGL: WebGL - second: - enabled: 1 - settings: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/WebGL/ProximaWebGL.jslib - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/WebGL/ProximaWebGLConnection.cs b/Assets/External/Proxima/Runtime/WebGL/ProximaWebGLConnection.cs deleted file mode 100644 index 5d80804b..00000000 --- a/Assets/External/Proxima/Runtime/WebGL/ProximaWebGLConnection.cs +++ /dev/null @@ -1,195 +0,0 @@ -#if UNITY_WEBGL - -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.IO; -using System.Runtime.InteropServices; -using AOT; -using UnityEngine; - -namespace Proxima -{ - internal class ProximaWebGLConnection : ProximaConnection, IDisposable - { - public bool Open => _open; - - public event Action OnConnect; - public event Action OnClose; - - private ConcurrentQueue<(ProximaConnection, string)> _receiveQueue; - - private string _password; - private bool _passwordProvided = false; - private ProximaInstanceHello _hello; - private DateTime _lastListTime; - private DateTime _lastSelectTime; - private ProximaStatus _status; - private ProximaDispatcher _dispatcher; - private bool _open; - - private static Dictionary _connections = new Dictionary(); - - [DllImport("__Internal")] - private static extern void ProximaWebGLCreate( - string displayName, - string instanceId, - string productName, - string companyName, - string platform, - string productVersion, - string proximaVersion, - string connectionId, - Action messageCb, - Action closeCB); - - [DllImport("__Internal")] - private static extern void ProximaWebGLSelected(string connectionId); - - [DllImport("__Internal")] - private static extern void ProximaWebGLOpenOnMouseUp(string url); - - [DllImport("__Internal")] - private static extern void ProximaWebGLSend(string connectionId, string message); - - [DllImport("__Internal")] - private static extern void ProximaWebGLDestroy(string connectionId); - - public ProximaWebGLConnection(string displayName, string password, ProximaDispatcher dispatcher, ProximaStatus status, ConcurrentQueue<(ProximaConnection, string)> queue) - { - _receiveQueue = queue; - _dispatcher = dispatcher; - _status = status; - - _hello = ProximaSerialization.CreateHello(displayName); - _password = ProximaSerialization.HashPassword(password, _hello.ConnectionId); - - _connections.Add(_hello.ConnectionId, this); - - ProximaWebGLCreate( - _hello.DisplayName, - _hello.InstanceId, - _hello.ProductName, - _hello.CompanyName, - _hello.Platform, - _hello.ProductVersion, - _hello.ProximaVersion, - _hello.ConnectionId, - OnMessageStatic, - OnCloseStatic); - } - - public static void OpenOnMouseUp(string url) - { - ProximaWebGLOpenOnMouseUp(url); - } - - [MonoPInvokeCallback(typeof(Action))] - public static void OnMessageStatic(string connectionId, string message) - { - try - { - _connections[connectionId].OnMessageInstance(message); - } - catch (Exception e) - { - Log.Exception(e); - } - } - - [MonoPInvokeCallback(typeof(Action))] - public static void OnCloseStatic(string connectionId) - { - try - { - _connections[connectionId].OnCloseInstance(); - } - catch (Exception e) - { - Log.Exception(e); - } - } - - private void OnCloseInstance() - { - _open = false; - _dispatcher.Dispatch(() => { - if (_passwordProvided) - { - OnClose?.Invoke(); - } - }); - } - - public void SendMessage(MemoryStream data) - { - var message = System.Text.Encoding.UTF8.GetString(data.GetBuffer(), 0, (int)data.Length); - Log.Verbose("Sending: " + message); - ProximaWebGLSend(_hello.ConnectionId, message); - } - - private void OnMessageInstance(string message) - { - Log.Verbose("Received: " + message); - - if (_passwordProvided) - { - _receiveQueue.Enqueue((this, message)); - } - else - { - ProximaRequest request; - - try - { - request = JsonUtility.FromJson(message); - } - catch (Exception ex) - { - Log.Error("Failed to parse request: " + ex.Message); - return; - } - - if (request.Type == ProximaRequestType.Select) - { - if (_lastSelectTime != null && DateTime.Now - _lastSelectTime < TimeSpan.FromSeconds(1)) - { - SendMessage(ProximaSerialization.ErrorResponse(request, "Too many requests.")); - return; - } - - MemoryStream response; - if (request.Cmd != _hello.InstanceId) - { - response = ProximaSerialization.ErrorResponse(request, "Invalid selection."); - } - else if (request.Args.Length != 1 || request.Args[0] != _password) - { - response = ProximaSerialization.ErrorResponse(request, "Invalid password."); - } - else - { - response = ProximaSerialization.DataResponse(request, "OK"); - _open = true; - _passwordProvided = true; - _dispatcher.Dispatch(() => OnConnect?.Invoke()); - } - - SendMessage(response); - _lastSelectTime = DateTime.Now; - } - else - { - Log.Info("Unknown request: " + request.Type); - } - } - } - - public void Dispose() - { - ProximaWebGLDestroy(_hello.ConnectionId); - } - } -} - -#endif \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/WebGL/ProximaWebGLConnection.cs.meta b/Assets/External/Proxima/Runtime/WebGL/ProximaWebGLConnection.cs.meta deleted file mode 100644 index fd89914f..00000000 --- a/Assets/External/Proxima/Runtime/WebGL/ProximaWebGLConnection.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: 86c13c40d96ce6c4ebd1ef78ca0ec678 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/WebGL/ProximaWebGLConnection.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/WebGL/ProximaWebGLServer.cs b/Assets/External/Proxima/Runtime/WebGL/ProximaWebGLServer.cs deleted file mode 100644 index ac461eb3..00000000 --- a/Assets/External/Proxima/Runtime/WebGL/ProximaWebGLServer.cs +++ /dev/null @@ -1,121 +0,0 @@ -#if UNITY_WEBGL - -using System.Collections; -using System.Collections.Concurrent; -using System.Collections.Generic; -using UnityEngine; - -namespace Proxima -{ - internal class ProximaWebGLServer : ProximaServer - { - private ConcurrentQueue<(ProximaConnection, string)> _receiveQueue; - private ProximaDispatcher _dispatcher; - private WaitForSeconds _wait = new WaitForSeconds(1); - private ProximaStatus _status; - private ProximaWebGLConnection _pendingConnection; - private List _activeConnections = new List(); - private string _displayName; - private string _password; - - public ProximaWebGLServer(ProximaDispatcher dispatcher, ProximaStatus status) - { - _dispatcher = dispatcher; - _status = status; - } - - public void Start(string displayName, string password) - { - Log.Info("Proxima Inspector started for WebGL."); - _displayName = displayName; - _password = password; - _receiveQueue = new ConcurrentQueue<(ProximaConnection, string)>(); - _status.SetConnectInfo(Application.streamingAssetsPath + "/proxima/index.html"); - CreateNewConnection(); - } - - private IEnumerator CreateNewConnectionCoroutine() - { - yield return _wait; - if (_pendingConnection != null) - { - yield break; - } - - try - { - - Log.Verbose("Opening new Proxima WebGL connection: "); - var conn = new ProximaWebGLConnection(_displayName, _password, _dispatcher, _status, _receiveQueue); - - conn.OnConnect += () => { - Log.Verbose("Connected."); - _activeConnections.Add(conn); - _status.IncrementConnections(); - CreateNewConnection(); - }; - - conn.OnClose += () => { - Log.Verbose("Disconnected."); - conn.Dispose(); - - if (conn == _pendingConnection) - { - if (_receiveQueue != null) - { - Log.Verbose("Failed to create WebGL connection. Check for JavaScript errors."); - _status.SetError("Failed to create WebGL connection. Check for JavaScript errors."); - } - } - else - { - _activeConnections.Remove(conn); - _status.DecrementConnections(); - } - }; - - _pendingConnection = conn; - } - catch (System.Exception e) - { - Log.Exception(e); - } - } - - private void CreateNewConnection() - { - _pendingConnection = null; - if (_receiveQueue != null && _dispatcher != null) - { - _dispatcher.StartCoroutine(CreateNewConnectionCoroutine()); - } - } - - public void Stop() - { - foreach (var connection in _activeConnections) - { - connection.Dispose(); - } - - _activeConnections.Clear(); - _pendingConnection?.Dispose(); - _receiveQueue = null; - } - - public bool TryGetMessage(out (ProximaConnection, string) message) - { - if (_receiveQueue != null) - { - return _receiveQueue.TryDequeue(out message); - } - else - { - message = (null, ""); - return false; - } - } - } -} - -#endif \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/WebGL/ProximaWebGLServer.cs.meta b/Assets/External/Proxima/Runtime/WebGL/ProximaWebGLServer.cs.meta deleted file mode 100644 index ef926518..00000000 --- a/Assets/External/Proxima/Runtime/WebGL/ProximaWebGLServer.cs.meta +++ /dev/null @@ -1,18 +0,0 @@ -fileFormatVersion: 2 -guid: f38bbfdc4fcaa7448bdbaf5c6eb4c6fd -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/WebGL/ProximaWebGLServer.cs - uploadId: 684082 diff --git a/Assets/External/Proxima/Runtime/csc.rsp b/Assets/External/Proxima/Runtime/csc.rsp deleted file mode 100644 index 349a1e26..00000000 --- a/Assets/External/Proxima/Runtime/csc.rsp +++ /dev/null @@ -1 +0,0 @@ --r:System.Web.dll \ No newline at end of file diff --git a/Assets/External/Proxima/Runtime/csc.rsp.meta b/Assets/External/Proxima/Runtime/csc.rsp.meta deleted file mode 100644 index 8e9a848d..00000000 --- a/Assets/External/Proxima/Runtime/csc.rsp.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 65378d4b1a0f3004082b228aa7a3dca1 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Runtime/csc.rsp - uploadId: 684082 diff --git a/Assets/External/Proxima/Scenes.meta b/Assets/External/Proxima/Scenes.meta deleted file mode 100644 index 0e0aaf49..00000000 --- a/Assets/External/Proxima/Scenes.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 52e3b4dc5e058894182f7cbf14a00be8 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Scenes/BasicProximaSetup.unity b/Assets/External/Proxima/Scenes/BasicProximaSetup.unity deleted file mode 100644 index 6dc91033..00000000 --- a/Assets/External/Proxima/Scenes/BasicProximaSetup.unity +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:410e2ccdcead8a9b82356194199b1e6a2c5696a4e1e8a65ff88d0d9e9ef20cb5 -size 16888 diff --git a/Assets/External/Proxima/Scenes/BasicProximaSetup.unity.meta b/Assets/External/Proxima/Scenes/BasicProximaSetup.unity.meta deleted file mode 100644 index 322aaf7e..00000000 --- a/Assets/External/Proxima/Scenes/BasicProximaSetup.unity.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 8f5fd60ea70bf0243ac3e32c81becef6 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Scenes/BasicProximaSetup.unity - uploadId: 684082 diff --git a/Assets/External/Proxima/Sprites.meta b/Assets/External/Proxima/Sprites.meta deleted file mode 100644 index b0ba6496..00000000 --- a/Assets/External/Proxima/Sprites.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1d1183ac6587de341bb1c636bf22e17a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/Sprites/buildalon-logo.png b/Assets/External/Proxima/Sprites/buildalon-logo.png deleted file mode 100644 index a6044375..00000000 --- a/Assets/External/Proxima/Sprites/buildalon-logo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:99b87363d5854a6ce65023b3d96d7d46dd6f8af8a18ba5202b44a72a10c9479d -size 193567 diff --git a/Assets/External/Proxima/Sprites/buildalon-logo.png.meta b/Assets/External/Proxima/Sprites/buildalon-logo.png.meta deleted file mode 100644 index b262a6cc..00000000 --- a/Assets/External/Proxima/Sprites/buildalon-logo.png.meta +++ /dev/null @@ -1,178 +0,0 @@ -fileFormatVersion: 2 -guid: 3a8828df6dcaca540b6fee70da9c4697 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - 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: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Sprites/buildalon-logo.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Sprites/flexalon-logo.png b/Assets/External/Proxima/Sprites/flexalon-logo.png deleted file mode 100644 index 284c34e9..00000000 --- a/Assets/External/Proxima/Sprites/flexalon-logo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:01acb73c91fcccf73b0bc727d583dcd2f7463a2132d042be9d968368b872021a -size 37322 diff --git a/Assets/External/Proxima/Sprites/flexalon-logo.png.meta b/Assets/External/Proxima/Sprites/flexalon-logo.png.meta deleted file mode 100644 index c44f461a..00000000 --- a/Assets/External/Proxima/Sprites/flexalon-logo.png.meta +++ /dev/null @@ -1,165 +0,0 @@ -fileFormatVersion: 2 -guid: 9c4086f38f8e37949978f4861eee5e47 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 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 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Sprites/flexalon-logo.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Sprites/proxima_icon_32x32.png b/Assets/External/Proxima/Sprites/proxima_icon_32x32.png deleted file mode 100644 index 7be15c71..00000000 --- a/Assets/External/Proxima/Sprites/proxima_icon_32x32.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8cb7b18b569b6322fb66aba232b7e97013afcbb65e0ae9b737f49506b243ddb0 -size 979 diff --git a/Assets/External/Proxima/Sprites/proxima_icon_32x32.png.meta b/Assets/External/Proxima/Sprites/proxima_icon_32x32.png.meta deleted file mode 100644 index 50caf5cc..00000000 --- a/Assets/External/Proxima/Sprites/proxima_icon_32x32.png.meta +++ /dev/null @@ -1,153 +0,0 @@ -fileFormatVersion: 2 -guid: 84dd31c6b1180460789ddc5fc0620856 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 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 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Sprites/proxima_icon_32x32.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Sprites/proxima_logo.png b/Assets/External/Proxima/Sprites/proxima_logo.png deleted file mode 100644 index a43cb0bc..00000000 --- a/Assets/External/Proxima/Sprites/proxima_logo.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:82db756344f88af870c5194670fbd04c8f43986f42ae3beaadee94b2a753759b -size 18350 diff --git a/Assets/External/Proxima/Sprites/proxima_logo.png.meta b/Assets/External/Proxima/Sprites/proxima_logo.png.meta deleted file mode 100644 index ca1ba028..00000000 --- a/Assets/External/Proxima/Sprites/proxima_logo.png.meta +++ /dev/null @@ -1,165 +0,0 @@ -fileFormatVersion: 2 -guid: 834e6e3f5b2f6fd479051cdddf01f4b1 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 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 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Sprites/proxima_logo.png - uploadId: 684082 diff --git a/Assets/External/Proxima/Third-Party Notices.txt b/Assets/External/Proxima/Third-Party Notices.txt deleted file mode 100644 index 2aa1229b..00000000 --- a/Assets/External/Proxima/Third-Party Notices.txt +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cf4d601ab02a55eda87af92a09cea19d018d6ff33101015f4b99d0a71be82de2 -size 410 diff --git a/Assets/External/Proxima/Third-Party Notices.txt.meta b/Assets/External/Proxima/Third-Party Notices.txt.meta deleted file mode 100644 index 9a79b7d9..00000000 --- a/Assets/External/Proxima/Third-Party Notices.txt.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 665ad43a4b3704868b3ad4406c5c3d5b -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/Third-Party Notices.txt - uploadId: 684082 diff --git a/Assets/External/Proxima/WebSocketSharp.meta b/Assets/External/Proxima/WebSocketSharp.meta deleted file mode 100644 index 7b7d8076..00000000 --- a/Assets/External/Proxima/WebSocketSharp.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: cec73049c46402649ac576c5f3c6842c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/External/Proxima/WebSocketSharp/LICENSE.txt b/Assets/External/Proxima/WebSocketSharp/LICENSE.txt deleted file mode 100644 index 825ffbeb..00000000 --- a/Assets/External/Proxima/WebSocketSharp/LICENSE.txt +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cec4773b027b0d8d76a315d2be2c4f91005ab0c61324fcf4328af1b84b4c2b40 -size 1104 diff --git a/Assets/External/Proxima/WebSocketSharp/LICENSE.txt.meta b/Assets/External/Proxima/WebSocketSharp/LICENSE.txt.meta deleted file mode 100644 index 8b5d2d2f..00000000 --- a/Assets/External/Proxima/WebSocketSharp/LICENSE.txt.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 3adce1a9bc62b4515979022e003e9e6b -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/WebSocketSharp/LICENSE.txt - uploadId: 684082 diff --git a/Assets/External/Proxima/WebSocketSharp/README.txt b/Assets/External/Proxima/WebSocketSharp/README.txt deleted file mode 100644 index 6153c2bb..00000000 --- a/Assets/External/Proxima/WebSocketSharp/README.txt +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e78f638ebb11baac170d8f1c7bae0c0eb2267ab41b8b7240639913018b0213d5 -size 654 diff --git a/Assets/External/Proxima/WebSocketSharp/README.txt.meta b/Assets/External/Proxima/WebSocketSharp/README.txt.meta deleted file mode 100644 index 2ef1cd14..00000000 --- a/Assets/External/Proxima/WebSocketSharp/README.txt.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 1a87c93370d624c58b4383aa0fa31ed7 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/WebSocketSharp/README.txt - uploadId: 684082 diff --git a/Assets/External/Proxima/WebSocketSharp/proxima-websocket-sharp.dll b/Assets/External/Proxima/WebSocketSharp/proxima-websocket-sharp.dll deleted file mode 100644 index fe4033e5..00000000 --- a/Assets/External/Proxima/WebSocketSharp/proxima-websocket-sharp.dll +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5ad0e382b7a6893010e28c851a682cb8243376b55a4931f3587844ffbab07adf -size 246272 diff --git a/Assets/External/Proxima/WebSocketSharp/proxima-websocket-sharp.dll.meta b/Assets/External/Proxima/WebSocketSharp/proxima-websocket-sharp.dll.meta deleted file mode 100644 index 36c0945a..00000000 --- a/Assets/External/Proxima/WebSocketSharp/proxima-websocket-sharp.dll.meta +++ /dev/null @@ -1,40 +0,0 @@ -fileFormatVersion: 2 -guid: 9baed5fd89595c948b35d6068d0764bf -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 0 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/WebSocketSharp/proxima-websocket-sharp.dll - uploadId: 684082 diff --git a/Assets/External/Proxima/link.xml b/Assets/External/Proxima/link.xml deleted file mode 100644 index 4cf53ebc..00000000 --- a/Assets/External/Proxima/link.xml +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a9738e3f449a7d64f1c3783a809ec4af47e200bd7d5cbe57ea0a3ab0eddb29e3 -size 288 diff --git a/Assets/External/Proxima/link.xml.meta b/Assets/External/Proxima/link.xml.meta deleted file mode 100644 index c88da04b..00000000 --- a/Assets/External/Proxima/link.xml.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: cc0f737b215c72d4494952f595bd1ed3 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/link.xml - uploadId: 684082 diff --git a/Assets/External/Proxima/package.json b/Assets/External/Proxima/package.json deleted file mode 100644 index 4bed0623..00000000 --- a/Assets/External/Proxima/package.json +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c9e268b57f075190163fd50088b78775069acdace9a103c09903ffa8910d8303 -size 269 diff --git a/Assets/External/Proxima/package.json.meta b/Assets/External/Proxima/package.json.meta deleted file mode 100644 index f86915d7..00000000 --- a/Assets/External/Proxima/package.json.meta +++ /dev/null @@ -1,14 +0,0 @@ -fileFormatVersion: 2 -guid: 55a7fa332ffadb5489464312015b3ea8 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 253649 - packageName: Proxima Runtime Inspector (Free) - packageVersion: 1.4.0 - assetPath: Assets/Proxima/package.json - uploadId: 684082 diff --git a/Assets/External/lilToon/Editor/lilInspector.cs b/Assets/External/lilToon/Editor/lilInspector.cs index ab267d15..9f26b1f2 100644 --- a/Assets/External/lilToon/Editor/lilInspector.cs +++ b/Assets/External/lilToon/Editor/lilInspector.cs @@ -3974,11 +3974,11 @@ namespace lilToon )) { var propType = p.type; - if(propType == MaterialProperty.PropType.Color) p.colorValue = copiedProperties[p.name].colorValue; - if(propType == MaterialProperty.PropType.Vector) p.vectorValue = copiedProperties[p.name].vectorValue; - if(propType == MaterialProperty.PropType.Float) p.floatValue = copiedProperties[p.name].floatValue; - if(propType == MaterialProperty.PropType.Range) p.floatValue = copiedProperties[p.name].floatValue; - if(propType == MaterialProperty.PropType.Texture) p.textureValue = copiedProperties[p.name].textureValue; + if(propType == ShaderPropertyType.Color) p.colorValue = copiedProperties[p.name].colorValue; + if(propType == ShaderPropertyType.Vector) p.vectorValue = copiedProperties[p.name].vectorValue; + if(propType == ShaderPropertyType.Float) p.floatValue = copiedProperties[p.name].floatValue; + if(propType == ShaderPropertyType.Range) p.floatValue = copiedProperties[p.name].floatValue; + if(propType == ShaderPropertyType.Texture) p.textureValue = copiedProperties[p.name].textureValue; } } @@ -3996,11 +3996,11 @@ namespace lilToon int propID = shader.FindPropertyIndex(p.name); if(propID == -1) continue; var propType = p.type; - if(propType == MaterialProperty.PropType.Color) p.colorValue = shader.GetPropertyDefaultVectorValue(propID); - if(propType == MaterialProperty.PropType.Vector) p.vectorValue = shader.GetPropertyDefaultVectorValue(propID); - if(propType == MaterialProperty.PropType.Float) p.floatValue = shader.GetPropertyDefaultFloatValue(propID); - if(propType == MaterialProperty.PropType.Range) p.floatValue = shader.GetPropertyDefaultFloatValue(propID); - if(propType == MaterialProperty.PropType.Texture) p.textureValue = null; + if(propType == ShaderPropertyType.Color) p.colorValue = shader.GetPropertyDefaultVectorValue(propID); + if(propType == ShaderPropertyType.Vector) p.vectorValue = shader.GetPropertyDefaultVectorValue(propID); + if(propType == ShaderPropertyType.Float) p.floatValue = shader.GetPropertyDefaultFloatValue(propID); + if(propType == ShaderPropertyType.Range) p.floatValue = shader.GetPropertyDefaultFloatValue(propID); + if(propType == ShaderPropertyType.Texture) p.textureValue = null; } #endif } diff --git a/Assets/External/lilToon/Editor/lilMaterialProperty.cs b/Assets/External/lilToon/Editor/lilMaterialProperty.cs index 8e2597b7..6a978062 100644 --- a/Assets/External/lilToon/Editor/lilMaterialProperty.cs +++ b/Assets/External/lilToon/Editor/lilMaterialProperty.cs @@ -50,9 +50,9 @@ namespace lilToon private set { } } - public MaterialProperty.PropFlags flags + public UnityEngine.Rendering.ShaderPropertyFlags flags { - get { return p.flags; } + get { return p.propertyFlags; } private set { } } @@ -80,9 +80,9 @@ namespace lilToon private set { } } - public MaterialProperty.PropType type + public UnityEngine.Rendering.ShaderPropertyType type { - get { return p.type; } + get { return p.propertyType; } private set { } } diff --git a/Assets/External/Proxima.meta b/Assets/External/websocket-sharp/websocket-sharp.csproj.meta similarity index 67% rename from Assets/External/Proxima.meta rename to Assets/External/websocket-sharp/websocket-sharp.csproj.meta index 0a224385..66af5f92 100644 --- a/Assets/External/Proxima.meta +++ b/Assets/External/websocket-sharp/websocket-sharp.csproj.meta @@ -1,6 +1,5 @@ fileFormatVersion: 2 -guid: e031b80dd84db6a4d9e29ddea5255781 -folderAsset: yes +guid: ae0a68acee725e141b02318f249f7990 DefaultImporter: externalObjects: {} userData: diff --git a/Assets/Resources/Settings/Streamingle Render Pipeline Asset_Renderer.asset b/Assets/Resources/Settings/Streamingle Render Pipeline Asset_Renderer.asset index bb4d46bc..9a3af26c 100644 --- a/Assets/Resources/Settings/Streamingle Render Pipeline Asset_Renderer.asset +++ b/Assets/Resources/Settings/Streamingle Render Pipeline Asset_Renderer.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:81fc505c4e1fc24bfed96804935b8cf2d1b4761b27d1fed9d3d762ea3e313ea2 -size 14589 +oid sha256:73857e3c8045deaee8b0a8cc4abf050c157278fd0b736daee1e2b4b7d7c60a44 +size 14659 diff --git a/Assets/Resources/Settings/UniversalRenderPipelineGlobalSettings.asset b/Assets/Resources/Settings/UniversalRenderPipelineGlobalSettings.asset index 31e84321..3aa19ae9 100644 --- a/Assets/Resources/Settings/UniversalRenderPipelineGlobalSettings.asset +++ b/Assets/Resources/Settings/UniversalRenderPipelineGlobalSettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a5d772fc880b9fd1e7f6aaddb2a2c7580b11826a593a3b1e3fa709cde536dee2 -size 22038 +oid sha256:98c4eeba46875bfb57e8291120759fe8755491f8f4ed1c36d7ba8b3c74be4181 +size 23265 diff --git a/Assets/ResourcesData/Etc/Plane UV/PlaneUV.mat b/Assets/ResourcesData/Etc/Plane UV/PlaneUV.mat index 357a757b..831d78db 100644 --- a/Assets/ResourcesData/Etc/Plane UV/PlaneUV.mat +++ b/Assets/ResourcesData/Etc/Plane UV/PlaneUV.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 9 + version: 10 --- !u!21 &2100000 Material: serializedVersion: 8 diff --git a/Assets/ResourcesData/Etc/Render Texture/Screen Mat.mat b/Assets/ResourcesData/Etc/Render Texture/Screen Mat.mat index 4bb3d3fa..b85b3571 100644 --- a/Assets/ResourcesData/Etc/Render Texture/Screen Mat.mat +++ b/Assets/ResourcesData/Etc/Render Texture/Screen Mat.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 9 + version: 10 --- !u!21 &2100000 Material: serializedVersion: 8 diff --git a/Packages/manifest.json b/Packages/manifest.json index de24498b..afdc4f98 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aedce5da9a2defdf30972f3760c1a63b3a187e61ec719a00666b7fc1ae07b569 -size 2699 +oid sha256:082135221c854e22ecc8accd5116f201f98b2d3f9cc91da7c1cf5a0c20722a47 +size 2612 diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 781c64b1..cbc0076f 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4ced4d5f43c36cb82adfc5cb3eac00f5ed9b2c85819b95fae008eac3c80b2979 -size 16388 +oid sha256:f755c13c79485fde561203a7a75f6c5298f8f73f4aec275e58eab8309d7a5210 +size 16188 diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index f517d7c8..b99a764b 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e54c475959db5e1139cae2ccd6aa57f22dcdc78a0b1559d9ec1083e517963d11 -size 25539 +oid sha256:ef284afbce129b3f7d9cbfa111112ee95d6a2950fe20ddea27762dd1da5144ae +size 25769 diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index 63264c69..a01b8dc2 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f5160cf914f94162e015cd44cb18c354b41ba5d3de8e82fd76cb2189ea51da7 -size 85 +oid sha256:47c16fd0780ec25ece339d19790a25f4d604daf6411d1f9d6d7fe2d1bbbb0758 +size 83