├── .github
└── FUNDING.yml
├── Assets
├── .gitignore
├── DevsDaddy.meta
└── DevsDaddy
│ ├── Shared.meta
│ └── Shared
│ ├── UIFramework.meta
│ └── UIFramework
│ ├── Core.meta
│ ├── Core
│ ├── AnimationType.cs
│ ├── AnimationType.cs.meta
│ ├── BaseView.cs
│ ├── BaseView.cs.meta
│ ├── Components.meta
│ ├── Components
│ │ ├── IconButton.cs
│ │ ├── IconButton.cs.meta
│ │ ├── IconTextButton.cs
│ │ ├── IconTextButton.cs.meta
│ │ ├── TabbedView.cs
│ │ ├── TabbedView.cs.meta
│ │ ├── WebImage.cs
│ │ └── WebImage.cs.meta
│ ├── Constants.meta
│ ├── Constants
│ │ ├── GeneralConstants.cs
│ │ └── GeneralConstants.cs.meta
│ ├── DisplayOptions.cs
│ ├── DisplayOptions.cs.meta
│ ├── Enums.meta
│ ├── Enums
│ │ ├── BlurMode.cs
│ │ ├── BlurMode.cs.meta
│ │ ├── ColorMode.cs
│ │ ├── ColorMode.cs.meta
│ │ ├── Direction.cs
│ │ ├── Direction.cs.meta
│ │ ├── EffectArea.cs
│ │ ├── EffectArea.cs.meta
│ │ ├── EffectMode.cs
│ │ ├── EffectMode.cs.meta
│ │ ├── GradientStyle.cs
│ │ ├── GradientStyle.cs.meta
│ │ ├── ShadowStyle.cs
│ │ └── ShadowStyle.cs.meta
│ ├── Extensions.meta
│ ├── Extensions
│ │ ├── RendererExtensions.cs
│ │ └── RendererExtensions.cs.meta
│ ├── IBaseView.cs
│ ├── IBaseView.cs.meta
│ ├── IViewData.cs
│ ├── IViewData.cs.meta
│ ├── Particles.meta
│ ├── Particles
│ │ ├── UIParticleSystem.cs
│ │ └── UIParticleSystem.cs.meta
│ ├── RoundedMasks.meta
│ ├── RoundedMasks
│ │ ├── Editor.meta
│ │ ├── Editor
│ │ │ ├── ImageIndependentRoundedMaskInspector.cs
│ │ │ ├── ImageIndependentRoundedMaskInspector.cs.meta
│ │ │ ├── ImageRoundedMaskInspector.cs
│ │ │ └── ImageRoundedMaskInspector.cs.meta
│ │ ├── ImageIndependentRoundedMask.cs
│ │ ├── ImageIndependentRoundedMask.cs.meta
│ │ ├── ImageRoundedMask.cs
│ │ └── ImageRoundedMask.cs.meta
│ ├── ShaderEffect.meta
│ ├── ShaderEffect
│ │ ├── Common.meta
│ │ ├── Common
│ │ │ ├── BaseMaterialEffect.cs
│ │ │ ├── BaseMaterialEffect.cs.meta
│ │ │ ├── BaseMeshEffect.cs
│ │ │ ├── BaseMeshEffect.cs.meta
│ │ │ ├── EffectPlayer.cs
│ │ │ ├── EffectPlayer.cs.meta
│ │ │ ├── GraphicConnector.cs
│ │ │ ├── GraphicConnector.cs.meta
│ │ │ ├── MaterialCache.cs
│ │ │ ├── MaterialCache.cs.meta
│ │ │ ├── Matrix2x3.cs
│ │ │ ├── Matrix2x3.cs.meta
│ │ │ ├── Packer.cs
│ │ │ ├── Packer.cs.meta
│ │ │ ├── ParameterTexture.cs
│ │ │ └── ParameterTexture.cs.meta
│ │ ├── Editor.meta
│ │ ├── Editor
│ │ │ ├── MaterialDirtyScope.cs
│ │ │ ├── MaterialDirtyScope.cs.meta
│ │ │ ├── UIDissolveEditor.cs
│ │ │ ├── UIDissolveEditor.cs.meta
│ │ │ ├── UIEffectEditor.cs
│ │ │ ├── UIEffectEditor.cs.meta
│ │ │ ├── UIGradientEditor.cs
│ │ │ ├── UIGradientEditor.cs.meta
│ │ │ ├── UIHsvModifierEditor.cs
│ │ │ ├── UIHsvModifierEditor.cs.meta
│ │ │ ├── UIShadowEditor.cs
│ │ │ ├── UIShadowEditor.cs.meta
│ │ │ ├── UIShinyEditor.cs
│ │ │ ├── UIShinyEditor.cs.meta
│ │ │ ├── UITransitionEffectEditor.cs
│ │ │ └── UITransitionEffectEditor.cs.meta
│ │ ├── Effects.meta
│ │ └── Effects
│ │ │ ├── UIDissolve.cs
│ │ │ ├── UIDissolve.cs.meta
│ │ │ ├── UIEffect.cs
│ │ │ ├── UIEffect.cs.meta
│ │ │ ├── UIFlip.cs
│ │ │ ├── UIFlip.cs.meta
│ │ │ ├── UIGradient.cs
│ │ │ ├── UIGradient.cs.meta
│ │ │ ├── UIHsv.cs
│ │ │ ├── UIHsv.cs.meta
│ │ │ ├── UIRippleEffect.cs
│ │ │ ├── UIRippleEffect.cs.meta
│ │ │ ├── UIShadow.cs
│ │ │ ├── UIShadow.cs.meta
│ │ │ ├── UIShiny.cs
│ │ │ ├── UIShiny.cs.meta
│ │ │ ├── UISyncEffect.cs
│ │ │ ├── UISyncEffect.cs.meta
│ │ │ ├── UITransitionEffect.cs
│ │ │ └── UITransitionEffect.cs.meta
│ ├── Utils.meta
│ ├── Utils
│ │ ├── DestroyHelper.cs
│ │ └── DestroyHelper.cs.meta
│ ├── Wrapper.meta
│ └── Wrapper
│ │ ├── CoroutineWrapper.cs
│ │ └── CoroutineWrapper.cs.meta
│ ├── Demo.meta
│ ├── Demo
│ ├── Prefabs.meta
│ ├── Prefabs
│ │ ├── Content.meta
│ │ ├── Content
│ │ │ ├── DemoPageContent.prefab
│ │ │ └── DemoPageContent.prefab.meta
│ │ ├── EventSystem.prefab
│ │ ├── EventSystem.prefab.meta
│ │ ├── Main Camera.prefab
│ │ ├── Main Camera.prefab.meta
│ │ ├── SceneInstaller.prefab
│ │ ├── SceneInstaller.prefab.meta
│ │ ├── Views.meta
│ │ └── Views
│ │ │ ├── ConfirmView.prefab
│ │ │ ├── ConfirmView.prefab.meta
│ │ │ ├── HomeView.prefab
│ │ │ ├── HomeView.prefab.meta
│ │ │ ├── PageView.prefab
│ │ │ └── PageView.prefab.meta
│ ├── Scripts.meta
│ ├── Scripts
│ │ ├── DemoConfirmView.cs
│ │ ├── DemoConfirmView.cs.meta
│ │ ├── DemoHomeView.cs
│ │ ├── DemoHomeView.cs.meta
│ │ ├── DemoPageView.cs
│ │ ├── DemoPageView.cs.meta
│ │ ├── SceneInstaller.cs
│ │ └── SceneInstaller.cs.meta
│ ├── UIFrameworkDemo.unity
│ └── UIFrameworkDemo.unity.meta
│ ├── Payloads.meta
│ ├── Payloads
│ ├── BasePayloads.cs
│ └── BasePayloads.cs.meta
│ ├── Prefabs.meta
│ ├── Prefabs
│ ├── Components.meta
│ ├── Components
│ │ ├── DemoIconButton.prefab
│ │ ├── DemoIconButton.prefab.meta
│ │ ├── DemoIconButtonNoText.prefab
│ │ └── DemoIconButtonNoText.prefab.meta
│ ├── Paticles.meta
│ └── Paticles
│ │ ├── Fx_Glow_03.prefab
│ │ ├── Fx_Glow_03.prefab.meta
│ │ ├── Fx_Glow_04.prefab
│ │ ├── Fx_Glow_04.prefab.meta
│ │ ├── Fx_Glow_05.prefab
│ │ ├── Fx_Glow_05.prefab.meta
│ │ ├── Fx_Shine_Gem_01.prefab
│ │ ├── Fx_Shine_Gem_01.prefab.meta
│ │ ├── Fx_Shine_Gem_02.prefab
│ │ ├── Fx_Shine_Gem_02.prefab.meta
│ │ ├── Fx_Shine_Gem_03.prefab
│ │ ├── Fx_Shine_Gem_03.prefab.meta
│ │ ├── Fx_Shine_Gem_04.prefab
│ │ ├── Fx_Shine_Gem_04.prefab.meta
│ │ ├── Fx_Shine_Gem_05.prefab
│ │ ├── Fx_Shine_Gem_05.prefab.meta
│ │ ├── Fx_Shine_Gem_06.prefab
│ │ ├── Fx_Shine_Gem_06.prefab.meta
│ │ ├── Fx_Shine_Gold_01.prefab
│ │ ├── Fx_Shine_Gold_01.prefab.meta
│ │ ├── Fx_Shine_Gold_02.prefab
│ │ ├── Fx_Shine_Gold_02.prefab.meta
│ │ ├── Fx_Shine_Gold_03.prefab
│ │ ├── Fx_Shine_Gold_03.prefab.meta
│ │ ├── Fx_Shine_Gold_04.prefab
│ │ ├── Fx_Shine_Gold_04.prefab.meta
│ │ ├── Fx_Shine_Gold_05.prefab
│ │ ├── Fx_Shine_Gold_05.prefab.meta
│ │ ├── Fx_Shine_Gold_06.prefab
│ │ ├── Fx_Shine_Gold_06.prefab.meta
│ │ ├── Fx_Star_01.prefab
│ │ ├── Fx_Star_01.prefab.meta
│ │ ├── Fx_Star_02.prefab
│ │ ├── Fx_Star_02.prefab.meta
│ │ ├── Fx_Star_03.prefab
│ │ ├── Fx_Star_03.prefab.meta
│ │ ├── Fx_Star_04.prefab
│ │ ├── Fx_Star_04.prefab.meta
│ │ ├── Fx_Star_05.prefab
│ │ ├── Fx_Star_05.prefab.meta
│ │ ├── Particle_Burst_Star.prefab
│ │ ├── Particle_Burst_Star.prefab.meta
│ │ ├── Particle_Shines_Glow.prefab
│ │ ├── Particle_Shines_Glow.prefab.meta
│ │ ├── Particle_Spread_Dust.prefab
│ │ ├── Particle_Spread_Dust.prefab.meta
│ │ ├── Particle_SunLight.prefab
│ │ ├── Particle_SunLight.prefab.meta
│ │ ├── Particle_Tonado.prefab
│ │ └── Particle_Tonado.prefab.meta
│ ├── Preview.png
│ ├── Preview.png.meta
│ ├── Resources.meta
│ ├── Resources
│ ├── Default-Ripple.png
│ ├── Default-Ripple.png.meta
│ ├── Default-Transition.png
│ ├── Default-Transition.png.meta
│ ├── UIDissolve.shader
│ ├── UIDissolve.shader.meta
│ ├── UIEffect.shader
│ ├── UIEffect.shader.meta
│ ├── UIHSV.shader
│ ├── UIHSV.shader.meta
│ ├── UIShiny.shader
│ ├── UIShiny.shader.meta
│ ├── UITransition.cginc
│ ├── UITransition.cginc.meta
│ ├── UITransition.shader
│ ├── UITransition.shader.meta
│ ├── UITransitionSprite.cginc
│ └── UITransitionSprite.cginc.meta
│ ├── Shaders.meta
│ ├── Shaders
│ ├── SDFUtils.cginc
│ ├── SDFUtils.cginc.meta
│ ├── ShaderSetup.cginc
│ ├── ShaderSetup.cginc.meta
│ ├── UIAdditive.shader
│ ├── UIAdditive.shader.meta
│ ├── UIIndependentRoundedCorners.shader
│ ├── UIIndependentRoundedCorners.shader.meta
│ ├── UIParticleHidden.shader
│ ├── UIParticleHidden.shader.meta
│ ├── UIRoundedCorners.shader
│ └── UIRoundedCorners.shader.meta
│ ├── UIFramework.asmdef
│ ├── UIFramework.asmdef.meta
│ ├── UIFramework.cs
│ ├── UIFramework.cs.meta
│ ├── Visual.meta
│ ├── Visual
│ ├── CommonAtlas.spriteatlasv2
│ ├── CommonAtlas.spriteatlasv2.meta
│ ├── Fonts.meta
│ ├── Fonts
│ │ ├── tilda-sans_black.asset
│ │ ├── tilda-sans_black.asset.meta
│ │ ├── tilda-sans_black.ttf
│ │ ├── tilda-sans_black.ttf.meta
│ │ ├── tilda-sans_bold.asset
│ │ ├── tilda-sans_bold.asset.meta
│ │ ├── tilda-sans_bold.ttf
│ │ ├── tilda-sans_bold.ttf.meta
│ │ ├── tilda-sans_regular.asset
│ │ ├── tilda-sans_regular.asset.meta
│ │ ├── tilda-sans_regular.ttf
│ │ ├── tilda-sans_regular.ttf.meta
│ │ ├── tilda-sans_semibold.asset
│ │ ├── tilda-sans_semibold.asset.meta
│ │ ├── tilda-sans_semibold.ttf
│ │ └── tilda-sans_semibold.ttf.meta
│ ├── Particles.meta
│ ├── Particles
│ │ ├── Materials.meta
│ │ ├── Materials
│ │ │ ├── fx_circle_line1.mat
│ │ │ ├── fx_circle_line1.mat.meta
│ │ │ ├── fx_circle_line2.mat
│ │ │ ├── fx_circle_line2.mat.meta
│ │ │ ├── fx_circle_line3.mat
│ │ │ ├── fx_circle_line3.mat.meta
│ │ │ ├── fx_dust.mat
│ │ │ ├── fx_dust.mat.meta
│ │ │ ├── fx_glow1.mat
│ │ │ ├── fx_glow1.mat.meta
│ │ │ ├── fx_glow2.mat
│ │ │ ├── fx_glow2.mat.meta
│ │ │ ├── fx_glow3.mat
│ │ │ ├── fx_glow3.mat.meta
│ │ │ ├── fx_star1.mat
│ │ │ ├── fx_star1.mat.meta
│ │ │ ├── fx_star2.mat
│ │ │ └── fx_star2.mat.meta
│ │ ├── Textures.meta
│ │ └── Textures
│ │ │ ├── fx_circle_line1.png
│ │ │ ├── fx_circle_line1.png.meta
│ │ │ ├── fx_circle_line2.png
│ │ │ ├── fx_circle_line2.png.meta
│ │ │ ├── fx_circle_line3.png
│ │ │ ├── fx_circle_line3.png.meta
│ │ │ ├── fx_dust1.png
│ │ │ ├── fx_dust1.png.meta
│ │ │ ├── fx_glow1.png
│ │ │ ├── fx_glow1.png.meta
│ │ │ ├── fx_glow2.png
│ │ │ ├── fx_glow2.png.meta
│ │ │ ├── fx_glow3.png
│ │ │ ├── fx_glow3.png.meta
│ │ │ ├── fx_star1.png
│ │ │ ├── fx_star1.png.meta
│ │ │ ├── fx_star2.png
│ │ │ └── fx_star2.png.meta
│ ├── UI.meta
│ └── UI
│ │ ├── check.png
│ │ ├── check.png.meta
│ │ ├── chevron-left.png
│ │ ├── chevron-left.png.meta
│ │ ├── circle128.png
│ │ ├── circle128.png.meta
│ │ ├── circle64.png
│ │ ├── circle64.png.meta
│ │ ├── gradientBg.png
│ │ ├── gradientBg.png.meta
│ │ ├── layout.png
│ │ ├── layout.png.meta
│ │ ├── logoBig.png
│ │ ├── logoBig.png.meta
│ │ ├── modal.png
│ │ ├── modal.png.meta
│ │ ├── roundedBtn.png
│ │ ├── roundedBtn.png.meta
│ │ ├── shadow1.png
│ │ ├── shadow1.png.meta
│ │ ├── x.png
│ │ └── x.png.meta
│ ├── package.json
│ └── package.json.meta
├── LICENSE
└── README.md
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: # Replace with a single Ko-fi username
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12 | polar: # Replace with a single Polar username
13 | buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
14 | custom: https://boosty.to/devsdaddy
15 |
--------------------------------------------------------------------------------
/Assets/.gitignore:
--------------------------------------------------------------------------------
1 | # This .gitignore file should be placed at the root of your Unity project directory
2 | #
3 | # Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
4 | #
5 | /[Ll]ibrary/
6 | /[Tt]emp/
7 | /[Oo]bj/
8 | /[Bb]uild/
9 | /[Bb]uilds/
10 | /[Ll]ogs/
11 | /[Uu]ser[Ss]ettings/
12 |
13 | # MemoryCaptures can get excessive in size.
14 | # They also could contain extremely sensitive data
15 | /[Mm]emoryCaptures/
16 |
17 | # Recordings can get excessive in size
18 | /[Rr]ecordings/
19 |
20 | # Uncomment this line if you wish to ignore the asset store tools plugin
21 | # /[Aa]ssets/AssetStoreTools*
22 |
23 | # Autogenerated Jetbrains Rider plugin
24 | /[Aa]ssets/Plugins/Editor/JetBrains*
25 |
26 | # Visual Studio cache directory
27 | .vs/
28 |
29 | # Gradle cache directory
30 | .gradle/
31 |
32 | # Autogenerated VS/MD/Consulo solution and project files
33 | ExportedObj/
34 | .consulo/
35 | *.csproj
36 | *.unityproj
37 | *.sln
38 | *.suo
39 | *.tmp
40 | *.user
41 | *.userprefs
42 | *.pidb
43 | *.booproj
44 | *.svd
45 | *.pdb
46 | *.mdb
47 | *.opendb
48 | *.VC.db
49 |
50 | # Unity3D generated meta files
51 | *.pidb.meta
52 | *.pdb.meta
53 | *.mdb.meta
54 |
55 | # Unity3D generated file on crash reports
56 | sysinfo.txt
57 |
58 | # Builds
59 | *.apk
60 | *.aab
61 | *.unitypackage
62 | *.app
63 |
64 | # Crashlytics generated file
65 | crashlytics-build.properties
66 |
67 | # Packed Addressables
68 | /[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*
69 |
70 | # Temporary auto-generated Android Assets
71 | /[Aa]ssets/[Ss]treamingAssets/aa.meta
72 | /[Aa]ssets/[Ss]treamingAssets/aa/*
73 |
--------------------------------------------------------------------------------
/Assets/DevsDaddy.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d6f43c744ec02df449ad432a3ec700e2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/DevsDaddy/Shared.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bb5671adff99c27419f1d633a2f6f2ef
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/DevsDaddy/Shared/UIFramework.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cd07a980604bbf64d9468c0feb206ad4
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/DevsDaddy/Shared/UIFramework/Core.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd8b2051232d27a4e9bbfe0d343ddea8
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/DevsDaddy/Shared/UIFramework/Core/AnimationType.cs:
--------------------------------------------------------------------------------
1 | namespace DevsDaddy.Shared.UIFramework.Core
2 | {
3 | public enum AnimationType
4 | {
5 | Fade,
6 | Scale
7 | }
8 | }
--------------------------------------------------------------------------------
/Assets/DevsDaddy/Shared/UIFramework/Core/AnimationType.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 52866b814f2d406991ff0747b88dbced
3 | timeCreated: 1711014420
--------------------------------------------------------------------------------
/Assets/DevsDaddy/Shared/UIFramework/Core/BaseView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 56479af53f3d3a84e952fc844175b3df
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/DevsDaddy/Shared/UIFramework/Core/Components.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 23f8670797694f49a3c568cdbd2c2de5
3 | timeCreated: 1711008066
--------------------------------------------------------------------------------
/Assets/DevsDaddy/Shared/UIFramework/Core/Components/IconButton.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using TMPro;
3 | using UnityEngine;
4 | using UnityEngine.UI;
5 |
6 | namespace DevsDaddy.Shared.UIFramework.Core.Components
7 | {
8 | ///
9 | /// Base Icon Button
10 | ///
11 | [AddComponentMenu("UIFramework/Components/Icon Button")]
12 | [RequireComponent(typeof(Button))]
13 | [DisallowMultipleComponent]
14 | public sealed class IconButton : MonoBehaviour
15 | {
16 | [Header("Button Data")]
17 | [SerializeField] private Sprite defaultIcon;
18 |
19 | [Header("Button References")]
20 | [SerializeField] private Button button;
21 | [SerializeField] private Image iconContainer;
22 |
23 | public Action OnClick;
24 |
25 | ///
26 | /// On Awake
27 | ///
28 | private void Awake() {
29 | // Get Icon Container
30 | if (iconContainer == null) {
31 | iconContainer = GetComponentInChildren();
32 | if(iconContainer == null) Debug.LogWarning($"No icon container found for Button {this.name}");
33 | }
34 |
35 | // Setup Button
36 | if (button == null) {
37 | button = GetComponent