From 33a6d62362fa83c6eb51f8f45ee5ea2e5d6687e0 Mon Sep 17 00:00:00 2001 From: Pasha Bibko <156938226+PashaBibko@users.noreply.github.com> Date: Tue, 13 Jan 2026 15:48:50 +0000 Subject: [PATCH] Added Harry --- Assets/Images.meta | 8 + Assets/Images/MCKEE.jpg | Bin 0 -> 11196 bytes Assets/Images/MCKEE.jpg.meta | 215 +++++++++++++++++++ Assets/Images/Registry.asset | 20 ++ Assets/Images/Registry.asset.meta | 8 + Assets/Prefabs.meta | 8 + Assets/Prefabs/ImagePrefab.prefab | 77 +++++++ Assets/Prefabs/ImagePrefab.prefab.meta | 7 + Assets/{ => Prefabs}/SampleChild.prefab | 16 +- Assets/{ => Prefabs}/SampleChild.prefab.meta | 0 Assets/Scenes/SampleScene.unity | 4 + Assets/Scripts/CanvasManager.cs | 2 + Assets/Scripts/WindowSpawner.cs | 2 +- Assets/Scripts/Windows/ImageWindow.cs | 46 ++++ Assets/Scripts/Windows/ImageWindow.cs.meta | 3 + Assets/UI-Mat.mat | 139 ++++++++++++ Assets/UI-Mat.mat.meta | 8 + Packages/manifest.json | 1 + Packages/packages-lock.json | 6 + 19 files changed, 561 insertions(+), 9 deletions(-) create mode 100644 Assets/Images.meta create mode 100644 Assets/Images/MCKEE.jpg create mode 100644 Assets/Images/MCKEE.jpg.meta create mode 100644 Assets/Images/Registry.asset create mode 100644 Assets/Images/Registry.asset.meta create mode 100644 Assets/Prefabs.meta create mode 100644 Assets/Prefabs/ImagePrefab.prefab create mode 100644 Assets/Prefabs/ImagePrefab.prefab.meta rename Assets/{ => Prefabs}/SampleChild.prefab (96%) rename Assets/{ => Prefabs}/SampleChild.prefab.meta (100%) create mode 100644 Assets/Scripts/Windows/ImageWindow.cs create mode 100644 Assets/Scripts/Windows/ImageWindow.cs.meta create mode 100644 Assets/UI-Mat.mat create mode 100644 Assets/UI-Mat.mat.meta diff --git a/Assets/Images.meta b/Assets/Images.meta new file mode 100644 index 0000000..5602d46 --- /dev/null +++ b/Assets/Images.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fe1c3ea10bc1a2149886c791a871a681 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Images/MCKEE.jpg b/Assets/Images/MCKEE.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9b3f64b32bd91ff8e07c6f9863c24dc88d1e0a83 GIT binary patch literal 11196 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 zudPM`FGk__BackingField: + - k__BackingField: + - {fileID: -796603773, guid: 4b6722dc74c1c8941a937c866dfaf401, type: 3} + - {fileID: -752713691, guid: 4b6722dc74c1c8941a937c866dfaf401, type: 3} + - {fileID: 1893206959, guid: 4b6722dc74c1c8941a937c866dfaf401, type: 3} + - {fileID: 1696662408, guid: 4b6722dc74c1c8941a937c866dfaf401, type: 3} diff --git a/Assets/Images/Registry.asset.meta b/Assets/Images/Registry.asset.meta new file mode 100644 index 0000000..eb293ac --- /dev/null +++ b/Assets/Images/Registry.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 865d858b1ab33114380ec8a87a08f572 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs.meta b/Assets/Prefabs.meta new file mode 100644 index 0000000..fd1188a --- /dev/null +++ b/Assets/Prefabs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df470ad960491d04db591d8266b30ab6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/ImagePrefab.prefab b/Assets/Prefabs/ImagePrefab.prefab new file mode 100644 index 0000000..85f674a --- /dev/null +++ b/Assets/Prefabs/ImagePrefab.prefab @@ -0,0 +1,77 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1810675969122322477 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7615137864899030202} + - component: {fileID: 9119941147487960489} + - component: {fileID: 5719316240314792175} + m_Layer: 0 + m_Name: ImagePrefab + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7615137864899030202 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1810675969122322477} + 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_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &9119941147487960489 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1810675969122322477} + m_CullTransparentMesh: 1 +--- !u!114 &5719316240314792175 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1810675969122322477} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 diff --git a/Assets/Prefabs/ImagePrefab.prefab.meta b/Assets/Prefabs/ImagePrefab.prefab.meta new file mode 100644 index 0000000..42b979b --- /dev/null +++ b/Assets/Prefabs/ImagePrefab.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 792c010445685104eac99ebe5c3831ce +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/SampleChild.prefab b/Assets/Prefabs/SampleChild.prefab similarity index 96% rename from Assets/SampleChild.prefab rename to Assets/Prefabs/SampleChild.prefab index c914404..d122cd6 100644 --- a/Assets/SampleChild.prefab +++ b/Assets/Prefabs/SampleChild.prefab @@ -36,7 +36,7 @@ RectTransform: m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} + m_SizeDelta: {x: 200, y: 200} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &9139133142503423203 CanvasRenderer: @@ -58,7 +58,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} + m_Material: {fileID: 2100000, guid: 6412be81563725c40bfc6c75b1a58af8, type: 2} m_Color: {r: 0, g: 1, b: 0.015290737, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -167,8 +167,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 60} - m_SizeDelta: {x: 100, y: 20} + m_AnchoredPosition: {x: 0, y: 120} + m_SizeDelta: {x: 200, y: 40} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &895478976559852706 CanvasRenderer: @@ -190,7 +190,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} + m_Material: {fileID: 2100000, guid: 6412be81563725c40bfc6c75b1a58af8, type: 2} m_Color: {r: 1, g: 1, b: 1, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} @@ -243,8 +243,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 40, y: 0} - m_SizeDelta: {x: 10, y: 10} + m_AnchoredPosition: {x: 80, y: 0} + m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &8878773169544100966 CanvasRenderer: @@ -266,7 +266,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} + m_Material: {fileID: 2100000, guid: 6412be81563725c40bfc6c75b1a58af8, type: 2} m_Color: {r: 1, g: 0, b: 0, a: 1} m_RaycastTarget: 1 m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} diff --git a/Assets/SampleChild.prefab.meta b/Assets/Prefabs/SampleChild.prefab.meta similarity index 100% rename from Assets/SampleChild.prefab.meta rename to Assets/Prefabs/SampleChild.prefab.meta diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 5a00a56..6096487 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -541,6 +541,10 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: k__BackingField: {fileID: 1539476654} + k__BackingField: {fileID: 1810675969122322477, guid: 792c010445685104eac99ebe5c3831ce, + type: 3} + k__BackingField: {fileID: 11400000, guid: 865d858b1ab33114380ec8a87a08f572, + type: 2} --- !u!1 &1683319378 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/CanvasManager.cs b/Assets/Scripts/CanvasManager.cs index 9bc0603..39a4c72 100644 --- a/Assets/Scripts/CanvasManager.cs +++ b/Assets/Scripts/CanvasManager.cs @@ -5,6 +5,8 @@ namespace InterfaceOff public class CanvasManager : MonoBehaviour { [field: SerializeField] public Canvas GameCanvas { get; private set; } + [field: SerializeField] public GameObject ImagePrefab { get; private set; } + [field: SerializeField] public ImageRegistry Images { get; set; } public static CanvasManager Instance { get; private set; } diff --git a/Assets/Scripts/WindowSpawner.cs b/Assets/Scripts/WindowSpawner.cs index 094aa5e..2dda9c2 100644 --- a/Assets/Scripts/WindowSpawner.cs +++ b/Assets/Scripts/WindowSpawner.cs @@ -63,7 +63,7 @@ namespace InterfaceOff if (AutoSpawn) { /* Checks if it should spawn a window */ - bool shouldSpawn = Random.Range(0, 40) == 0; + bool shouldSpawn = Random.Range(0, 60) == 0; if (shouldSpawn) { SpawnNewRandomWindow(); diff --git a/Assets/Scripts/Windows/ImageWindow.cs b/Assets/Scripts/Windows/ImageWindow.cs new file mode 100644 index 0000000..3fdeebc --- /dev/null +++ b/Assets/Scripts/Windows/ImageWindow.cs @@ -0,0 +1,46 @@ +using UnityEngine.UI; +using UnityEngine; + +namespace InterfaceOff +{ + [System.Serializable] + public struct ImageSet + { + [field: SerializeField] public Sprite[] Images { get; set; } + } + + [CreateAssetMenu(fileName = "Image Registry", menuName = "Custom/Create Image Registry")] + public class ImageRegistry : ScriptableObject + { + [field: SerializeField] public ImageSet[] Registered { get; set; } + } + + public class ImageWindow : WindowBase + { + private static Vector3[] Positions = + { + new(-45, 45f), + new(45f, 45f), + new(-45, -45), + new(45f, -45) + }; + + public override void OnWindowInstantiation() + { + Sprite[] sprites = CanvasManager.Instance.Images.Registered[0].Images; + + for (int i = 0; i < 4; i++) + { + GameObject go = Instantiate(CanvasManager.Instance.ImagePrefab, transform); + RectTransform t = go.GetComponent(); + + t.sizeDelta = new Vector2(80, 80); + t.localPosition = Positions[i]; + + Image img = go.GetComponent(); + img.material = new Material(Shader.Find("UI/Default")); + img.sprite = sprites[i]; + } + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Windows/ImageWindow.cs.meta b/Assets/Scripts/Windows/ImageWindow.cs.meta new file mode 100644 index 0000000..0191aea --- /dev/null +++ b/Assets/Scripts/Windows/ImageWindow.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 43636231300648f0b6d426d55df7ca56 +timeCreated: 1768313168 \ No newline at end of file diff --git a/Assets/UI-Mat.mat b/Assets/UI-Mat.mat new file mode 100644 index 0000000..4e11a00 --- /dev/null +++ b/Assets/UI-Mat.mat @@ -0,0 +1,139 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: UI-Mat + m_Shader: {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BaseMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AlphaClip: 0 + - _AlphaToMask: 0 + - _Blend: 0 + - _BlendModePreserveSpecular: 1 + - _BumpScale: 1 + - _ClearCoatMask: 0 + - _ClearCoatSmoothness: 0 + - _ColorMask: 15 + - _Cull: 2 + - _Cutoff: 0.5 + - _DetailAlbedoMapScale: 1 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _DstBlendAlpha: 0 + - _EnvironmentReflections: 1 + - _GlossMapScale: 0 + - _Glossiness: 0 + - _GlossyReflections: 0 + - _Metallic: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.005 + - _QueueOffset: 0 + - _ReceiveShadows: 1 + - _Smoothness: 0.5 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _SrcBlendAlpha: 1 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _Surface: 0 + - _UseUIAlphaClip: 0 + - _WorkflowMode: 1 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &7798665235965101899 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/Assets/UI-Mat.mat.meta b/Assets/UI-Mat.mat.meta new file mode 100644 index 0000000..67692c4 --- /dev/null +++ b/Assets/UI-Mat.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6412be81563725c40bfc6c75b1a58af8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/manifest.json b/Packages/manifest.json index bfd6274..63b35c3 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,5 +1,6 @@ { "dependencies": { + "com.unity.2d.sprite": "1.0.0", "com.unity.collab-proxy": "2.11.2", "com.unity.ide.rider": "3.0.36", "com.unity.ide.visualstudio": "2.0.22", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 4d8eacb..7b673f1 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,5 +1,11 @@ { "dependencies": { + "com.unity.2d.sprite": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, "com.unity.burst": { "version": "1.8.21", "depth": 1,