├── .gitignore
├── .idea
└── .idea.AppsUIComponents
│ ├── .idea
│ ├── contentModel.xml
│ ├── encodings.xml
│ ├── indexLayout.xml
│ ├── misc.xml
│ ├── modules.xml
│ ├── vcs.xml
│ └── workspace.xml
│ └── riderModule.iml
├── AppsUIComponents.sln
├── AppsUIComponents.sln.DotSettings.user
├── Assembly-CSharp-Editor.csproj
├── Assembly-CSharp.csproj
├── Assets
├── Components.meta
├── Components
│ ├── ActionBar.meta
│ ├── ActionBar
│ │ ├── ActionBar.cs
│ │ └── ActionBar.cs.meta
│ ├── Attributes.meta
│ ├── Attributes
│ │ ├── ComponentAttributes.cs
│ │ └── ComponentAttributes.cs.meta
│ ├── Calendars.meta
│ ├── Calendars
│ │ ├── BigMonthView.cs
│ │ ├── BigMonthView.cs.meta
│ │ ├── IntervalCalendar.cs
│ │ └── IntervalCalendar.cs.meta
│ ├── Clickable.meta
│ ├── Clickable
│ │ ├── AnimatableButton.cs
│ │ ├── AnimatableButton.cs.meta
│ │ ├── HamburgerMenuButton.cs
│ │ ├── HamburgerMenuButton.cs.meta
│ │ ├── Toggle.cs
│ │ └── Toggle.cs.meta
│ ├── ComponentBehaviour.cs
│ ├── ComponentBehaviour.cs.meta
│ ├── ComponentHolder.cs
│ ├── ComponentHolder.cs.meta
│ ├── ComponentUtils.cs
│ ├── ComponentUtils.cs.meta
│ ├── ContainerVerticalResizer.cs
│ ├── ContainerVerticalResizer.cs.meta
│ ├── Drawer.meta
│ ├── Drawer
│ │ ├── NavigationDrawer.cs
│ │ ├── NavigationDrawer.cs.meta
│ │ ├── NavigationDrawerPanel.cs
│ │ ├── NavigationDrawerPanel.cs.meta
│ │ ├── NavigationDrawerPosition.cs
│ │ ├── NavigationDrawerPosition.cs.meta
│ │ ├── NavigationDrawerSidePanel.cs
│ │ └── NavigationDrawerSidePanel.cs.meta
│ ├── DrawerSettingsPanel.cs
│ ├── DrawerSettingsPanel.cs.meta
│ ├── Editor.meta
│ ├── Editor
│ │ ├── NiceUIMenus.cs
│ │ ├── NiceUIMenus.cs.meta
│ │ ├── NiceUIThemeEditor.cs
│ │ └── NiceUIThemeEditor.cs.meta
│ ├── Extensions.cs
│ ├── Extensions.cs.meta
│ ├── HorizontalProgressBar.cs
│ ├── HorizontalProgressBar.cs.meta
│ ├── InputNumberFormatter.cs
│ ├── InputNumberFormatter.cs.meta
│ ├── InteractiveObject.cs
│ ├── InteractiveObject.cs.meta
│ ├── Interfaces.meta
│ ├── Interfaces
│ │ ├── IScrollable.cs
│ │ └── IScrollable.cs.meta
│ ├── Localization.meta
│ ├── Localization
│ │ ├── Localization.cs
│ │ └── Localization.cs.meta
│ ├── Pages.meta
│ ├── Pages
│ │ ├── PageBase.cs
│ │ ├── PageBase.cs.meta
│ │ ├── ParallaxScrollPage.cs
│ │ └── ParallaxScrollPage.cs.meta
│ ├── Position.cs
│ ├── Position.cs.meta
│ ├── ProgressBar.cs
│ ├── ProgressBar.cs.meta
│ ├── QuickScrollerVertical.cs
│ ├── QuickScrollerVertical.cs.meta
│ ├── Sprites.meta
│ ├── Sprites
│ │ ├── ProgressBars.meta
│ │ ├── ProgressBars
│ │ │ ├── inner_circle.png
│ │ │ ├── inner_circle.png.meta
│ │ │ ├── linear_progress_bar.png
│ │ │ ├── linear_progress_bar.png.meta
│ │ │ ├── outer_circle.png
│ │ │ └── outer_circle.png.meta
│ │ ├── background.png
│ │ ├── background.png.meta
│ │ ├── big_rounded_rect.png
│ │ ├── big_rounded_rect.png.meta
│ │ ├── calendar_selector.png
│ │ ├── calendar_selector.png.meta
│ │ ├── hamburger_menu_button.png
│ │ ├── hamburger_menu_button.png.meta
│ │ ├── icon.png
│ │ ├── icon.png.meta
│ │ ├── rounded_rect.png
│ │ ├── rounded_rect.png.meta
│ │ ├── small_arrow.png
│ │ ├── small_arrow.png.meta
│ │ ├── toggle_base.png
│ │ ├── toggle_base.png.meta
│ │ ├── toggle_knob.png
│ │ ├── toggle_knob.png.meta
│ │ ├── wallpaper.png
│ │ └── wallpaper.png.meta
│ ├── Texts.meta
│ └── Texts
│ │ ├── CalendarDateCell.cs
│ │ └── CalendarDateCell.cs.meta
├── DOTween.meta
├── DOTween
│ ├── DOTween.XML
│ ├── DOTween.XML.meta
│ ├── DOTween.dll
│ ├── DOTween.dll.mdb
│ ├── DOTween.dll.mdb.meta
│ ├── DOTween.dll.meta
│ ├── Editor.meta
│ ├── Editor
│ │ ├── DOTweenEditor.XML
│ │ ├── DOTweenEditor.XML.meta
│ │ ├── DOTweenEditor.dll
│ │ ├── DOTweenEditor.dll.mdb
│ │ ├── DOTweenEditor.dll.mdb.meta
│ │ ├── DOTweenEditor.dll.meta
│ │ ├── Imgs.meta
│ │ └── Imgs
│ │ │ ├── DOTweenIcon.png
│ │ │ ├── DOTweenIcon.png.meta
│ │ │ ├── Footer.png
│ │ │ ├── Footer.png.meta
│ │ │ ├── Footer_dark.png
│ │ │ ├── Footer_dark.png.meta
│ │ │ ├── Header.jpg
│ │ │ └── Header.jpg.meta
│ ├── Modules.meta
│ ├── Modules
│ │ ├── DOTweenModuleAudio.cs
│ │ ├── DOTweenModuleAudio.cs.meta
│ │ ├── DOTweenModulePhysics.cs
│ │ ├── DOTweenModulePhysics.cs.meta
│ │ ├── DOTweenModulePhysics2D.cs
│ │ ├── DOTweenModulePhysics2D.cs.meta
│ │ ├── DOTweenModuleSprite.cs
│ │ ├── DOTweenModuleSprite.cs.meta
│ │ ├── DOTweenModuleUI.cs
│ │ ├── DOTweenModuleUI.cs.meta
│ │ ├── DOTweenModuleUnityVersion.cs
│ │ ├── DOTweenModuleUnityVersion.cs.meta
│ │ ├── DOTweenModuleUtils.cs
│ │ └── DOTweenModuleUtils.cs.meta
│ ├── readme.txt
│ └── readme.txt.meta
├── Plugins.meta
├── Plugins
│ ├── Editor.meta
│ └── Editor
│ │ ├── JetBrains.meta
│ │ └── JetBrains
│ │ ├── JetBrains.Rider.Unity.Editor.Plugin.Repacked.dll
│ │ └── JetBrains.Rider.Unity.Editor.Plugin.Repacked.dll.meta
├── Resources.meta
├── Resources
│ ├── DOTweenSettings.asset
│ ├── DOTweenSettings.asset.meta
│ ├── NiceUIPrefabs.meta
│ └── NiceUIPrefabs
│ │ ├── ActionBar_pfb.prefab
│ │ ├── ActionBar_pfb.prefab.meta
│ │ ├── HamburgerMenuButton_pfb.prefab
│ │ ├── HamburgerMenuButton_pfb.prefab.meta
│ │ ├── HorizontalProgressBar_pfb.prefab
│ │ ├── HorizontalProgressBar_pfb.prefab.meta
│ │ ├── IntervalCalendar_pfb.prefab
│ │ ├── IntervalCalendar_pfb.prefab.meta
│ │ ├── NavigationDrawerPanel_pfb.prefab
│ │ ├── NavigationDrawerPanel_pfb.prefab.meta
│ │ ├── ParallaxScrollPage_pfb.prefab
│ │ ├── ParallaxScrollPage_pfb.prefab.meta
│ │ ├── RadialProgressBar_pfb.prefab
│ │ ├── RadialProgressBar_pfb.prefab.meta
│ │ ├── Toggle_pfb.prefab
│ │ ├── Toggle_pfb.prefab.meta
│ │ ├── UIController_pfb.prefab
│ │ └── UIController_pfb.prefab.meta
├── Scenes.meta
├── Scenes
│ ├── SampleScene.unity
│ └── SampleScene.unity.meta
├── UiController.cs
└── UiController.cs.meta
├── Packages
└── manifest.json
├── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── NavMeshAreas.asset
├── NetworkManager.asset
├── Physics2DSettings.asset
├── PresetManager.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── TagManager.asset
├── TimeManager.asset
├── UnityConnectSettings.asset
└── VFXManager.asset
├── README.md
└── obj
└── Debug
├── Assembly-CSharp-Editor.csprojAssemblyReference.cache
└── Assembly-CSharp.csprojAssemblyReference.cache
/.gitignore:
--------------------------------------------------------------------------------
1 | Library/
2 | Components.apk
3 | Temp/
4 | Logs/
5 |
--------------------------------------------------------------------------------
/.idea/.idea.AppsUIComponents/.idea/contentModel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
--------------------------------------------------------------------------------
/.idea/.idea.AppsUIComponents/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.idea/.idea.AppsUIComponents/.idea/indexLayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/.idea.AppsUIComponents/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/.idea.AppsUIComponents/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/.idea.AppsUIComponents/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/.idea.AppsUIComponents/riderModule.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/AppsUIComponents.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 11.00
2 | # Visual Studio 2010
3 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp", "Assembly-CSharp.csproj", "{3BD37008-FE20-E969-79B4-DF00FDBE77D2}"
4 | EndProject
5 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Assembly-CSharp-Editor", "Assembly-CSharp-Editor.csproj", "{0A27A82D-D60B-F0BA-801A-78642643DF86}"
6 | EndProject
7 | Global
8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
9 | Debug|Any CPU = Debug|Any CPU
10 | Release|Any CPU = Release|Any CPU
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {3BD37008-FE20-E969-79B4-DF00FDBE77D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
14 | {3BD37008-FE20-E969-79B4-DF00FDBE77D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
15 | {3BD37008-FE20-E969-79B4-DF00FDBE77D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
16 | {3BD37008-FE20-E969-79B4-DF00FDBE77D2}.Release|Any CPU.Build.0 = Release|Any CPU
17 | {0A27A82D-D60B-F0BA-801A-78642643DF86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
18 | {0A27A82D-D60B-F0BA-801A-78642643DF86}.Debug|Any CPU.Build.0 = Debug|Any CPU
19 | {0A27A82D-D60B-F0BA-801A-78642643DF86}.Release|Any CPU.ActiveCfg = Release|Any CPU
20 | {0A27A82D-D60B-F0BA-801A-78642643DF86}.Release|Any CPU.Build.0 = Release|Any CPU
21 | EndGlobalSection
22 | GlobalSection(SolutionProperties) = preSolution
23 | HideSolutionNode = FALSE
24 | EndGlobalSection
25 | GlobalSection(MonoDevelopProperties) = preSolution
26 | StartupItem = Assembly-CSharp.csproj
27 | EndGlobalSection
28 | EndGlobal
29 |
--------------------------------------------------------------------------------
/AppsUIComponents.sln.DotSettings.user:
--------------------------------------------------------------------------------
1 |
2 | <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
3 | <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
4 | <Policy Inspect="True" Prefix="m_" Suffix="" Style="AaBb" />
5 | <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
6 | <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
7 | <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
8 | <Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" />
9 | 2
--------------------------------------------------------------------------------
/Assets/Components.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7752e637a0bf375478f2402472dd9946
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Components/ActionBar.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5d9a57221f4045358606ff2b8cbf08ef
3 | timeCreated: 1543992971
--------------------------------------------------------------------------------
/Assets/Components/ActionBar/ActionBar.cs:
--------------------------------------------------------------------------------
1 | using Components.Attributes;
2 | using DG.Tweening;
3 | using UnityEngine;
4 | using UnityEngine.UI;
5 |
6 | namespace Components.ActionBar {
7 |
8 | [DisallowMultipleComponent]
9 | public class ActionBar : ComponentHolder {
10 |
11 | [Tooltip("Если true, то при прохождении сообщения ActionBarOff, уберется за экран, а ActionBarOn вернет его")]
12 | [SerializeField] private bool m_CanDisappear = true;
13 | [SerializeField] private float m_HideAnimationTime = .2f;
14 |
15 | [SerializeField]
16 | private Image m_Background;
17 |
18 | private void Awake() {
19 |
20 | Height = GetRectTransform().rect.height;
21 | }
22 |
23 | public float Height { get; private set; }
24 |
25 | ///
26 | /// Эти методы вызываются через UIController.Instance.HideActionBar()
27 | /// UIController.Instance.ShowActionBar()
28 | ///
29 | internal void HideActionBar() {
30 | if (!m_CanDisappear) {
31 | print($"ActionBar невозможно скрыть! Свойство CanDisappear = false; {this}");
32 | return;
33 | }
34 | GetRectTransform().DOAnchorPosY(Height, m_HideAnimationTime);
35 | }
36 |
37 | internal void ShowActionBar() {
38 | if (!m_CanDisappear) {
39 | print($"ActionBar невозможно скрыть! Свойство CanDisappear = false; {this}");
40 | return;
41 | }
42 | GetRectTransform().DOAnchorPosY(0, m_HideAnimationTime);
43 | }
44 | }
45 | }
--------------------------------------------------------------------------------
/Assets/Components/ActionBar/ActionBar.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3aa5bcb118474dc8992e153cdb8e4784
3 | timeCreated: 1543992980
--------------------------------------------------------------------------------
/Assets/Components/Attributes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 919abc8113b549e8b6c6918d6d918423
3 | timeCreated: 1547923253
--------------------------------------------------------------------------------
/Assets/Components/Attributes/ComponentAttributes.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Components.Attributes {
4 |
5 |
6 | /**
7 | * this file contains attributes which must be applied to all your stuff which
8 | * you wanna be affected by global theme settings
9 | * if you apply some of them and the UserThemeColors field of the component
10 | * is true (or missing at all), then your component will
11 | * receive the according theme value which you set in NiceUI Theme editor window
12 | *
13 | * EXAMPLE:
14 | * [SmallSizeText] public Text buttonText;
15 | *
16 | * If you add this attribute to a text, the editor will find your Text field
17 | * and apply a setting the corresponds to a small size text in your theme editor
18 | *
19 | */
20 |
21 |
22 | // TEXT ATTRIBUTES use these on all Text and InputField
23 | // object fields whose font you wanna be affected by your global theme settings
24 |
25 | [AttributeUsage(AttributeTargets.Field)]
26 | public class SmallSizeText : Attribute { }
27 |
28 | [AttributeUsage(AttributeTargets.Field)]
29 | public class MiddleSizeText : Attribute { }
30 |
31 | [AttributeUsage(AttributeTargets.Field)]
32 | public class BigSizeText : Attribute { }
33 |
34 | [AttributeUsage(AttributeTargets.Field)]
35 | public class LargeSizeText : Attribute { }
36 |
37 | // COLOR ATTRIBUTES use this on all Image and RectTransform fields (that contain Image components)
38 | // that you wanna be affected by your global theme settings
39 | [AttributeUsage(AttributeTargets.Field)]
40 | public class StartColor : Attribute { }
41 |
42 | [AttributeUsage(AttributeTargets.Field)]
43 | public class EndColor : Attribute { }
44 |
45 | [AttributeUsage(AttributeTargets.Field)]
46 | public class DisabledDarkShade : Attribute { }
47 |
48 | [AttributeUsage(AttributeTargets.Field)]
49 | public class DisabledLightShade : Attribute { }
50 | }
--------------------------------------------------------------------------------
/Assets/Components/Attributes/ComponentAttributes.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 72e89464108f4595be4b2079e02c4c38
3 | timeCreated: 1547923262
--------------------------------------------------------------------------------
/Assets/Components/Calendars.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ca9c586574d0458ea1cfc78737f9a43a
3 | timeCreated: 1551708898
--------------------------------------------------------------------------------
/Assets/Components/Calendars/BigMonthView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2eeaea8d21e748beaa5a362034d7c748
3 | timeCreated: 1551709246
--------------------------------------------------------------------------------
/Assets/Components/Calendars/IntervalCalendar.cs:
--------------------------------------------------------------------------------
1 |
2 | using System;
3 | using System.Collections.Generic;
4 | using Components.Localization;
5 | using UnityEngine;
6 | using UnityEngine.Serialization;
7 | using UnityEngine.UI;
8 |
9 | namespace Components.Calendars {
10 |
11 | [ExecuteInEditMode]
12 | public class IntervalCalendar : MonoBehaviour {
13 |
14 | [SerializeField, Tooltip("Use sunday as the first day of the week")]
15 | private bool m_UseSundayAsWeekStart = false;
16 | [SerializeField, Tooltip("The color of sunday text")]
17 | private Color m_SundayColor;
18 | [SerializeField, Tooltip("The color the text for any normal day of month")]
19 | private Color m_NormalDayColor;
20 | [SerializeField, Tooltip("Current day color")]
21 | private Color m_CurrentDayColor;
22 | [SerializeField, Tooltip("The color of mupliple selection marker")]
23 | private Color m_MultipleSelectorColor;
24 | [SerializeField] private Text m_InstructionText;
25 | [SerializeField] private BigMonthView m_BigMonthView;
26 | [SerializeField] private bool m_BoldDaysFont = false;
27 | [SerializeField] private bool m_BoldWeekFont = false;
28 | [SerializeField] private Color m_BackgroundColor;
29 | [SerializeField, Tooltip("Bottom instruction. You may also use {{phraseId}} pattern for localization")]
30 | private string m_BottomPromptText;
31 |
32 | [SerializeField, Tooltip("You may set the names directly, or use a {{dayId}} pattern," +
33 | " in this case the names will be picked up from a localization dictionary")]
34 | private List m_DayNames = new List() {
35 | "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"
36 | };
37 | [SerializeField, Tooltip("You may set the names directly, or use a {{monthId}} pattern," +
38 | " in this case the names will be picked up from a localization dictionary")]
39 | private List m_MonthNames = new List() {
40 | "January", "February", "March", "April", "May", "June",
41 | "July", "August", "September", "October", "November", "December"
42 | };
43 | [SerializeField, Tooltip("Whether or not the same colors will be automatically used for day numbers and names")]
44 | private bool m_UseSameColorsForDaysAndNames = true;
45 |
46 | private DateTime m_MinDate;
47 | private DateTime m_MaxDate;
48 |
49 |
50 | private void Start() {
51 | OnValidate();
52 | }
53 |
54 |
55 | protected void OnValidate() {
56 | var image = gameObject.GetComponent();
57 | if (image != null) {
58 | image.color = m_BackgroundColor;
59 | }
60 | m_BigMonthView.AllowMultipleSelection = true;
61 | m_BigMonthView.UseSundaysAsWeekStart = m_UseSundayAsWeekStart;
62 | m_BigMonthView.DayNames = m_DayNames;
63 | m_BigMonthView.MonthNames = m_MonthNames;
64 | m_BigMonthView.SetTextStyles(m_NormalDayColor,
65 | m_SundayColor, m_CurrentDayColor, m_MultipleSelectorColor, m_BoldDaysFont,
66 | m_BoldWeekFont, m_UseSameColorsForDaysAndNames);
67 | m_BigMonthView.SetDate(DateTime.Now);
68 | m_InstructionText.text = m_BottomPromptText.Localize();
69 | //SetSelection(new DateTime(2019, 2, 26), new DateTime(2019, 3, 31));
70 |
71 | }
72 | ///
73 | /// Sets multiple selection of days creating a time span
74 | /// and highlights the selected dates with a marker
75 | ///
76 | ///
77 | ///
78 | public void SetSelection(DateTime minDate, DateTime maxDate) {
79 | if (maxDate < minDate) {
80 | throw new ArgumentException("Max date can't be less than the min one");
81 | }
82 | m_MinDate = minDate;
83 | m_MaxDate = maxDate;
84 | m_BigMonthView.SetSelection(minDate, maxDate);
85 | }
86 |
87 | }
88 | }
--------------------------------------------------------------------------------
/Assets/Components/Calendars/IntervalCalendar.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4fbdd82acd3342cd9196f0238669a21f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Components/Clickable.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 63cf3edf30fb412181cb2ebe274386e2
3 | timeCreated: 1547534358
--------------------------------------------------------------------------------
/Assets/Components/Clickable/AnimatableButton.cs:
--------------------------------------------------------------------------------
1 | using Components.Attributes;
2 | using UnityEngine;
3 | using UnityEngine.EventSystems;
4 | using UnityEngine.UI;
5 |
6 | namespace Components.Clickable {
7 |
8 | [ExecuteInEditMode]
9 | public class AnimatableButton : InteractiveObject {
10 |
11 | [SerializeField] protected Image m_Background;
12 | [SerializeField] protected Text m_Text;
13 | [Tooltip("Optional icon which could be placed inside this botton and will be colorized if ChangeColors is 'true'")]
14 | [SerializeField] protected Image m_InnerIcon;
15 | [SerializeField] protected bool m_IsDisabled = false;
16 | [SerializeField] private bool m_AnimateColoring = true;
17 | [Tooltip("Start color for inner contents like icons or texts. This color will be applied on button press")]
18 | [SerializeField][StartColor] protected Color m_StartColor;
19 | [Tooltip("End color from inner contents like icons or texts")]
20 | [SerializeField, EndColor] protected Color m_EndColor;
21 | [SerializeField, EndColor, Tooltip("The current color of the text and icons inside")]
22 | protected Color m_CurrentColor;
23 | [SerializeField] private Color m_BackgroundColor;
24 | [SerializeField][DisabledDarkShade] private Color m_DisabledColor;
25 | [SerializeField] private float m_AnimationSpeed = 30.0f;
26 | private float m_CurAnimationProgress = 1.0f;
27 |
28 |
29 | private void Start() {
30 |
31 | }
32 |
33 | protected override void OnValidate() {
34 | base.OnValidate();
35 | m_CurrentColor = m_EndColor;
36 | SetColors();
37 | }
38 |
39 | protected override void SetColors() {
40 | if (!m_ChangeColor) return;
41 |
42 | if (m_Background != null) {
43 | m_Background.color = m_BackgroundColor;
44 | }
45 | if (m_InnerIcon != null) {
46 | m_InnerIcon.color = m_CurrentColor;
47 | }
48 |
49 | if (m_Text != null) {
50 | m_Text.color = m_CurrentColor;
51 | }
52 |
53 |
54 | }
55 |
56 | private void FixedUpdate() {
57 | if (m_IsDisabled || !m_AnimateColoring) return;
58 | if (!m_IsPressed) {
59 | if (m_CurAnimationProgress > .9990f) return;
60 | m_CurAnimationProgress += m_AnimationSpeed * Time.deltaTime;
61 | }
62 | else {
63 | if (m_CurAnimationProgress < .0001f) return;
64 | m_CurAnimationProgress -= m_AnimationSpeed * Time.deltaTime;
65 | }
66 | m_CurAnimationProgress = Mathf.Clamp01(m_CurAnimationProgress);
67 | SetAnimationProgress(m_CurAnimationProgress);
68 | }
69 |
70 | ///
71 | /// Can be used in the inheritors
72 | ///
73 | ///
74 | protected virtual void SetAnimationProgress(float value) {
75 | m_CurrentColor = ComponentUtils.MixColorsByValue(m_StartColor, m_EndColor, value);
76 | SetColors();
77 | }
78 |
79 | public override void OnPointerDown(PointerEventData eventData) {
80 | if (m_IsDisabled) return;
81 | base.OnPointerDown(eventData);
82 | if (!m_AnimateColoring) {
83 | m_CurrentColor = m_EndColor;
84 | SetColors();
85 | }
86 |
87 | }
88 |
89 | public override void OnPointerUp(PointerEventData eventData) {
90 | if (m_IsDisabled) return;
91 | base.OnPointerUp(eventData);
92 | if (!m_AnimateColoring) {
93 | m_CurrentColor = m_StartColor;
94 | SetColors();
95 | }
96 | }
97 | }
98 | }
--------------------------------------------------------------------------------
/Assets/Components/Clickable/AnimatableButton.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2183b457b501439e83597606ac887a0d
3 | timeCreated: 1548265055
--------------------------------------------------------------------------------
/Assets/Components/Clickable/HamburgerMenuButton.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using UnityEngine;
3 |
4 | namespace Components.Clickable {
5 |
6 |
7 | public class HamburgerMenuButton : AnimatableButton {
8 |
9 | [Tooltip("Will apply rotation animation to the inner icon when the drawer it's attached to is opening or closing")]
10 | [SerializeField] private bool m_RotateButtonOnDrawerOpen = true;
11 | [Tooltip("Max angle of inner icon rotation in degrees. May be positive or negative. Set negative for clockwise rotation")]
12 | [SerializeField] private float m_MaxRotationAngle = -180f;
13 |
14 | private float m_RotationValue = 0;
15 |
16 |
17 | protected override void OnValidate() {
18 | base.OnValidate();
19 | m_CurrentColor = ComponentUtils.MixColorsByValue(m_StartColor, m_EndColor, m_RotationValue);
20 | }
21 |
22 | internal void RotateByValue(float value) {
23 |
24 | if (m_RotateButtonOnDrawerOpen) {
25 | value = Mathf.Clamp01(value);
26 | m_RotationValue = value;
27 | var angle = value * m_MaxRotationAngle;
28 | m_InnerIcon.rectTransform.eulerAngles = new Vector3(0, 0, angle);
29 | m_CurrentColor = ComponentUtils.MixColorsByValue(m_StartColor, m_EndColor, m_RotationValue);
30 | SetColors();
31 | }
32 | else {
33 | m_RotationValue = 0;
34 | }
35 | }
36 | protected override void SetAnimationProgress(float value) {
37 | if (!m_RotateButtonOnDrawerOpen) {
38 | base.SetAnimationProgress(value);
39 | }
40 | }
41 |
42 | }
43 | }
--------------------------------------------------------------------------------
/Assets/Components/Clickable/HamburgerMenuButton.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d81032284bff43cf8594791880b79ab2
3 | timeCreated: 1548341258
--------------------------------------------------------------------------------
/Assets/Components/Clickable/Toggle.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.Events;
3 | using UnityEngine.EventSystems;
4 | using UnityEngine.UI;
5 |
6 | namespace Components.Clickable {
7 |
8 | [ExecuteInEditMode]
9 | public class Toggle : InteractiveObject {
10 |
11 | [Tooltip("Whether it's nevessary or not to tween color from one color to another when the toggle is switched")]
12 | [SerializeField] private bool m_ChangeColorOnSwitch;
13 | [SerializeField] private Image m_Background;
14 | [SerializeField] private Image m_Knob;
15 | [SerializeField] private Color m_KnobOffColor;
16 | [SerializeField] private Color m_KnobOnColor;
17 | [SerializeField] private Color m_BackgroundOffColor;
18 | [SerializeField] private Color m_BackgroundOnColor;
19 | [SerializeField] private Color m_BackgroundDisabledColor;
20 | [SerializeField] private Color m_KnobDisabledColor;
21 | [SerializeField] private bool m_IsOn = false;
22 | [SerializeField] private bool m_IsDisabled = false;
23 | [SerializeField] private bool m_AnimateToggling = true;
24 | // a value between 0 and 1
25 | private float m_CurMoveX = 0;
26 | private RectTransform m_KnobTransform;
27 | private float m_KnobPosY = 0;
28 | private float m_StartX = 0;
29 | private float m_EndX = 0;
30 |
31 | public event UnityAction ValueChange;
32 |
33 | private void Start() {
34 | Setup();
35 | }
36 |
37 | public bool IsOn {
38 | get { return m_IsOn; }
39 | set {
40 | if (IsDisabled) return;
41 |
42 | if (m_IsOn != value) {
43 | m_IsOn = value;
44 | if (!m_AnimateToggling) {
45 | ChangeView(value ? 1 : 0);
46 | }
47 | ValueChange?.Invoke(value);
48 | }
49 |
50 | }
51 | }
52 |
53 | public bool IsDisabled {
54 | get { return m_IsDisabled; }
55 | set {
56 | m_IsDisabled = value;
57 | if (value) {
58 | m_Background.color = m_BackgroundDisabledColor;
59 | m_Knob.color = m_KnobDisabledColor;
60 | }
61 | else {
62 | ChangeView(IsOn ? 1 : 0);
63 | }
64 | }
65 | }
66 |
67 | private void ChangeView(float knobMovePercent) {
68 | if (m_ChangeColorOnSwitch) {
69 | m_Knob.color = ComponentUtils.MixColorsByValue(m_KnobOffColor, m_KnobOnColor, knobMovePercent);
70 | m_Background.color = ComponentUtils.MixColorsByValue(m_BackgroundOffColor, m_BackgroundOnColor, knobMovePercent);
71 | }
72 | else {
73 | m_Knob.color = m_KnobOnColor;
74 | m_Background.color = m_BackgroundOnColor;
75 | }
76 |
77 | var posX = ((m_StartX - m_EndX) * knobMovePercent) + m_EndX;
78 | m_KnobTransform.anchoredPosition = new Vector2(posX, m_KnobPosY);
79 | }
80 |
81 | private void FixedUpdate() {
82 | if (IsDisabled || !m_AnimateToggling) return;
83 | if (m_IsOn) {
84 | if (m_CurMoveX > .9899) return;
85 | m_CurMoveX = Mathf.Lerp(m_CurMoveX, 1, 15f * Time.deltaTime);
86 | }
87 | else {
88 | if (m_CurMoveX < .0001) return;
89 | m_CurMoveX = Mathf.Lerp(m_CurMoveX, 0, 15f * Time.deltaTime);
90 |
91 | }
92 | ChangeView(m_CurMoveX);
93 | }
94 |
95 | private void Setup() {
96 | m_KnobTransform = m_Knob.GetComponent();
97 | var startPosition = m_KnobTransform.anchoredPosition;
98 | m_StartX = Mathf.Abs(startPosition.x);
99 | m_KnobPosY = startPosition.y;
100 | m_EndX = -m_StartX;
101 | if (m_ChangeColorOnSwitch) {
102 | if (m_IsOn) {
103 | m_Background.color = m_BackgroundOnColor;
104 | m_Knob.color = m_KnobOnColor;
105 | }
106 | else {
107 | m_Background.color = m_BackgroundOffColor;
108 | m_Knob.color = m_KnobOffColor;
109 | }
110 | }
111 | else {
112 | m_Background.color = m_BackgroundOnColor;
113 | m_Knob.color = m_KnobOnColor;
114 | }
115 |
116 | m_CurMoveX = m_IsOn ? 1 : 0;
117 | m_KnobTransform.anchoredPosition = new Vector2(m_IsOn ? m_StartX : m_EndX, m_KnobPosY);
118 | IsDisabled = IsDisabled;
119 | }
120 |
121 |
122 | protected override void OnValidate() {
123 | Setup();
124 | }
125 |
126 | public override void OnPointerClick(PointerEventData eventData) {
127 | IsOn = !IsOn;
128 | }
129 | }
130 | }
--------------------------------------------------------------------------------
/Assets/Components/Clickable/Toggle.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fc95f80b0103468089637449ac7fe952
3 | timeCreated: 1547534371
--------------------------------------------------------------------------------
/Assets/Components/ComponentBehaviour.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using UnityEngine;
4 |
5 | namespace Components {
6 | public class ComponentBehaviour : MonoBehaviour {
7 |
8 |
9 | [Tooltip("Whether or not will this component use theme colors which you set in NiceUI Kit Theme Editor window")]
10 | [SerializeField] private bool UseGlobalThemeColors = true;
11 | [Tooltip("If 'false' the selected colors won't affect the component")]
12 | [SerializeField] internal bool m_ChangeColor = false;
13 | //[SerializeField] internal float m_AnimationSpeed = 30.0f;
14 | private RectTransform m_RectTransform;
15 |
16 | ///
17 | /// Calls a method after some delay.
18 | /// Might be useful in an asynchronous scenario
19 | ///
20 | /// A delegate to be called after the delay
21 | /// Delay in seconds
22 | public void DelayCall(Action callback, float delay) {
23 | if (callback != null) {
24 | StartCoroutine(Caller(callback, delay));
25 | }
26 | }
27 |
28 | protected RectTransform GetRectTransform() {
29 | if (m_RectTransform == null) {
30 | m_RectTransform = GetComponent();
31 | }
32 |
33 | return m_RectTransform;
34 | }
35 |
36 | protected virtual void OnValidate() {}
37 |
38 | private static IEnumerator Caller(Action callback, float delay) {
39 | yield return new WaitForSeconds(delay);
40 | callback?.Invoke();
41 | }
42 | protected virtual void SetColors() {}
43 |
44 | }
45 | }
--------------------------------------------------------------------------------
/Assets/Components/ComponentBehaviour.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 03cba1517dee43cab7ba1ecde68f2135
3 | timeCreated: 1547920386
--------------------------------------------------------------------------------
/Assets/Components/ComponentHolder.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace Components {
4 |
5 |
6 | public class ComponentHolder : ComponentBehaviour {
7 |
8 |
9 | }
10 | }
--------------------------------------------------------------------------------
/Assets/Components/ComponentHolder.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fb88bf11db004e79b83cffcda4b1eb2c
3 | timeCreated: 1543990289
--------------------------------------------------------------------------------
/Assets/Components/ComponentUtils.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using Components.Texts;
5 | using UnityEngine;
6 | using Object = UnityEngine.Object;
7 |
8 |
9 | namespace Components {
10 | public static class ComponentUtils {
11 |
12 |
13 | ///
14 | /// Mixes 2 colors by a specified value
15 | ///
16 | ///
17 | ///
18 | /// a value of mixture from 0 to 1
19 | /// A resulting color
20 | public static Color MixColorsByValue(Color startColor, Color endColor, float mixValue) {
21 | mixValue = Mathf.Clamp01(mixValue);
22 | return startColor + ((endColor - startColor) * mixValue);
23 | }
24 |
25 | ///
26 | /// Finds all object of a specified type in child transforms and adds them to List
27 | ///
28 | /// The parent transform
29 | /// a collection to use as a storage
30 | ///
31 | public static void CollectInstancesInChildren(Transform transform, List toCollection) {
32 | var numChildren = transform.childCount;
33 | if (numChildren > 0) {
34 | for (var i = 0; i < numChildren; i++) {
35 | var child = transform.GetChild(i);
36 | CollectInstancesInChildren(child, toCollection);
37 | }
38 | }
39 | var instance = transform.gameObject.GetComponent();
40 | if (instance != null) {
41 | toCollection.Add(instance);
42 | }
43 | }
44 |
45 | public static GameObject InstantiatePrefab(string prefabName) {
46 | return (GameObject)Object.Instantiate(Resources.Load(Path.Combine("NiceUIPrefabs", prefabName)));
47 | }
48 |
49 | public static string GetProjectName() {
50 | var splitPath = Application.dataPath.Split('/');
51 | var projectName = splitPath[splitPath.Length - 2];
52 | return projectName;
53 | }
54 | ///
55 | /// Finds all objects that have attached component of the specified type
56 | ///
57 | ///
58 | ///
59 | public static List FindObjectsWithComponentsOfType(bool onlyActiveInHierarchy = false) where T : Behaviour {
60 | var allGameObjects = (GameObject[])Resources.FindObjectsOfTypeAll(typeof(GameObject));
61 | var result = new List();
62 | foreach (var go in allGameObjects) {
63 | var componentHolder = go.GetComponent();
64 | if (onlyActiveInHierarchy) {
65 | if (componentHolder == null || !componentHolder.gameObject.activeInHierarchy) {
66 | continue;
67 | }
68 | result.Add(componentHolder);
69 | }
70 | else {
71 | if (componentHolder != null) {
72 | result.Add(componentHolder);
73 | }
74 | }
75 | }
76 | return result;
77 | }
78 |
79 | }
80 | }
--------------------------------------------------------------------------------
/Assets/Components/ComponentUtils.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 19a823ebe3da420bb219ab0bb20b2a41
3 | timeCreated: 1547538055
--------------------------------------------------------------------------------
/Assets/Components/ContainerVerticalResizer.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using UnityEngine;
3 |
4 | namespace Components {
5 |
6 | // changes the height of the container, depending on its children bounding box
7 | [DisallowMultipleComponent]
8 | public class ContainerVerticalResizer : MonoBehaviour {
9 |
10 |
11 | private RectTransform m_RectTransform;
12 | private int m_LastChildCount = 0;
13 | private float m_MinHeight = 0;
14 | private readonly List m_Children = new List();
15 |
16 |
17 | private void Start() {
18 | m_RectTransform = GetComponent();
19 | SetupMinHeight();
20 | CalculateContainerSize();
21 | }
22 |
23 | private void SetupMinHeight() {
24 | if (m_MinHeight < 1) {
25 | m_MinHeight = m_RectTransform.rect.height;
26 | }
27 | }
28 |
29 | private void OnDisable() {
30 | m_Children.Clear();
31 | m_LastChildCount = 0;
32 | }
33 |
34 | private void CalculateContainerSize() {
35 | var containerHeight = 0;
36 | m_Children.ForEach(childRect => {
37 | var pivotY = childRect.pivot.y;
38 | var height = childRect.rect.height * pivotY;
39 | var maxChildY = (int)(Mathf.Abs(childRect.anchoredPosition.y) + height);
40 | if (maxChildY > containerHeight) {
41 | containerHeight = maxChildY;
42 | }
43 | });
44 | var size = m_RectTransform.sizeDelta;
45 | size.y = Mathf.Max(containerHeight, m_MinHeight);
46 | m_RectTransform.sizeDelta = size;
47 | }
48 |
49 | private void LateUpdate() {
50 | var numChildren = m_RectTransform.childCount;
51 | if (numChildren != m_LastChildCount) {
52 | m_LastChildCount = numChildren;
53 | m_Children.Clear();
54 | for (var i = 0; i < numChildren; i++) {
55 | var childTransform = m_RectTransform.GetChild(i);
56 | var childRect = childTransform.GetComponent();
57 | if (childRect != null) m_Children.Add(childRect);
58 | }
59 | }
60 | // must be called evety frame to account for possible children positions change
61 | CalculateContainerSize();
62 | }
63 | }
64 | }
--------------------------------------------------------------------------------
/Assets/Components/ContainerVerticalResizer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ac38342fce949d4be7a03177bf45457
3 | timeCreated: 1549729843
--------------------------------------------------------------------------------
/Assets/Components/Drawer.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 11c750519e15c0d4caf08773231ec331
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Components/Drawer/NavigationDrawer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3e0e3f18e89c4eb693ceb6bf8d73de1b
3 | timeCreated: 1538909613
--------------------------------------------------------------------------------
/Assets/Components/Drawer/NavigationDrawerPanel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using UnityEngine;
4 |
5 | namespace Components.Drawer {
6 |
7 | // a window which simply holds 2 or 1 drawer
8 | [ExecuteInEditMode]
9 | public class NavigationDrawerPanel : ComponentHolder {
10 |
11 |
12 | private NavigationDrawer[] m_NavigationDrawers;
13 | [SerializeField] private bool m_RightDrawerActive = true;
14 | [SerializeField] private bool m_LeftDrawerActive = true;
15 |
16 | private void Start() {
17 | AttachDrawers();
18 | }
19 |
20 | private void AttachDrawers() {
21 | m_NavigationDrawers = transform.GetComponentsInChildren(true);
22 | if (m_NavigationDrawers.Length > 2) {
23 | throw new Exception("There can be no more than 2 drawers!");
24 | }
25 |
26 | var numLeft = m_NavigationDrawers.Count(drawer => drawer.NavigationDrawerPosition == NavigationDrawerPosition.Left);
27 | var numRight = m_NavigationDrawers.Count(drawer => drawer.NavigationDrawerPosition == NavigationDrawerPosition.Right);
28 | if (numLeft > 1 || numRight > 1) {
29 | throw new Exception("Only 1 drawer for each position is allowed!");
30 | }
31 | var leftDrawer = GetDrawerForPosition(NavigationDrawerPosition.Left);
32 | if (leftDrawer != null) leftDrawer.gameObject.SetActive(m_LeftDrawerActive);
33 |
34 | var rightDrawer = GetDrawerForPosition(NavigationDrawerPosition.Right);
35 | if (rightDrawer != null) rightDrawer.gameObject.SetActive(m_RightDrawerActive);
36 | }
37 |
38 | public NavigationDrawer GetDrawerForPosition(NavigationDrawerPosition navigationDrawerPosition) {
39 | if (m_NavigationDrawers == null) {
40 | AttachDrawers();
41 | }
42 | return m_NavigationDrawers.FirstOrDefault(d => d.NavigationDrawerPosition == navigationDrawerPosition);
43 | }
44 |
45 | protected override void OnValidate() {
46 | AttachDrawers();
47 |
48 | }
49 | }
50 | }
--------------------------------------------------------------------------------
/Assets/Components/Drawer/NavigationDrawerPanel.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ad6abddafa7545fbbc6131cbf6946417
3 | timeCreated: 1547905380
--------------------------------------------------------------------------------
/Assets/Components/Drawer/NavigationDrawerPosition.cs:
--------------------------------------------------------------------------------
1 | namespace Components.Drawer {
2 | public enum NavigationDrawerPosition {
3 | Left = -1,
4 | Right = 1
5 | }
6 | }
--------------------------------------------------------------------------------
/Assets/Components/Drawer/NavigationDrawerPosition.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2ffe8581b5974540b1bab6516d9681f3
3 | timeCreated: 1543996418
--------------------------------------------------------------------------------
/Assets/Components/Drawer/NavigationDrawerSidePanel.cs:
--------------------------------------------------------------------------------
1 | namespace Components.Drawer {
2 | public class NavigationDrawerSidePanel : InteractiveObject {
3 |
4 | }
5 | }
--------------------------------------------------------------------------------
/Assets/Components/Drawer/NavigationDrawerSidePanel.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 69dc711e47f7486f9be7446fab30d347
3 | timeCreated: 1538984613
--------------------------------------------------------------------------------
/Assets/Components/DrawerSettingsPanel.cs:
--------------------------------------------------------------------------------
1 | using Components.Drawer;
2 | using UnityEngine;
3 | using UnityEngine.UI;
4 |
5 | namespace Components {
6 | public class DrawerSettingsPanel : MonoBehaviour {
7 |
8 | [SerializeField] private Slider m_OpeningDelta;
9 | [SerializeField] private Slider m_ClosingDelta;
10 | [SerializeField] private Slider m_AnimationSpeed;
11 | [SerializeField] private Slider m_TimeBetweenChecks;
12 | [SerializeField] private Slider m_MinDistToOpen;
13 | [SerializeField] private Text m_OpeningDeltaText;
14 | [SerializeField] private Text m_ClosingDeltaText;
15 | [SerializeField] private Text m_AnimationSpeedText;
16 | [SerializeField] private Text m_TimeBetweenChecksText;
17 | [SerializeField] private Text m_MinDistToOpenText;
18 |
19 | private void Start() {
20 |
21 | m_OpeningDelta.value = NavigationDrawer.m_OpeningDelta;
22 | m_ClosingDelta.value = NavigationDrawer.m_ClosingingDelta;
23 | m_AnimationSpeed.value = NavigationDrawer.m_AnimationSpeed;
24 | m_TimeBetweenChecks.value = NavigationDrawer.m_TimeBetweenChecks;
25 | m_MinDistToOpen.value = NavigationDrawer.m_MinDistForQuickSwipeOpen;
26 |
27 | m_OpeningDeltaText.text = $"Дельта открытия {m_OpeningDelta.value:F2}";
28 | m_ClosingDeltaText.text = $"Дельта закрытия {m_ClosingDelta.value:F2}";
29 | m_AnimationSpeedText.text = $"Скорость анимации {m_AnimationSpeed.value:F2}";
30 | m_TimeBetweenChecksText.text = $"Время между проверками {m_TimeBetweenChecks.value:F3}";
31 | m_MinDistToOpenText.text = $"Мин растояние открытия свайпом {m_MinDistToOpen.value:F2}";
32 |
33 | m_OpeningDelta.onValueChanged.AddListener(value => {
34 | NavigationDrawer.m_OpeningDelta = value;
35 | m_OpeningDeltaText.text = $"Дельта открытия {value:F2}";
36 | });
37 | m_ClosingDelta.onValueChanged.AddListener(value => {
38 | NavigationDrawer.m_ClosingingDelta = value;
39 | m_ClosingDeltaText.text = $"Дельта закрытия {value:F2}";
40 | });
41 | m_AnimationSpeed.onValueChanged.AddListener(value => {
42 | NavigationDrawer.m_AnimationSpeed = value;
43 | m_AnimationSpeedText.text = $"Скорость анимации {value:F2}";
44 | });
45 | m_TimeBetweenChecks.onValueChanged.AddListener(value => {
46 | NavigationDrawer.m_TimeBetweenChecks = value;
47 | m_TimeBetweenChecksText.text = $"Время между проверками {value:F3}";
48 | });
49 | m_MinDistToOpen.onValueChanged.AddListener(value => {
50 | NavigationDrawer.m_MinDistForQuickSwipeOpen = value;
51 | m_MinDistToOpenText.text = $"Мин растояние открытия свайпом {value:F2}";
52 | });
53 |
54 | }
55 | }
56 | }
--------------------------------------------------------------------------------
/Assets/Components/DrawerSettingsPanel.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ac19208999d74541a7282ceba0c3296a
3 | timeCreated: 1551968132
--------------------------------------------------------------------------------
/Assets/Components/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 51dc7f853c5047d28efe3b19c13eea7c
3 | timeCreated: 1547897547
--------------------------------------------------------------------------------
/Assets/Components/Editor/NiceUIMenus.cs:
--------------------------------------------------------------------------------
1 | using System.Linq;
2 | using UnityEditor;
3 | using UnityEngine;
4 | using static UnityEngine.Debug;
5 |
6 | namespace Components.Editor {
7 | public class NiceUiMenus {
8 |
9 | private static UiController m_UiController;
10 |
11 | [MenuItem("NiceUI Kit/Initialize Application Frame", false, -10)]
12 | private static void InitializeAppFrame() {
13 | if (IsInitialized()) {
14 | EditorUtility.DisplayDialog("Information", "Already initialized!", "Ok");
15 | return;
16 | }
17 | InitUiController();
18 | }
19 |
20 | [MenuItem("NiceUI Kit/Add Navigation Drawer Panel")]
21 | private static void AddNavigationDrawerPanel() {
22 | GetUiController()?.AddNavigationDrawerPanel();
23 | }
24 | [MenuItem("NiceUI Kit/Add Action Bar")]
25 | private static void AddActionBar() {
26 | GetUiController()?.AddActionBar();
27 | }
28 |
29 |
30 | [MenuItem("NiceUI Kit/Remove Navigation Drawer Panel")]
31 | private static void RemoveDrawerPanel() {
32 | if (!IsInitialized()) {
33 | EditorUtility.DisplayDialog("Warning", "Nothing to remove", "Ok");
34 | return;
35 | }
36 |
37 | if (EditorUtility.DisplayDialog("Warning",
38 | "The panel with drawers will be completely destroyed!\nIt is not possible to undo this operation!\n" +
39 | "Are you sure you want to continue and remove it?", "Remove", "Cancel")) {
40 | m_UiController.RemoveNavigationDrawerPanel();
41 | }
42 | }
43 | [MenuItem("NiceUI Kit/Remove Action Bar")]
44 | private static void RemoveActionBar() {
45 | if (!IsInitialized()) {
46 | EditorUtility.DisplayDialog("Warning", "Nothing to remove", "Ok");
47 | return;
48 | }
49 | if (EditorUtility.DisplayDialog("Warning",
50 | "The action bar will be completely destroyed!\nIt is not possible to undo this operation!\n" +
51 | "Are you sure you want to continue and remove it?", "Remove", "Cancel")) {
52 | m_UiController.RemoveActionBar();
53 | }
54 | }
55 |
56 |
57 | private static bool IsInitialized() {
58 | var allGameObjects = (GameObject[])Resources.FindObjectsOfTypeAll(typeof(GameObject));
59 | var uiHolderGameObject = allGameObjects.FirstOrDefault(g => {
60 | var uiController = g.GetComponent();
61 | return uiController != null && g.activeInHierarchy;
62 | });
63 | if (uiHolderGameObject != null && m_UiController == null) {
64 | m_UiController = uiHolderGameObject.GetComponent();
65 | }
66 |
67 | return uiHolderGameObject != null && uiHolderGameObject.activeInHierarchy;
68 | }
69 |
70 |
71 | private static UiController GetUiController() {
72 | if (m_UiController != null) return m_UiController;
73 | // если при загрузке юньки уже есть контроллер, но ссылки еще нет
74 | var allGameObjects = (GameObject[])Resources.FindObjectsOfTypeAll(typeof(GameObject));
75 | foreach (var gameObject in allGameObjects) {
76 | var uiController = gameObject.GetComponent();
77 | if (uiController == null || !gameObject.activeInHierarchy) continue;
78 | m_UiController = uiController;
79 | break;
80 | }
81 |
82 | if (m_UiController == null) {
83 | if (EditorUtility.DisplayDialog("Warning",
84 | "The application needs to be initialized first. Do you want to initialize in now?", "Yes", "No")) {
85 | InitializeAppFrame();
86 | }
87 | }
88 |
89 | return m_UiController;
90 | }
91 |
92 | private static void InitUiController() {
93 | if (IsInitialized()) return;
94 | m_UiController = ComponentUtils.InstantiatePrefab("UIController_pfb")?.GetComponent();
95 | }
96 | }
97 | }
--------------------------------------------------------------------------------
/Assets/Components/Editor/NiceUIMenus.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d6f94b5666654427ad4497c84813951f
3 | timeCreated: 1547911004
--------------------------------------------------------------------------------
/Assets/Components/Editor/NiceUIThemeEditor.cs:
--------------------------------------------------------------------------------
1 | namespace Components.Editor {
2 | using UnityEngine;
3 | using UnityEditor;
4 |
5 | public class NiceUiThemeEditor : EditorWindow {
6 |
7 | [SerializeField] private bool m_UseDarkTheme;
8 | [SerializeField] private bool m_EnableAnimatableControlsColorsGroup;
9 | [SerializeField] private bool m_EnableBackgroundColorsGroup;
10 | [SerializeField] private Color m_StartColor = new Color(0.0f, 0.380f, 0.356f);
11 | [SerializeField] private Color m_EndColor = new Color(0.0f, 0.8313f, 0.7803f);
12 | [SerializeField] private Color m_DisabledDarkShadeColor = new Color(0.17f, 0.17f, 0.17f);
13 | [SerializeField] private Color m_DisabledLightShadeColor = new Color(0.302f, 0.302f, 0.302f);
14 | [SerializeField] private Color m_LightControlBackgroundColor = new Color(0.9245f, 0.9245f, 0.9245f);
15 | [SerializeField] private Color m_DarkControlBackgroundColor = new Color(0.169f, 0.169f, 0.169f);
16 | [SerializeField] private Color m_DarkPageBackgroundColor = new Color(0.10f, 0.10f, 0.10f);
17 | [SerializeField] private Color m_LightPageBackgroundColor = new Color(0.90f, 0.90f, 0.90f);
18 |
19 |
20 | [MenuItem("NiceUI Kit/Theme Editor")]
21 | static void Init() {
22 | var window = (NiceUiThemeEditor)GetWindow(typeof(NiceUiThemeEditor));
23 | window.Show();
24 | }
25 |
26 | private void OnEnable() {
27 | UnityEngine.Debug.Log(ComponentUtils.GetProjectName());
28 | var data = EditorPrefs.GetString(ComponentUtils.GetProjectName(), JsonUtility.ToJson(this, false));
29 | JsonUtility.FromJsonOverwrite(data, this);
30 | }
31 |
32 | private void OnDisable() {
33 | var data = JsonUtility.ToJson(this, false);
34 | EditorPrefs.SetString(ComponentUtils.GetProjectName(), data);
35 | }
36 |
37 | private void OnGUI() {
38 | GUILayout.Label("Base theme settings", EditorStyles.boldLabel);
39 | GUILayout.Label("Whether or not to use dark background colors");
40 | m_UseDarkTheme = GUILayout.Toggle(m_UseDarkTheme, "Use dark theme");
41 | m_EnableAnimatableControlsColorsGroup = EditorGUILayout.BeginToggleGroup("Colors for animatable controls", m_EnableAnimatableControlsColorsGroup);
42 | m_StartColor = EditorGUILayout.ColorField("Icon and text start color", m_StartColor);
43 | m_EndColor = EditorGUILayout.ColorField("Icon and text end", m_EndColor);
44 | m_DisabledDarkShadeColor = EditorGUILayout.ColorField("Dark color for disabled components", m_DisabledDarkShadeColor);
45 | m_DisabledLightShadeColor = EditorGUILayout.ColorField("Light color for disabled components", m_DisabledLightShadeColor);
46 | GUILayout.Space(20);
47 | EditorGUILayout.EndToggleGroup();
48 | m_EnableBackgroundColorsGroup = EditorGUILayout.BeginToggleGroup("Background colors", m_EnableBackgroundColorsGroup);
49 | m_LightControlBackgroundColor = EditorGUILayout.ColorField("Light control background", m_LightControlBackgroundColor);
50 | m_DarkControlBackgroundColor = EditorGUILayout.ColorField("Dark control background", m_DarkControlBackgroundColor);
51 | m_DarkPageBackgroundColor = EditorGUILayout.ColorField("Dark page background", m_DarkPageBackgroundColor);
52 | m_LightPageBackgroundColor = EditorGUILayout.ColorField("Light page background", m_LightPageBackgroundColor);
53 | EditorGUILayout.EndToggleGroup();
54 |
55 |
56 | GUILayout.Label("Apply theme to all components", EditorStyles.label);
57 | if (GUILayout.Button("Apply Theme")) {
58 | if (EditorUtility.DisplayDialog("Confirmation",
59 | "These settings will be applied to all fields that " +
60 | "have attributes from the 'ComponentAttributes.cs' file attached " +
61 | "and whose 'UseGlobalThemeColors' field is set to true" +
62 | "\nDo you want to continue?", "Yes", "No")) {
63 | ApplySettings();
64 | }
65 | }
66 | }
67 |
68 | private void ApplySettings() {
69 | Debug.Log("APPLYING");
70 | }
71 |
72 | }
73 | }
--------------------------------------------------------------------------------
/Assets/Components/Editor/NiceUIThemeEditor.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 96efeef63db545c4b54b1fc472d90cf3
3 | timeCreated: 1547897557
--------------------------------------------------------------------------------
/Assets/Components/Extensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Globalization;
4 | using System.Linq;
5 | using UnityEngine;
6 | using UnityEngine.UI;
7 |
8 | namespace Components {
9 | public static class Extensions {
10 |
11 | private static readonly CultureInfo m_Culture = new CultureInfo("en-US");
12 |
13 | public static void SetAsPassword(this InputField inputField) {
14 | inputField.contentType = InputField.ContentType.Password;
15 | inputField.ForceLabelUpdate();
16 | }
17 | public static void SetAsStandard(this InputField inputField) {
18 | inputField.contentType = InputField.ContentType.Standard;
19 | inputField.ForceLabelUpdate();
20 | }
21 | public static bool IsPassword(this InputField inputField) {
22 | return inputField.contentType == InputField.ContentType.Password;
23 | }
24 | public static T GetOrAddComponent(this GameObject gameObject) where T : Component {
25 | var result = gameObject.GetComponent();
26 | if (result == default(T)) {
27 | result = gameObject.AddComponent();
28 | }
29 | return result;
30 | }
31 | public static bool HasComponent(this GameObject gameObject) where T : Component {
32 | return gameObject.GetComponent() != null;
33 | }
34 | public static IList Swap(this IList list, int indexA, int indexB) {
35 | T tmp = list[indexA];
36 | list[indexA] = list[indexB];
37 | list[indexB] = tmp;
38 | return list;
39 | }
40 |
41 | public static int SwapWith(this int input, ref int target) {
42 | var temp = input;
43 | input = target;
44 | target = temp;
45 | return input;
46 | }
47 |
48 | ///
49 | /// returns the ordinal number of the day of the week the month has started on.
50 | /// The week here starts from a monday and ends with a sunday
51 | ///
52 | ///
53 | ///
54 | ///
55 | public static int GetDayOfWeekMonthStartedOn(this DateTime dateTime, bool useSundayAsWeekStart) {
56 | var date = new DateTime(dateTime.Year, dateTime.Month, 1);
57 | if (useSundayAsWeekStart) return (int)date.DayOfWeek;
58 |
59 | switch (date.DayOfWeek) {
60 | case DayOfWeek.Monday:
61 | return 0;
62 | case DayOfWeek.Tuesday:
63 | return 1;
64 | case DayOfWeek.Wednesday:
65 | return 2;
66 | case DayOfWeek.Thursday:
67 | return 3;
68 | case DayOfWeek.Friday:
69 | return 4;
70 | case DayOfWeek.Saturday:
71 | return 5;
72 | case DayOfWeek.Sunday:
73 | return 6;
74 | }
75 |
76 | return 0;
77 | }
78 | ///
79 | /// Gets a date with a month preceeding to this
80 | ///
81 | ///
82 | ///
83 | public static DateTime GetPreviousMonth(this DateTime dateTime) {
84 | return dateTime.AddMonths(-1);
85 | }
86 | ///
87 | /// Gets a date with a month right next to this
88 | ///
89 | ///
90 | ///
91 | public static DateTime GetNextMonth(this DateTime dateTime) {
92 | return dateTime.AddMonths(1);
93 | }
94 |
95 | public static int GetNumDaysInMonth(this DateTime dateTime) {
96 | return DateTime.DaysInMonth(dateTime.Year, dateTime.Month);
97 | }
98 |
99 | // to simplify chaining
100 | public static float Abs(this float num) {
101 | return Math.Abs(num);
102 | }
103 | public static int Abs(this int num) {
104 | return Math.Abs(num);
105 | }
106 | public static int ToInt(this float num) {
107 | return (int)num;
108 | }
109 | ///
110 | /// Converts long number to their shorter string representation
111 | /// For exameple 1000 -> 1K, 1000000 -> 1M, 1300 -> 1.3K and so on
112 | ///
113 | /// Number to format
114 | ///
115 | public static string ToShorterView(this double number) {
116 | string[] numberNames = {"K", "M", "B"};
117 | var i = 0;
118 | while (number >= TenPower((i + 1) * 3)) {
119 | ++i;
120 | }
121 | var result = "";
122 | if (i == 0) {
123 | var temp = number.ToString(CultureInfo.InvariantCulture);
124 | result = number >= 10 ? temp : Math.Round(number).ToString(CultureInfo.InvariantCulture);
125 | }
126 | else
127 | result = (number / TenPower(i * 3)).ToString(CultureInfo.InvariantCulture);
128 |
129 | var postfix = "";
130 | while (i >= 3) {
131 | postfix = "B" + postfix;
132 | i -= 3;
133 | }
134 |
135 | if (i > 0)
136 | postfix = numberNames[i - 1] + postfix;
137 |
138 | if (result.Length > 4)
139 | result = result.Substring(0, 4);
140 | if (result.Contains("."))
141 | result = result.TrimEnd('0');
142 | return result.TrimEnd('.') + postfix;
143 | }
144 |
145 | public static string ToShorterView(this float number) {
146 | return ((double) number).ToShorterView();
147 | }
148 |
149 | private static float TenPower(int power){
150 | return (float) Math.Pow(10, power);
151 | }
152 |
153 | public static string[] SplitToArray(this string inputString, string delimiter = ",") {
154 | return inputString.Split(new [] {delimiter}, StringSplitOptions.RemoveEmptyEntries)
155 | .Select(val => val.Trim())
156 | .Where(val => !string.IsNullOrWhiteSpace(val)).ToArray();
157 | }
158 | public static string[] SplitToArray(this string inputString, char delimiter = ',') {
159 | return inputString.Split(delimiter)
160 | .Select(val => val.Trim())
161 | .Where(val => !string.IsNullOrWhiteSpace(val)).ToArray();
162 | }
163 | public static bool IsEmpty(this string str) {
164 | return string.IsNullOrWhiteSpace(str);
165 | }
166 |
167 | public static float ToFloat(this string str) {
168 | string trimmed = str.Trim();
169 | if (string.IsNullOrWhiteSpace(trimmed)) return 0;
170 | return Convert.ToSingle(trimmed, m_Culture);
171 | }
172 | public static int ToInt32(this string str) {
173 | var trimmed = str.Trim();
174 | if (string.IsNullOrWhiteSpace(trimmed)) return 0;
175 | return Convert.ToInt32(trimmed, m_Culture);
176 | }
177 | public static long ToInt64(this string str) {
178 | var trimmed = str.Trim();
179 | if (string.IsNullOrWhiteSpace(trimmed)) return 0;
180 | return Convert.ToInt64(trimmed, m_Culture);
181 | }
182 | }
183 | }
--------------------------------------------------------------------------------
/Assets/Components/Extensions.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b8f21088b3cc44b68ae5b3f5e64ca242
3 | timeCreated: 1543637882
--------------------------------------------------------------------------------
/Assets/Components/HorizontalProgressBar.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace Components {
4 |
5 | public class HorizontalProgressBar : ProgressBar {
6 |
7 | private float m_Width;
8 |
9 | protected override void OnValidate() {
10 | m_Width = RectTransform.rect.width;
11 | base.OnValidate();
12 | }
13 |
14 | protected override void SetFillAmount(float amount) {
15 | var sizeDelta = ProgressTransform.sizeDelta;
16 | ProgressTransform.sizeDelta = new Vector2(m_Width * amount, sizeDelta.y);
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/Assets/Components/HorizontalProgressBar.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ece85daa13f74ad7b19e4b95ab551452
3 | timeCreated: 1547563124
--------------------------------------------------------------------------------
/Assets/Components/InputNumberFormatter.cs:
--------------------------------------------------------------------------------
1 | using System.Linq;
2 | using System.Text;
3 | using UnityEngine;
4 | using UnityEngine.UI;
5 |
6 | namespace Components {
7 | // цепляется к штатному InputField и задает ему формат под номер телефона или
8 | // другое число
9 | public class InputNumberFormatter : MonoBehaviour {
10 |
11 | [Tooltip("The format which will be used for your number representation")]
12 | [SerializeField] private string m_Format = "(###) ###-##-##";
13 | private InputField m_InputField;
14 | private StringBuilder m_FormatBuilder;
15 |
16 | private void Start() {
17 | m_InputField = GetComponent();
18 | m_InputField.characterLimit = m_Format.Length;
19 | m_InputField.onValueChanged.AddListener(OnValueChanged);
20 | m_InputField.contentType = InputField.ContentType.Standard;
21 | m_InputField.ForceLabelUpdate();
22 | m_FormatBuilder = new StringBuilder(m_Format);
23 | }
24 | private void OnValueChanged(string text) {
25 | text = FormatNumberText(text);
26 | var curText = m_InputField.text;
27 | if (curText.Equals(text)) {
28 | return;
29 | }
30 | m_InputField.text = text;
31 | m_InputField.caretPosition = text.Length;
32 | }
33 |
34 | private string FormatNumberText(string text) {
35 | var digits = string.Join("", text.ToCharArray().Where(char.IsDigit));
36 | var stringBuilder = new StringBuilder();
37 | var curDigit = 0;
38 | for (var i = 0; i < m_FormatBuilder.Length; i++) {
39 | var formatChar = m_Format[i];
40 | if (!char.IsDigit(formatChar) && !formatChar.Equals('#')) {
41 | if (curDigit < digits.Length)
42 | stringBuilder.Append(formatChar);
43 | }
44 | else {
45 | if (curDigit > digits.Length - 1) {
46 | return stringBuilder.ToString();
47 | }
48 | stringBuilder.Append(digits[curDigit]);
49 | curDigit++;
50 | }
51 | }
52 | return stringBuilder.ToString();
53 | }
54 | }
55 | }
--------------------------------------------------------------------------------
/Assets/Components/InputNumberFormatter.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ffd92c23eedd46e2bc4836120c721583
3 | timeCreated: 1547558215
--------------------------------------------------------------------------------
/Assets/Components/InteractiveObject.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using UnityEngine;
3 | using UnityEngine.Events;
4 | using UnityEngine.EventSystems;
5 |
6 | namespace Components {
7 | public class InteractiveObject : ComponentBehaviour, IPointerClickHandler,
8 | IPointerDownHandler, IPointerUpHandler, IPointerEnterHandler, IPointerExitHandler {
9 |
10 | protected bool m_IsPressed = false;
11 |
12 | ///
13 | /// usage example:
14 | ///
15 | /// someObject.Click += ClickHandler;
16 | ///
17 | /// private ClickHandler(InteractiveObject target, PointerEventData eventData) {
18 | /// print($"Clicked object {target}");
19 | /// };
20 | ///
21 | /// don't forget to remove listeners when they are not needed anymore
22 | ///
23 | /// someObject.Click -= ClickHandler;
24 | ///
25 |
26 | public event UnityAction Click;
27 | public event UnityAction PointerDown;
28 | public event UnityAction PointerUp;
29 | public event UnityAction PointerEnter;
30 | public event UnityAction PointerExit;
31 | ///
32 | /// Dispatched when parent changes. Passes this interactive object and new parent
33 | ///
34 | public event UnityAction ParentChanged;
35 |
36 | private Transform m_Parent;
37 | // used to detect double tap, because eventData.clickCount doesn't work with taps on android
38 | private float m_LastTapTime = 0;
39 | private float m_DoubleClickDelay = .35f;
40 | private int m_TapCount = 0;
41 |
42 | private void Update() {
43 | if (transform.parent != m_Parent) {
44 | m_Parent = transform.parent;
45 | ParentChanged?.Invoke(this, m_Parent);
46 | }
47 | }
48 |
49 | public virtual void OnPointerClick(PointerEventData eventData) {
50 | Click?.Invoke(this, eventData);
51 | var curTime = Time.time;
52 | if (curTime - m_LastTapTime < m_DoubleClickDelay) {
53 | m_TapCount++;
54 | }
55 | else m_TapCount = 1;
56 | m_LastTapTime = curTime;
57 | if (m_TapCount == 2) {
58 | OnPointerDoubleClick(eventData);
59 | }
60 | ForwardToParents((parent) => parent.OnPointerClick(eventData));
61 | }
62 |
63 | public virtual void OnPointerDoubleClick(PointerEventData eventData) {
64 |
65 | }
66 |
67 | public virtual void OnPointerDown(PointerEventData eventData) {
68 | m_IsPressed = true;
69 | PointerDown?.Invoke(this, eventData);
70 | ForwardToParents((parent) => parent.OnPointerDown(eventData));
71 | }
72 |
73 | public virtual void OnPointerUp(PointerEventData eventData) {
74 | m_IsPressed = false;
75 | PointerUp?.Invoke(this, eventData);
76 | ForwardToParents((parent) => parent.OnPointerUp(eventData));
77 | }
78 |
79 | public virtual void OnPointerEnter(PointerEventData eventData) {
80 | PointerEnter?.Invoke(this, eventData);
81 | ForwardToParents((parent) => parent.OnPointerEnter(eventData));
82 | }
83 |
84 | public virtual void OnPointerExit(PointerEventData eventData) {
85 | PointerExit?.Invoke(this, eventData);
86 | ForwardToParents((parent) => parent.OnPointerExit(eventData));
87 | }
88 |
89 | public bool Active {
90 | get { return gameObject.activeInHierarchy; }
91 | set { gameObject.SetActive(value); }
92 | }
93 |
94 | protected void ForwardToParents(Action action) where T : IEventSystemHandler {
95 | var parent = transform.parent;
96 |
97 | while (parent != null) {
98 | foreach (var component in parent.GetComponents()) {
99 | if (component is T) {
100 | action((T) (IEventSystemHandler) component);
101 | }
102 | }
103 | parent = parent.parent;
104 | }
105 | }
106 | }
107 | }
108 |
--------------------------------------------------------------------------------
/Assets/Components/InteractiveObject.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cee95c34015dc9741b8a5edc8aecf37b
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Components/Interfaces.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d8bd50b26b38424193b4d84b9ee763ac
3 | timeCreated: 1551709396
--------------------------------------------------------------------------------
/Assets/Components/Interfaces/IScrollable.cs:
--------------------------------------------------------------------------------
1 | namespace Components.Interfaces {
2 | public interface IScrollable {
3 | ///
4 | /// returns a value between 0 and 1, indicating current scroll value
5 | ///
6 | float ScrollProgress { get; }
7 | }
8 | }
--------------------------------------------------------------------------------
/Assets/Components/Interfaces/IScrollable.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 618dbc0e38974feaad6d7e47b0c84c44
3 | timeCreated: 1551709407
--------------------------------------------------------------------------------
/Assets/Components/Localization.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6642bb8f78d84a3cb2de3ea424e63bd5
3 | timeCreated: 1551953776
--------------------------------------------------------------------------------
/Assets/Components/Localization/Localization.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine.UI;
2 |
3 | namespace Components.Localization {
4 | public static class Localization {
5 |
6 |
7 |
8 |
9 | ///
10 | /// Simply call it on a string a to localize.
11 | /// If the string is pattern like {{phraseId}} surrounded with double curly braces
12 | /// the internal text will be considered as a dictionary key and will be looked up in a
13 | /// localization dictionary. If the correcponding key is found it will be replaced with a translation
14 | ///
15 | ///
16 | public static string Localize(this string stringToLocalize) {
17 |
18 | // todo сделать нормальную локализацию
19 | return stringToLocalize;
20 | }
21 |
22 |
23 | }
24 | }
--------------------------------------------------------------------------------
/Assets/Components/Localization/Localization.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bf67f5a43df84652b2f0833e72220492
3 | timeCreated: 1551953847
--------------------------------------------------------------------------------
/Assets/Components/Pages.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 05f4b03295ed47f290e97630fe2eeb85
3 | timeCreated: 1549727716
--------------------------------------------------------------------------------
/Assets/Components/Pages/PageBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using Components.Drawer;
4 | using UnityEngine;
5 | using UnityEngine.EventSystems;
6 |
7 | namespace Components.Pages {
8 |
9 | [DisallowMultipleComponent][ExecuteInEditMode]
10 | public class PageBase : InteractiveObject, IDragHandler, IBeginDragHandler, IEndDragHandler {
11 |
12 |
13 | private Action m_OnAnimactionComplete;
14 | protected bool p_IsAnimating = false;
15 |
16 | public bool RequireConfirmationOnBack { get; internal set; }
17 | // any page can be added to a navigation drawer's container, so it might be necessary
18 | // to disable some page's features (e.g. vertical scrolling) while the drawer is not open.
19 | // Just check this property for null to make some decision you need
20 | // for usage example see ParallaxScrollPage class's source
21 | protected NavigationDrawer NavigationDrawer { get; private set; }
22 |
23 | protected virtual void Awake() {
24 | ParentChanged += OnParentChanged;
25 | }
26 | private void OnParentChanged(InteractiveObject target, Transform newParent) {
27 | NavigationDrawer = newParent == null
28 | ? null : newParent.gameObject.GetComponentInParent();
29 | }
30 | ///
31 | /// Called after the page is added and all accompanying animations are complete
32 | ///
33 | protected virtual void OnAfterAppeared() {
34 |
35 | }
36 |
37 | protected virtual void OnAdded() {
38 |
39 | }
40 |
41 | protected virtual void OnRemoved() {
42 |
43 | }
44 |
45 | public bool Enabled {
46 | get { return gameObject.activeInHierarchy; }
47 | set {
48 | gameObject.SetActive(value);
49 | if (value) {
50 | transform.SetAsLastSibling();
51 | if (GetRectTransform() != null) {
52 | OnAdded();
53 | }
54 | }
55 | else {
56 | OnRemoved();
57 | }
58 | }
59 | }
60 |
61 | public void AnimateAppear(Action onComplete = null) {
62 | if (p_IsAnimating) return;
63 | Enabled = true;
64 | p_IsAnimating = true;
65 | m_OnAnimactionComplete = onComplete;
66 | StartCoroutine(AppearCoroutine());
67 | }
68 |
69 | private IEnumerator AppearCoroutine(float startScale = .95f, float endScale = 1.0f, float animationTime = .25f, float delaySeconds = 0.0f) {
70 | yield return new WaitForSeconds(delaySeconds);
71 | var rectTransform = GetRectTransform();
72 | var curScale = rectTransform.localScale.x;
73 | if (curScale > endScale) {
74 | curScale = endScale;
75 | }
76 | rectTransform.localScale = new Vector3(curScale, curScale, 1);
77 | var iterations = animationTime / 0.016f;
78 | var scaleStep = (endScale - startScale) / iterations;
79 |
80 | while (curScale < endScale) {
81 | yield return new WaitForSeconds(.016f);
82 | curScale += scaleStep;
83 | curScale = Mathf.Clamp01(curScale);
84 | rectTransform.localScale = new Vector3(curScale, curScale, 1);
85 | }
86 |
87 | }
88 |
89 | public void ShowWithoutAnimation() {
90 | Enabled = true;
91 | GetRectTransform().anchoredPosition = new Vector2();
92 | OnAfterAppeared();
93 | }
94 |
95 | private void OnAnimationComplete() {
96 | p_IsAnimating = false;
97 | m_OnAnimactionComplete?.Invoke();
98 | m_OnAnimactionComplete = null;
99 | OnAfterAppeared();
100 |
101 | }
102 |
103 | public virtual void OnDrag(PointerEventData eventData) {
104 | ForwardToParents((parent) => parent.OnDrag(eventData));
105 | }
106 | public virtual void OnBeginDrag(PointerEventData eventData) {
107 | ForwardToParents((parent) => parent.OnBeginDrag(eventData));
108 | }
109 |
110 | public virtual void OnEndDrag(PointerEventData eventData) {
111 | ForwardToParents((parent) => parent.OnEndDrag(eventData));
112 | }
113 | }
114 | }
--------------------------------------------------------------------------------
/Assets/Components/Pages/PageBase.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1362f66aa39c4c3ea3881c349d70c216
3 | timeCreated: 1549727729
--------------------------------------------------------------------------------
/Assets/Components/Pages/ParallaxScrollPage.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace Components.Pages {
4 |
5 | public class ParallaxScrollPage : PageBase {
6 |
7 | [SerializeField, Tooltip("The container which will may contain header image or some" +
8 | " texts, logos etc. and is scrolling slower than the rest of the page")]
9 | private RectTransform m_TopContainer;
10 | [Tooltip("The actual scroll container. Put all your page contents inside it")]
11 | [SerializeField] private RectTransform m_ScrollContainer;
12 | [Tooltip("The smaller this value is the slower will the parallax effect be")]
13 | [SerializeField] private float m_ParallaxCoef = .5f;
14 | private Vector2 m_InitialScrollPosition;
15 | private QuickScrollerVertical m_QuickScrollerVertical;
16 |
17 |
18 | private void Start() {
19 | OnValidate();
20 | }
21 |
22 |
23 | private QuickScrollerVertical GetScroller() {
24 | if (m_QuickScrollerVertical == null) {
25 | m_QuickScrollerVertical = GetComponent();
26 | }
27 | return m_QuickScrollerVertical;
28 | }
29 |
30 | protected override void OnValidate() {
31 | m_ParallaxCoef = Mathf.Clamp01(m_ParallaxCoef);
32 | m_InitialScrollPosition = m_ScrollContainer.anchoredPosition;
33 | CalculateParallax();
34 | }
35 |
36 | private void FixedUpdate() {
37 | CalculateParallax();
38 | if (NavigationDrawer != null) {
39 | // this can happen only if the page was added to a NavigationScroller's container
40 | GetScroller().IsEnabled = NavigationDrawer.IsScrollAllowed;
41 | }
42 | }
43 |
44 | private void CalculateParallax() {
45 | var pos = m_ScrollContainer.anchoredPosition;
46 | pos.y = Mathf.Clamp(pos.y, m_InitialScrollPosition.y, 0);
47 | var rect = m_TopContainer.rect;
48 | var parallaxAmount = (rect.height + pos.y) / rect.height;
49 | MoveTopContainer(parallaxAmount);
50 | }
51 |
52 | private void MoveTopContainer(float parallaxAmount) {
53 | var pos = m_TopContainer.anchoredPosition;
54 | pos.y = (parallaxAmount * m_ParallaxCoef) * m_TopContainer.rect.height;
55 | m_TopContainer.anchoredPosition = pos;
56 | }
57 | }
58 | }
--------------------------------------------------------------------------------
/Assets/Components/Pages/ParallaxScrollPage.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 088e0bc010e34e3bb468116d13c8fbb4
3 | timeCreated: 1549729408
--------------------------------------------------------------------------------
/Assets/Components/Position.cs:
--------------------------------------------------------------------------------
1 | namespace Components {
2 | public enum Position {
3 | Top,
4 | Right,
5 | Bottom,
6 | Left
7 | }
8 | }
--------------------------------------------------------------------------------
/Assets/Components/Position.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 86315e1119f24de3bef6a89c377dfd0a
3 | timeCreated: 1551597369
--------------------------------------------------------------------------------
/Assets/Components/ProgressBar.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Globalization;
3 | using UnityEngine;
4 | using UnityEngine.Events;
5 | using UnityEngine.UI;
6 |
7 | namespace Components {
8 |
9 |
10 | [ExecuteInEditMode]
11 | public class ProgressBar : ComponentBehaviour {
12 |
13 | [Tooltip("A suffix that will be appended to the progress value view")]
14 | [SerializeField] private string m_Suffix = "%";
15 | [Tooltip("Whether or not to use suffix")]
16 | [SerializeField] private bool m_UseSuffix = true;
17 | [SerializeField] private Image m_ProgressImage;
18 | [SerializeField] private float m_MinValue = 0.0f;
19 | [SerializeField] private float m_MaxValue = 100.0f;
20 | [SerializeField] private float m_Value = 0.0f;
21 | [SerializeField] private int m_DecimalPoints = 0;
22 | [SerializeField] private Text m_ProgressText;
23 | [SerializeField] private Color m_StartColor;
24 | [SerializeField] private Color m_EndColor;
25 | [Tooltip("If true and DecimalPoints value is > 0, the progress text will use comma as mantissa separator else it will use dot")]
26 | [SerializeField] private bool m_UseCommaAsTextSeparator = false;
27 | [Tooltip("Converts long numbers to their short equivalents like 1500 => 1.5K")]
28 | [SerializeField] private bool m_ShortenLongValues = false;
29 | [Tooltip("Will lerp from one value to another on change if true")]
30 | [SerializeField] private bool m_AnimateValueChange = false;
31 | private Color m_CurrentColor;
32 | private RectTransform m_RectTransform;
33 | private RectTransform m_ProgressTransform;
34 | // used for lerping only
35 | private float m_CurFillAmount;
36 | private string m_CurrentSuffix;
37 | public event UnityAction ProgressUpdate;
38 |
39 |
40 | protected virtual void Start() {
41 | if (m_ChangeColor) {
42 | m_CurrentColor = m_StartColor;
43 | SetColors();
44 | }
45 | OnValidate();
46 | }
47 | protected override void SetColors() {
48 | if (!m_ChangeColor) return;
49 | if (m_ProgressText != null) {
50 | m_ProgressText.color = m_CurrentColor;
51 | }
52 | ProgressImage.color = m_CurrentColor;
53 |
54 | }
55 |
56 | protected override void OnValidate() {
57 | Value = Value;
58 | UseSuffix = m_UseSuffix;
59 |
60 | }
61 |
62 | private void FixedUpdate() {
63 | if (!m_AnimateValueChange) return;
64 | if (Math.Abs(m_CurFillAmount - Value) < .001f) return;
65 | m_CurFillAmount = Mathf.Lerp(m_CurFillAmount, Value, 15f * Time.deltaTime);
66 | ChangeView(m_CurFillAmount);
67 | }
68 |
69 | public float Value {
70 | set {
71 | value = Mathf.Clamp(value, m_MinValue, m_MaxValue);
72 | if (!m_AnimateValueChange) {
73 | m_CurFillAmount = value;
74 | ChangeView(value);
75 | }
76 | #if UNITY_EDITOR
77 | else {
78 | if (!Application.isPlaying) {
79 | m_CurFillAmount = value;
80 | ChangeView(value);
81 | }
82 | }
83 | #endif
84 | m_Value = value;
85 | ProgressUpdate?.Invoke(value);
86 | }
87 | get { return m_Value; }
88 | }
89 |
90 | public bool UseSuffix {
91 | get { return m_UseSuffix; }
92 | set {
93 | m_UseSuffix = value;
94 | m_CurrentSuffix = m_UseSuffix ? m_Suffix : string.Empty;
95 | }
96 | }
97 |
98 | protected RectTransform RectTransform {
99 | get {
100 | if (m_RectTransform == null) {
101 | m_RectTransform = GetComponent();
102 | }
103 | return m_RectTransform;
104 | }
105 | }
106 |
107 | protected internal Image ProgressImage {
108 | get { return m_ProgressImage; }
109 | }
110 | protected RectTransform ProgressTransform {
111 | get {
112 | if (m_ProgressTransform == null) {
113 | m_ProgressTransform = m_ProgressImage.GetComponent();
114 | }
115 | return m_ProgressTransform;
116 | }
117 | }
118 |
119 | ///
120 | /// Fills the progress image
121 | ///
122 | ///
123 | protected virtual void SetFillAmount(float amount) {
124 | ProgressImage.fillAmount = amount;
125 | }
126 |
127 | private void ChangeView(float value) {
128 | var fillAmount = value / m_MaxValue;
129 |
130 | SetFillAmount(fillAmount);
131 | if (m_ChangeColor) {
132 | m_CurrentColor = m_ChangeColor
133 | ? ComponentUtils.MixColorsByValue(m_StartColor, m_EndColor, fillAmount)
134 | : m_EndColor;
135 | SetColors();
136 | }
137 |
138 |
139 | if (m_ProgressText == null) return;
140 |
141 | if (m_ShortenLongValues) {
142 | m_ProgressText.text = $"{Mathf.Round(value).ToShorterView()}{m_CurrentSuffix}";
143 | }
144 | else {
145 | var decimalFormat = $"F{m_DecimalPoints}";
146 | var culture = m_UseCommaAsTextSeparator ? CultureInfo.CurrentCulture : CultureInfo.InvariantCulture;
147 | m_ProgressText.text = $"{value.ToString(decimalFormat, culture)}{m_CurrentSuffix}";
148 | }
149 | }
150 |
151 | private void Update() {
152 | Value = m_Value;
153 | }
154 | }
155 |
156 | }
--------------------------------------------------------------------------------
/Assets/Components/ProgressBar.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a85a117603484111ac9534a019fb6bb0
3 | timeCreated: 1547316769
--------------------------------------------------------------------------------
/Assets/Components/QuickScrollerVertical.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b702ab33985242568a41e449f31a8433
3 | timeCreated: 1551587872
--------------------------------------------------------------------------------
/Assets/Components/Sprites.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6e18b59b4bf295043bf6b778e9d0d325
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/ProgressBars.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ef500128886e6e5479bedd62e78b410d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/ProgressBars/inner_circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Components/Sprites/ProgressBars/inner_circle.png
--------------------------------------------------------------------------------
/Assets/Components/Sprites/ProgressBars/inner_circle.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d20c0ad05f2ba234ab0f5236242b9871
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 7
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: -1
35 | aniso: -1
36 | mipBias: -100
37 | wrapU: 1
38 | wrapV: 1
39 | wrapW: 1
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 1
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 1
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 2
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 2048
64 | resizeAlgorithm: 0
65 | textureFormat: -1
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | spriteSheet:
73 | serializedVersion: 2
74 | sprites: []
75 | outline: []
76 | physicsShape: []
77 | bones: []
78 | spriteID: 4a5cad55439569f43a9f2de380b0fe67
79 | vertices: []
80 | indices:
81 | edges: []
82 | weights: []
83 | spritePackingTag:
84 | pSDRemoveMatte: 0
85 | pSDShowRemoveMatteOption: 0
86 | userData:
87 | assetBundleName:
88 | assetBundleVariant:
89 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/ProgressBars/linear_progress_bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Components/Sprites/ProgressBars/linear_progress_bar.png
--------------------------------------------------------------------------------
/Assets/Components/Sprites/ProgressBars/linear_progress_bar.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6158cd69811134e4b8fee8429aac973e
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 7
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: -1
35 | aniso: -1
36 | mipBias: -100
37 | wrapU: 1
38 | wrapV: 1
39 | wrapW: 1
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 1
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 4, y: 1, z: 4, w: 1}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 1
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 2
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 2048
64 | resizeAlgorithm: 0
65 | textureFormat: -1
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | - serializedVersion: 2
73 | buildTarget: Standalone
74 | maxTextureSize: 2048
75 | resizeAlgorithm: 0
76 | textureFormat: -1
77 | textureCompression: 1
78 | compressionQuality: 50
79 | crunchedCompression: 0
80 | allowsAlphaSplitting: 0
81 | overridden: 0
82 | androidETC2FallbackOverride: 0
83 | - serializedVersion: 2
84 | buildTarget: iPhone
85 | maxTextureSize: 2048
86 | resizeAlgorithm: 0
87 | textureFormat: -1
88 | textureCompression: 1
89 | compressionQuality: 50
90 | crunchedCompression: 0
91 | allowsAlphaSplitting: 0
92 | overridden: 0
93 | androidETC2FallbackOverride: 0
94 | - serializedVersion: 2
95 | buildTarget: Android
96 | maxTextureSize: 2048
97 | resizeAlgorithm: 0
98 | textureFormat: -1
99 | textureCompression: 1
100 | compressionQuality: 50
101 | crunchedCompression: 0
102 | allowsAlphaSplitting: 0
103 | overridden: 0
104 | androidETC2FallbackOverride: 0
105 | spriteSheet:
106 | serializedVersion: 2
107 | sprites: []
108 | outline: []
109 | physicsShape: []
110 | bones: []
111 | spriteID: 4467200cf13db32478c893ffe6271b57
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | spritePackingTag: ui
117 | pSDRemoveMatte: 0
118 | pSDShowRemoveMatteOption: 0
119 | userData:
120 | assetBundleName:
121 | assetBundleVariant:
122 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/ProgressBars/outer_circle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Components/Sprites/ProgressBars/outer_circle.png
--------------------------------------------------------------------------------
/Assets/Components/Sprites/ProgressBars/outer_circle.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a6c29d8635efafb43b7442d497dd6ec7
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 7
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: -1
35 | aniso: -1
36 | mipBias: -100
37 | wrapU: 1
38 | wrapV: 1
39 | wrapW: 1
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 1
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 1
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 2
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 2048
64 | resizeAlgorithm: 0
65 | textureFormat: -1
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | spriteSheet:
73 | serializedVersion: 2
74 | sprites: []
75 | outline: []
76 | physicsShape: []
77 | bones: []
78 | spriteID: 630c9e6a16562a145844abf1044990ef
79 | vertices: []
80 | indices:
81 | edges: []
82 | weights: []
83 | spritePackingTag:
84 | pSDRemoveMatte: 0
85 | pSDShowRemoveMatteOption: 0
86 | userData:
87 | assetBundleName:
88 | assetBundleVariant:
89 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Components/Sprites/background.png
--------------------------------------------------------------------------------
/Assets/Components/Sprites/background.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7223595eb4b4fff4082e5afee127587b
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 7
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: -1
35 | aniso: -1
36 | mipBias: -100
37 | wrapU: 1
38 | wrapV: 1
39 | wrapW: 1
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 1
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 1
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 2
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 2048
64 | resizeAlgorithm: 0
65 | textureFormat: -1
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | - serializedVersion: 2
73 | buildTarget: Standalone
74 | maxTextureSize: 2048
75 | resizeAlgorithm: 0
76 | textureFormat: -1
77 | textureCompression: 1
78 | compressionQuality: 50
79 | crunchedCompression: 0
80 | allowsAlphaSplitting: 0
81 | overridden: 0
82 | androidETC2FallbackOverride: 0
83 | - serializedVersion: 2
84 | buildTarget: iPhone
85 | maxTextureSize: 2048
86 | resizeAlgorithm: 0
87 | textureFormat: -1
88 | textureCompression: 1
89 | compressionQuality: 50
90 | crunchedCompression: 0
91 | allowsAlphaSplitting: 0
92 | overridden: 0
93 | androidETC2FallbackOverride: 0
94 | - serializedVersion: 2
95 | buildTarget: Android
96 | maxTextureSize: 2048
97 | resizeAlgorithm: 0
98 | textureFormat: -1
99 | textureCompression: 1
100 | compressionQuality: 50
101 | crunchedCompression: 0
102 | allowsAlphaSplitting: 0
103 | overridden: 0
104 | androidETC2FallbackOverride: 0
105 | spriteSheet:
106 | serializedVersion: 2
107 | sprites: []
108 | outline: []
109 | physicsShape: []
110 | bones: []
111 | spriteID: 3a41b1c9278cbf749b8ef776d5716bc8
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | spritePackingTag: ui
117 | pSDRemoveMatte: 0
118 | pSDShowRemoveMatteOption: 0
119 | userData:
120 | assetBundleName:
121 | assetBundleVariant:
122 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/big_rounded_rect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Components/Sprites/big_rounded_rect.png
--------------------------------------------------------------------------------
/Assets/Components/Sprites/big_rounded_rect.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2a997cda3d7c6a4468647d76ef442e56
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 7
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: -1
35 | aniso: -1
36 | mipBias: -100
37 | wrapU: 1
38 | wrapV: 1
39 | wrapW: 1
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 1
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 42, y: 42, z: 42, w: 42}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 1
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 2
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 2048
64 | resizeAlgorithm: 0
65 | textureFormat: -1
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | - serializedVersion: 2
73 | buildTarget: Standalone
74 | maxTextureSize: 2048
75 | resizeAlgorithm: 0
76 | textureFormat: -1
77 | textureCompression: 1
78 | compressionQuality: 50
79 | crunchedCompression: 0
80 | allowsAlphaSplitting: 0
81 | overridden: 0
82 | androidETC2FallbackOverride: 0
83 | - serializedVersion: 2
84 | buildTarget: iPhone
85 | maxTextureSize: 2048
86 | resizeAlgorithm: 0
87 | textureFormat: -1
88 | textureCompression: 1
89 | compressionQuality: 50
90 | crunchedCompression: 0
91 | allowsAlphaSplitting: 0
92 | overridden: 0
93 | androidETC2FallbackOverride: 0
94 | - serializedVersion: 2
95 | buildTarget: Android
96 | maxTextureSize: 2048
97 | resizeAlgorithm: 0
98 | textureFormat: -1
99 | textureCompression: 1
100 | compressionQuality: 50
101 | crunchedCompression: 0
102 | allowsAlphaSplitting: 0
103 | overridden: 0
104 | androidETC2FallbackOverride: 0
105 | spriteSheet:
106 | serializedVersion: 2
107 | sprites: []
108 | outline: []
109 | physicsShape: []
110 | bones: []
111 | spriteID: 51b0f89e7df45904b87e0e71878379cc
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | spritePackingTag: ui
117 | pSDRemoveMatte: 0
118 | pSDShowRemoveMatteOption: 0
119 | userData:
120 | assetBundleName:
121 | assetBundleVariant:
122 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/calendar_selector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Components/Sprites/calendar_selector.png
--------------------------------------------------------------------------------
/Assets/Components/Sprites/calendar_selector.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ea88fb4c85954664299ef89da64f353d
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 7
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: 1
35 | aniso: -1
36 | mipBias: -100
37 | wrapU: 1
38 | wrapV: 1
39 | wrapW: 1
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 1
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 34, y: 0, z: 34, w: 0}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 1
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 2
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 128
64 | resizeAlgorithm: 0
65 | textureFormat: -1
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | - serializedVersion: 2
73 | buildTarget: Standalone
74 | maxTextureSize: 128
75 | resizeAlgorithm: 0
76 | textureFormat: -1
77 | textureCompression: 1
78 | compressionQuality: 50
79 | crunchedCompression: 0
80 | allowsAlphaSplitting: 0
81 | overridden: 0
82 | androidETC2FallbackOverride: 0
83 | - serializedVersion: 2
84 | buildTarget: iPhone
85 | maxTextureSize: 128
86 | resizeAlgorithm: 0
87 | textureFormat: 4
88 | textureCompression: 1
89 | compressionQuality: 50
90 | crunchedCompression: 0
91 | allowsAlphaSplitting: 0
92 | overridden: 1
93 | androidETC2FallbackOverride: 0
94 | - serializedVersion: 2
95 | buildTarget: Android
96 | maxTextureSize: 128
97 | resizeAlgorithm: 0
98 | textureFormat: 4
99 | textureCompression: 1
100 | compressionQuality: 50
101 | crunchedCompression: 0
102 | allowsAlphaSplitting: 0
103 | overridden: 1
104 | androidETC2FallbackOverride: 0
105 | spriteSheet:
106 | serializedVersion: 2
107 | sprites: []
108 | outline: []
109 | physicsShape: []
110 | bones: []
111 | spriteID: dcb4dde2530650543a1e6a78ff30bd4e
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | spritePackingTag: ui
117 | pSDRemoveMatte: 0
118 | pSDShowRemoveMatteOption: 0
119 | userData:
120 | assetBundleName:
121 | assetBundleVariant:
122 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/hamburger_menu_button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Components/Sprites/hamburger_menu_button.png
--------------------------------------------------------------------------------
/Assets/Components/Sprites/hamburger_menu_button.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0f0cf1f47ac56d9468fcb10db0739874
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 7
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: -1
35 | aniso: -1
36 | mipBias: -100
37 | wrapU: 1
38 | wrapV: 1
39 | wrapW: 1
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 1
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 1
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 2
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 2048
64 | resizeAlgorithm: 0
65 | textureFormat: -1
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | - serializedVersion: 2
73 | buildTarget: Standalone
74 | maxTextureSize: 2048
75 | resizeAlgorithm: 0
76 | textureFormat: -1
77 | textureCompression: 1
78 | compressionQuality: 50
79 | crunchedCompression: 0
80 | allowsAlphaSplitting: 0
81 | overridden: 0
82 | androidETC2FallbackOverride: 0
83 | - serializedVersion: 2
84 | buildTarget: iPhone
85 | maxTextureSize: 128
86 | resizeAlgorithm: 0
87 | textureFormat: 4
88 | textureCompression: 1
89 | compressionQuality: 50
90 | crunchedCompression: 0
91 | allowsAlphaSplitting: 0
92 | overridden: 1
93 | androidETC2FallbackOverride: 0
94 | - serializedVersion: 2
95 | buildTarget: Android
96 | maxTextureSize: 128
97 | resizeAlgorithm: 0
98 | textureFormat: 4
99 | textureCompression: 1
100 | compressionQuality: 50
101 | crunchedCompression: 0
102 | allowsAlphaSplitting: 0
103 | overridden: 1
104 | androidETC2FallbackOverride: 0
105 | spriteSheet:
106 | serializedVersion: 2
107 | sprites: []
108 | outline: []
109 | physicsShape: []
110 | bones: []
111 | spriteID: 8062816941bcde34eb0e36bef0e5df81
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | spritePackingTag: ui
117 | pSDRemoveMatte: 0
118 | pSDShowRemoveMatteOption: 0
119 | userData:
120 | assetBundleName:
121 | assetBundleVariant:
122 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Components/Sprites/icon.png
--------------------------------------------------------------------------------
/Assets/Components/Sprites/icon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: db00e84f38ec8974c82ffae9934fc89f
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 7
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: -1
35 | aniso: -1
36 | mipBias: -100
37 | wrapU: 1
38 | wrapV: 1
39 | wrapW: 1
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 1
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 1
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 2
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 2048
64 | resizeAlgorithm: 0
65 | textureFormat: -1
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | - serializedVersion: 2
73 | buildTarget: Standalone
74 | maxTextureSize: 2048
75 | resizeAlgorithm: 0
76 | textureFormat: -1
77 | textureCompression: 1
78 | compressionQuality: 50
79 | crunchedCompression: 0
80 | allowsAlphaSplitting: 0
81 | overridden: 0
82 | androidETC2FallbackOverride: 0
83 | - serializedVersion: 2
84 | buildTarget: iPhone
85 | maxTextureSize: 2048
86 | resizeAlgorithm: 0
87 | textureFormat: -1
88 | textureCompression: 1
89 | compressionQuality: 50
90 | crunchedCompression: 0
91 | allowsAlphaSplitting: 0
92 | overridden: 0
93 | androidETC2FallbackOverride: 0
94 | - serializedVersion: 2
95 | buildTarget: Android
96 | maxTextureSize: 2048
97 | resizeAlgorithm: 0
98 | textureFormat: -1
99 | textureCompression: 1
100 | compressionQuality: 50
101 | crunchedCompression: 0
102 | allowsAlphaSplitting: 0
103 | overridden: 0
104 | androidETC2FallbackOverride: 0
105 | spriteSheet:
106 | serializedVersion: 2
107 | sprites: []
108 | outline: []
109 | physicsShape: []
110 | bones: []
111 | spriteID: ad9017211f519aa40a8aacf42f91ee36
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | spritePackingTag: ui
117 | pSDRemoveMatte: 0
118 | pSDShowRemoveMatteOption: 0
119 | userData:
120 | assetBundleName:
121 | assetBundleVariant:
122 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/rounded_rect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Components/Sprites/rounded_rect.png
--------------------------------------------------------------------------------
/Assets/Components/Sprites/rounded_rect.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f084194ef6fce5d46af5a20b383c6bc7
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 7
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: -1
35 | aniso: -1
36 | mipBias: -100
37 | wrapU: 1
38 | wrapV: 1
39 | wrapW: 1
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 1
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 25, y: 25, z: 25, w: 25}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 1
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 2
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 2048
64 | resizeAlgorithm: 0
65 | textureFormat: -1
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | - serializedVersion: 2
73 | buildTarget: Standalone
74 | maxTextureSize: 2048
75 | resizeAlgorithm: 0
76 | textureFormat: -1
77 | textureCompression: 1
78 | compressionQuality: 50
79 | crunchedCompression: 0
80 | allowsAlphaSplitting: 0
81 | overridden: 0
82 | androidETC2FallbackOverride: 0
83 | - serializedVersion: 2
84 | buildTarget: iPhone
85 | maxTextureSize: 2048
86 | resizeAlgorithm: 0
87 | textureFormat: -1
88 | textureCompression: 1
89 | compressionQuality: 50
90 | crunchedCompression: 0
91 | allowsAlphaSplitting: 0
92 | overridden: 0
93 | androidETC2FallbackOverride: 0
94 | - serializedVersion: 2
95 | buildTarget: Android
96 | maxTextureSize: 2048
97 | resizeAlgorithm: 0
98 | textureFormat: -1
99 | textureCompression: 1
100 | compressionQuality: 50
101 | crunchedCompression: 0
102 | allowsAlphaSplitting: 0
103 | overridden: 0
104 | androidETC2FallbackOverride: 0
105 | spriteSheet:
106 | serializedVersion: 2
107 | sprites: []
108 | outline: []
109 | physicsShape: []
110 | bones: []
111 | spriteID: be2b92fa1ddc6124f81367d0394fee4f
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | spritePackingTag: ui
117 | pSDRemoveMatte: 0
118 | pSDShowRemoveMatteOption: 0
119 | userData:
120 | assetBundleName:
121 | assetBundleVariant:
122 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/small_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Components/Sprites/small_arrow.png
--------------------------------------------------------------------------------
/Assets/Components/Sprites/small_arrow.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 23ab5a7dc9ca4834fac0cbfa4c9fd72e
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 7
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: -1
35 | aniso: -1
36 | mipBias: -100
37 | wrapU: 1
38 | wrapV: 1
39 | wrapW: 1
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 1
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 1
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 2
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 2048
64 | resizeAlgorithm: 0
65 | textureFormat: -1
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | spriteSheet:
73 | serializedVersion: 2
74 | sprites: []
75 | outline: []
76 | physicsShape: []
77 | bones: []
78 | spriteID: 303638332880ebd4bab0a93616c81689
79 | vertices: []
80 | indices:
81 | edges: []
82 | weights: []
83 | spritePackingTag:
84 | pSDRemoveMatte: 0
85 | pSDShowRemoveMatteOption: 0
86 | userData:
87 | assetBundleName:
88 | assetBundleVariant:
89 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/toggle_base.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Components/Sprites/toggle_base.png
--------------------------------------------------------------------------------
/Assets/Components/Sprites/toggle_base.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 75b5d89391077ed42a92a163de1bbe4a
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 7
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: -1
35 | aniso: -1
36 | mipBias: -100
37 | wrapU: 1
38 | wrapV: 1
39 | wrapW: 1
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 1
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 24, y: 25, z: 24, w: 25}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 1
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 2
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 2048
64 | resizeAlgorithm: 0
65 | textureFormat: -1
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | - serializedVersion: 2
73 | buildTarget: Standalone
74 | maxTextureSize: 2048
75 | resizeAlgorithm: 0
76 | textureFormat: -1
77 | textureCompression: 1
78 | compressionQuality: 50
79 | crunchedCompression: 0
80 | allowsAlphaSplitting: 0
81 | overridden: 0
82 | androidETC2FallbackOverride: 0
83 | - serializedVersion: 2
84 | buildTarget: iPhone
85 | maxTextureSize: 2048
86 | resizeAlgorithm: 0
87 | textureFormat: -1
88 | textureCompression: 1
89 | compressionQuality: 50
90 | crunchedCompression: 0
91 | allowsAlphaSplitting: 0
92 | overridden: 0
93 | androidETC2FallbackOverride: 0
94 | - serializedVersion: 2
95 | buildTarget: Android
96 | maxTextureSize: 2048
97 | resizeAlgorithm: 0
98 | textureFormat: -1
99 | textureCompression: 1
100 | compressionQuality: 50
101 | crunchedCompression: 0
102 | allowsAlphaSplitting: 0
103 | overridden: 0
104 | androidETC2FallbackOverride: 0
105 | spriteSheet:
106 | serializedVersion: 2
107 | sprites: []
108 | outline: []
109 | physicsShape: []
110 | bones: []
111 | spriteID: 3a6c68cfd6663464f9e672674739a96d
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | spritePackingTag: ui
117 | pSDRemoveMatte: 0
118 | pSDShowRemoveMatteOption: 0
119 | userData:
120 | assetBundleName:
121 | assetBundleVariant:
122 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/toggle_knob.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Components/Sprites/toggle_knob.png
--------------------------------------------------------------------------------
/Assets/Components/Sprites/toggle_knob.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0ca77ab35dde7974fbfffcc2be15c864
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 7
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: -1
35 | aniso: -1
36 | mipBias: -100
37 | wrapU: 1
38 | wrapV: 1
39 | wrapW: 1
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 1
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 1
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 2
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 2048
64 | resizeAlgorithm: 0
65 | textureFormat: -1
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | - serializedVersion: 2
73 | buildTarget: Standalone
74 | maxTextureSize: 2048
75 | resizeAlgorithm: 0
76 | textureFormat: -1
77 | textureCompression: 1
78 | compressionQuality: 50
79 | crunchedCompression: 0
80 | allowsAlphaSplitting: 0
81 | overridden: 0
82 | androidETC2FallbackOverride: 0
83 | - serializedVersion: 2
84 | buildTarget: iPhone
85 | maxTextureSize: 2048
86 | resizeAlgorithm: 0
87 | textureFormat: -1
88 | textureCompression: 1
89 | compressionQuality: 50
90 | crunchedCompression: 0
91 | allowsAlphaSplitting: 0
92 | overridden: 0
93 | androidETC2FallbackOverride: 0
94 | - serializedVersion: 2
95 | buildTarget: Android
96 | maxTextureSize: 2048
97 | resizeAlgorithm: 0
98 | textureFormat: -1
99 | textureCompression: 1
100 | compressionQuality: 50
101 | crunchedCompression: 0
102 | allowsAlphaSplitting: 0
103 | overridden: 0
104 | androidETC2FallbackOverride: 0
105 | spriteSheet:
106 | serializedVersion: 2
107 | sprites: []
108 | outline: []
109 | physicsShape: []
110 | bones: []
111 | spriteID: a342eb8f048a2ae4c9c477e1676e8b4f
112 | vertices: []
113 | indices:
114 | edges: []
115 | weights: []
116 | spritePackingTag: ui
117 | pSDRemoveMatte: 0
118 | pSDShowRemoveMatteOption: 0
119 | userData:
120 | assetBundleName:
121 | assetBundleVariant:
122 |
--------------------------------------------------------------------------------
/Assets/Components/Sprites/wallpaper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Components/Sprites/wallpaper.png
--------------------------------------------------------------------------------
/Assets/Components/Sprites/wallpaper.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e7d8350a6152ede4da5e23b83c1a24c3
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 7
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | grayScaleToAlpha: 0
27 | generateCubemap: 6
28 | cubemapConvolution: 0
29 | seamlessCubemap: 0
30 | textureFormat: 1
31 | maxTextureSize: 2048
32 | textureSettings:
33 | serializedVersion: 2
34 | filterMode: -1
35 | aniso: -1
36 | mipBias: -100
37 | wrapU: 1
38 | wrapV: 1
39 | wrapW: 1
40 | nPOTScale: 0
41 | lightmap: 0
42 | compressionQuality: 50
43 | spriteMode: 1
44 | spriteExtrude: 1
45 | spriteMeshType: 1
46 | alignment: 0
47 | spritePivot: {x: 0.5, y: 0.5}
48 | spritePixelsToUnits: 100
49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
50 | spriteGenerateFallbackPhysicsShape: 1
51 | alphaUsage: 1
52 | alphaIsTransparency: 1
53 | spriteTessellationDetail: -1
54 | textureType: 8
55 | textureShape: 1
56 | singleChannelComponent: 0
57 | maxTextureSizeSet: 0
58 | compressionQualitySet: 0
59 | textureFormatSet: 0
60 | platformSettings:
61 | - serializedVersion: 2
62 | buildTarget: DefaultTexturePlatform
63 | maxTextureSize: 2048
64 | resizeAlgorithm: 0
65 | textureFormat: -1
66 | textureCompression: 1
67 | compressionQuality: 50
68 | crunchedCompression: 0
69 | allowsAlphaSplitting: 0
70 | overridden: 0
71 | androidETC2FallbackOverride: 0
72 | spriteSheet:
73 | serializedVersion: 2
74 | sprites: []
75 | outline: []
76 | physicsShape: []
77 | bones: []
78 | spriteID: 22eb494e389f44f428c01c00370d3f04
79 | vertices: []
80 | indices:
81 | edges: []
82 | weights: []
83 | spritePackingTag:
84 | pSDRemoveMatte: 0
85 | pSDShowRemoveMatteOption: 0
86 | userData:
87 | assetBundleName:
88 | assetBundleVariant:
89 |
--------------------------------------------------------------------------------
/Assets/Components/Texts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f5fc431f2e9c48549a56fd2c9e52b2ef
3 | timeCreated: 1551806467
--------------------------------------------------------------------------------
/Assets/Components/Texts/CalendarDateCell.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine.UI;
2 |
3 | namespace Components.Texts {
4 |
5 | public enum MonthType {
6 | Previous,
7 | Current,
8 | Next,
9 | None
10 | }
11 |
12 | // this class is used internally by BigMonthView as a grid cell holder
13 | // you don't need to use it yourself
14 | public class CalendarDateCell : Text {
15 | private int m_Day;
16 | // to simplify marker position detection
17 | public int GridColumn { get; set; }
18 | public int GridRow { get; set; }
19 | public float CellWidth { get; set; }
20 | public float CellHeight { get; set; }
21 |
22 | public int Day {
23 | get { return m_Day; }
24 | set {
25 | m_Day = value;
26 | this.text = value.ToString();
27 | }
28 | }
29 |
30 | public MonthType monthType { get; set; } = MonthType.None;
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/Components/Texts/CalendarDateCell.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 19c797345f0b40a7abf4610fb82c927e
3 | timeCreated: 1551806477
--------------------------------------------------------------------------------
/Assets/DOTween.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0ca83b1b7f920b847b444a23d4b09734
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/DOTween/DOTween.XML.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b79358396afdcd04cad9abdc9bac958d
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/DOTween/DOTween.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/DOTween/DOTween.dll
--------------------------------------------------------------------------------
/Assets/DOTween/DOTween.dll.mdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/DOTween/DOTween.dll.mdb
--------------------------------------------------------------------------------
/Assets/DOTween/DOTween.dll.mdb.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fc1eecdfcb9737340bc0e910689546d9
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/DOTween/DOTween.dll.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 56682e760622ee441b0acc0cb7425eda
3 | PluginImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | iconMap: {}
7 | executionOrder: {}
8 | isPreloaded: 0
9 | isOverridable: 0
10 | platformData:
11 | - first:
12 | Any:
13 | second:
14 | enabled: 1
15 | settings: {}
16 | - first:
17 | Editor: Editor
18 | second:
19 | enabled: 0
20 | settings:
21 | DefaultValueInitialized: true
22 | - first:
23 | Windows Store Apps: WindowsStoreApps
24 | second:
25 | enabled: 0
26 | settings:
27 | CPU: AnyCPU
28 | userData:
29 | assetBundleName:
30 | assetBundleVariant:
31 |
--------------------------------------------------------------------------------
/Assets/DOTween/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4753658c95c743a4d858cb4cf10fb9c4
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/DOTweenEditor.XML:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | DOTweenEditor
5 |
6 |
7 |
8 |
9 | Checks that the given editor texture use the correct import settings,
10 | and applies them if they're incorrect.
11 |
12 |
13 |
14 |
15 | Returns TRUE if setup is required
16 |
17 |
18 |
19 |
20 | Returns TRUE if the file/directory at the given path exists.
21 |
22 | Path, relative to Unity's project folder
23 |
24 |
25 |
26 |
27 | Converts the given project-relative path to a full path,
28 | with backward (\) slashes).
29 |
30 |
31 |
32 |
33 | Converts the given full path to a path usable with AssetDatabase methods
34 | (relative to Unity's project folder, and with the correct Unity forward (/) slashes).
35 |
36 |
37 |
38 |
39 | Connects to a asset.
40 | If the asset already exists at the given path, loads it and returns it.
41 | Otherwise, either returns NULL or automatically creates it before loading and returning it
42 | (depending on the given parameters).
43 |
44 | Asset type
45 | File path (relative to Unity's project folder)
46 | If TRUE and the requested asset doesn't exist, forces its creation
47 |
48 |
49 |
50 | Full path for the given loaded assembly, assembly file included
51 |
52 |
53 |
54 |
55 | Adds the given global define if it's not already present
56 |
57 |
58 |
59 |
60 | Removes the given global define if it's present
61 |
62 |
63 |
64 |
65 | Returns TRUE if the given global define is present in all the
66 | or only in the given , depending on passed parameters.
67 |
68 |
69 | to use. Leave NULL to check in all of them.
70 |
71 |
72 |
73 | Not used as menu item anymore, but as a utiity function
74 |
75 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/DOTweenEditor.XML.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9c91a8e9096b8c94a9985bd026e1d54c
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/DOTweenEditor.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/DOTween/Editor/DOTweenEditor.dll
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/DOTweenEditor.dll.mdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/DOTween/Editor/DOTweenEditor.dll.mdb
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/DOTweenEditor.dll.mdb.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1db9c4af7147e104cb794b781551579b
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/DOTweenEditor.dll.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 76e4f4529d581df4e96811ff8281dac8
3 | PluginImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | iconMap: {}
7 | executionOrder: {}
8 | isPreloaded: 0
9 | isOverridable: 0
10 | platformData:
11 | - first:
12 | Any:
13 | second:
14 | enabled: 0
15 | settings: {}
16 | - first:
17 | Editor: Editor
18 | second:
19 | enabled: 1
20 | settings:
21 | DefaultValueInitialized: true
22 | - first:
23 | Windows Store Apps: WindowsStoreApps
24 | second:
25 | enabled: 0
26 | settings:
27 | CPU: AnyCPU
28 | userData:
29 | assetBundleName:
30 | assetBundleVariant:
31 |
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/Imgs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d1a79936083309347a8b830c9c3107a9
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/Imgs/DOTweenIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/DOTween/Editor/Imgs/DOTweenIcon.png
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/Imgs/DOTweenIcon.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d57e123f0e8b29848912894870f11930
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: -1
33 | aniso: -1
34 | mipBias: -1
35 | wrapU: -1
36 | wrapV: -1
37 | wrapW: -1
38 | nPOTScale: 1
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 1
50 | alphaIsTransparency: 0
51 | spriteTessellationDetail: -1
52 | textureType: 0
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 2048
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 1
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/Imgs/Footer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/DOTween/Editor/Imgs/Footer.png
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/Imgs/Footer.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d7997e1750b96384ebdca3253f12b9be
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: 1
33 | aniso: 1
34 | mipBias: -1
35 | wrapU: 1
36 | wrapV: 1
37 | wrapW: 1
38 | nPOTScale: 0
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 1
50 | alphaIsTransparency: 1
51 | spriteTessellationDetail: -1
52 | textureType: 2
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 256
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 1
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/Imgs/Footer_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/DOTween/Editor/Imgs/Footer_dark.png
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/Imgs/Footer_dark.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 36c002a3c7a8c224f8b5584153b59e89
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: -1
33 | aniso: -1
34 | mipBias: -1
35 | wrapU: -1
36 | wrapV: -1
37 | wrapW: -1
38 | nPOTScale: 1
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 1
50 | alphaIsTransparency: 0
51 | spriteTessellationDetail: -1
52 | textureType: 0
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 2048
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 1
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/Imgs/Header.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/DOTween/Editor/Imgs/Header.jpg
--------------------------------------------------------------------------------
/Assets/DOTween/Editor/Imgs/Header.jpg.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 32c9bcd9a2019534685d321d58116a61
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 0
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: 1
33 | aniso: 1
34 | mipBias: -1
35 | wrapU: 1
36 | wrapV: 1
37 | wrapW: 1
38 | nPOTScale: 0
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 1
50 | alphaIsTransparency: 1
51 | spriteTessellationDetail: -1
52 | textureType: 2
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 512
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 1
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/DOTween/Modules.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c90d6fffa65aa7544ab9d0dc8d7359d2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/DOTween/Modules/DOTweenModuleAudio.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 85ff4b2ca0e760c45bbb748cc5dc61fd
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/DOTween/Modules/DOTweenModulePhysics.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d237399ec2ed3af44a17f7f8c6bab66c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/DOTween/Modules/DOTweenModulePhysics2D.cs:
--------------------------------------------------------------------------------
1 | // Author: Daniele Giardini - http://www.demigiant.com
2 | // Created: 2018/07/13
3 |
4 | #if true && (UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1_OR_NEWER) // MODULE_MARKER
5 | using System;
6 | using UnityEngine;
7 |
8 | #pragma warning disable 1591
9 | namespace DG.Tweening
10 | {
11 | public static class DOTweenModulePhysics2D
12 | {
13 | #region Shortcuts
14 |
15 | #region Rigidbody2D Shortcuts
16 |
17 | /// Tweens a Rigidbody2D's position to the given value.
18 | /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
19 | /// The end value to reachThe duration of the tween
20 | /// If TRUE the tween will smoothly snap all values to integers
21 | public static Tweener DOMove(this Rigidbody2D target, Vector2 endValue, float duration, bool snapping = false)
22 | {
23 | return DOTween.To(() => target.position, target.MovePosition, endValue, duration)
24 | .SetOptions(snapping).SetTarget(target);
25 | }
26 |
27 | /// Tweens a Rigidbody2D's X position to the given value.
28 | /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
29 | /// The end value to reachThe duration of the tween
30 | /// If TRUE the tween will smoothly snap all values to integers
31 | public static Tweener DOMoveX(this Rigidbody2D target, float endValue, float duration, bool snapping = false)
32 | {
33 | return DOTween.To(() => target.position, target.MovePosition, new Vector2(endValue, 0), duration)
34 | .SetOptions(AxisConstraint.X, snapping).SetTarget(target);
35 | }
36 |
37 | /// Tweens a Rigidbody2D's Y position to the given value.
38 | /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
39 | /// The end value to reachThe duration of the tween
40 | /// If TRUE the tween will smoothly snap all values to integers
41 | public static Tweener DOMoveY(this Rigidbody2D target, float endValue, float duration, bool snapping = false)
42 | {
43 | return DOTween.To(() => target.position, target.MovePosition, new Vector2(0, endValue), duration)
44 | .SetOptions(AxisConstraint.Y, snapping).SetTarget(target);
45 | }
46 |
47 | /// Tweens a Rigidbody2D's rotation to the given value.
48 | /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations
49 | /// The end value to reachThe duration of the tween
50 | public static Tweener DORotate(this Rigidbody2D target, float endValue, float duration)
51 | {
52 | return DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration)
53 | .SetTarget(target);
54 | }
55 |
56 | #region Special
57 |
58 | /// Tweens a Rigidbody2D's position to the given value, while also applying a jump effect along the Y axis.
59 | /// Returns a Sequence instead of a Tweener.
60 | /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations.
61 | /// IMPORTANT: a rigidbody2D can't be animated in a jump arc using MovePosition, so the tween will directly set the position
62 | /// The end value to reach
63 | /// Power of the jump (the max height of the jump is represented by this plus the final Y offset)
64 | /// Total number of jumps
65 | /// The duration of the tween
66 | /// If TRUE the tween will smoothly snap all values to integers
67 | public static Sequence DOJump(this Rigidbody2D target, Vector2 endValue, float jumpPower, int numJumps, float duration, bool snapping = false)
68 | {
69 | if (numJumps < 1) numJumps = 1;
70 | float startPosY = 0;
71 | float offsetY = -1;
72 | bool offsetYSet = false;
73 | Sequence s = DOTween.Sequence();
74 | Tween yTween = DOTween.To(() => target.position, x => target.position = x, new Vector2(0, jumpPower), duration / (numJumps * 2))
75 | .SetOptions(AxisConstraint.Y, snapping).SetEase(Ease.OutQuad).SetRelative()
76 | .SetLoops(numJumps * 2, LoopType.Yoyo)
77 | .OnStart(() => startPosY = target.position.y);
78 | s.Append(DOTween.To(() => target.position, x => target.position = x, new Vector2(endValue.x, 0), duration)
79 | .SetOptions(AxisConstraint.X, snapping).SetEase(Ease.Linear)
80 | ).Join(yTween)
81 | .SetTarget(target).SetEase(DOTween.defaultEaseType);
82 | yTween.OnUpdate(() => {
83 | if (!offsetYSet) {
84 | offsetYSet = true;
85 | offsetY = s.isRelative ? endValue.y : endValue.y - startPosY;
86 | }
87 | Vector3 pos = target.position;
88 | pos.y += DOVirtual.EasedValue(0, offsetY, yTween.ElapsedPercentage(), Ease.OutQuad);
89 | target.MovePosition(pos);
90 | });
91 | return s;
92 | }
93 |
94 | #endregion
95 |
96 | #endregion
97 |
98 | #endregion
99 | }
100 | }
101 | #endif
102 |
--------------------------------------------------------------------------------
/Assets/DOTween/Modules/DOTweenModulePhysics2D.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e8e292b0072bda043a3bfb387a8b1e74
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/DOTween/Modules/DOTweenModuleSprite.cs:
--------------------------------------------------------------------------------
1 | // Author: Daniele Giardini - http://www.demigiant.com
2 | // Created: 2018/07/13
3 |
4 | #if true && (UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1_OR_NEWER) // MODULE_MARKER
5 | using System;
6 | using UnityEngine;
7 | using DG.Tweening.Core;
8 |
9 | #pragma warning disable 1591
10 | namespace DG.Tweening
11 | {
12 | public static class DOTweenModuleSprite
13 | {
14 | #region Shortcuts
15 |
16 | #region SpriteRenderer
17 |
18 | /// Tweens a SpriteRenderer's color to the given value.
19 | /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations
20 | /// The end value to reachThe duration of the tween
21 | public static Tweener DOColor(this SpriteRenderer target, Color endValue, float duration)
22 | {
23 | return DOTween.To(() => target.color, x => target.color = x, endValue, duration).SetTarget(target);
24 | }
25 |
26 | /// Tweens a Material's alpha color to the given value.
27 | /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations
28 | /// The end value to reachThe duration of the tween
29 | public static Tweener DOFade(this SpriteRenderer target, float endValue, float duration)
30 | {
31 | return DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration)
32 | .SetTarget(target);
33 | }
34 |
35 | /// Tweens a SpriteRenderer's color using the given gradient
36 | /// (NOTE 1: only uses the colors of the gradient, not the alphas - NOTE 2: creates a Sequence, not a Tweener).
37 | /// Also stores the image as the tween's target so it can be used for filtered operations
38 | /// The gradient to useThe duration of the tween
39 | public static Sequence DOGradientColor(this SpriteRenderer target, Gradient gradient, float duration)
40 | {
41 | Sequence s = DOTween.Sequence();
42 | GradientColorKey[] colors = gradient.colorKeys;
43 | int len = colors.Length;
44 | for (int i = 0; i < len; ++i) {
45 | GradientColorKey c = colors[i];
46 | if (i == 0 && c.time <= 0) {
47 | target.color = c.color;
48 | continue;
49 | }
50 | float colorDuration = i == len - 1
51 | ? duration - s.Duration(false) // Verifies that total duration is correct
52 | : duration * (i == 0 ? c.time : c.time - colors[i - 1].time);
53 | s.Append(target.DOColor(c.color, colorDuration).SetEase(Ease.Linear));
54 | }
55 | return s;
56 | }
57 |
58 | #endregion
59 |
60 | #region Blendables
61 |
62 | #region SpriteRenderer
63 |
64 | /// Tweens a SpriteRenderer's color to the given value,
65 | /// in a way that allows other DOBlendableColor tweens to work together on the same target,
66 | /// instead than fight each other as multiple DOColor would do.
67 | /// Also stores the SpriteRenderer as the tween's target so it can be used for filtered operations
68 | /// The value to tween toThe duration of the tween
69 | public static Tweener DOBlendableColor(this SpriteRenderer target, Color endValue, float duration)
70 | {
71 | endValue = endValue - target.color;
72 | Color to = new Color(0, 0, 0, 0);
73 | return DOTween.To(() => to, x => {
74 | Color diff = x - to;
75 | to = x;
76 | target.color += diff;
77 | }, endValue, duration)
78 | .Blendable().SetTarget(target);
79 | }
80 |
81 | #endregion
82 |
83 | #endregion
84 |
85 | #endregion
86 | }
87 | }
88 | #endif
89 |
--------------------------------------------------------------------------------
/Assets/DOTween/Modules/DOTweenModuleSprite.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ae5e360c561ef14408879e996f6e9630
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/DOTween/Modules/DOTweenModuleUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f29db16b7fdf05e458e6ef50b61c3b16
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/DOTween/Modules/DOTweenModuleUnityVersion.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 34db00abc2743024984395ff869addce
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/DOTween/Modules/DOTweenModuleUtils.cs:
--------------------------------------------------------------------------------
1 | // Author: Daniele Giardini - http://www.demigiant.com
2 | // Created: 2018/07/13
3 |
4 | using System;
5 | using UnityEngine;
6 | using DG.Tweening.Core;
7 | using DG.Tweening.Plugins.Core.PathCore;
8 | using DG.Tweening.Plugins.Options;
9 |
10 | #pragma warning disable 1591
11 | namespace DG.Tweening
12 | {
13 | ///
14 | /// Utility functions that deal with available Modules.
15 | /// Modules defines:
16 | /// - DOTAUDIO
17 | /// - DOTPHYSICS
18 | /// - DOTPHYSICS2D
19 | /// - DOTSPRITE
20 | /// - DOTUI
21 | /// Extra defines set and used for implementation of external assets:
22 | /// - DOTWEEN_TMP ► TextMesh Pro
23 | /// - DOTWEEN_TK2D ► 2D Toolkit
24 | ///
25 | public static class DOTweenModuleUtils
26 | {
27 | static bool _initialized;
28 |
29 | ///
30 | /// Called via Reflection by DOTweenComponent on Awake
31 | ///
32 | public static void Init()
33 | {
34 | if (_initialized) return;
35 |
36 | _initialized = true;
37 | DOTweenExternalCommand.SetOrientationOnPath += Physics.SetOrientationOnPath;
38 | }
39 |
40 | // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
41 | // ███ INTERNAL CLASSES ████████████████████████████████████████████████████████████████████████████████████████████████
42 | // █████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
43 |
44 | public static class Physics
45 | {
46 | // Called via DOTweenExternalCommand callback
47 | public static void SetOrientationOnPath(PathOptions options, Tween t, Quaternion newRot, Transform trans)
48 | {
49 | #if true // PHYSICS_MARKER
50 | if (options.isRigidbody) ((Rigidbody)t.target).rotation = newRot;
51 | else trans.rotation = newRot;
52 | #else
53 | trans.rotation = newRot;
54 | #endif
55 | }
56 |
57 | // Returns FALSE if the DOTween's Physics2D Module is disabled, or if there's no Rigidbody2D attached
58 | public static bool HasRigidbody2D(Component target)
59 | {
60 | #if true // PHYSICS2D_MARKER
61 | return target.GetComponent() != null;
62 | #else
63 | return false;
64 | #endif
65 | }
66 |
67 | #region Called via Reflection
68 |
69 |
70 | // Called via Reflection by DOTweenPathInspector
71 | // Returns FALSE if the DOTween's Physics Module is disabled, or if there's no rigidbody attached
72 | public static bool HasRigidbody(Component target)
73 | {
74 | #if true // PHYSICS_MARKER
75 | return target.GetComponent() != null;
76 | #else
77 | return false;
78 | #endif
79 | }
80 |
81 | // Called via Reflection by DOTweenPath
82 | public static TweenerCore CreateDOTweenPathTween(
83 | MonoBehaviour target, bool tweenRigidbody, bool isLocal, Path path, float duration, PathMode pathMode
84 | ){
85 | TweenerCore t;
86 | #if true // PHYSICS_MARKER
87 | Rigidbody rBody = tweenRigidbody ? target.GetComponent() : null;
88 | if (tweenRigidbody && rBody != null) {
89 | t = isLocal
90 | ? rBody.DOLocalPath(path, duration, pathMode)
91 | : rBody.DOPath(path, duration, pathMode);
92 | } else {
93 | t = isLocal
94 | ? target.transform.DOLocalPath(path, duration, pathMode)
95 | : target.transform.DOPath(path, duration, pathMode);
96 | }
97 | #else
98 | t = isLocal
99 | ? target.transform.DOLocalPath(path, duration, pathMode)
100 | : target.transform.DOPath(path, duration, pathMode);
101 | #endif
102 | return t;
103 | }
104 |
105 | #endregion
106 | }
107 | }
108 | }
109 |
--------------------------------------------------------------------------------
/Assets/DOTween/Modules/DOTweenModuleUtils.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 73f343d6d975a784e8d35abf56433b90
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/DOTween/readme.txt:
--------------------------------------------------------------------------------
1 | DOTween and DOTween Pro are copyright (c) 2014-2018 Daniele Giardini - Demigiant
2 |
3 | // IMPORTANT!!! /////////////////////////////////////////////
4 | // Upgrading DOTween from versions older than 1.2.000 ///////
5 | // (or DOTween Pro older than 1.0.000) //////////////////////
6 | -------------------------------------------------------------
7 | If you're upgrading your project from a version of DOTween older than 1.2.000 (or DOTween Pro older than 1.0.000) please follow these instructions carefully.
8 | 1) Import the new version in the same folder as the previous one, overwriting old files. A lot of errors will appear but don't worry
9 | 2) Close and reopen Unity (and your project). This is fundamental: skipping this step will cause a bloodbath
10 | 3) Open DOTween's Utility Panel (Tools > Demigiant > DOTween Utility Panel) if it doesn't open automatically, then press "Setup DOTween...": this will run the upgrade setup
11 | 4) From the Add/Remove Modules panel that opens, activate/deactivate Modules for Unity systems and for external assets (Pro version only)
12 |
13 | // GET STARTED //////////////////////////////////////////////
14 |
15 | - After importing a new DOTween update, select DOTween's Utility Panel from the "Tools/Demigiant" menu (if it doesn't open automatically) and press the "Setup DOTween..." button to activate/deactivate Modules. You can also access a Preferences Tab from there to choose default settings for DOTween.
16 | - In your code, add "using DG.Tweening" to each class where you want to use DOTween.
17 | - You're ready to tween. Check out the links below for full documentation and license info.
18 |
19 |
20 | // LINKS ///////////////////////////////////////////////////////
21 |
22 | DOTween website (documentation, examples, etc): http://dotween.demigiant.com
23 | DOTween license: http://dotween.demigiant.com/license.php
24 | DOTween repository (Google Code): https://code.google.com/p/dotween/
25 | Demigiant website (documentation, examples, etc): http://www.demigiant.com
26 |
27 | // NOTES //////////////////////////////////////////////////////
28 |
29 | - DOTween's Utility Panel can be found under "Tools > Demigiant > DOTween Utility Panel" and also contains other useful options, plus a tab to set DOTween's preferences
--------------------------------------------------------------------------------
/Assets/DOTween/readme.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a3e3eb04fc3d51c4abba019879ffe7b6
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Plugins.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd931dd0d1c8cb148b07ad97493dca81
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Plugins/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c8dcf74eb66e7274daee0dd12324bfd4
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Plugins/Editor/JetBrains.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6a4d3aa7ec7a03f44af6239e4d5f8c77
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Plugins/Editor/JetBrains/JetBrains.Rider.Unity.Editor.Plugin.Repacked.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/Assets/Plugins/Editor/JetBrains/JetBrains.Rider.Unity.Editor.Plugin.Repacked.dll
--------------------------------------------------------------------------------
/Assets/Plugins/Editor/JetBrains/JetBrains.Rider.Unity.Editor.Plugin.Repacked.dll.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ed56c307e7b9edf4e8cc75741c3aba5a
3 | PluginImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | iconMap: {}
7 | executionOrder: {}
8 | isPreloaded: 0
9 | isOverridable: 0
10 | platformData:
11 | - first:
12 | Any:
13 | second:
14 | enabled: 0
15 | settings: {}
16 | - first:
17 | Editor: Editor
18 | second:
19 | enabled: 1
20 | settings:
21 | DefaultValueInitialized: true
22 | - first:
23 | Windows Store Apps: WindowsStoreApps
24 | second:
25 | enabled: 0
26 | settings:
27 | CPU: AnyCPU
28 | userData:
29 | assetBundleName:
30 | assetBundleVariant:
31 |
--------------------------------------------------------------------------------
/Assets/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b132dad98e20bac4888651f360afa28b
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Resources/DOTweenSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 16995157, guid: 56682e760622ee441b0acc0cb7425eda, type: 3}
13 | m_Name: DOTweenSettings
14 | m_EditorClassIdentifier:
15 | useSafeMode: 1
16 | timeScale: 1
17 | useSmoothDeltaTime: 0
18 | maxSmoothUnscaledTime: 0.15
19 | rewindCallbackMode: 0
20 | showUnityEditorReport: 0
21 | logBehaviour: 0
22 | drawGizmos: 1
23 | defaultRecyclable: 0
24 | defaultAutoPlay: 3
25 | defaultUpdateType: 0
26 | defaultTimeScaleIndependent: 0
27 | defaultEaseType: 6
28 | defaultEaseOvershootOrAmplitude: 1.70158
29 | defaultEasePeriod: 0
30 | defaultAutoKill: 1
31 | defaultLoopType: 0
32 | storeSettingsLocation: 0
33 | modules:
34 | showPanel: 0
35 | audioEnabled: 1
36 | physicsEnabled: 1
37 | physics2DEnabled: 1
38 | spriteEnabled: 1
39 | uiEnabled: 1
40 | textMeshProEnabled: 0
41 | tk2DEnabled: 0
42 | showPlayingTweens: 0
43 | showPausedTweens: 0
44 |
--------------------------------------------------------------------------------
/Assets/Resources/DOTweenSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 112ceb151ce14b04ea3a4752d85b3903
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Resources/NiceUIPrefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 78fcecf51330e114aa5272a626dfdd03
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Resources/NiceUIPrefabs/ActionBar_pfb.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9f58be867e6f11c4ba7e747821261a4e
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Resources/NiceUIPrefabs/HamburgerMenuButton_pfb.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &7662821000482621518
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | serializedVersion: 6
10 | m_Component:
11 | - component: {fileID: 7662821000482621519}
12 | - component: {fileID: 7662821000482621517}
13 | - component: {fileID: 7662821000482621516}
14 | - component: {fileID: 7662821000482621506}
15 | m_Layer: 5
16 | m_Name: HamburgerMenuButton_pfb
17 | m_TagString: Untagged
18 | m_Icon: {fileID: 0}
19 | m_NavMeshLayer: 0
20 | m_StaticEditorFlags: 0
21 | m_IsActive: 1
22 | --- !u!224 &7662821000482621519
23 | RectTransform:
24 | m_ObjectHideFlags: 0
25 | m_CorrespondingSourceObject: {fileID: 0}
26 | m_PrefabInstance: {fileID: 0}
27 | m_PrefabAsset: {fileID: 0}
28 | m_GameObject: {fileID: 7662821000482621518}
29 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
30 | m_LocalPosition: {x: 0, y: 0, z: 0}
31 | m_LocalScale: {x: 1, y: 1, z: 1}
32 | m_Children:
33 | - {fileID: 7662821000829900248}
34 | m_Father: {fileID: 0}
35 | m_RootOrder: 0
36 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
37 | m_AnchorMin: {x: 0, y: 1}
38 | m_AnchorMax: {x: 0, y: 1}
39 | m_AnchoredPosition: {x: 65, y: -60}
40 | m_SizeDelta: {x: 63, y: 63}
41 | m_Pivot: {x: 0.5, y: 0.5}
42 | --- !u!222 &7662821000482621517
43 | CanvasRenderer:
44 | m_ObjectHideFlags: 0
45 | m_CorrespondingSourceObject: {fileID: 0}
46 | m_PrefabInstance: {fileID: 0}
47 | m_PrefabAsset: {fileID: 0}
48 | m_GameObject: {fileID: 7662821000482621518}
49 | m_CullTransparentMesh: 0
50 | --- !u!114 &7662821000482621516
51 | MonoBehaviour:
52 | m_ObjectHideFlags: 0
53 | m_CorrespondingSourceObject: {fileID: 0}
54 | m_PrefabInstance: {fileID: 0}
55 | m_PrefabAsset: {fileID: 0}
56 | m_GameObject: {fileID: 7662821000482621518}
57 | m_Enabled: 1
58 | m_EditorHideFlags: 0
59 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
60 | m_Name:
61 | m_EditorClassIdentifier:
62 | m_Material: {fileID: 0}
63 | m_Color: {r: 1, g: 1, b: 1, a: 0}
64 | m_RaycastTarget: 1
65 | m_OnCullStateChanged:
66 | m_PersistentCalls:
67 | m_Calls: []
68 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
69 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
70 | m_Sprite: {fileID: 0}
71 | m_Type: 0
72 | m_PreserveAspect: 0
73 | m_FillCenter: 1
74 | m_FillMethod: 4
75 | m_FillAmount: 1
76 | m_FillClockwise: 1
77 | m_FillOrigin: 0
78 | m_UseSpriteMesh: 0
79 | --- !u!114 &7662821000482621506
80 | MonoBehaviour:
81 | m_ObjectHideFlags: 0
82 | m_CorrespondingSourceObject: {fileID: 0}
83 | m_PrefabInstance: {fileID: 0}
84 | m_PrefabAsset: {fileID: 0}
85 | m_GameObject: {fileID: 7662821000482621518}
86 | m_Enabled: 1
87 | m_EditorHideFlags: 0
88 | m_Script: {fileID: 11500000, guid: d81032284bff43cf8594791880b79ab2, type: 3}
89 | m_Name:
90 | m_EditorClassIdentifier:
91 | UseGlobalThemeColors: 1
92 | m_ChangeColor: 1
93 | m_Background: {fileID: 0}
94 | m_Text: {fileID: 0}
95 | m_InnerIcon: {fileID: 7662821000829900249}
96 | m_IsDisabled: 0
97 | m_AnimateColoring: 1
98 | m_StartColor: {r: 1, g: 0.4666667, b: 0, a: 1}
99 | m_EndColor: {r: 0.9686275, g: 0.6627451, b: 0, a: 1}
100 | m_CurrentColor: {r: 1, g: 0.4666667, b: 0, a: 1}
101 | m_BackgroundColor: {r: 0.16862746, g: 0.16862746, b: 0.16862746, a: 1}
102 | m_DisabledColor: {r: 0.3962264, g: 0.3962264, b: 0.3962264, a: 1}
103 | m_AnimationSpeed: 10
104 | m_RotateButtonOnDrawerOpen: 1
105 | m_MaxRotationAngle: -180
106 | --- !u!1 &7662821000829900251
107 | GameObject:
108 | m_ObjectHideFlags: 0
109 | m_CorrespondingSourceObject: {fileID: 0}
110 | m_PrefabInstance: {fileID: 0}
111 | m_PrefabAsset: {fileID: 0}
112 | serializedVersion: 6
113 | m_Component:
114 | - component: {fileID: 7662821000829900248}
115 | - component: {fileID: 7662821000829900254}
116 | - component: {fileID: 7662821000829900249}
117 | m_Layer: 5
118 | m_Name: Icon
119 | m_TagString: Untagged
120 | m_Icon: {fileID: 0}
121 | m_NavMeshLayer: 0
122 | m_StaticEditorFlags: 0
123 | m_IsActive: 1
124 | --- !u!224 &7662821000829900248
125 | RectTransform:
126 | m_ObjectHideFlags: 0
127 | m_CorrespondingSourceObject: {fileID: 0}
128 | m_PrefabInstance: {fileID: 0}
129 | m_PrefabAsset: {fileID: 0}
130 | m_GameObject: {fileID: 7662821000829900251}
131 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
132 | m_LocalPosition: {x: 0, y: 0, z: 0}
133 | m_LocalScale: {x: 1, y: 1, z: 1}
134 | m_Children: []
135 | m_Father: {fileID: 7662821000482621519}
136 | m_RootOrder: 0
137 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
138 | m_AnchorMin: {x: 0, y: 0}
139 | m_AnchorMax: {x: 1, y: 1}
140 | m_AnchoredPosition: {x: 0, y: 0}
141 | m_SizeDelta: {x: -10, y: -10}
142 | m_Pivot: {x: 0.5, y: 0.5}
143 | --- !u!222 &7662821000829900254
144 | CanvasRenderer:
145 | m_ObjectHideFlags: 0
146 | m_CorrespondingSourceObject: {fileID: 0}
147 | m_PrefabInstance: {fileID: 0}
148 | m_PrefabAsset: {fileID: 0}
149 | m_GameObject: {fileID: 7662821000829900251}
150 | m_CullTransparentMesh: 0
151 | --- !u!114 &7662821000829900249
152 | MonoBehaviour:
153 | m_ObjectHideFlags: 0
154 | m_CorrespondingSourceObject: {fileID: 0}
155 | m_PrefabInstance: {fileID: 0}
156 | m_PrefabAsset: {fileID: 0}
157 | m_GameObject: {fileID: 7662821000829900251}
158 | m_Enabled: 1
159 | m_EditorHideFlags: 0
160 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
161 | m_Name:
162 | m_EditorClassIdentifier:
163 | m_Material: {fileID: 0}
164 | m_Color: {r: 1, g: 0.4666667, b: 0, a: 1}
165 | m_RaycastTarget: 1
166 | m_OnCullStateChanged:
167 | m_PersistentCalls:
168 | m_Calls: []
169 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
170 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
171 | m_Sprite: {fileID: 21300000, guid: 0f0cf1f47ac56d9468fcb10db0739874, type: 3}
172 | m_Type: 0
173 | m_PreserveAspect: 0
174 | m_FillCenter: 1
175 | m_FillMethod: 4
176 | m_FillAmount: 1
177 | m_FillClockwise: 1
178 | m_FillOrigin: 0
179 | m_UseSpriteMesh: 0
180 |
--------------------------------------------------------------------------------
/Assets/Resources/NiceUIPrefabs/HamburgerMenuButton_pfb.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7765b173cb93cfe4f93ef9d3d66df7aa
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Resources/NiceUIPrefabs/HorizontalProgressBar_pfb.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a49be31b8d8da42469619a282137cb3d
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Resources/NiceUIPrefabs/IntervalCalendar_pfb.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5fe7ea5a89384f74186e2450ed1b122f
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Resources/NiceUIPrefabs/NavigationDrawerPanel_pfb.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2aec42b39d47c1c4dacc56f539461a8d
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Resources/NiceUIPrefabs/ParallaxScrollPage_pfb.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e013083a06704e3479b9d646825e0349
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Resources/NiceUIPrefabs/RadialProgressBar_pfb.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: daffa94f490cba54885a44c2c58225c4
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Resources/NiceUIPrefabs/Toggle_pfb.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &368265851044346564
4 | GameObject:
5 | m_ObjectHideFlags: 0
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | serializedVersion: 6
10 | m_Component:
11 | - component: {fileID: 368265851044346565}
12 | - component: {fileID: 368265851044346563}
13 | - component: {fileID: 368265851044346562}
14 | m_Layer: 5
15 | m_Name: Knob
16 | m_TagString: Untagged
17 | m_Icon: {fileID: 0}
18 | m_NavMeshLayer: 0
19 | m_StaticEditorFlags: 0
20 | m_IsActive: 1
21 | --- !u!224 &368265851044346565
22 | RectTransform:
23 | m_ObjectHideFlags: 0
24 | m_CorrespondingSourceObject: {fileID: 0}
25 | m_PrefabInstance: {fileID: 0}
26 | m_PrefabAsset: {fileID: 0}
27 | m_GameObject: {fileID: 368265851044346564}
28 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
29 | m_LocalPosition: {x: 0, y: 0, z: 0}
30 | m_LocalScale: {x: 1, y: 1, z: 1}
31 | m_Children: []
32 | m_Father: {fileID: 368265851132936728}
33 | m_RootOrder: 0
34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
35 | m_AnchorMin: {x: 0.5, y: 0.5}
36 | m_AnchorMax: {x: 0.5, y: 0.5}
37 | m_AnchoredPosition: {x: 24, y: 0}
38 | m_SizeDelta: {x: 55, y: 55}
39 | m_Pivot: {x: 0.5, y: 0.5}
40 | --- !u!222 &368265851044346563
41 | CanvasRenderer:
42 | m_ObjectHideFlags: 0
43 | m_CorrespondingSourceObject: {fileID: 0}
44 | m_PrefabInstance: {fileID: 0}
45 | m_PrefabAsset: {fileID: 0}
46 | m_GameObject: {fileID: 368265851044346564}
47 | m_CullTransparentMesh: 0
48 | --- !u!114 &368265851044346562
49 | MonoBehaviour:
50 | m_ObjectHideFlags: 0
51 | m_CorrespondingSourceObject: {fileID: 0}
52 | m_PrefabInstance: {fileID: 0}
53 | m_PrefabAsset: {fileID: 0}
54 | m_GameObject: {fileID: 368265851044346564}
55 | m_Enabled: 1
56 | m_EditorHideFlags: 0
57 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
58 | m_Name:
59 | m_EditorClassIdentifier:
60 | m_Material: {fileID: 0}
61 | m_Color: {r: 1, g: 0.59520733, b: 0.24056602, a: 1}
62 | m_RaycastTarget: 0
63 | m_OnCullStateChanged:
64 | m_PersistentCalls:
65 | m_Calls: []
66 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
67 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
68 | m_Sprite: {fileID: 21300000, guid: 0ca77ab35dde7974fbfffcc2be15c864, type: 3}
69 | m_Type: 0
70 | m_PreserveAspect: 0
71 | m_FillCenter: 1
72 | m_FillMethod: 4
73 | m_FillAmount: 1
74 | m_FillClockwise: 1
75 | m_FillOrigin: 0
76 | m_UseSpriteMesh: 0
77 | --- !u!1 &368265851132936731
78 | GameObject:
79 | m_ObjectHideFlags: 0
80 | m_CorrespondingSourceObject: {fileID: 0}
81 | m_PrefabInstance: {fileID: 0}
82 | m_PrefabAsset: {fileID: 0}
83 | serializedVersion: 6
84 | m_Component:
85 | - component: {fileID: 368265851132936728}
86 | - component: {fileID: 368265851132936806}
87 | - component: {fileID: 368265851132936729}
88 | - component: {fileID: 368265851132936807}
89 | m_Layer: 5
90 | m_Name: Toggle_pfb
91 | m_TagString: Untagged
92 | m_Icon: {fileID: 0}
93 | m_NavMeshLayer: 0
94 | m_StaticEditorFlags: 0
95 | m_IsActive: 1
96 | --- !u!224 &368265851132936728
97 | RectTransform:
98 | m_ObjectHideFlags: 0
99 | m_CorrespondingSourceObject: {fileID: 0}
100 | m_PrefabInstance: {fileID: 0}
101 | m_PrefabAsset: {fileID: 0}
102 | m_GameObject: {fileID: 368265851132936731}
103 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
104 | m_LocalPosition: {x: 0, y: 0, z: 0}
105 | m_LocalScale: {x: 1, y: 1, z: 1}
106 | m_Children:
107 | - {fileID: 368265851044346565}
108 | m_Father: {fileID: 0}
109 | m_RootOrder: 0
110 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
111 | m_AnchorMin: {x: 0, y: 1}
112 | m_AnchorMax: {x: 0, y: 1}
113 | m_AnchoredPosition: {x: 73, y: -180.26279}
114 | m_SizeDelta: {x: 79.43, y: 51}
115 | m_Pivot: {x: 0.5, y: 0.5}
116 | --- !u!222 &368265851132936806
117 | CanvasRenderer:
118 | m_ObjectHideFlags: 0
119 | m_CorrespondingSourceObject: {fileID: 0}
120 | m_PrefabInstance: {fileID: 0}
121 | m_PrefabAsset: {fileID: 0}
122 | m_GameObject: {fileID: 368265851132936731}
123 | m_CullTransparentMesh: 0
124 | --- !u!114 &368265851132936729
125 | MonoBehaviour:
126 | m_ObjectHideFlags: 0
127 | m_CorrespondingSourceObject: {fileID: 0}
128 | m_PrefabInstance: {fileID: 0}
129 | m_PrefabAsset: {fileID: 0}
130 | m_GameObject: {fileID: 368265851132936731}
131 | m_Enabled: 1
132 | m_EditorHideFlags: 0
133 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
134 | m_Name:
135 | m_EditorClassIdentifier:
136 | m_Material: {fileID: 0}
137 | m_Color: {r: 1, g: 0.51446545, b: 0.08962262, a: 1}
138 | m_RaycastTarget: 1
139 | m_OnCullStateChanged:
140 | m_PersistentCalls:
141 | m_Calls: []
142 | m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
143 | Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
144 | m_Sprite: {fileID: 21300000, guid: 75b5d89391077ed42a92a163de1bbe4a, type: 3}
145 | m_Type: 1
146 | m_PreserveAspect: 0
147 | m_FillCenter: 1
148 | m_FillMethod: 4
149 | m_FillAmount: 1
150 | m_FillClockwise: 1
151 | m_FillOrigin: 0
152 | m_UseSpriteMesh: 0
153 | --- !u!114 &368265851132936807
154 | MonoBehaviour:
155 | m_ObjectHideFlags: 0
156 | m_CorrespondingSourceObject: {fileID: 0}
157 | m_PrefabInstance: {fileID: 0}
158 | m_PrefabAsset: {fileID: 0}
159 | m_GameObject: {fileID: 368265851132936731}
160 | m_Enabled: 1
161 | m_EditorHideFlags: 0
162 | m_Script: {fileID: 11500000, guid: fc95f80b0103468089637449ac7fe952, type: 3}
163 | m_Name:
164 | m_EditorClassIdentifier:
165 | UseGlobalThemeColors: 1
166 | m_ChangeColor: 0
167 | m_ChangeColorOnSwitch: 1
168 | m_Background: {fileID: 368265851132936729}
169 | m_Knob: {fileID: 368265851044346562}
170 | m_KnobOffColor: {r: 0.8784314, g: 0.4117647, b: 0, a: 1}
171 | m_KnobOnColor: {r: 1, g: 0.59520733, b: 0.24056602, a: 1}
172 | m_BackgroundOffColor: {r: 0.75686276, g: 0.3529412, b: 0, a: 1}
173 | m_BackgroundOnColor: {r: 1, g: 0.51446545, b: 0.08962262, a: 1}
174 | m_BackgroundDisabledColor: {r: 0.26415092, g: 0.26415092, b: 0.26415092, a: 1}
175 | m_KnobDisabledColor: {r: 0.38679248, g: 0.38679248, b: 0.38679248, a: 1}
176 | m_IsOn: 1
177 | m_IsDisabled: 0
178 | m_AnimateToggling: 1
179 |
--------------------------------------------------------------------------------
/Assets/Resources/NiceUIPrefabs/Toggle_pfb.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6b4a4a5b2bafbeb44b06a34bffdfca82
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Resources/NiceUIPrefabs/UIController_pfb.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9cbb6aa025ef7db438437feec9137476
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 131a6b21c8605f84396be9f6751fb6e3
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scenes/SampleScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2cda990e2423bbf4892e6590ba056729
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UiController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Components;
3 | using Components.ActionBar;
4 | using Components.Drawer;
5 | using UnityEditor;
6 | using UnityEngine;
7 |
8 |
9 | //public class ComponentHolderComparer : IComparer {
10 | //
11 | // public int Compare(ComponentHolder x, ComponentHolder y) {
12 | // if (x == null || y == null || (x.m_ComponentPriority == y.m_ComponentPriority)) return 0;
13 | // if (x.m_ComponentPriority > y.m_ComponentPriority) return 1;
14 | // return -1;
15 | // }
16 | //}
17 |
18 | [ExecuteInEditMode]
19 | public class UiController : ComponentBehaviour {
20 |
21 | ///
22 | /// Класс является синглтоном. Вызывается через UIController.Instance
23 | /// этот компонент ДОЛЖЕН быть зацеплен к канвасу, в котором расположены все
24 | /// остальные компоненты системы, такие как ящики, навбары, экшнбары, окна и прочая хуета
25 | /// Контролирует глубину расположения других компонентов за счет их свойства ComponentPriority
26 | /// Так же с помощью объекта этого класса можно управлять некоторыми другими элементами UI
27 | /// например спрятать или показать ActionBar, показать попап и др.
28 | /// Если нужно управлять компонентами, не надо дописывать код сюда. Просто создавай свой класс и цепляй его
29 | /// к тому же канвасу, и там уже делай все, что угодно, товарищ :)
30 | ///
31 |
32 |
33 | private static UiController m_Instance;
34 |
35 | public static UiController Instance {
36 | get { return m_Instance; }
37 | }
38 |
39 | // all this stuff might be unavailable if not added via Editor Menu
40 | private ActionBar m_ActionBar;
41 | private NavigationDrawerPanel m_NavigationDrawerPanel;
42 |
43 |
44 |
45 | private void Start() {
46 | if (m_Instance != null) {
47 | Destroy(gameObject);
48 | return;
49 | }
50 | m_Instance = this;
51 | m_ActionBar = GetSingleComponent();
52 |
53 |
54 |
55 | // Just to let all components initialize before sorting
56 | // DelayCall(Sort, .15f);
57 | }
58 |
59 | public NavigationDrawerPanel NavigationDrawerPanel {
60 | get {
61 | if (m_NavigationDrawerPanel != null) {
62 | return m_NavigationDrawerPanel;
63 | }
64 | m_NavigationDrawerPanel = GetComponentInChildren(true);
65 | return m_NavigationDrawerPanel;
66 | }
67 | }
68 | public ActionBar ActionBar {
69 | get {
70 | if (m_ActionBar != null) {
71 | return m_ActionBar;
72 | }
73 | m_ActionBar = GetComponentInChildren(true);
74 | return m_ActionBar;
75 | }
76 | }
77 |
78 | public void AddNavigationDrawerPanel() {
79 | #if UNITY_EDITOR
80 | if (NavigationDrawerPanel == null && !Application.isPlaying) {
81 | m_NavigationDrawerPanel = ComponentUtils.InstantiatePrefab("NavigationDrawerPanel_pfb")?.GetComponent();
82 | if (m_NavigationDrawerPanel != null) {
83 | m_NavigationDrawerPanel.transform.SetParent(GetComponent(), false);
84 | }
85 | EditorUtility.DisplayDialog("Information", "Navigation Drawer panel has been successfully added!", "Ok");
86 | return;
87 | }
88 | EditorUtility.DisplayDialog("Information", "You only need one drawer panel per application.\nAdding more is useless.", "Ok");
89 | #endif
90 | }
91 | public void AddActionBar() {
92 | #if UNITY_EDITOR
93 | if (ActionBar == null && !Application.isPlaying) {
94 | m_ActionBar = ComponentUtils.InstantiatePrefab("ActionBar_pfb")?.GetComponent();
95 | if (m_ActionBar != null) {
96 | m_ActionBar.transform.SetParent(GetComponent(), false);
97 | }
98 | EditorUtility.DisplayDialog("Information", "ActionBar has been successfully added!", "Ok");
99 | return;
100 | }
101 | EditorUtility.DisplayDialog("Information", "You only need one action bar per application.\nAdding more is useless.", "Ok");
102 | #endif
103 | }
104 |
105 |
106 | ///
107 | /// Must be called in edit mode from NiceUI Kit -> Remove Drawer Panel menu
108 | ///
109 | public void RemoveNavigationDrawerPanel() {
110 | #if UNITY_EDITOR
111 | if (NavigationDrawerPanel != null && !Application.isPlaying) {
112 | DestroyImmediate(NavigationDrawerPanel.gameObject);
113 | m_NavigationDrawerPanel = null;
114 | }
115 | #endif
116 | }
117 | public void RemoveActionBar() {
118 | #if UNITY_EDITOR
119 | if (ActionBar != null && !Application.isPlaying) {
120 | DestroyImmediate(ActionBar.gameObject);
121 | m_ActionBar = null;
122 | }
123 | #endif
124 | }
125 |
126 | private T GetSingleComponent() {
127 | var componentsInChildren = transform.GetComponentsInChildren();
128 | if (componentsInChildren.Length > 1) {
129 | throw new Exception($"Компонентов с типом {typeof(T)} " +
130 | $"должно быть не больше 1. " +
131 | $"Найдено {componentsInChildren.Length}");
132 | }
133 | return componentsInChildren.Length > 0 ? componentsInChildren[0] : default(T);
134 | }
135 |
136 | // private void Sort() {
137 | // IComparer comparer = new ComponentHolderComparer();
138 | // var componentHolders = GetComponentsInChildren(true);
139 | // Array.Sort(componentHolders, comparer);
140 | // foreach (var componentHolder in componentHolders) {
141 | // if (componentHolder.transform.parent == transform) {
142 | // // нужно учитывать только прямых потомков канваса
143 | // componentHolder.transform.SetAsLastSibling();
144 | // }
145 | // }
146 | // }
147 |
148 | public void ShowActionBar() {
149 | if (m_ActionBar != null) m_ActionBar.HideActionBar();
150 | }
151 |
152 | public void HideActionBar() {
153 | if (m_ActionBar != null) m_ActionBar.HideActionBar();
154 | }
155 |
156 |
157 | }
158 |
--------------------------------------------------------------------------------
/Assets/UiController.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd85f23bed20d5c4db129d924d32075f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.ads": "2.0.8",
4 | "com.unity.analytics": "3.0.9",
5 | "com.unity.collab-proxy": "1.2.9",
6 | "com.unity.package-manager-ui": "2.0.1",
7 | "com.unity.purchasing": "2.0.1",
8 | "com.unity.textmeshpro": "1.3.0",
9 | "com.unity.modules.ai": "1.0.0",
10 | "com.unity.modules.animation": "1.0.0",
11 | "com.unity.modules.assetbundle": "1.0.0",
12 | "com.unity.modules.audio": "1.0.0",
13 | "com.unity.modules.cloth": "1.0.0",
14 | "com.unity.modules.director": "1.0.0",
15 | "com.unity.modules.imageconversion": "1.0.0",
16 | "com.unity.modules.imgui": "1.0.0",
17 | "com.unity.modules.jsonserialize": "1.0.0",
18 | "com.unity.modules.particlesystem": "1.0.0",
19 | "com.unity.modules.physics": "1.0.0",
20 | "com.unity.modules.physics2d": "1.0.0",
21 | "com.unity.modules.screencapture": "1.0.0",
22 | "com.unity.modules.terrain": "1.0.0",
23 | "com.unity.modules.terrainphysics": "1.0.0",
24 | "com.unity.modules.tilemap": "1.0.0",
25 | "com.unity.modules.ui": "1.0.0",
26 | "com.unity.modules.uielements": "1.0.0",
27 | "com.unity.modules.umbra": "1.0.0",
28 | "com.unity.modules.unityanalytics": "1.0.0",
29 | "com.unity.modules.unitywebrequest": "1.0.0",
30 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
31 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
32 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
33 | "com.unity.modules.unitywebrequestwww": "1.0.0",
34 | "com.unity.modules.vehicles": "1.0.0",
35 | "com.unity.modules.video": "1.0.0",
36 | "com.unity.modules.vr": "1.0.0",
37 | "com.unity.modules.wind": "1.0.0",
38 | "com.unity.modules.xr": "1.0.0"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | m_Volume: 1
7 | Rolloff Scale: 1
8 | Doppler Factor: 1
9 | Default Speaker Mode: 2
10 | m_SampleRate: 0
11 | m_DSPBufferSize: 1024
12 | m_VirtualVoiceCount: 512
13 | m_RealVoiceCount: 32
14 | m_SpatializerPlugin:
15 | m_AmbisonicDecoderPlugin:
16 | m_DisableAudio: 0
17 | m_VirtualizeEffects: 1
18 |
--------------------------------------------------------------------------------
/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 7
7 | m_Gravity: {x: 0, y: -9.81, z: 0}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_BounceThreshold: 2
10 | m_SleepThreshold: 0.005
11 | m_DefaultContactOffset: 0.01
12 | m_DefaultSolverIterations: 6
13 | m_DefaultSolverVelocityIterations: 1
14 | m_QueriesHitBackfaces: 0
15 | m_QueriesHitTriggers: 1
16 | m_EnableAdaptiveForce: 0
17 | m_ClothInterCollisionDistance: 0
18 | m_ClothInterCollisionStiffness: 0
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 1
23 | m_ClothInterCollisionSettingsToggle: 0
24 | m_ContactPairsMode: 0
25 | m_BroadphaseType: 0
26 | m_WorldBounds:
27 | m_Center: {x: 0, y: 0, z: 0}
28 | m_Extent: {x: 250, y: 250, z: 250}
29 | m_WorldSubdivisions: 8
30 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes:
8 | - enabled: 1
9 | path: Assets/Scenes/SampleScene.unity
10 | guid: 2cda990e2423bbf4892e6590ba056729
11 | m_configObjects: {}
12 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 7
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 2
10 | m_DefaultBehaviorMode: 1
11 | m_SpritePackerMode: 4
12 | m_SpritePackerPaddingPower: 1
13 | m_EtcTextureCompressorBehavior: 1
14 | m_EtcTextureFastCompressor: 1
15 | m_EtcTextureNormalCompressor: 2
16 | m_EtcTextureBestCompressor: 4
17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef
18 | m_ProjectGenerationRootNamespace:
19 | m_UserGeneratedProjectSuffix:
20 | m_CollabEditorSettings:
21 | inProgressEnabled: 1
22 |
--------------------------------------------------------------------------------
/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 12
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_AlwaysIncludedShaders:
32 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 16002, guid: 0000000000000000f000000000000000, type: 0}
37 | m_PreloadedShaders: []
38 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
39 | type: 0}
40 | m_CustomRenderPipeline: {fileID: 0}
41 | m_TransparencySortMode: 0
42 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
43 | m_DefaultRenderingPath: 1
44 | m_DefaultMobileRenderingPath: 1
45 | m_TierSettings: []
46 | m_LightmapStripping: 0
47 | m_FogStripping: 0
48 | m_InstancingStripping: 0
49 | m_LightmapKeepPlain: 1
50 | m_LightmapKeepDirCombined: 1
51 | m_LightmapKeepDynamicPlain: 1
52 | m_LightmapKeepDynamicDirCombined: 1
53 | m_LightmapKeepShadowMask: 1
54 | m_LightmapKeepSubtractive: 1
55 | m_FogKeepLinear: 1
56 | m_FogKeepExp: 1
57 | m_FogKeepExp2: 1
58 | m_AlbedoSwatchInfos: []
59 | m_LightsUseLinearIntensity: 0
60 | m_LightsUseColorTemperature: 0
61 |
--------------------------------------------------------------------------------
/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshProjectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | areas:
8 | - name: Walkable
9 | cost: 1
10 | - name: Not Walkable
11 | cost: 1
12 | - name: Jump
13 | cost: 2
14 | - name:
15 | cost: 1
16 | - name:
17 | cost: 1
18 | - name:
19 | cost: 1
20 | - name:
21 | cost: 1
22 | - name:
23 | cost: 1
24 | - name:
25 | cost: 1
26 | - name:
27 | cost: 1
28 | - name:
29 | cost: 1
30 | - name:
31 | cost: 1
32 | - name:
33 | cost: 1
34 | - name:
35 | cost: 1
36 | - name:
37 | cost: 1
38 | - name:
39 | cost: 1
40 | - name:
41 | cost: 1
42 | - name:
43 | cost: 1
44 | - name:
45 | cost: 1
46 | - name:
47 | cost: 1
48 | - name:
49 | cost: 1
50 | - name:
51 | cost: 1
52 | - name:
53 | cost: 1
54 | - name:
55 | cost: 1
56 | - name:
57 | cost: 1
58 | - name:
59 | cost: 1
60 | - name:
61 | cost: 1
62 | - name:
63 | cost: 1
64 | - name:
65 | cost: 1
66 | - name:
67 | cost: 1
68 | - name:
69 | cost: 1
70 | - name:
71 | cost: 1
72 | m_LastAgentTypeID: -887442657
73 | m_Settings:
74 | - serializedVersion: 2
75 | agentTypeID: 0
76 | agentRadius: 0.5
77 | agentHeight: 2
78 | agentSlope: 45
79 | agentClimb: 0.75
80 | ledgeDropHeight: 0
81 | maxJumpAcrossDistance: 0
82 | minRegionArea: 2
83 | manualCellSize: 0
84 | cellSize: 0.16666667
85 | manualTileSize: 0
86 | tileSize: 256
87 | accuratePlacement: 0
88 | debug:
89 | m_Flags: 0
90 | m_SettingNames:
91 | - Humanoid
92 |
--------------------------------------------------------------------------------
/ProjectSettings/NetworkManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!149 &1
4 | NetworkManager:
5 | m_ObjectHideFlags: 0
6 | m_DebugLevel: 0
7 | m_Sendrate: 15
8 | m_AssetToPrefab: {}
9 |
--------------------------------------------------------------------------------
/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 3
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_AutoSimulation: 1
23 | m_QueriesHitTriggers: 1
24 | m_QueriesStartInColliders: 1
25 | m_ChangeStopsCallbacks: 0
26 | m_CallbacksOnDisable: 1
27 | m_AutoSyncTransforms: 1
28 | m_AlwaysShowColliders: 0
29 | m_ShowColliderSleep: 1
30 | m_ShowColliderContacts: 0
31 | m_ShowColliderAABB: 0
32 | m_ContactArrowScale: 0.2
33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
38 |
--------------------------------------------------------------------------------
/ProjectSettings/PresetManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1386491679 &1
4 | PresetManager:
5 | m_ObjectHideFlags: 0
6 | m_DefaultList:
7 | - type:
8 | m_NativeTypeID: 20
9 | m_ManagedTypePPtr: {fileID: 0}
10 | m_ManagedTypeFallback:
11 | defaultPresets:
12 | - m_Preset: {fileID: 2655988077585873504, guid: bfcfc320427f8224bbb7a96f3d3aebad,
13 | type: 2}
14 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2018.3.0b5
2 |
--------------------------------------------------------------------------------
/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 3
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Very Low
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | blendWeights: 1
22 | textureQuality: 1
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.3
31 | maximumLODLevel: 0
32 | particleRaycastBudget: 4
33 | asyncUploadTimeSlice: 2
34 | asyncUploadBufferSize: 4
35 | resolutionScalingFixedDPIFactor: 1
36 | excludedTargetPlatforms: []
37 | - serializedVersion: 2
38 | name: Low
39 | pixelLightCount: 0
40 | shadows: 0
41 | shadowResolution: 0
42 | shadowProjection: 1
43 | shadowCascades: 1
44 | shadowDistance: 20
45 | shadowNearPlaneOffset: 3
46 | shadowCascade2Split: 0.33333334
47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
48 | shadowmaskMode: 0
49 | blendWeights: 2
50 | textureQuality: 0
51 | anisotropicTextures: 0
52 | antiAliasing: 0
53 | softParticles: 0
54 | softVegetation: 0
55 | realtimeReflectionProbes: 0
56 | billboardsFaceCameraPosition: 0
57 | vSyncCount: 0
58 | lodBias: 0.4
59 | maximumLODLevel: 0
60 | particleRaycastBudget: 16
61 | asyncUploadTimeSlice: 2
62 | asyncUploadBufferSize: 4
63 | resolutionScalingFixedDPIFactor: 1
64 | excludedTargetPlatforms: []
65 | - serializedVersion: 2
66 | name: Medium
67 | pixelLightCount: 1
68 | shadows: 0
69 | shadowResolution: 0
70 | shadowProjection: 1
71 | shadowCascades: 1
72 | shadowDistance: 20
73 | shadowNearPlaneOffset: 3
74 | shadowCascade2Split: 0.33333334
75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
76 | shadowmaskMode: 0
77 | blendWeights: 2
78 | textureQuality: 0
79 | anisotropicTextures: 0
80 | antiAliasing: 0
81 | softParticles: 0
82 | softVegetation: 0
83 | realtimeReflectionProbes: 0
84 | billboardsFaceCameraPosition: 0
85 | vSyncCount: 1
86 | lodBias: 0.7
87 | maximumLODLevel: 0
88 | particleRaycastBudget: 64
89 | asyncUploadTimeSlice: 2
90 | asyncUploadBufferSize: 4
91 | resolutionScalingFixedDPIFactor: 1
92 | excludedTargetPlatforms: []
93 | - serializedVersion: 2
94 | name: High
95 | pixelLightCount: 2
96 | shadows: 0
97 | shadowResolution: 1
98 | shadowProjection: 1
99 | shadowCascades: 2
100 | shadowDistance: 40
101 | shadowNearPlaneOffset: 3
102 | shadowCascade2Split: 0.33333334
103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
104 | shadowmaskMode: 1
105 | blendWeights: 2
106 | textureQuality: 0
107 | anisotropicTextures: 0
108 | antiAliasing: 0
109 | softParticles: 0
110 | softVegetation: 1
111 | realtimeReflectionProbes: 0
112 | billboardsFaceCameraPosition: 0
113 | vSyncCount: 1
114 | lodBias: 1
115 | maximumLODLevel: 0
116 | particleRaycastBudget: 256
117 | asyncUploadTimeSlice: 2
118 | asyncUploadBufferSize: 4
119 | resolutionScalingFixedDPIFactor: 1
120 | excludedTargetPlatforms: []
121 | - serializedVersion: 2
122 | name: Very High
123 | pixelLightCount: 3
124 | shadows: 0
125 | shadowResolution: 2
126 | shadowProjection: 1
127 | shadowCascades: 2
128 | shadowDistance: 70
129 | shadowNearPlaneOffset: 3
130 | shadowCascade2Split: 0.33333334
131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
132 | shadowmaskMode: 1
133 | blendWeights: 4
134 | textureQuality: 0
135 | anisotropicTextures: 0
136 | antiAliasing: 0
137 | softParticles: 0
138 | softVegetation: 1
139 | realtimeReflectionProbes: 0
140 | billboardsFaceCameraPosition: 0
141 | vSyncCount: 1
142 | lodBias: 1.5
143 | maximumLODLevel: 0
144 | particleRaycastBudget: 1024
145 | asyncUploadTimeSlice: 2
146 | asyncUploadBufferSize: 4
147 | resolutionScalingFixedDPIFactor: 1
148 | excludedTargetPlatforms: []
149 | - serializedVersion: 2
150 | name: Ultra
151 | pixelLightCount: 4
152 | shadows: 0
153 | shadowResolution: 0
154 | shadowProjection: 1
155 | shadowCascades: 4
156 | shadowDistance: 150
157 | shadowNearPlaneOffset: 3
158 | shadowCascade2Split: 0.33333334
159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
160 | shadowmaskMode: 1
161 | blendWeights: 4
162 | textureQuality: 0
163 | anisotropicTextures: 0
164 | antiAliasing: 0
165 | softParticles: 0
166 | softVegetation: 1
167 | realtimeReflectionProbes: 0
168 | billboardsFaceCameraPosition: 0
169 | vSyncCount: 1
170 | lodBias: 2
171 | maximumLODLevel: 0
172 | particleRaycastBudget: 4096
173 | asyncUploadTimeSlice: 2
174 | asyncUploadBufferSize: 4
175 | resolutionScalingFixedDPIFactor: 1
176 | excludedTargetPlatforms: []
177 | m_PerPlatformDefaultQuality:
178 | Android: 2
179 | Nintendo 3DS: 5
180 | Nintendo Switch: 5
181 | PS4: 5
182 | PSM: 5
183 | PSP2: 2
184 | Standalone: 5
185 | Tizen: 2
186 | WebGL: 3
187 | WiiU: 5
188 | Windows Store Apps: 5
189 | XboxOne: 5
190 | iPhone: 2
191 | tvOS: 2
192 |
--------------------------------------------------------------------------------
/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | -
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: 0.0167
7 | Maximum Allowed Timestep: 0.1
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 1
7 | m_Enabled: 1
8 | m_TestMode: 0
9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com
12 | m_TestInitMode: 0
13 | CrashReportingSettings:
14 | m_EventUrl: https://perf-events.cloud.unity3d.com
15 | m_Enabled: 0
16 | m_LogBufferSize: 10
17 | m_CaptureEditorExceptions: 1
18 | UnityPurchasingSettings:
19 | m_Enabled: 0
20 | m_TestMode: 0
21 | UnityAnalyticsSettings:
22 | m_Enabled: 1
23 | m_TestMode: 0
24 | UnityAdsSettings:
25 | m_Enabled: 0
26 | m_InitializeOnStartup: 1
27 | m_TestMode: 0
28 | m_IosGameId:
29 | m_AndroidGameId:
30 | m_GameIds: {}
31 | m_GameId:
32 | PerformanceReportingSettings:
33 | m_Enabled: 0
34 |
--------------------------------------------------------------------------------
/ProjectSettings/VFXManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!937362698 &1
4 | VFXManager:
5 | m_ObjectHideFlags: 0
6 | m_IndirectShader: {fileID: 0}
7 | m_CopyBufferShader: {fileID: 0}
8 | m_SortShader: {fileID: 0}
9 | m_RenderPipeSettingsPath:
10 | m_FixedTimeStep: 0.016666668
11 | m_MaxDeltaTime: 0.05
12 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## Unity GUI kit
2 |
3 | This project contains some parts of mobile app GUI for Unity
4 | the components that are included:
5 | - Drawers
6 | - Scroll Pane (quick scroll as an opposite to the slow built-in one)
7 | - Calendar with an ability to pick a range of dates
8 | - Progress bars (animated), including circular ones
9 | - Toggles (switches)
10 |
11 | Anyone who needs it may use or modify these components as he wants.
12 | Unfortunately I don't have time to support this project, so I'm putting it down as is
13 |
14 | ## Example
15 |
16 | The example scene is included
17 |
18 |
19 | 
--------------------------------------------------------------------------------
/obj/Debug/Assembly-CSharp-Editor.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/obj/Debug/Assembly-CSharp-Editor.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/obj/Debug/Assembly-CSharp.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/caseyryan/unity_app_gui/1ead38b9429bb0ddcbbce0ae7c70fcd9038a7aa5/obj/Debug/Assembly-CSharp.csprojAssemblyReference.cache
--------------------------------------------------------------------------------