diff --git a/.idea/.idea.Pacore/.idea/vcs.xml b/.idea/.idea.Pacore/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/.idea.Pacore/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Assets/Pacore/Editor/Drawers.meta b/Assets/Pacore/Editor/Drawers.meta new file mode 100644 index 0000000..3ddc5cf --- /dev/null +++ b/Assets/Pacore/Editor/Drawers.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e2d298acaa5e48fbac2a8fd619b31dc9 +timeCreated: 1769189645 \ No newline at end of file diff --git a/Assets/Pacore/Editor/Drawers/Blocks.meta b/Assets/Pacore/Editor/Drawers/Blocks.meta new file mode 100644 index 0000000..a58444e --- /dev/null +++ b/Assets/Pacore/Editor/Drawers/Blocks.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9a1f5463ef6a4249af45548d72f211c6 +timeCreated: 1769189971 \ No newline at end of file diff --git a/Assets/Pacore/Editor/Drawers/Blocks/DisabledGUIBlock.cs b/Assets/Pacore/Editor/Drawers/Blocks/DisabledGUIBlock.cs new file mode 100644 index 0000000..be392de --- /dev/null +++ b/Assets/Pacore/Editor/Drawers/Blocks/DisabledGUIBlock.cs @@ -0,0 +1,11 @@ +using UnityEngine; +using System; + +namespace PashaBibko.Pacore.Editor.Drawers +{ + public class DisabledGUIBlock : IDisposable + { + public DisabledGUIBlock() => GUI.enabled = false; + public void Dispose() => GUI.enabled = true; + } +} \ No newline at end of file diff --git a/Assets/Pacore/Editor/Drawers/Blocks/DisabledGUIBlock.cs.meta b/Assets/Pacore/Editor/Drawers/Blocks/DisabledGUIBlock.cs.meta new file mode 100644 index 0000000..71ead8e --- /dev/null +++ b/Assets/Pacore/Editor/Drawers/Blocks/DisabledGUIBlock.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3d8664e5ad044a248710d9b31044d2fc +timeCreated: 1769189984 \ No newline at end of file diff --git a/Assets/Pacore/Editor/Drawers/InspectorReadOnlyDrawer.cs b/Assets/Pacore/Editor/Drawers/InspectorReadOnlyDrawer.cs new file mode 100644 index 0000000..7bf41af --- /dev/null +++ b/Assets/Pacore/Editor/Drawers/InspectorReadOnlyDrawer.cs @@ -0,0 +1,24 @@ +using PashaBibko.Pacore.Shared.Attributes; +using UnityEditor; +using UnityEngine; + +namespace PashaBibko.Pacore.Editor.Drawers +{ + [CustomPropertyDrawer(typeof(InspectorReadOnlyAttribute))] + public class InspectorReadOnlyDrawer : PropertyDrawer + { + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + if (attribute is not InspectorReadOnlyAttribute roAttribute) + { + return; + } + + using (new DisabledGUIBlock()) + { + label.text = roAttribute.Name ?? label.text; // Uses custom name if it exists + EditorGUI.PropertyField(position, property, label); + } + } + } +} \ No newline at end of file diff --git a/Assets/Pacore/Editor/Drawers/InspectorReadOnlyDrawer.cs.meta b/Assets/Pacore/Editor/Drawers/InspectorReadOnlyDrawer.cs.meta new file mode 100644 index 0000000..9d912f9 --- /dev/null +++ b/Assets/Pacore/Editor/Drawers/InspectorReadOnlyDrawer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 29ad1ad5e1f24f7fbc561cc6051631b5 +timeCreated: 1769189663 \ No newline at end of file diff --git a/Assets/Pacore/Shared/Attributes.meta b/Assets/Pacore/Shared/Attributes.meta new file mode 100644 index 0000000..d786a87 --- /dev/null +++ b/Assets/Pacore/Shared/Attributes.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 366e177d96ee47008cd88544509c8c1f +timeCreated: 1769190382 \ No newline at end of file diff --git a/Assets/Pacore/Shared/InspectorReadOnly.cs b/Assets/Pacore/Shared/Attributes/InspectorReadOnly.cs similarity index 87% rename from Assets/Pacore/Shared/InspectorReadOnly.cs rename to Assets/Pacore/Shared/Attributes/InspectorReadOnly.cs index 7cc3b11..03a5592 100644 --- a/Assets/Pacore/Shared/InspectorReadOnly.cs +++ b/Assets/Pacore/Shared/Attributes/InspectorReadOnly.cs @@ -1,11 +1,12 @@ using JetBrains.Annotations; +using UnityEngine; using System; namespace PashaBibko.Pacore.Shared.Attributes { #if UNITY_EDITOR [MeansImplicitUse, AttributeUsage(validOn: AttributeTargets.Field)] - public class InspectorReadOnlyAttribute : Attribute + public class InspectorReadOnlyAttribute : PropertyAttribute { public string Name { get; } diff --git a/Assets/Pacore/Shared/InspectorReadOnly.cs.meta b/Assets/Pacore/Shared/Attributes/InspectorReadOnly.cs.meta similarity index 100% rename from Assets/Pacore/Shared/InspectorReadOnly.cs.meta rename to Assets/Pacore/Shared/Attributes/InspectorReadOnly.cs.meta diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 89d7244..d9e5484 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -38,7 +38,6 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.18028305, g: 0.22571313, b: 0.3069213, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -104,7 +103,7 @@ NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: - serializedVersion: 2 + serializedVersion: 3 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -117,7 +116,7 @@ NavMeshSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - accuratePlacement: 0 + buildHeightMesh: 0 maxJobWorkers: 0 preserveTilesOutsideBounds: 0 debug: @@ -135,6 +134,7 @@ GameObject: - component: {fileID: 330585545} - component: {fileID: 330585544} - component: {fileID: 330585547} + - component: {fileID: 330585548} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -164,9 +164,17 @@ Camera: m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 x: 0 @@ -200,13 +208,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 330585543} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 1, z: -10} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &330585547 MonoBehaviour: @@ -238,9 +246,32 @@ MonoBehaviour: m_Dithering: 0 m_ClearDepth: 1 m_AllowXRRendering: 1 + m_AllowHDROutput: 1 + m_UseScreenCoordOverride: 0 + m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0} + m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0} m_RequiresDepthTexture: 0 m_RequiresColorTexture: 0 m_Version: 2 + m_TaaSettings: + m_Quality: 3 + m_FrameInfluence: 0.1 + m_JitterScale: 1 + m_MipBias: 0 + m_VarianceClampScale: 0.9 + m_ContrastAdaptiveSharpening: 0 +--- !u!114 &330585548 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 330585543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a411a69d284bfd04bafc210a81b43e88, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &410087039 GameObject: m_ObjectHideFlags: 0 @@ -328,13 +359,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 410087039} + serializedVersion: 2 m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} --- !u!114 &410087042 MonoBehaviour: @@ -348,14 +379,17 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 1 + m_Version: 3 m_UsePipelineSettings: 1 m_AdditionalLightsShadowResolutionTier: 2 m_LightLayerMask: 1 + m_RenderingLayers: 1 m_CustomShadowLayers: 0 m_ShadowLayerMask: 1 + m_ShadowRenderingLayers: 1 m_LightCookieSize: {x: 1, y: 1} m_LightCookieOffset: {x: 0, y: 0} + m_SoftShadowQuality: 1 --- !u!1 &832575517 GameObject: m_ObjectHideFlags: 0 @@ -397,11 +431,18 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 832575517} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 330585546} + - {fileID: 410087041} + - {fileID: 832575519} diff --git a/Assets/TestMonoBehaviour.cs b/Assets/TestMonoBehaviour.cs new file mode 100644 index 0000000..0440188 --- /dev/null +++ b/Assets/TestMonoBehaviour.cs @@ -0,0 +1,7 @@ +using PashaBibko.Pacore.Shared.Attributes; +using UnityEngine; + +public class TestMonoBehaviour : MonoBehaviour +{ + [InspectorReadOnly, SerializeField] private GameObject go; +} diff --git a/Assets/TestMonoBehaviour.cs.meta b/Assets/TestMonoBehaviour.cs.meta new file mode 100644 index 0000000..448f27b --- /dev/null +++ b/Assets/TestMonoBehaviour.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a411a69d284bfd04bafc210a81b43e88 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset index 56859a2..8c5e761 100644 --- a/ProjectSettings/GraphicsSettings.asset +++ b/ProjectSettings/GraphicsSettings.asset @@ -3,7 +3,7 @@ --- !u!30 &1 GraphicsSettings: m_ObjectHideFlags: 0 - serializedVersion: 14 + serializedVersion: 15 m_Deferred: m_Mode: 1 m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} @@ -13,9 +13,6 @@ GraphicsSettings: m_ScreenSpaceShadows: m_Mode: 1 m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} - m_LegacyDeferred: - m_Mode: 1 - m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} m_DepthNormals: m_Mode: 1 m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} @@ -51,6 +48,7 @@ GraphicsSettings: m_LightmapStripping: 0 m_FogStripping: 0 m_InstancingStripping: 0 + m_BrgStripping: 0 m_LightmapKeepPlain: 1 m_LightmapKeepDirCombined: 1 m_LightmapKeepDynamicPlain: 1 @@ -68,3 +66,6 @@ GraphicsSettings: m_SRPDefaultSettings: UnityEngine.Rendering.Universal.UniversalRenderPipeline: {fileID: 11400000, guid: 18dc0cd2c080841dea60987a38ce93fa, type: 2} + m_LightProbeOutsideHullStrategy: 0 + m_CameraRelativeLightCulling: 0 + m_CameraRelativeShadowCulling: 0