├── .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