├── .github
└── workflows
│ └── validate_catalog.yaml
├── .gitignore
├── .vsconfig
├── Assets
├── TextMesh Pro.meta
├── TextMesh Pro
│ ├── Documentation.meta
│ ├── Documentation
│ │ ├── TextMesh Pro User Guide 2016.pdf
│ │ └── TextMesh Pro User Guide 2016.pdf.meta
│ ├── Fonts.meta
│ ├── Fonts
│ │ ├── LiberationSans - OFL.txt
│ │ ├── LiberationSans - OFL.txt.meta
│ │ ├── LiberationSans.ttf
│ │ └── LiberationSans.ttf.meta
│ ├── Resources.meta
│ ├── Resources
│ │ ├── Fonts & Materials.meta
│ │ ├── Fonts & Materials
│ │ │ ├── LiberationSans SDF - Drop Shadow.mat
│ │ │ ├── LiberationSans SDF - Drop Shadow.mat.meta
│ │ │ ├── LiberationSans SDF - Fallback.asset
│ │ │ ├── LiberationSans SDF - Fallback.asset.meta
│ │ │ ├── LiberationSans SDF - Outline.mat
│ │ │ ├── LiberationSans SDF - Outline.mat.meta
│ │ │ ├── LiberationSans SDF.asset
│ │ │ ├── LiberationSans SDF.asset.meta
│ │ │ ├── OFL.txt
│ │ │ ├── OFL.txt.meta
│ │ │ ├── inter.asset
│ │ │ ├── inter.asset.meta
│ │ │ ├── inter.ttf
│ │ │ └── inter.ttf.meta
│ │ ├── LineBreaking Following Characters.txt
│ │ ├── LineBreaking Following Characters.txt.meta
│ │ ├── LineBreaking Leading Characters.txt
│ │ ├── LineBreaking Leading Characters.txt.meta
│ │ ├── Sprite Assets.meta
│ │ ├── Sprite Assets
│ │ │ ├── EmojiOne.asset
│ │ │ └── EmojiOne.asset.meta
│ │ ├── Style Sheets.meta
│ │ ├── Style Sheets
│ │ │ ├── Default Style Sheet.asset
│ │ │ └── Default Style Sheet.asset.meta
│ │ ├── TMP Settings.asset
│ │ └── TMP Settings.asset.meta
│ ├── Shaders.meta
│ ├── Shaders
│ │ ├── TMP_Bitmap-Custom-Atlas.shader
│ │ ├── TMP_Bitmap-Custom-Atlas.shader.meta
│ │ ├── TMP_Bitmap-Mobile.shader
│ │ ├── TMP_Bitmap-Mobile.shader.meta
│ │ ├── TMP_Bitmap.shader
│ │ ├── TMP_Bitmap.shader.meta
│ │ ├── TMP_SDF Overlay.shader
│ │ ├── TMP_SDF Overlay.shader.meta
│ │ ├── TMP_SDF SSD.shader
│ │ ├── TMP_SDF SSD.shader.meta
│ │ ├── TMP_SDF-Mobile Masking.shader
│ │ ├── TMP_SDF-Mobile Masking.shader.meta
│ │ ├── TMP_SDF-Mobile Overlay.shader
│ │ ├── TMP_SDF-Mobile Overlay.shader.meta
│ │ ├── TMP_SDF-Mobile SSD.shader
│ │ ├── TMP_SDF-Mobile SSD.shader.meta
│ │ ├── TMP_SDF-Mobile.shader
│ │ ├── TMP_SDF-Mobile.shader.meta
│ │ ├── TMP_SDF-Surface-Mobile.shader
│ │ ├── TMP_SDF-Surface-Mobile.shader.meta
│ │ ├── TMP_SDF-Surface.shader
│ │ ├── TMP_SDF-Surface.shader.meta
│ │ ├── TMP_SDF.shader
│ │ ├── TMP_SDF.shader.meta
│ │ ├── TMP_Sprite.shader
│ │ ├── TMP_Sprite.shader.meta
│ │ ├── TMPro.cginc
│ │ ├── TMPro.cginc.meta
│ │ ├── TMPro_Mobile.cginc
│ │ ├── TMPro_Mobile.cginc.meta
│ │ ├── TMPro_Properties.cginc
│ │ ├── TMPro_Properties.cginc.meta
│ │ ├── TMPro_Surface.cginc
│ │ └── TMPro_Surface.cginc.meta
│ ├── Sprites.meta
│ └── Sprites
│ │ ├── EmojiOne Attribution.txt
│ │ ├── EmojiOne Attribution.txt.meta
│ │ ├── EmojiOne.json
│ │ ├── EmojiOne.json.meta
│ │ ├── EmojiOne.png
│ │ └── EmojiOne.png.meta
├── UGSSamples.meta
└── UGSSamples
│ ├── FriendsSample.meta
│ ├── FriendsSample
│ ├── Art.meta
│ ├── Art
│ │ ├── Icons.meta
│ │ ├── Icons
│ │ │ ├── AddFriend_Sprite.png
│ │ │ ├── AddFriend_Sprite.png.meta
│ │ │ ├── ArrowDown_Sprite.png
│ │ │ ├── ArrowDown_Sprite.png.meta
│ │ │ ├── Block_Sprite.png
│ │ │ ├── Block_Sprite.png.meta
│ │ │ ├── Check_Sprite.png
│ │ │ ├── Check_Sprite.png.meta
│ │ │ ├── Close_Sprite.png
│ │ │ ├── Close_Sprite.png.meta
│ │ │ ├── Dot_Sprite.png
│ │ │ ├── Dot_Sprite.png.meta
│ │ │ ├── FileCopy_Sprite.png
│ │ │ ├── FileCopy_Sprite.png.meta
│ │ │ ├── FriendsIcon.png
│ │ │ ├── FriendsIcon.png.meta
│ │ │ ├── Friends_Sprite.png
│ │ │ ├── Friends_Sprite.png.meta
│ │ │ ├── RemoveFriend_Sprite.png
│ │ │ ├── RemoveFriend_Sprite.png.meta
│ │ │ ├── Unblock_Sprite.png
│ │ │ └── Unblock_Sprite.png.meta
│ │ ├── UI.meta
│ │ └── UI
│ │ │ ├── Background_Sprite.png
│ │ │ ├── Background_Sprite.png.meta
│ │ │ ├── Circle_Sprite.png
│ │ │ ├── Circle_Sprite.png.meta
│ │ │ ├── RectRoundedBottom_Sprite.png
│ │ │ └── RectRoundedBottom_Sprite.png.meta
│ ├── CHANGELOG.md
│ ├── CHANGELOG.md.meta
│ ├── Documentation.meta
│ ├── Documentation
│ │ ├── FriendsSample_ClassDiagram.pdf
│ │ └── FriendsSample_ClassDiagram.pdf.meta
│ ├── Prefabs.meta
│ ├── Prefabs
│ │ ├── UGUI.meta
│ │ ├── UGUI
│ │ │ ├── RelationshipsManager.prefab
│ │ │ ├── RelationshipsManager.prefab.meta
│ │ │ ├── UIElements.meta
│ │ │ ├── UIElements
│ │ │ │ ├── EntryButton.prefab
│ │ │ │ ├── EntryButton.prefab.meta
│ │ │ │ ├── InputField.prefab
│ │ │ │ ├── InputField.prefab.meta
│ │ │ │ ├── NavBarButton.prefab
│ │ │ │ ├── NavBarButton.prefab.meta
│ │ │ │ ├── PrimaryButton.prefab
│ │ │ │ └── PrimaryButton.prefab.meta
│ │ │ ├── Views.meta
│ │ │ └── Views
│ │ │ │ ├── AddFriendViewUGUI.prefab
│ │ │ │ ├── AddFriendViewUGUI.prefab.meta
│ │ │ │ ├── BlockEntryViewUGUI.prefab
│ │ │ │ ├── BlockEntryViewUGUI.prefab.meta
│ │ │ │ ├── BlocksViewUGUI.prefab
│ │ │ │ ├── BlocksViewUGUI.prefab.meta
│ │ │ │ ├── FriendEntryViewUGUI.prefab
│ │ │ │ ├── FriendEntryViewUGUI.prefab.meta
│ │ │ │ ├── FriendsViewUGUI.prefab
│ │ │ │ ├── FriendsViewUGUI.prefab.meta
│ │ │ │ ├── LocalPlayerViewUGUI.prefab
│ │ │ │ ├── LocalPlayerViewUGUI.prefab.meta
│ │ │ │ ├── NavBarViewUGUI.prefab
│ │ │ │ ├── NavBarViewUGUI.prefab.meta
│ │ │ │ ├── RelationshipsViewUGUI.prefab
│ │ │ │ ├── RelationshipsViewUGUI.prefab.meta
│ │ │ │ ├── RequestEntryViewUGUI.prefab
│ │ │ │ ├── RequestEntryViewUGUI.prefab.meta
│ │ │ │ ├── RequestsViewUGUI.prefab
│ │ │ │ ├── RequestsViewUGUI.prefab.meta
│ │ │ │ ├── TabUGUI.prefab
│ │ │ │ └── TabUGUI.prefab.meta
│ │ ├── UIToolkit.meta
│ │ └── UIToolkit
│ │ │ ├── RelationshipUIToolkit.prefab
│ │ │ ├── RelationshipUIToolkit.prefab.meta
│ │ │ ├── Settings.meta
│ │ │ ├── Settings
│ │ │ ├── RelationshipsUI_PanelSettings.asset
│ │ │ ├── RelationshipsUI_PanelSettings.asset.meta
│ │ │ ├── RelationshipsUI_StyleSheet.uss
│ │ │ ├── RelationshipsUI_StyleSheet.uss.meta
│ │ │ ├── UnityDefaultRuntime_ThemeStyleSheet.tss
│ │ │ └── UnityDefaultRuntime_ThemeStyleSheet.tss.meta
│ │ │ ├── Templates.meta
│ │ │ ├── Templates
│ │ │ ├── BlockEntryViewUIToolkit.uxml
│ │ │ ├── BlockEntryViewUIToolkit.uxml.meta
│ │ │ ├── FriendEntryViewUIToolkit.uxml
│ │ │ ├── FriendEntryViewUIToolkit.uxml.meta
│ │ │ ├── RequestEntryViewUIToolkit.uxml
│ │ │ └── RequestEntryViewUIToolkit.uxml.meta
│ │ │ ├── Views.meta
│ │ │ └── Views
│ │ │ ├── AddFriendViewUIToolkit.uxml
│ │ │ ├── AddFriendViewUIToolkit.uxml.meta
│ │ │ ├── BackgroundViewUIToolkit.uxml
│ │ │ ├── BackgroundViewUIToolkit.uxml.meta
│ │ │ ├── LocalPlayerViewUIToolkit.uxml
│ │ │ ├── LocalPlayerViewUIToolkit.uxml.meta
│ │ │ ├── NavBarViewUIToolkit.uxml
│ │ │ ├── NavBarViewUIToolkit.uxml.meta
│ │ │ ├── PlayerViewUIToolkit.uxml
│ │ │ ├── PlayerViewUIToolkit.uxml.meta
│ │ │ ├── RelationshipsViewUIToolkit.uxml
│ │ │ └── RelationshipsViewUIToolkit.uxml.meta
│ ├── Scenes.meta
│ ├── Scenes
│ │ ├── FriendsSampleUGUI_Scene.unity
│ │ ├── FriendsSampleUGUI_Scene.unity.meta
│ │ ├── FriendsSampleUIToolkit_Scene.unity
│ │ └── FriendsSampleUIToolkit_Scene.unity.meta
│ ├── Scripts.meta
│ └── Scripts
│ │ ├── Common.meta
│ │ ├── Common
│ │ ├── Data.meta
│ │ ├── Data
│ │ │ ├── Activity.cs
│ │ │ ├── Activity.cs.meta
│ │ │ ├── FriendsEntryData.cs
│ │ │ └── FriendsEntryData.cs.meta
│ │ ├── Interfaces.meta
│ │ ├── Interfaces
│ │ │ ├── IAddFriendView.cs
│ │ │ ├── IAddFriendView.cs.meta
│ │ │ ├── IBlockedListView.cs
│ │ │ ├── IBlockedListView.cs.meta
│ │ │ ├── IFriendsListView.cs
│ │ │ ├── IFriendsListView.cs.meta
│ │ │ ├── IListView.cs
│ │ │ ├── IListView.cs.meta
│ │ │ ├── ILocalPlayerView.cs
│ │ │ ├── ILocalPlayerView.cs.meta
│ │ │ ├── IRelationshipBarView.cs
│ │ │ ├── IRelationshipBarView.cs.meta
│ │ │ ├── IRelationshipsView.cs
│ │ │ ├── IRelationshipsView.cs.meta
│ │ │ ├── IRequestListView.cs
│ │ │ └── IRequestListView.cs.meta
│ │ ├── Managers.meta
│ │ ├── Managers
│ │ │ ├── RelationshipsManager.cs
│ │ │ └── RelationshipsManager.cs.meta
│ │ ├── Utilities.meta
│ │ └── Utilities
│ │ │ ├── ApplicationQuit.cs
│ │ │ ├── ApplicationQuit.cs.meta
│ │ │ ├── ColorUtils.cs
│ │ │ └── ColorUtils.cs.meta
│ │ ├── UGUI.meta
│ │ ├── UGUI
│ │ ├── AddFriendViewUGUI.cs
│ │ ├── AddFriendViewUGUI.cs.meta
│ │ ├── BlockEntryViewUGUI.cs
│ │ ├── BlockEntryViewUGUI.cs.meta
│ │ ├── BlocksViewUGUI.cs
│ │ ├── BlocksViewUGUI.cs.meta
│ │ ├── FriendEntryViewUGUI.cs
│ │ ├── FriendEntryViewUGUI.cs.meta
│ │ ├── FriendsViewUGUI.cs
│ │ ├── FriendsViewUGUI.cs.meta
│ │ ├── ListViewUGUI.cs
│ │ ├── ListViewUGUI.cs.meta
│ │ ├── LocalPlayerViewUGUI.cs
│ │ ├── LocalPlayerViewUGUI.cs.meta
│ │ ├── NavBarButtonUGUI.cs
│ │ ├── NavBarButtonUGUI.cs.meta
│ │ ├── NavBarViewUGUI.cs
│ │ ├── NavBarViewUGUI.cs.meta
│ │ ├── RelationshipsView.cs
│ │ ├── RelationshipsView.cs.meta
│ │ ├── RequestEntryViewUGUI.cs
│ │ ├── RequestEntryViewUGUI.cs.meta
│ │ ├── RequestsViewUGUI.cs
│ │ └── RequestsViewUGUI.cs.meta
│ │ ├── UIToolkit.meta
│ │ ├── UIToolkit
│ │ ├── AddFriendViewUIToolkit.cs
│ │ ├── AddFriendViewUIToolkit.cs.meta
│ │ ├── BlockedEntryViewUIToolkit.cs
│ │ ├── BlockedEntryViewUIToolkit.cs.meta
│ │ ├── BlockedListViewUIToolkit.cs
│ │ ├── BlockedListViewUIToolkit.cs.meta
│ │ ├── FriendEntryViewUIToolkit.cs
│ │ ├── FriendEntryViewUIToolkit.cs.meta
│ │ ├── FriendsListViewUIToolkit.cs
│ │ ├── FriendsListViewUIToolkit.cs.meta
│ │ ├── LocalPlayerViewUIToolkit.cs
│ │ ├── LocalPlayerViewUIToolkit.cs.meta
│ │ ├── NavBarButtonUIToolkit.cs
│ │ ├── NavBarButtonUIToolkit.cs.meta
│ │ ├── NavBarViewUIToolkit.cs
│ │ ├── NavBarViewUIToolkit.cs.meta
│ │ ├── RelationshipsViewUIToolkit.cs
│ │ ├── RelationshipsViewUIToolkit.cs.meta
│ │ ├── RequestEntryViewUIToolkit.cs
│ │ ├── RequestEntryViewUIToolkit.cs.meta
│ │ ├── RequestListViewUIToolkit.cs
│ │ └── RequestListViewUIToolkit.cs.meta
│ │ ├── Unity.Services.Samples.Friends.asmdef
│ │ └── Unity.Services.Samples.Friends.asmdef.meta
│ ├── Plugins.meta
│ └── Plugins
│ ├── PlayerAuthentication.meta
│ ├── PlayerAuthentication
│ ├── PlayerProfile.cs
│ ├── PlayerProfile.cs.meta
│ ├── UnityServiceAuthenticator.cs
│ └── UnityServiceAuthenticator.cs.meta
│ ├── Unity.Services.Samples.asmdef
│ └── Unity.Services.Samples.asmdef.meta
├── CODEOWNERS
├── LICENSE.md
├── Packages
├── manifest.json
└── packages-lock.json
├── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── MemorySettings.asset
├── NavMeshAreas.asset
├── NetworkManager.asset
├── PackageManagerSettings.asset
├── Packages
│ └── com.unity.testtools.codecoverage
│ │ └── Settings.json
├── Physics2DSettings.asset
├── PresetManager.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── SceneTemplateSettings.json
├── TagManager.asset
├── TimeManager.asset
├── UnityConnectSettings.asset
├── VFXManager.asset
├── VersionControlSettings.asset
├── XRSettings.asset
└── boot.config
├── README.md
├── UIElementsSchema
├── UIElements.xsd
├── Unity.Cloud.Collaborate.Components.ChangeListEntries.xsd
├── Unity.Cloud.Collaborate.Components.xsd
├── Unity.Cloud.Collaborate.Views.xsd
├── Unity.Profiling.Editor.xsd
├── Unity.UI.Builder.xsd
├── UnityEditor.Experimental.GraphView.xsd
├── UnityEditor.Overlays.xsd
├── UnityEditor.PackageManager.UI.Internal.xsd
├── UnityEditor.Search.xsd
├── UnityEditor.ShortcutManagement.xsd
├── UnityEditor.UIElements.Debugger.xsd
├── UnityEditor.UIElements.xsd
└── UnityEngine.UIElements.xsd
└── catalog-info.yaml
/.github/workflows/validate_catalog.yaml:
--------------------------------------------------------------------------------
1 | # Validate catalog-info.yaml file
2 | name: Validate Catalog-info.yaml
3 | on:
4 | pull_request:
5 | paths:
6 | - 'catalog-info.yaml'
7 | push:
8 | paths:
9 | - 'catalog-info.yaml'
10 | branches: [ main ]
11 |
12 | jobs:
13 | validate_catalog:
14 | runs-on: [ubuntu-latest]
15 | steps:
16 | - id: 'Checkout'
17 | uses: actions/checkout@v2
18 |
19 | - id: 'Validate'
20 | uses: 'RoadieHQ/backstage-entity-validator@v0.3.2'
21 |
22 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by https://www.gitignore.io/api/unity
2 |
3 | ### Unity ###
4 | [Ll]ibrary/
5 | [Tt]emp/
6 | [Oo]bj/
7 | [Bb]uild/
8 | [Bb]uilds/
9 | [Ll]ogs/
10 | [Uu]serSettings/
11 | Assets/AssetStoreTools*
12 |
13 | # Visual Studio cache directory
14 | .vs/
15 |
16 | # Autogenerated VS/MD/Consulo solution and project files
17 | ExportedObj/
18 | .consulo/
19 | *.csproj
20 | *.unityproj
21 | *.sln
22 | *.suo
23 | *.tmp
24 | *.user
25 | *.userprefs
26 | *.pidb
27 | *.booproj
28 | *.svd
29 | *.pdb
30 | *.opendb
31 |
32 | # Unity3D generated meta files
33 | *.pidb.meta
34 | *.pdb.meta
35 |
36 | # Unity3D Generated File On Crash Reports
37 | sysinfo.txt
38 |
39 | # Builds
40 | *.apk
41 | *.unitypackage
42 |
43 |
44 | # Rider
45 | *.idea
46 |
47 |
48 |
49 | # End of https://www.gitignore.io/api/unity
50 |
51 | TempUI/.DS_Store
52 | *.DS_Store
53 |
--------------------------------------------------------------------------------
/.vsconfig:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.0",
3 | "components": [
4 | "Microsoft.VisualStudio.Workload.ManagedGame"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f54d1bd14bd3ca042bd867b519fee8cc
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Documentation.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8e7e8f5a82a3a134e91c54efd2274ea9
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1b8d251f9af63b746bf2f7ffe00ebb9b
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Fonts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ab70aee4d56447429c680537fbf93ed
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6e59c59b81ab47f9b6ec5781fa725d2c
3 | timeCreated: 1484171296
4 | licenseType: Pro
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Fonts/LiberationSans.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/TextMesh Pro/Fonts/LiberationSans.ttf
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e3265ab4bf004d28a9537516768c1c75
3 | timeCreated: 1484171297
4 | licenseType: Pro
5 | TrueTypeFontImporter:
6 | serializedVersion: 2
7 | fontSize: 16
8 | forceTextureCase: -2
9 | characterSpacing: 1
10 | characterPadding: 0
11 | includeFontData: 1
12 | use2xBehaviour: 0
13 | fontNames: []
14 | fallbackFontReferences: []
15 | customCharacters:
16 | fontRenderingMode: 0
17 | userData:
18 | assetBundleName:
19 | assetBundleVariant:
20 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 243e06394e614e5d99fab26083b707fa
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Fonts & Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 731f1baa9d144a9897cb1d341c2092b8
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: LiberationSans SDF - Drop Shadow
11 | m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3}
12 | m_ShaderKeywords: OUTLINE_ON UNDERLAY_ON
13 | m_LightmapFlags: 5
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _Cube:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _FaceTex:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _MainTex:
35 | m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee,
36 | type: 2}
37 | m_Scale: {x: 1, y: 1}
38 | m_Offset: {x: 0, y: 0}
39 | - _OutlineTex:
40 | m_Texture: {fileID: 0}
41 | m_Scale: {x: 1, y: 1}
42 | m_Offset: {x: 0, y: 0}
43 | m_Floats:
44 | - _Ambient: 0.5
45 | - _Bevel: 0.5
46 | - _BevelClamp: 0
47 | - _BevelOffset: 0
48 | - _BevelRoundness: 0
49 | - _BevelWidth: 0
50 | - _BumpFace: 0
51 | - _BumpOutline: 0
52 | - _ColorMask: 15
53 | - _Diffuse: 0.5
54 | - _DiffusePower: 1
55 | - _FaceDilate: 0.1
56 | - _FaceUVSpeedX: 0
57 | - _FaceUVSpeedY: 0
58 | - _GlowInner: 0.05
59 | - _GlowOffset: 0
60 | - _GlowOuter: 0.05
61 | - _GlowPower: 0.75
62 | - _GradientScale: 10
63 | - _LightAngle: 3.1416
64 | - _MaskSoftnessX: 0
65 | - _MaskSoftnessY: 0
66 | - _OutlineSoftness: 0
67 | - _OutlineUVSpeedX: 0
68 | - _OutlineUVSpeedY: 0
69 | - _OutlineWidth: 0.1
70 | - _PerspectiveFilter: 0.875
71 | - _Reflectivity: 10
72 | - _ScaleRatioA: 0.9
73 | - _ScaleRatioB: 0.73125
74 | - _ScaleRatioC: 0.64125
75 | - _ScaleX: 1
76 | - _ScaleY: 1
77 | - _ShaderFlags: 0
78 | - _Sharpness: 0
79 | - _SpecularPower: 2
80 | - _Stencil: 0
81 | - _StencilComp: 8
82 | - _StencilOp: 0
83 | - _StencilReadMask: 255
84 | - _StencilWriteMask: 255
85 | - _TextureHeight: 1024
86 | - _TextureWidth: 1024
87 | - _UnderlayDilate: 0
88 | - _UnderlayOffsetX: 0.5
89 | - _UnderlayOffsetY: -0.5
90 | - _UnderlaySoftness: 0.05
91 | - _VertexOffsetX: 0
92 | - _VertexOffsetY: 0
93 | - _WeightBold: 0.75
94 | - _WeightNormal: 0
95 | m_Colors:
96 | - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
97 | - _Color: {r: 1, g: 1, b: 1, a: 1}
98 | - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0}
99 | - _FaceColor: {r: 1, g: 1, b: 1, a: 1}
100 | - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5}
101 | - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767}
102 | - _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
103 | - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1}
104 | - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1}
105 | - _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
106 | - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5}
107 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e73a58f6e2794ae7b1b7e50b7fb811b0
3 | timeCreated: 1484172806
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2e498d1c8094910479dc3e1b768306a4
3 | timeCreated: 1484171803
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: LiberationSans SDF - Outline
11 | m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3}
12 | m_ShaderKeywords: OUTLINE_ON
13 | m_LightmapFlags: 5
14 | m_EnableInstancingVariants: 0
15 | m_DoubleSidedGI: 0
16 | m_CustomRenderQueue: -1
17 | stringTagMap: {}
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _Cube:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _FaceTex:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _MainTex:
35 | m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee,
36 | type: 2}
37 | m_Scale: {x: 1, y: 1}
38 | m_Offset: {x: 0, y: 0}
39 | - _OutlineTex:
40 | m_Texture: {fileID: 0}
41 | m_Scale: {x: 1, y: 1}
42 | m_Offset: {x: 0, y: 0}
43 | m_Floats:
44 | - _Ambient: 0.5
45 | - _Bevel: 0.5
46 | - _BevelClamp: 0
47 | - _BevelOffset: 0
48 | - _BevelRoundness: 0
49 | - _BevelWidth: 0
50 | - _BumpFace: 0
51 | - _BumpOutline: 0
52 | - _ColorMask: 15
53 | - _Diffuse: 0.5
54 | - _FaceDilate: 0.1
55 | - _FaceUVSpeedX: 0
56 | - _FaceUVSpeedY: 0
57 | - _GlowInner: 0.05
58 | - _GlowOffset: 0
59 | - _GlowOuter: 0.05
60 | - _GlowPower: 0.75
61 | - _GradientScale: 10
62 | - _LightAngle: 3.1416
63 | - _MaskSoftnessX: 0
64 | - _MaskSoftnessY: 0
65 | - _OutlineSoftness: 0
66 | - _OutlineUVSpeedX: 0
67 | - _OutlineUVSpeedY: 0
68 | - _OutlineWidth: 0.1
69 | - _PerspectiveFilter: 0.875
70 | - _Reflectivity: 10
71 | - _ScaleRatioA: 0.9
72 | - _ScaleRatioB: 0.73125
73 | - _ScaleRatioC: 0.64125
74 | - _ScaleX: 1
75 | - _ScaleY: 1
76 | - _ShaderFlags: 0
77 | - _Sharpness: 0
78 | - _SpecularPower: 2
79 | - _Stencil: 0
80 | - _StencilComp: 8
81 | - _StencilOp: 0
82 | - _StencilReadMask: 255
83 | - _StencilWriteMask: 255
84 | - _TextureHeight: 1024
85 | - _TextureWidth: 1024
86 | - _UnderlayDilate: 0
87 | - _UnderlayOffsetX: 0
88 | - _UnderlayOffsetY: 0
89 | - _UnderlaySoftness: 0
90 | - _VertexOffsetX: 0
91 | - _VertexOffsetY: 0
92 | - _WeightBold: 0.75
93 | - _WeightNormal: 0
94 | m_Colors:
95 | - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
96 | - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0}
97 | - _FaceColor: {r: 1, g: 1, b: 1, a: 1}
98 | - _GlowColor: {r: 0, g: 1, b: 0, a: 0.5}
99 | - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767}
100 | - _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
101 | - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1}
102 | - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1}
103 | - _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
104 | - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5}
105 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Outline.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 79459efec17a4d00a321bdcc27bbc385
3 | timeCreated: 1484172856
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8f586378b4e144a9851e7b34d9b748ee
3 | timeCreated: 1484171803
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Fonts & Materials/OFL.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a4d0f5d9018971e48b2299f75be1d710
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Fonts & Materials/inter.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5a271b00d4c9b204da2fcc7d17f418aa
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Fonts & Materials/inter.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/TextMesh Pro/Resources/Fonts & Materials/inter.ttf
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Fonts & Materials/inter.ttf.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9e39d0d7076c54847ad9093039937af2
3 | TrueTypeFontImporter:
4 | externalObjects: {}
5 | serializedVersion: 4
6 | fontSize: 16
7 | forceTextureCase: -2
8 | characterSpacing: 0
9 | characterPadding: 1
10 | includeFontData: 1
11 | fontNames:
12 | - Inter
13 | fallbackFontReferences:
14 | - {fileID: 12800000, guid: ec426cf69920748b9bf269824d40d941, type: 3}
15 | - {fileID: 12800000, guid: f5c9418a75e344d52a0adefdf954cd32, type: 3}
16 | - {fileID: 12800000, guid: 2380129d0a17547d1942674780c6dfb6, type: 3}
17 | - {fileID: 12800000, guid: 485d27999bf3a4b83bb2a4ff07bdc39a, type: 3}
18 | - {fileID: 12800000, guid: c74707e6eff7f41acb223c2ba236f246, type: 3}
19 | customCharacters:
20 | fontRenderingMode: 0
21 | ascentCalculationMode: 1
22 | useLegacyBoundsCalculation: 0
23 | shouldRoundAdvanceValue: 1
24 | userData:
25 | assetBundleName:
26 | assetBundleVariant:
27 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt:
--------------------------------------------------------------------------------
1 | )]}〕〉》」』】〙〗〟’”⦆»ヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻‐゠–〜?!‼⁇⁈⁉・、%,.:;。!?]):;=}¢°"†‡℃〆%,.
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/LineBreaking Following Characters.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fade42e8bc714b018fac513c043d323b
3 | timeCreated: 1425440388
4 | licenseType: Store
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt:
--------------------------------------------------------------------------------
1 | ([{〔〈《「『【〘〖〝‘“⦅«$—…‥〳〴〵\[({£¥"々〇$¥₩ #
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/LineBreaking Leading Characters.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d82c1b31c7e74239bff1220585707d2b
3 | timeCreated: 1425440388
4 | licenseType: Store
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Sprite Assets.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 512a49d95c0c4332bdd98131869c23c9
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Sprite Assets/EmojiOne.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c41005c129ba4d66911b75229fd70b45
3 | timeCreated: 1480316912
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Style Sheets.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4aecb92fff08436c8303b10eab8da368
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/Style Sheets/Default Style Sheet.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f952c082cb03451daed3ee968ac6c63e
3 | timeCreated: 1432805430
4 | licenseType: Store
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/TMP Settings.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: 11500000, guid: 2705215ac5b84b70bacc50632be6e391, type: 3}
13 | m_Name: TMP Settings
14 | m_EditorClassIdentifier:
15 | m_enableWordWrapping: 1
16 | m_enableKerning: 1
17 | m_enableExtraPadding: 0
18 | m_enableTintAllSprites: 0
19 | m_enableParseEscapeCharacters: 1
20 | m_EnableRaycastTarget: 1
21 | m_GetFontFeaturesAtRuntime: 1
22 | m_missingGlyphCharacter: 0
23 | m_warningsDisabled: 0
24 | m_defaultFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
25 | m_defaultFontAssetPath: Fonts & Materials/
26 | m_defaultFontSize: 36
27 | m_defaultAutoSizeMinRatio: 0.5
28 | m_defaultAutoSizeMaxRatio: 2
29 | m_defaultTextMeshProTextContainerSize: {x: 20, y: 5}
30 | m_defaultTextMeshProUITextContainerSize: {x: 200, y: 50}
31 | m_autoSizeTextContainer: 0
32 | m_fallbackFontAssets: []
33 | m_matchMaterialPreset: 1
34 | m_defaultSpriteAsset: {fileID: 11400000, guid: c41005c129ba4d66911b75229fd70b45,
35 | type: 2}
36 | m_defaultSpriteAssetPath: Sprite Assets/
37 | m_enableEmojiSupport: 1
38 | m_MissingCharacterSpriteUnicode: 0
39 | m_defaultColorGradientPresetsPath: Color Gradient Presets/
40 | m_defaultStyleSheet: {fileID: 11400000, guid: f952c082cb03451daed3ee968ac6c63e,
41 | type: 2}
42 | m_StyleSheetsResourcePath:
43 | m_leadingCharacters: {fileID: 4900000, guid: d82c1b31c7e74239bff1220585707d2b, type: 3}
44 | m_followingCharacters: {fileID: 4900000, guid: fade42e8bc714b018fac513c043d323b,
45 | type: 3}
46 | m_UseModernHangulLineBreakingRules: 0
47 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Resources/TMP Settings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3f5b5dff67a942289a9defa416b206f3
3 | timeCreated: 1436653997
4 | licenseType: Pro
5 | NativeFormatImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e9f693669af91aa45ad615fc681ed29f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Custom-Atlas.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 48bb5f55d8670e349b6e614913f9d910
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_Bitmap-Mobile.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1e3b057af24249748ff873be7fafee47
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader:
--------------------------------------------------------------------------------
1 | Shader "TextMeshPro/Bitmap" {
2 |
3 | Properties {
4 | _MainTex ("Font Atlas", 2D) = "white" {}
5 | _FaceTex ("Font Texture", 2D) = "white" {}
6 | [HDR]_FaceColor ("Text Color", Color) = (1,1,1,1)
7 |
8 | _VertexOffsetX ("Vertex OffsetX", float) = 0
9 | _VertexOffsetY ("Vertex OffsetY", float) = 0
10 | _MaskSoftnessX ("Mask SoftnessX", float) = 0
11 | _MaskSoftnessY ("Mask SoftnessY", float) = 0
12 |
13 | _ClipRect("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
14 |
15 | _StencilComp("Stencil Comparison", Float) = 8
16 | _Stencil("Stencil ID", Float) = 0
17 | _StencilOp("Stencil Operation", Float) = 0
18 | _StencilWriteMask("Stencil Write Mask", Float) = 255
19 | _StencilReadMask("Stencil Read Mask", Float) = 255
20 |
21 | _CullMode("Cull Mode", Float) = 0
22 | _ColorMask("Color Mask", Float) = 15
23 | }
24 |
25 | SubShader{
26 |
27 | Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" }
28 |
29 | Stencil
30 | {
31 | Ref[_Stencil]
32 | Comp[_StencilComp]
33 | Pass[_StencilOp]
34 | ReadMask[_StencilReadMask]
35 | WriteMask[_StencilWriteMask]
36 | }
37 |
38 |
39 | Lighting Off
40 | Cull [_CullMode]
41 | ZTest [unity_GUIZTestMode]
42 | ZWrite Off
43 | Fog { Mode Off }
44 | Blend SrcAlpha OneMinusSrcAlpha
45 | ColorMask[_ColorMask]
46 |
47 | Pass {
48 | CGPROGRAM
49 | #pragma vertex vert
50 | #pragma fragment frag
51 |
52 | #pragma multi_compile __ UNITY_UI_CLIP_RECT
53 | #pragma multi_compile __ UNITY_UI_ALPHACLIP
54 |
55 |
56 | #include "UnityCG.cginc"
57 |
58 | struct appdata_t {
59 | float4 vertex : POSITION;
60 | fixed4 color : COLOR;
61 | float2 texcoord0 : TEXCOORD0;
62 | float2 texcoord1 : TEXCOORD1;
63 | };
64 |
65 | struct v2f {
66 | float4 vertex : SV_POSITION;
67 | fixed4 color : COLOR;
68 | float2 texcoord0 : TEXCOORD0;
69 | float2 texcoord1 : TEXCOORD1;
70 | float4 mask : TEXCOORD2;
71 | };
72 |
73 | uniform sampler2D _MainTex;
74 | uniform sampler2D _FaceTex;
75 | uniform float4 _FaceTex_ST;
76 | uniform fixed4 _FaceColor;
77 |
78 | uniform float _VertexOffsetX;
79 | uniform float _VertexOffsetY;
80 | uniform float4 _ClipRect;
81 | uniform float _MaskSoftnessX;
82 | uniform float _MaskSoftnessY;
83 |
84 | float2 UnpackUV(float uv)
85 | {
86 | float2 output;
87 | output.x = floor(uv / 4096);
88 | output.y = uv - 4096 * output.x;
89 |
90 | return output * 0.001953125;
91 | }
92 |
93 | v2f vert (appdata_t v)
94 | {
95 | float4 vert = v.vertex;
96 | vert.x += _VertexOffsetX;
97 | vert.y += _VertexOffsetY;
98 |
99 | vert.xy += (vert.w * 0.5) / _ScreenParams.xy;
100 |
101 | float4 vPosition = UnityPixelSnap(UnityObjectToClipPos(vert));
102 |
103 | fixed4 faceColor = v.color;
104 | faceColor *= _FaceColor;
105 |
106 | v2f OUT;
107 | OUT.vertex = vPosition;
108 | OUT.color = faceColor;
109 | OUT.texcoord0 = v.texcoord0;
110 | OUT.texcoord1 = TRANSFORM_TEX(UnpackUV(v.texcoord1), _FaceTex);
111 | float2 pixelSize = vPosition.w;
112 | pixelSize /= abs(float2(_ScreenParams.x * UNITY_MATRIX_P[0][0], _ScreenParams.y * UNITY_MATRIX_P[1][1]));
113 |
114 | // Clamp _ClipRect to 16bit.
115 | float4 clampedRect = clamp(_ClipRect, -2e10, 2e10);
116 | OUT.mask = float4(vert.xy * 2 - clampedRect.xy - clampedRect.zw, 0.25 / (0.25 * half2(_MaskSoftnessX, _MaskSoftnessY) + pixelSize.xy));
117 |
118 | return OUT;
119 | }
120 |
121 | fixed4 frag (v2f IN) : SV_Target
122 | {
123 | fixed4 color = tex2D(_MainTex, IN.texcoord0);
124 | color = fixed4 (tex2D(_FaceTex, IN.texcoord1).rgb * IN.color.rgb, IN.color.a * color.a);
125 |
126 | // Alternative implementation to UnityGet2DClipping with support for softness.
127 | #if UNITY_UI_CLIP_RECT
128 | half2 m = saturate((_ClipRect.zw - _ClipRect.xy - abs(IN.mask.xy)) * IN.mask.zw);
129 | color *= m.x * m.y;
130 | #endif
131 |
132 | #if UNITY_UI_ALPHACLIP
133 | clip(color.a - 0.001);
134 | #endif
135 |
136 | return color;
137 | }
138 | ENDCG
139 | }
140 | }
141 |
142 | CustomEditor "TMPro.EditorUtilities.TMP_BitmapShaderGUI"
143 | }
144 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_Bitmap.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 128e987d567d4e2c824d754223b3f3b0
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_SDF Overlay.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd89cf5b9246416f84610a006f916af7
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_SDF SSD.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 14eb328de4b8eb245bb7cea29e4ac00b
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Masking.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bc1ede39bf3643ee8e493720e4259791
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile Overlay.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a02a7d8c237544f1962732b55a9aebf1
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader:
--------------------------------------------------------------------------------
1 | // Simplified SDF shader:
2 | // - No Shading Option (bevel / bump / env map)
3 | // - No Glow Option
4 | // - Softness is applied on both side of the outline
5 |
6 | Shader "TextMeshPro/Mobile/Distance Field SSD" {
7 |
8 | Properties {
9 | [HDR]_FaceColor ("Face Color", Color) = (1,1,1,1)
10 | _FaceDilate ("Face Dilate", Range(-1,1)) = 0
11 |
12 | [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1)
13 | _OutlineWidth ("Outline Thickness", Range(0,1)) = 0
14 | _OutlineSoftness ("Outline Softness", Range(0,1)) = 0
15 |
16 | [HDR]_UnderlayColor ("Border Color", Color) = (0,0,0,.5)
17 | _UnderlayOffsetX ("Border OffsetX", Range(-1,1)) = 0
18 | _UnderlayOffsetY ("Border OffsetY", Range(-1,1)) = 0
19 | _UnderlayDilate ("Border Dilate", Range(-1,1)) = 0
20 | _UnderlaySoftness ("Border Softness", Range(0,1)) = 0
21 |
22 | _WeightNormal ("Weight Normal", float) = 0
23 | _WeightBold ("Weight Bold", float) = .5
24 |
25 | _ShaderFlags ("Flags", float) = 0
26 | _ScaleRatioA ("Scale RatioA", float) = 1
27 | _ScaleRatioB ("Scale RatioB", float) = 1
28 | _ScaleRatioC ("Scale RatioC", float) = 1
29 |
30 | _MainTex ("Font Atlas", 2D) = "white" {}
31 | _TextureWidth ("Texture Width", float) = 512
32 | _TextureHeight ("Texture Height", float) = 512
33 | _GradientScale ("Gradient Scale", float) = 5
34 | _ScaleX ("Scale X", float) = 1
35 | _ScaleY ("Scale Y", float) = 1
36 | _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
37 | _Sharpness ("Sharpness", Range(-1,1)) = 0
38 |
39 | _VertexOffsetX ("Vertex OffsetX", float) = 0
40 | _VertexOffsetY ("Vertex OffsetY", float) = 0
41 |
42 | _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
43 | _MaskSoftnessX ("Mask SoftnessX", float) = 0
44 | _MaskSoftnessY ("Mask SoftnessY", float) = 0
45 | _MaskTex ("Mask Texture", 2D) = "white" {}
46 | _MaskInverse ("Inverse", float) = 0
47 | _MaskEdgeColor ("Edge Color", Color) = (1,1,1,1)
48 | _MaskEdgeSoftness ("Edge Softness", Range(0, 1)) = 0.01
49 | _MaskWipeControl ("Wipe Position", Range(0, 1)) = 0.5
50 |
51 | _StencilComp ("Stencil Comparison", Float) = 8
52 | _Stencil ("Stencil ID", Float) = 0
53 | _StencilOp ("Stencil Operation", Float) = 0
54 | _StencilWriteMask ("Stencil Write Mask", Float) = 255
55 | _StencilReadMask ("Stencil Read Mask", Float) = 255
56 |
57 | _CullMode ("Cull Mode", Float) = 0
58 | _ColorMask ("Color Mask", Float) = 15
59 | }
60 |
61 | SubShader {
62 | Tags {
63 | "Queue"="Transparent"
64 | "IgnoreProjector"="True"
65 | "RenderType"="Transparent"
66 | }
67 |
68 | Stencil
69 | {
70 | Ref [_Stencil]
71 | Comp [_StencilComp]
72 | Pass [_StencilOp]
73 | ReadMask [_StencilReadMask]
74 | WriteMask [_StencilWriteMask]
75 | }
76 |
77 | Cull [_CullMode]
78 | ZWrite Off
79 | Lighting Off
80 | Fog { Mode Off }
81 | ZTest [unity_GUIZTestMode]
82 | Blend One OneMinusSrcAlpha
83 | ColorMask [_ColorMask]
84 |
85 | Pass {
86 | CGPROGRAM
87 | #pragma vertex VertShader
88 | #pragma fragment PixShader
89 | #pragma shader_feature __ OUTLINE_ON
90 | #pragma shader_feature __ UNDERLAY_ON UNDERLAY_INNER
91 |
92 | #pragma multi_compile __ UNITY_UI_CLIP_RECT
93 | #pragma multi_compile __ UNITY_UI_ALPHACLIP
94 |
95 | #include "UnityCG.cginc"
96 | #include "UnityUI.cginc"
97 | #include "TMPro_Properties.cginc"
98 |
99 | #include "TMPro_Mobile.cginc"
100 |
101 | ENDCG
102 | }
103 | }
104 |
105 | CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
106 | }
107 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile SSD.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c8d12adcee749c344b8117cf7c7eb912
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_SDF-Mobile.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fe393ace9b354375a9cb14cdbbc28be4
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader:
--------------------------------------------------------------------------------
1 | // Simplified version of the SDF Surface shader :
2 | // - No support for Bevel, Bump or envmap
3 | // - Diffuse only lighting
4 | // - Fully supports only 1 directional light. Other lights can affect it, but it will be per-vertex/SH.
5 |
6 | Shader "TextMeshPro/Mobile/Distance Field (Surface)" {
7 |
8 | Properties {
9 | _FaceTex ("Fill Texture", 2D) = "white" {}
10 | [HDR]_FaceColor ("Fill Color", Color) = (1,1,1,1)
11 | _FaceDilate ("Face Dilate", Range(-1,1)) = 0
12 |
13 | [HDR]_OutlineColor ("Outline Color", Color) = (0,0,0,1)
14 | _OutlineTex ("Outline Texture", 2D) = "white" {}
15 | _OutlineWidth ("Outline Thickness", Range(0, 1)) = 0
16 | _OutlineSoftness ("Outline Softness", Range(0,1)) = 0
17 |
18 | [HDR]_GlowColor ("Color", Color) = (0, 1, 0, 0.5)
19 | _GlowOffset ("Offset", Range(-1,1)) = 0
20 | _GlowInner ("Inner", Range(0,1)) = 0.05
21 | _GlowOuter ("Outer", Range(0,1)) = 0.05
22 | _GlowPower ("Falloff", Range(1, 0)) = 0.75
23 |
24 | _WeightNormal ("Weight Normal", float) = 0
25 | _WeightBold ("Weight Bold", float) = 0.5
26 |
27 | // Should not be directly exposed to the user
28 | _ShaderFlags ("Flags", float) = 0
29 | _ScaleRatioA ("Scale RatioA", float) = 1
30 | _ScaleRatioB ("Scale RatioB", float) = 1
31 | _ScaleRatioC ("Scale RatioC", float) = 1
32 |
33 | _MainTex ("Font Atlas", 2D) = "white" {}
34 | _TextureWidth ("Texture Width", float) = 512
35 | _TextureHeight ("Texture Height", float) = 512
36 | _GradientScale ("Gradient Scale", float) = 5.0
37 | _ScaleX ("Scale X", float) = 1.0
38 | _ScaleY ("Scale Y", float) = 1.0
39 | _PerspectiveFilter ("Perspective Correction", Range(0, 1)) = 0.875
40 | _Sharpness ("Sharpness", Range(-1,1)) = 0
41 |
42 | _VertexOffsetX ("Vertex OffsetX", float) = 0
43 | _VertexOffsetY ("Vertex OffsetY", float) = 0
44 |
45 | _CullMode ("Cull Mode", Float) = 0
46 | //_MaskCoord ("Mask Coords", vector) = (0,0,0,0)
47 | //_MaskSoftness ("Mask Softness", float) = 0
48 | }
49 |
50 | SubShader {
51 |
52 | Tags {
53 | "Queue"="Transparent"
54 | "IgnoreProjector"="True"
55 | "RenderType"="Transparent"
56 | }
57 |
58 | LOD 300
59 | Cull [_CullMode]
60 |
61 | CGPROGRAM
62 | #pragma surface PixShader Lambert alpha:blend vertex:VertShader noforwardadd nolightmap nodirlightmap
63 | #pragma target 3.0
64 | #pragma shader_feature __ GLOW_ON
65 |
66 | #include "TMPro_Properties.cginc"
67 | #include "TMPro.cginc"
68 |
69 | half _FaceShininess;
70 | half _OutlineShininess;
71 |
72 | struct Input
73 | {
74 | fixed4 color : COLOR;
75 | float2 uv_MainTex;
76 | float2 uv2_FaceTex;
77 | float2 uv2_OutlineTex;
78 | float2 param; // Weight, Scale
79 | float3 viewDirEnv;
80 | };
81 |
82 | #include "TMPro_Surface.cginc"
83 |
84 | ENDCG
85 |
86 | // Pass to render object as a shadow caster
87 | Pass
88 | {
89 | Name "Caster"
90 | Tags { "LightMode" = "ShadowCaster" }
91 | Offset 1, 1
92 |
93 | Fog {Mode Off}
94 | ZWrite On ZTest LEqual Cull Off
95 |
96 | CGPROGRAM
97 | #pragma vertex vert
98 | #pragma fragment frag
99 | #pragma multi_compile_shadowcaster
100 | #include "UnityCG.cginc"
101 |
102 | struct v2f {
103 | V2F_SHADOW_CASTER;
104 | float2 uv : TEXCOORD1;
105 | float2 uv2 : TEXCOORD3;
106 | float alphaClip : TEXCOORD2;
107 | };
108 |
109 | uniform float4 _MainTex_ST;
110 | uniform float4 _OutlineTex_ST;
111 | float _OutlineWidth;
112 | float _FaceDilate;
113 | float _ScaleRatioA;
114 |
115 | v2f vert( appdata_base v )
116 | {
117 | v2f o;
118 | TRANSFER_SHADOW_CASTER(o)
119 | o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
120 | o.uv2 = TRANSFORM_TEX(v.texcoord, _OutlineTex);
121 | o.alphaClip = o.alphaClip = (1.0 - _OutlineWidth * _ScaleRatioA - _FaceDilate * _ScaleRatioA) / 2;
122 | return o;
123 | }
124 |
125 | uniform sampler2D _MainTex;
126 |
127 | float4 frag(v2f i) : COLOR
128 | {
129 | fixed4 texcol = tex2D(_MainTex, i.uv).a;
130 | clip(texcol.a - i.alphaClip);
131 | SHADOW_CASTER_FRAGMENT(i)
132 | }
133 | ENDCG
134 | }
135 | }
136 |
137 | CustomEditor "TMPro.EditorUtilities.TMP_SDFShaderGUI"
138 | }
139 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface-Mobile.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 85187c2149c549c5b33f0cdb02836b17
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_SDF-Surface.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f7ada0af4f174f0694ca6a487b8f543d
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_SDF.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 68e6db2ebdc24f95958faec2be5558d6
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader:
--------------------------------------------------------------------------------
1 | Shader "TextMeshPro/Sprite"
2 | {
3 | Properties
4 | {
5 | [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
6 | _Color ("Tint", Color) = (1,1,1,1)
7 |
8 | _StencilComp ("Stencil Comparison", Float) = 8
9 | _Stencil ("Stencil ID", Float) = 0
10 | _StencilOp ("Stencil Operation", Float) = 0
11 | _StencilWriteMask ("Stencil Write Mask", Float) = 255
12 | _StencilReadMask ("Stencil Read Mask", Float) = 255
13 |
14 | _CullMode ("Cull Mode", Float) = 0
15 | _ColorMask ("Color Mask", Float) = 15
16 | _ClipRect ("Clip Rect", vector) = (-32767, -32767, 32767, 32767)
17 |
18 | [Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) = 0
19 | }
20 |
21 | SubShader
22 | {
23 | Tags
24 | {
25 | "Queue"="Transparent"
26 | "IgnoreProjector"="True"
27 | "RenderType"="Transparent"
28 | "PreviewType"="Plane"
29 | "CanUseSpriteAtlas"="True"
30 | }
31 |
32 | Stencil
33 | {
34 | Ref [_Stencil]
35 | Comp [_StencilComp]
36 | Pass [_StencilOp]
37 | ReadMask [_StencilReadMask]
38 | WriteMask [_StencilWriteMask]
39 | }
40 |
41 | Cull [_CullMode]
42 | Lighting Off
43 | ZWrite Off
44 | ZTest [unity_GUIZTestMode]
45 | Blend SrcAlpha OneMinusSrcAlpha
46 | ColorMask [_ColorMask]
47 |
48 | Pass
49 | {
50 | Name "Default"
51 | CGPROGRAM
52 | #pragma vertex vert
53 | #pragma fragment frag
54 | #pragma target 2.0
55 |
56 | #include "UnityCG.cginc"
57 | #include "UnityUI.cginc"
58 |
59 | #pragma multi_compile __ UNITY_UI_CLIP_RECT
60 | #pragma multi_compile __ UNITY_UI_ALPHACLIP
61 |
62 | struct appdata_t
63 | {
64 | float4 vertex : POSITION;
65 | float4 color : COLOR;
66 | float2 texcoord : TEXCOORD0;
67 | UNITY_VERTEX_INPUT_INSTANCE_ID
68 | };
69 |
70 | struct v2f
71 | {
72 | float4 vertex : SV_POSITION;
73 | fixed4 color : COLOR;
74 | float2 texcoord : TEXCOORD0;
75 | float4 worldPosition : TEXCOORD1;
76 | UNITY_VERTEX_OUTPUT_STEREO
77 | };
78 |
79 | sampler2D _MainTex;
80 | fixed4 _Color;
81 | fixed4 _TextureSampleAdd;
82 | float4 _ClipRect;
83 | float4 _MainTex_ST;
84 |
85 | v2f vert(appdata_t v)
86 | {
87 | v2f OUT;
88 | UNITY_SETUP_INSTANCE_ID(v);
89 | UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(OUT);
90 | OUT.worldPosition = v.vertex;
91 | OUT.vertex = UnityObjectToClipPos(OUT.worldPosition);
92 |
93 | OUT.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
94 |
95 | OUT.color = v.color * _Color;
96 | return OUT;
97 | }
98 |
99 | fixed4 frag(v2f IN) : SV_Target
100 | {
101 | half4 color = (tex2D(_MainTex, IN.texcoord) + _TextureSampleAdd) * IN.color;
102 |
103 | #ifdef UNITY_UI_CLIP_RECT
104 | color.a *= UnityGet2DClipping(IN.worldPosition.xy, _ClipRect);
105 | #endif
106 |
107 | #ifdef UNITY_UI_ALPHACLIP
108 | clip (color.a - 0.001);
109 | #endif
110 |
111 | return color;
112 | }
113 | ENDCG
114 | }
115 | }
116 | }
117 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMP_Sprite.shader.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cf81c85f95fe47e1a27f6ae460cf182c
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMPro.cginc:
--------------------------------------------------------------------------------
1 | float2 UnpackUV(float uv)
2 | {
3 | float2 output;
4 | output.x = floor(uv / 4096);
5 | output.y = uv - 4096 * output.x;
6 |
7 | return output * 0.001953125;
8 | }
9 |
10 | fixed4 GetColor(half d, fixed4 faceColor, fixed4 outlineColor, half outline, half softness)
11 | {
12 | half faceAlpha = 1-saturate((d - outline * 0.5 + softness * 0.5) / (1.0 + softness));
13 | half outlineAlpha = saturate((d + outline * 0.5)) * sqrt(min(1.0, outline));
14 |
15 | faceColor.rgb *= faceColor.a;
16 | outlineColor.rgb *= outlineColor.a;
17 |
18 | faceColor = lerp(faceColor, outlineColor, outlineAlpha);
19 |
20 | faceColor *= faceAlpha;
21 |
22 | return faceColor;
23 | }
24 |
25 | float3 GetSurfaceNormal(float4 h, float bias)
26 | {
27 | bool raisedBevel = step(1, fmod(_ShaderFlags, 2));
28 |
29 | h += bias+_BevelOffset;
30 |
31 | float bevelWidth = max(.01, _OutlineWidth+_BevelWidth);
32 |
33 | // Track outline
34 | h -= .5;
35 | h /= bevelWidth;
36 | h = saturate(h+.5);
37 |
38 | if(raisedBevel) h = 1 - abs(h*2.0 - 1.0);
39 | h = lerp(h, sin(h*3.141592/2.0), _BevelRoundness);
40 | h = min(h, 1.0-_BevelClamp);
41 | h *= _Bevel * bevelWidth * _GradientScale * -2.0;
42 |
43 | float3 va = normalize(float3(1.0, 0.0, h.y - h.x));
44 | float3 vb = normalize(float3(0.0, -1.0, h.w - h.z));
45 |
46 | return cross(va, vb);
47 | }
48 |
49 | float3 GetSurfaceNormal(float2 uv, float bias, float3 delta)
50 | {
51 | // Read "height field"
52 | float4 h = {tex2D(_MainTex, uv - delta.xz).a,
53 | tex2D(_MainTex, uv + delta.xz).a,
54 | tex2D(_MainTex, uv - delta.zy).a,
55 | tex2D(_MainTex, uv + delta.zy).a};
56 |
57 | return GetSurfaceNormal(h, bias);
58 | }
59 |
60 | float3 GetSpecular(float3 n, float3 l)
61 | {
62 | float spec = pow(max(0.0, dot(n, l)), _Reflectivity);
63 | return _SpecularColor.rgb * spec * _SpecularPower;
64 | }
65 |
66 | float4 GetGlowColor(float d, float scale)
67 | {
68 | float glow = d - (_GlowOffset*_ScaleRatioB) * 0.5 * scale;
69 | float t = lerp(_GlowInner, (_GlowOuter * _ScaleRatioB), step(0.0, glow)) * 0.5 * scale;
70 | glow = saturate(abs(glow/(1.0 + t)));
71 | glow = 1.0-pow(glow, _GlowPower);
72 | glow *= sqrt(min(1.0, t)); // Fade off glow thinner than 1 screen pixel
73 | return float4(_GlowColor.rgb, saturate(_GlowColor.a * glow * 2));
74 | }
75 |
76 | float4 BlendARGB(float4 overlying, float4 underlying)
77 | {
78 | overlying.rgb *= overlying.a;
79 | underlying.rgb *= underlying.a;
80 | float3 blended = overlying.rgb + ((1-overlying.a)*underlying.rgb);
81 | float alpha = underlying.a + (1-underlying.a)*overlying.a;
82 | return float4(blended, alpha);
83 | }
84 |
85 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMPro.cginc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 407bc68d299748449bbf7f48ee690f8d
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMPro_Mobile.cginc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c334973cef89a9840b0b0c507e0377ab
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc:
--------------------------------------------------------------------------------
1 | // UI Editable properties
2 | uniform sampler2D _FaceTex; // Alpha : Signed Distance
3 | uniform float _FaceUVSpeedX;
4 | uniform float _FaceUVSpeedY;
5 | uniform fixed4 _FaceColor; // RGBA : Color + Opacity
6 | uniform float _FaceDilate; // v[ 0, 1]
7 | uniform float _OutlineSoftness; // v[ 0, 1]
8 |
9 | uniform sampler2D _OutlineTex; // RGBA : Color + Opacity
10 | uniform float _OutlineUVSpeedX;
11 | uniform float _OutlineUVSpeedY;
12 | uniform fixed4 _OutlineColor; // RGBA : Color + Opacity
13 | uniform float _OutlineWidth; // v[ 0, 1]
14 |
15 | uniform float _Bevel; // v[ 0, 1]
16 | uniform float _BevelOffset; // v[-1, 1]
17 | uniform float _BevelWidth; // v[-1, 1]
18 | uniform float _BevelClamp; // v[ 0, 1]
19 | uniform float _BevelRoundness; // v[ 0, 1]
20 |
21 | uniform sampler2D _BumpMap; // Normal map
22 | uniform float _BumpOutline; // v[ 0, 1]
23 | uniform float _BumpFace; // v[ 0, 1]
24 |
25 | uniform samplerCUBE _Cube; // Cube / sphere map
26 | uniform fixed4 _ReflectFaceColor; // RGB intensity
27 | uniform fixed4 _ReflectOutlineColor;
28 | //uniform float _EnvTiltX; // v[-1, 1]
29 | //uniform float _EnvTiltY; // v[-1, 1]
30 | uniform float3 _EnvMatrixRotation;
31 | uniform float4x4 _EnvMatrix;
32 |
33 | uniform fixed4 _SpecularColor; // RGB intensity
34 | uniform float _LightAngle; // v[ 0,Tau]
35 | uniform float _SpecularPower; // v[ 0, 1]
36 | uniform float _Reflectivity; // v[ 5, 15]
37 | uniform float _Diffuse; // v[ 0, 1]
38 | uniform float _Ambient; // v[ 0, 1]
39 |
40 | uniform fixed4 _UnderlayColor; // RGBA : Color + Opacity
41 | uniform float _UnderlayOffsetX; // v[-1, 1]
42 | uniform float _UnderlayOffsetY; // v[-1, 1]
43 | uniform float _UnderlayDilate; // v[-1, 1]
44 | uniform float _UnderlaySoftness; // v[ 0, 1]
45 |
46 | uniform fixed4 _GlowColor; // RGBA : Color + Intesity
47 | uniform float _GlowOffset; // v[-1, 1]
48 | uniform float _GlowOuter; // v[ 0, 1]
49 | uniform float _GlowInner; // v[ 0, 1]
50 | uniform float _GlowPower; // v[ 1, 1/(1+4*4)]
51 |
52 | // API Editable properties
53 | uniform float _ShaderFlags;
54 | uniform float _WeightNormal;
55 | uniform float _WeightBold;
56 |
57 | uniform float _ScaleRatioA;
58 | uniform float _ScaleRatioB;
59 | uniform float _ScaleRatioC;
60 |
61 | uniform float _VertexOffsetX;
62 | uniform float _VertexOffsetY;
63 |
64 | //uniform float _UseClipRect;
65 | uniform float _MaskID;
66 | uniform sampler2D _MaskTex;
67 | uniform float4 _MaskCoord;
68 | uniform float4 _ClipRect; // bottom left(x,y) : top right(z,w)
69 | //uniform float _MaskWipeControl;
70 | //uniform float _MaskEdgeSoftness;
71 | //uniform fixed4 _MaskEdgeColor;
72 | //uniform bool _MaskInverse;
73 |
74 | uniform float _MaskSoftnessX;
75 | uniform float _MaskSoftnessY;
76 |
77 | // Font Atlas properties
78 | uniform sampler2D _MainTex;
79 | uniform float _TextureWidth;
80 | uniform float _TextureHeight;
81 | uniform float _GradientScale;
82 | uniform float _ScaleX;
83 | uniform float _ScaleY;
84 | uniform float _PerspectiveFilter;
85 | uniform float _Sharpness;
86 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMPro_Properties.cginc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3997e2241185407d80309a82f9148466
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc:
--------------------------------------------------------------------------------
1 | void VertShader(inout appdata_full v, out Input data)
2 | {
3 | v.vertex.x += _VertexOffsetX;
4 | v.vertex.y += _VertexOffsetY;
5 |
6 | UNITY_INITIALIZE_OUTPUT(Input, data);
7 |
8 | float bold = step(v.texcoord1.y, 0);
9 |
10 | // Generate normal for backface
11 | float3 view = ObjSpaceViewDir(v.vertex);
12 | v.normal *= sign(dot(v.normal, view));
13 |
14 | #if USE_DERIVATIVE
15 | data.param.y = 1;
16 | #else
17 | float4 vert = v.vertex;
18 | float4 vPosition = UnityObjectToClipPos(vert);
19 | float2 pixelSize = vPosition.w;
20 |
21 | pixelSize /= float2(_ScaleX, _ScaleY) * mul((float2x2)UNITY_MATRIX_P, _ScreenParams.xy);
22 | float scale = rsqrt(dot(pixelSize, pixelSize));
23 | scale *= abs(v.texcoord1.y) * _GradientScale * (_Sharpness + 1);
24 | scale = lerp(scale * (1 - _PerspectiveFilter), scale, abs(dot(UnityObjectToWorldNormal(v.normal.xyz), normalize(WorldSpaceViewDir(vert)))));
25 | data.param.y = scale;
26 | #endif
27 |
28 | data.param.x = (lerp(_WeightNormal, _WeightBold, bold) / 4.0 + _FaceDilate) * _ScaleRatioA * 0.5; //
29 |
30 | v.texcoord1.xy = UnpackUV(v.texcoord1.x);
31 | data.viewDirEnv = mul((float3x3)_EnvMatrix, WorldSpaceViewDir(v.vertex));
32 | }
33 |
34 | void PixShader(Input input, inout SurfaceOutput o)
35 | {
36 |
37 | #if USE_DERIVATIVE
38 | float2 pixelSize = float2(ddx(input.uv_MainTex.y), ddy(input.uv_MainTex.y));
39 | pixelSize *= _TextureWidth * .75;
40 | float scale = rsqrt(dot(pixelSize, pixelSize)) * _GradientScale * (_Sharpness + 1);
41 | #else
42 | float scale = input.param.y;
43 | #endif
44 |
45 | // Signed distance
46 | float c = tex2D(_MainTex, input.uv_MainTex).a;
47 | float sd = (.5 - c - input.param.x) * scale + .5;
48 | float outline = _OutlineWidth*_ScaleRatioA * scale;
49 | float softness = _OutlineSoftness*_ScaleRatioA * scale;
50 |
51 | // Color & Alpha
52 | float4 faceColor = _FaceColor;
53 | float4 outlineColor = _OutlineColor;
54 | faceColor *= input.color;
55 | outlineColor.a *= input.color.a;
56 | faceColor *= tex2D(_FaceTex, float2(input.uv2_FaceTex.x + _FaceUVSpeedX * _Time.y, input.uv2_FaceTex.y + _FaceUVSpeedY * _Time.y));
57 | outlineColor *= tex2D(_OutlineTex, float2(input.uv2_OutlineTex.x + _OutlineUVSpeedX * _Time.y, input.uv2_OutlineTex.y + _OutlineUVSpeedY * _Time.y));
58 | faceColor = GetColor(sd, faceColor, outlineColor, outline, softness);
59 | faceColor.rgb /= max(faceColor.a, 0.0001);
60 |
61 | #if BEVEL_ON
62 | float3 delta = float3(1.0 / _TextureWidth, 1.0 / _TextureHeight, 0.0);
63 |
64 | float4 smp4x = {tex2D(_MainTex, input.uv_MainTex - delta.xz).a,
65 | tex2D(_MainTex, input.uv_MainTex + delta.xz).a,
66 | tex2D(_MainTex, input.uv_MainTex - delta.zy).a,
67 | tex2D(_MainTex, input.uv_MainTex + delta.zy).a };
68 |
69 | // Face Normal
70 | float3 n = GetSurfaceNormal(smp4x, input.param.x);
71 |
72 | // Bumpmap
73 | float3 bump = UnpackNormal(tex2D(_BumpMap, input.uv2_FaceTex.xy)).xyz;
74 | bump *= lerp(_BumpFace, _BumpOutline, saturate(sd + outline * 0.5));
75 | bump = lerp(float3(0, 0, 1), bump, faceColor.a);
76 | n = normalize(n - bump);
77 |
78 | // Cubemap reflection
79 | fixed4 reflcol = texCUBE(_Cube, reflect(input.viewDirEnv, mul((float3x3)unity_ObjectToWorld, n)));
80 | float3 emission = reflcol.rgb * lerp(_ReflectFaceColor.rgb, _ReflectOutlineColor.rgb, saturate(sd + outline * 0.5)) * faceColor.a;
81 | #else
82 | float3 n = float3(0, 0, -1);
83 | float3 emission = float3(0, 0, 0);
84 | #endif
85 |
86 | #if GLOW_ON
87 | float4 glowColor = GetGlowColor(sd, scale);
88 | glowColor.a *= input.color.a;
89 | emission += glowColor.rgb*glowColor.a;
90 | faceColor = BlendARGB(glowColor, faceColor);
91 | faceColor.rgb /= max(faceColor.a, 0.0001);
92 | #endif
93 |
94 | // Set Standard output structure
95 | o.Albedo = faceColor.rgb;
96 | o.Normal = -n;
97 | o.Emission = emission;
98 | o.Specular = lerp(_FaceShininess, _OutlineShininess, saturate(sd + outline * 0.5));
99 | o.Gloss = 1;
100 | o.Alpha = faceColor.a;
101 | }
102 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Shaders/TMPro_Surface.cginc.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d930090c0cd643c7b55f19a38538c162
3 | ShaderImporter:
4 | externalObjects: {}
5 | defaultTextures: []
6 | nonModifiableTextures: []
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Sprites.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d0603b6d5186471b96c778c3949c7ce2
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt:
--------------------------------------------------------------------------------
1 | This sample of beautiful emojis are provided by EmojiOne https://www.emojione.com/
2 |
3 | Please visit their website to view the complete set of their emojis and review their licensing terms.
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Sprites/EmojiOne Attribution.txt.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 381dcb09d5029d14897e55f98031fca5
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Sprites/EmojiOne.json.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8f05276190cf498a8153f6cbe761d4e6
3 | timeCreated: 1480316860
4 | licenseType: Pro
5 | TextScriptImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/TextMesh Pro/Sprites/EmojiOne.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/TextMesh Pro/Sprites/EmojiOne.png
--------------------------------------------------------------------------------
/Assets/UGSSamples.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4e6329ce83dad084bad27857fc32ec21
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 86856b964d1144948bcd462a13ac4e10
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7a5c46e90b7666a4a80cb6394f17d9c6
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/Icons.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4479b660f000945859bb1eae6d83530a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/Icons/AddFriend_Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/Icons/AddFriend_Sprite.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/Icons/ArrowDown_Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/Icons/ArrowDown_Sprite.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/Icons/Block_Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/Icons/Block_Sprite.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/Icons/Check_Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/Icons/Check_Sprite.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/Icons/Close_Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/Icons/Close_Sprite.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/Icons/Dot_Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/Icons/Dot_Sprite.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/Icons/FileCopy_Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/Icons/FileCopy_Sprite.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/Icons/FriendsIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/Icons/FriendsIcon.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/Icons/Friends_Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/Icons/Friends_Sprite.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/Icons/RemoveFriend_Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/Icons/RemoveFriend_Sprite.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/Icons/Unblock_Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/Icons/Unblock_Sprite.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/UI.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7146ed82d4bf5914ebb9208e1a826a5a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/UI/Background_Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/UI/Background_Sprite.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/UI/Background_Sprite.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d5020ca218ec03247b04e2677e62d92a
3 | TextureImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 11
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 | streamingMipmaps: 0
25 | streamingMipmapsPriority: 0
26 | vTOnly: 0
27 | ignoreMasterTextureLimit: 0
28 | grayScaleToAlpha: 0
29 | generateCubemap: 6
30 | cubemapConvolution: 0
31 | seamlessCubemap: 0
32 | textureFormat: 1
33 | maxTextureSize: 2048
34 | textureSettings:
35 | serializedVersion: 2
36 | filterMode: 1
37 | aniso: 1
38 | mipBias: 0
39 | wrapU: 0
40 | wrapV: 0
41 | wrapW: 0
42 | nPOTScale: 0
43 | lightmap: 0
44 | compressionQuality: 50
45 | spriteMode: 1
46 | spriteExtrude: 1
47 | spriteMeshType: 1
48 | alignment: 0
49 | spritePivot: {x: 0.5, y: 0.5}
50 | spritePixelsToUnits: 100
51 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
52 | spriteGenerateFallbackPhysicsShape: 1
53 | alphaUsage: 1
54 | alphaIsTransparency: 0
55 | spriteTessellationDetail: -1
56 | textureType: 8
57 | textureShape: 1
58 | singleChannelComponent: 0
59 | flipbookRows: 1
60 | flipbookColumns: 1
61 | maxTextureSizeSet: 0
62 | compressionQualitySet: 0
63 | textureFormatSet: 0
64 | ignorePngGamma: 0
65 | applyGammaDecoding: 0
66 | platformSettings:
67 | - serializedVersion: 3
68 | buildTarget: DefaultTexturePlatform
69 | maxTextureSize: 1024
70 | resizeAlgorithm: 0
71 | textureFormat: -1
72 | textureCompression: 1
73 | compressionQuality: 50
74 | crunchedCompression: 1
75 | allowsAlphaSplitting: 0
76 | overridden: 0
77 | androidETC2FallbackOverride: 0
78 | forceMaximumCompressionQuality_BC6H_BC7: 0
79 | - serializedVersion: 3
80 | buildTarget: Standalone
81 | maxTextureSize: 1024
82 | resizeAlgorithm: 0
83 | textureFormat: -1
84 | textureCompression: 1
85 | compressionQuality: 50
86 | crunchedCompression: 1
87 | allowsAlphaSplitting: 0
88 | overridden: 0
89 | androidETC2FallbackOverride: 0
90 | forceMaximumCompressionQuality_BC6H_BC7: 0
91 | - serializedVersion: 3
92 | buildTarget: Android
93 | maxTextureSize: 1024
94 | resizeAlgorithm: 0
95 | textureFormat: -1
96 | textureCompression: 1
97 | compressionQuality: 50
98 | crunchedCompression: 1
99 | allowsAlphaSplitting: 0
100 | overridden: 0
101 | androidETC2FallbackOverride: 0
102 | forceMaximumCompressionQuality_BC6H_BC7: 0
103 | spriteSheet:
104 | serializedVersion: 2
105 | sprites: []
106 | outline: []
107 | physicsShape: []
108 | bones: []
109 | spriteID: 5e97eb03825dee720800000000000000
110 | internalID: 0
111 | vertices: []
112 | indices:
113 | edges: []
114 | weights: []
115 | secondaryTextures: []
116 | nameFileIdTable: {}
117 | spritePackingTag:
118 | pSDRemoveMatte: 0
119 | pSDShowRemoveMatteOption: 0
120 | userData:
121 | assetBundleName:
122 | assetBundleVariant:
123 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/UI/Circle_Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/UI/Circle_Sprite.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Art/UI/RectRoundedBottom_Sprite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Art/UI/RectRoundedBottom_Sprite.png
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## [1.1.0] - 2021-07-15
2 | - Add new functionality to set user to Offline if they lose internet connection.
3 |
4 | ## [1.0.1] - 2023-04-24
5 | - Added ability to add friends by name
6 | - Remove ISocialPlayerProfile
7 | - Remove id fields
8 | - Fix UI Toolkit scene background
9 |
10 | ## [1.0.0] - 2023-02-21
11 | - Initial release
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/CHANGELOG.md.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1da6d97f146250b4aa434dcc20271662
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Documentation.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: da4838c05d99f9645be30bad8e965da7
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Documentation/FriendsSample_ClassDiagram.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Unity-Technologies/com.unity.services.samples.friends/f671055368f50296d95db8e64bda4c281a583b9f/Assets/UGSSamples/FriendsSample/Documentation/FriendsSample_ClassDiagram.pdf
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Documentation/FriendsSample_ClassDiagram.pdf.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0b6530b991ae13d4d8e40dd7c04fa955
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8eb3741a1c0ed9048a12bd753d2ddf72
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e63c13c752fbc4149bad64f7f13cd427
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/RelationshipsManager.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 624c75379adc16346aa5782c95016b1a
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/UIElements.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 059fdb69011e54821a203c49f7cdc24e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/UIElements/EntryButton.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6fae7973509ec7c4f8c2f8053de5051d
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/UIElements/InputField.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 25c7ec8e5f91fb9479a3c21d73e190e6
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/UIElements/NavBarButton.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cd3c1bce7e9cc6742800dc9c33cd19eb
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/UIElements/PrimaryButton.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4da4cd94e6af24752980d889ff1c7568
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/Views.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b39b5bcc6b04ab340b4551bb3a261984
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/Views/AddFriendViewUGUI.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 93e84604e3d19a74a92909b15e3261cf
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/Views/BlockEntryViewUGUI.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c0cd00db6cf5cce4ba664ff4970779da
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/Views/BlocksViewUGUI.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bd6d57e277fe69946ad95e48f21b65e7
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/Views/FriendEntryViewUGUI.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9094e993218f22b448ce0614983f8c46
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/Views/FriendsViewUGUI.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e250347badc9a1642a9ee8609d825c04
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/Views/LocalPlayerViewUGUI.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1ec82c210cc8383458c59bdc0a899dc7
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/Views/NavBarViewUGUI.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5006bc82558259b498d523e3752e3a9a
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/Views/RelationshipsViewUGUI.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd589dfd007ef194cbf569df013661a4
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/Views/RequestEntryViewUGUI.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3d0b02f152f60cc418c44472e7415e45
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/Views/RequestsViewUGUI.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ae44e84439fb5ed40a63cec929450e46
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UGUI/Views/TabUGUI.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 99f276fd68647374e8e0c3d1cd6cb0fe
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3b2fdbbf7c53642e7990a4574c0f9ba7
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/RelationshipUIToolkit.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1 &7278825963339546011
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: 1664856525800574413}
12 | - component: {fileID: 7589189329882498272}
13 | - component: {fileID: 505116760147848922}
14 | - component: {fileID: 5861668401842262032}
15 | m_Layer: 0
16 | m_Name: RelationshipUIToolkit
17 | m_TagString: Untagged
18 | m_Icon: {fileID: 0}
19 | m_NavMeshLayer: 0
20 | m_StaticEditorFlags: 0
21 | m_IsActive: 1
22 | --- !u!4 &1664856525800574413
23 | Transform:
24 | m_ObjectHideFlags: 0
25 | m_CorrespondingSourceObject: {fileID: 0}
26 | m_PrefabInstance: {fileID: 0}
27 | m_PrefabAsset: {fileID: 0}
28 | m_GameObject: {fileID: 7278825963339546011}
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_ConstrainProportionsScale: 0
33 | m_Children: []
34 | m_Father: {fileID: 0}
35 | m_RootOrder: 0
36 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
37 | --- !u!114 &7589189329882498272
38 | MonoBehaviour:
39 | m_ObjectHideFlags: 0
40 | m_CorrespondingSourceObject: {fileID: 0}
41 | m_PrefabInstance: {fileID: 0}
42 | m_PrefabAsset: {fileID: 0}
43 | m_GameObject: {fileID: 7278825963339546011}
44 | m_Enabled: 1
45 | m_EditorHideFlags: 0
46 | m_Script: {fileID: 11500000, guid: ccfb7ac78d6755d4d84969716b7a2f54, type: 3}
47 | m_Name:
48 | m_EditorClassIdentifier:
49 | m_RelationshipsViewGameObject: {fileID: 7278825963339546011}
50 | --- !u!114 &505116760147848922
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: 7278825963339546011}
57 | m_Enabled: 1
58 | m_EditorHideFlags: 0
59 | m_Script: {fileID: 11500000, guid: f494bc19fd6e5461e92c5d788fefd721, type: 3}
60 | m_Name:
61 | m_EditorClassIdentifier:
62 | m_SocialUIDoc: {fileID: 5861668401842262032}
63 | m_FriendEntryTemplate: {fileID: 9197481963319205126, guid: 7464d6b4c4e6c49c39d1d09516907fc1, type: 3}
64 | m_RequestEntryTemplate: {fileID: 9197481963319205126, guid: 2718900bbbae9584ba9a986fa03931fb, type: 3}
65 | m_BlockedEntryTemplate: {fileID: 9197481963319205126, guid: 32a106e9152e3994089bf3426ad2951b, type: 3}
66 | --- !u!114 &5861668401842262032
67 | MonoBehaviour:
68 | m_ObjectHideFlags: 0
69 | m_CorrespondingSourceObject: {fileID: 0}
70 | m_PrefabInstance: {fileID: 0}
71 | m_PrefabAsset: {fileID: 0}
72 | m_GameObject: {fileID: 7278825963339546011}
73 | m_Enabled: 1
74 | m_EditorHideFlags: 0
75 | m_Script: {fileID: 19102, guid: 0000000000000000e000000000000000, type: 0}
76 | m_Name:
77 | m_EditorClassIdentifier:
78 | m_PanelSettings: {fileID: 11400000, guid: 94ca07b59cebafa42812a2eea58a87d1, type: 2}
79 | m_ParentUI: {fileID: 0}
80 | sourceAsset: {fileID: 9197481963319205126, guid: 1abea08df882b13429a1122d5b20ae73, type: 3}
81 | m_SortingOrder: 0
82 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/RelationshipUIToolkit.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b61da0cc8a775cc46bb22db214fc2a70
3 | PrefabImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Settings.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0e9026f5fbcc64b479fe1740fa9bfa8d
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Settings/RelationshipsUI_PanelSettings.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: 19101, guid: 0000000000000000e000000000000000, type: 0}
13 | m_Name: RelationshipsUI_PanelSettings
14 | m_EditorClassIdentifier:
15 | themeUss: {fileID: -4733365628477956816, guid: ec35c4f25ce26de4a9de592cdf32d159, type: 3}
16 | m_TargetTexture: {fileID: 0}
17 | m_ScaleMode: 2
18 | m_Scale: 1
19 | m_ReferenceDpi: 96
20 | m_FallbackDpi: 96
21 | m_ReferenceResolution: {x: 1200, y: 800}
22 | m_ScreenMatchMode: 0
23 | m_Match: 0
24 | m_SortingOrder: 0
25 | m_TargetDisplay: 0
26 | m_ClearDepthStencil: 1
27 | m_ClearColor: 0
28 | m_ColorClearValue: {r: 0, g: 0, b: 0, a: 0}
29 | m_DynamicAtlasSettings:
30 | m_MinAtlasSize: 64
31 | m_MaxAtlasSize: 4096
32 | m_MaxSubTextureSize: 64
33 | m_ActiveFilters: 31
34 | m_AtlasBlitShader: {fileID: 9101, guid: 0000000000000000f000000000000000, type: 0}
35 | m_RuntimeShader: {fileID: 9100, guid: 0000000000000000f000000000000000, type: 0}
36 | m_RuntimeWorldShader: {fileID: 9102, guid: 0000000000000000f000000000000000, type: 0}
37 | textSettings: {fileID: 0}
38 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Settings/RelationshipsUI_PanelSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 94ca07b59cebafa42812a2eea58a87d1
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Settings/RelationshipsUI_StyleSheet.uss.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 947b3ef19af094ccca809ccb7e4ad0b2
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0}
11 | disableValidation: 0
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Settings/UnityDefaultRuntime_ThemeStyleSheet.tss:
--------------------------------------------------------------------------------
1 | @import url("unity-theme://default");
2 | VisualElement {}
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Settings/UnityDefaultRuntime_ThemeStyleSheet.tss.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ec35c4f25ce26de4a9de592cdf32d159
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 12388, guid: 0000000000000000e000000000000000, type: 0}
11 | disableValidation: 0
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Templates.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2c4a436aead594b738d218fe09239114
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Templates/BlockEntryViewUIToolkit.uxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Templates/BlockEntryViewUIToolkit.uxml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 32a106e9152e3994089bf3426ad2951b
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
11 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Templates/FriendEntryViewUIToolkit.uxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Templates/FriendEntryViewUIToolkit.uxml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7464d6b4c4e6c49c39d1d09516907fc1
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
11 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Templates/RequestEntryViewUIToolkit.uxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Templates/RequestEntryViewUIToolkit.uxml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2718900bbbae9584ba9a986fa03931fb
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
11 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Views.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5ea6a1dff15a5eb49930e51fd3e08c02
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Views/AddFriendViewUIToolkit.uxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Views/AddFriendViewUIToolkit.uxml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c17420b0e46527642ab34a5dd9003346
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
11 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Views/BackgroundViewUIToolkit.uxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Views/BackgroundViewUIToolkit.uxml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cfbabef370865bc429e7568c8b412518
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
11 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Views/LocalPlayerViewUIToolkit.uxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Views/LocalPlayerViewUIToolkit.uxml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 569feef4c4ff04a1bafe96bb29b7f5ea
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
11 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Views/NavBarViewUIToolkit.uxml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2ea60cb6f283c4c0d818f542f2867f47
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
11 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Views/PlayerViewUIToolkit.uxml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2e16355644bc145c496372991d4fac4c
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
11 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Views/RelationshipsViewUIToolkit.uxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Prefabs/UIToolkit/Views/RelationshipsViewUIToolkit.uxml.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1abea08df882b13429a1122d5b20ae73
3 | ScriptedImporter:
4 | internalIDToNameTable: []
5 | externalObjects: {}
6 | serializedVersion: 2
7 | userData:
8 | assetBundleName:
9 | assetBundleVariant:
10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0}
11 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 131a6b21c8605f84396be9f6751fb6e3
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scenes/FriendsSampleUGUI_Scene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2f00008452ed2d14fa2cd9feef30e1bf
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scenes/FriendsSampleUIToolkit_Scene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2cda990e2423bbf4892e6590ba056729
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2d56ab424daf34f499e03d26f9c31138
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cb6cb687d8e8f2d438e058123fc8683a
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Data.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cc840afb6a6890741b60368b821e1d3f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Data/Activity.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.Serialization;
2 | using UnityEngine.Scripting;
3 |
4 | namespace Unity.Services.Samples.Friends
5 | {
6 | ///
7 | /// Activity represent the activity containing the status of a player.
8 | ///
9 | [Preserve]
10 | [DataContract]
11 | public class Activity
12 | {
13 | ///
14 | /// Status of the player.
15 | ///
16 | [Preserve]
17 | [DataMember(Name = "status", IsRequired = true, EmitDefaultValue = true)]
18 | public string Status { get; set; }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Data/Activity.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 24e492d05f594f08ab018bc7938cd551
3 | timeCreated: 1663339418
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Data/FriendsEntryData.cs:
--------------------------------------------------------------------------------
1 | using System.Text;
2 | using Unity.Services.Friends.Models;
3 |
4 | namespace Unity.Services.Samples.Friends
5 | {
6 | [System.Serializable]
7 | public struct FriendsEntryData
8 | {
9 | public string Name;
10 | public string Id;
11 | public Availability Availability;
12 | public string Activity;
13 |
14 | public override string ToString()
15 | {
16 | StringBuilder sb = new StringBuilder("FriendEntryData: \n");
17 | sb.Append(Name);
18 | sb.Append(" : ");
19 | sb.AppendLine(Id);
20 | sb.Append(Availability);
21 | sb.Append(" : ");
22 | sb.AppendLine(Activity);
23 | return sb.ToString();
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Data/FriendsEntryData.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 65b930f0d961431b90907d09785386da
3 | timeCreated: 1664893169
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e0a792d89699b4d9b88467798b7644cf
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IAddFriendView.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Unity.Services.Samples.Friends
4 | {
5 | public interface IAddFriendView
6 | {
7 | void FriendRequestSuccess();
8 | void FriendRequestFailed();
9 | Action onFriendRequestSent { get; set; }
10 | void Show();
11 | void Hide();
12 | }
13 |
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IAddFriendView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c86a30ba1cdf347e2ae96c904657b365
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IBlockedListView.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 |
5 | namespace Unity.Services.Samples.Friends
6 | {
7 | public interface IBlockedListView : IListView
8 | {
9 | Action onUnblock { get; set; }
10 | void BindList(List playerProfiles);
11 | }
12 |
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IBlockedListView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e8a048c5560f442968b78686f62ca66f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IFriendsListView.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Unity.Services.Samples.Friends
5 | {
6 |
7 | public interface IFriendsListView : IListView
8 | {
9 | Action onRemove { get; set; }
10 | Action onBlock { get; set; }
11 | void BindList(List friendEntryDatas);
12 | }
13 |
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IFriendsListView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fba2b7a30425346649e64bf239143c2f
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IListView.cs:
--------------------------------------------------------------------------------
1 | namespace Unity.Services.Samples.Friends
2 | {
3 | public interface IListView
4 | {
5 | void Show();
6 | void Hide();
7 | void Refresh();
8 | }
9 | }
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IListView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 36f9f406e34842b39cc0615dd67e4d08
3 | timeCreated: 1666625023
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/ILocalPlayerView.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Unity.Services.Friends.Models;
3 |
4 | namespace Unity.Services.Samples.Friends
5 | {
6 | public interface ILocalPlayerView
7 | {
8 | Action<(Availability, string)> onPresenceChanged { get; set; }
9 |
10 | void Refresh(string name, string activity,
11 | Availability presenceAvailabilityOptions);
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/ILocalPlayerView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 963c0d4fe350349aebf5fba42724ba26
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IRelationshipBarView.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Unity.Services.Samples.Friends
4 | {
5 | public interface IRelationshipBarView
6 | {
7 | Action onShowAddFriend { get; set; }
8 | void Refresh();
9 | }
10 |
11 |
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IRelationshipBarView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 09a78373e15d54c048778b04c42b09b2
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IRelationshipsView.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace Unity.Services.Samples.Friends
3 | {
4 | public interface IRelationshipsView
5 | {
6 | ILocalPlayerView LocalPlayerView { get; }
7 | IRelationshipBarView RelationshipBarView { get; }
8 | IAddFriendView AddFriendView { get; }
9 | IFriendsListView FriendsListView { get; }
10 | IRequestListView RequestListView { get; }
11 | IBlockedListView BlockListView { get; }
12 |
13 | void Init();
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IRelationshipsView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: af3330fa979cfae41b584c17c17173c0
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IRequestListView.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Unity.Services.Samples.Friends
5 | {
6 | public interface IRequestListView : IListView
7 | {
8 | Action onAccept { get; set; }
9 | Action onDecline { get; set; }
10 | Action onBlock { get; set; }
11 | void BindList(List playerProfiles);
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Interfaces/IRequestListView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f6c3a1f89cefd4dd091744bb610f6444
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Managers.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0a6104ed10f89a940ac29c719651654e
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Managers/RelationshipsManager.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ccfb7ac78d6755d4d84969716b7a2f54
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Utilities.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c73770bf6c7264e4292ffb7fe9f6c0d6
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Utilities/ApplicationQuit.cs:
--------------------------------------------------------------------------------
1 | using JetBrains.Annotations;
2 | using UnityEditor;
3 | using UnityEngine;
4 |
5 | namespace Unity.Services.Samples.Utilities
6 | {
7 | public class ApplicationQuit : MonoBehaviour
8 | {
9 | void Update()
10 | {
11 | if (Input.GetKeyDown(KeyCode.Escape))
12 | Quit();
13 | }
14 |
15 | [UsedImplicitly]
16 | public void Quit()
17 | {
18 | #if(UNITY_EDITOR)
19 | EditorApplication.ExitPlaymode();
20 | #else
21 | Application.Quit();
22 | #endif
23 | }
24 | }
25 | }
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Utilities/ApplicationQuit.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 17acb66c6f0e1844e8c5f2299b116801
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Utilities/ColorUtils.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace Unity.Services.Samples.Friends
4 | {
5 | public static class ColorUtils
6 | {
7 | public static Color GetPresenceColor(int index)
8 | {
9 | var colorIndex = Mathf.Clamp(index, 0, s_PresenceUIColors.Length - 1);
10 | return s_PresenceUIColors[colorIndex];
11 | }
12 |
13 | //Mapping of colors to Availability
14 | static Color[] s_PresenceUIColors =
15 | {
16 | GreenColor, //ONLINE
17 | YellowColor, //BUSY
18 | RedColor, //AWAY
19 | GrayColor, //INVISIBLE
20 | GrayColor, //OFFLINE
21 | new Color(1f, .4f, 1f) //UNKNOWN
22 | };
23 |
24 | public static Color DefaultNavBarTabColor => ColorUtility.TryParseHtmlString("#655EBC", out var color) ? color : Color.black;
25 | public static Color DefaultNavBarIconColor => Color.white;
26 | public static Color SelectedNavBarTabColor => ColorUtility.TryParseHtmlString("#3D3781", out var color) ? color : Color.black;
27 | public static Color GreenColor => ColorUtility.TryParseHtmlString("#7ED321", out var color) ? color : Color.green;
28 | public static Color YellowColor => ColorUtility.TryParseHtmlString("#FDCC51", out var color) ? color : Color.yellow;
29 | public static Color RedColor => ColorUtility.TryParseHtmlString("#F70808", out var color) ? color : Color.red;
30 | public static Color GrayColor => ColorUtility.TryParseHtmlString("#A4A4A4", out var color) ? color : Color.gray;
31 | }
32 | }
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/Common/Utilities/ColorUtils.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a34336706a5dcdc47a20431bee9dd5cf
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8ee4289e03cb7c74ba7d3c923087dce8
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/AddFriendViewUGUI.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using TMPro;
3 | using UnityEngine;
4 | using UnityEngine.Serialization;
5 | using UnityEngine.UI;
6 |
7 | namespace Unity.Services.Samples.Friends.UGUI
8 | {
9 | public class AddFriendViewUGUI : MonoBehaviour, IAddFriendView
10 | {
11 | [SerializeField] Button m_AddFriendButton = null;
12 | [SerializeField] Button m_CloseButton = null;
13 | [SerializeField] Button m_BackgroundButton = null;
14 | [SerializeField] TMP_InputField m_NameInputField = null;
15 | [SerializeField] TextMeshProUGUI m_RequestResultText = null;
16 | public Action onFriendRequestSent { get; set; }
17 |
18 | public void Init()
19 | {
20 | var playerName = string.Empty;
21 | m_NameInputField.onValueChanged.AddListener((value) => { playerName = value; });
22 | m_AddFriendButton.onClick.AddListener(() =>
23 | {
24 | m_RequestResultText.text = string.Empty;
25 | onFriendRequestSent?.Invoke(playerName);
26 | });
27 | m_BackgroundButton.onClick.AddListener(Hide);
28 | m_CloseButton.onClick.AddListener(Hide);
29 | Hide();
30 | }
31 |
32 | public void FriendRequestSuccess()
33 | {
34 | m_RequestResultText.text = "Friend request sent!";
35 | Hide();
36 | }
37 |
38 | public void FriendRequestFailed()
39 | {
40 | m_RequestResultText.text = "Friend request failed!";
41 | }
42 |
43 | public void Show()
44 | {
45 | m_RequestResultText.text = string.Empty;
46 | m_NameInputField.SetTextWithoutNotify("");
47 | gameObject.SetActive(true);
48 | }
49 |
50 | public void Hide()
51 | {
52 | gameObject.SetActive(false);
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/AddFriendViewUGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 61ed4c20e74f5a142b9aad277950f606
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/BlockEntryViewUGUI.cs:
--------------------------------------------------------------------------------
1 | using TMPro;
2 | using UnityEngine;
3 | using UnityEngine.UI;
4 |
5 | namespace Unity.Services.Samples.Friends.UGUI
6 | {
7 | public class BlockEntryViewUGUI : MonoBehaviour
8 | {
9 | [SerializeField] TextMeshProUGUI m_NameText = null;
10 |
11 | public Button unblockButton = null;
12 |
13 | public void Init(string playerName)
14 | {
15 | m_NameText.text = playerName;
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/BlockEntryViewUGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 037aaafd91cfb3a439157f858c0e2081
3 | timeCreated: 1664820398
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/BlocksViewUGUI.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Unity.Services.Samples.Friends.UGUI
6 | {
7 | public class BlocksViewUGUI : ListViewUGUI, IBlockedListView
8 | {
9 | [SerializeField] RectTransform m_ParentTransform = null;
10 | [SerializeField] BlockEntryViewUGUI m_BlockEntryViewPrefab = null;
11 |
12 | List m_BlockEntries = new List();
13 | List m_PlayerProfiles = new List();
14 | public Action onUnblock { get; set; }
15 |
16 | public void BindList(List playerProfiles)
17 | {
18 | m_PlayerProfiles = playerProfiles;
19 | }
20 |
21 | public override void Refresh()
22 | {
23 | m_BlockEntries.ForEach(entry => Destroy(entry.gameObject));
24 | m_BlockEntries.Clear();
25 |
26 | foreach (var playerProfile in m_PlayerProfiles)
27 | {
28 | var entry = Instantiate(m_BlockEntryViewPrefab, m_ParentTransform);
29 | entry.Init(playerProfile.Name);
30 | entry.unblockButton.onClick.AddListener(() =>
31 | {
32 | entry.gameObject.SetActive(false);
33 | onUnblock?.Invoke(playerProfile.Id);
34 | });
35 | m_BlockEntries.Add(entry);
36 | }
37 | }
38 | }
39 | }
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/BlocksViewUGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 45f264daa592b954b85b1f9c0c999c29
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/FriendEntryViewUGUI.cs:
--------------------------------------------------------------------------------
1 | using TMPro;
2 | using Unity.Services.Friends.Models;
3 | using UnityEngine;
4 | using UnityEngine.UI;
5 |
6 | namespace Unity.Services.Samples.Friends.UGUI
7 | {
8 | public class FriendEntryViewUGUI : MonoBehaviour
9 | {
10 | [SerializeField] TextMeshProUGUI m_NameText = null;
11 | [SerializeField] TextMeshProUGUI m_ActivityText = null;
12 | [SerializeField] Image m_PresenceColorImage = null;
13 |
14 | public Button removeFriendButton = null;
15 | public Button blockFriendButton = null;
16 |
17 | public void Init(string playerName, Availability presenceAvailabilityOptions, string activity)
18 | {
19 | m_NameText.text = playerName;
20 | var index = (int)presenceAvailabilityOptions - 1;
21 | var presenceColor = ColorUtils.GetPresenceColor(index);
22 | m_PresenceColorImage.color = presenceColor;
23 | m_ActivityText.text = activity;
24 | }
25 | }
26 | }
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/FriendEntryViewUGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d77f65327d264d8c848379177d197236
3 | timeCreated: 1664820398
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/FriendsViewUGUI.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Unity.Services.Samples.Friends.UGUI
6 | {
7 | public class FriendsViewUGUI : ListViewUGUI, IFriendsListView
8 | {
9 | [SerializeField] RectTransform m_ParentTransform = null;
10 | [SerializeField] FriendEntryViewUGUI m_FriendEntryViewPrefab = null;
11 |
12 | List m_FriendEntries = new List();
13 | List m_FriendsEntryDatas = new List();
14 |
15 | public Action onRemove { get; set; }
16 | public Action onBlock { get; set; }
17 |
18 | public void BindList(List friendEntryDatas)
19 | {
20 | m_FriendsEntryDatas = friendEntryDatas;
21 | }
22 |
23 | public override void Refresh()
24 | {
25 | m_FriendEntries.ForEach(entry => Destroy(entry.gameObject));
26 | m_FriendEntries.Clear();
27 |
28 | foreach (var friendsEntryData in m_FriendsEntryDatas)
29 | {
30 | var entry = Instantiate(m_FriendEntryViewPrefab, m_ParentTransform);
31 | entry.Init(friendsEntryData.Name, friendsEntryData.Availability, friendsEntryData.Activity);
32 | entry.removeFriendButton.onClick.AddListener(() =>
33 | {
34 | onRemove?.Invoke(friendsEntryData.Id);
35 | entry.gameObject.SetActive(false);
36 | });
37 | entry.blockFriendButton.onClick.AddListener(() =>
38 | {
39 | onBlock?.Invoke(friendsEntryData.Id);
40 | entry.gameObject.SetActive(false);
41 | });
42 | m_FriendEntries.Add(entry);
43 | }
44 | }
45 | }
46 | }
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/FriendsViewUGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8313cb8691182be4687a565631e931a8
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/ListViewUGUI.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace Unity.Services.Samples.Friends.UGUI
4 | {
5 | public abstract class ListViewUGUI : MonoBehaviour
6 | {
7 | public void Show()
8 | {
9 | Refresh();
10 | gameObject.SetActive(true);
11 | }
12 |
13 | public void Hide()
14 | {
15 | gameObject.SetActive(false);
16 | }
17 |
18 | public abstract void Refresh();
19 | }
20 | }
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/ListViewUGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 34dc5a45b252469994c4a08f1d6e5496
3 | timeCreated: 1666624597
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/LocalPlayerViewUGUI.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using TMPro;
4 | using Unity.Services.Friends.Models;
5 | using UnityEngine;
6 | using UnityEngine.UI;
7 |
8 | namespace Unity.Services.Samples.Friends.UGUI
9 | {
10 | public class LocalPlayerViewUGUI : MonoBehaviour, ILocalPlayerView
11 | {
12 | public Action<(Availability, string)> onPresenceChanged { get; set; }
13 |
14 | [SerializeField] TextMeshProUGUI m_NameText = null;
15 | [SerializeField] TMP_InputField m_Activity = null;
16 | [SerializeField] TMP_Dropdown m_PresenceSelector = null;
17 | [SerializeField] Image m_PresenceColor = null;
18 | [SerializeField] Button m_CopyButton = null;
19 |
20 | void Awake()
21 | {
22 | var names = new List
23 | {
24 | "Online",
25 | "Busy",
26 | "Away",
27 | "Invisible"
28 | };
29 |
30 | m_PresenceSelector.AddOptions(names);
31 | m_PresenceSelector.onValueChanged.AddListener((value) => { OnStatusChanged(value, m_Activity.text); });
32 | m_Activity.onEndEdit.AddListener((value) => { OnStatusChanged(m_PresenceSelector.value, value); });
33 | m_CopyButton.onClick.AddListener(() => { GUIUtility.systemCopyBuffer = m_NameText.text; });
34 | }
35 |
36 | void OnStatusChanged(int value, string activity)
37 | {
38 | var presence = (Availability)Enum.Parse(typeof(Availability),
39 | m_PresenceSelector.options[value].text, true);
40 |
41 | onPresenceChanged?.Invoke((presence, activity));
42 | }
43 |
44 | public void Refresh(string name, string activity, Availability availability)
45 | {
46 | m_NameText.text = name;
47 |
48 | //Presence
49 | var index = (int)availability - 1;
50 | m_PresenceSelector.SetValueWithoutNotify(index);
51 | var presenceColor = ColorUtils.GetPresenceColor(index);
52 | m_PresenceColor.color = presenceColor;
53 |
54 | m_Activity.text = activity;
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/LocalPlayerViewUGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 492b6fdf6a00f454db7e8da98852beb5
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/NavBarButtonUGUI.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.Events;
3 | using UnityEngine.UI;
4 |
5 | namespace Unity.Services.Samples.Friends.UGUI
6 | {
7 | public class NavBarButtonUGUI : MonoBehaviour
8 | {
9 | [SerializeField] UnityEvent m_OnSelected = null;
10 | [SerializeField] UnityEvent m_OnDeselected = null;
11 | [field: SerializeField] public Button button { get; private set; }
12 |
13 | public void Init()
14 | {
15 | button.onClick.AddListener(Select);
16 | Deselect();
17 | }
18 |
19 | public void Select()
20 | {
21 | m_OnSelected?.Invoke();
22 | }
23 |
24 | public void Deselect()
25 | {
26 | m_OnDeselected?.Invoke();
27 | }
28 | }
29 | }
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/NavBarButtonUGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0c18468026e38f74fa98cd29a237eca6
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/NavBarViewUGUI.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using UnityEngine;
3 | using UnityEngine.UI;
4 |
5 | namespace Unity.Services.Samples.Friends.UGUI
6 | {
7 | public class NavBarViewUGUI : MonoBehaviour, IRelationshipBarView
8 | {
9 | [SerializeField] NavBarButtonUGUI[] m_NavBarButtons;
10 | [SerializeField] Button m_AddFriendButton;
11 |
12 | NavBarTab m_CurrentSelectedTab = null;
13 | NavBarTab[] m_NavBarTabs;
14 | public Action onShowAddFriend { get; set; }
15 |
16 | public void Init(IListView[] listViews)
17 | {
18 | var tabCount = listViews.Length;
19 | m_NavBarTabs = new NavBarTab[tabCount];
20 | for (var i = 0; i < tabCount; i++)
21 | {
22 | m_NavBarTabs[i] = new NavBarTab
23 | {
24 | ListView = listViews[i],
25 | NavBarButton = m_NavBarButtons[i]
26 | };
27 | }
28 |
29 | foreach (var navBarTab in m_NavBarTabs)
30 | {
31 | navBarTab.NavBarButton.Init();
32 | navBarTab.NavBarButton.button.onClick.AddListener(() => { ShowTab(navBarTab); });
33 | navBarTab.ListView.Hide();
34 | }
35 |
36 | //Select the friends tab by default
37 | ShowTab(m_NavBarTabs[0]);
38 |
39 | m_AddFriendButton.onClick.AddListener(() => { onShowAddFriend?.Invoke(); });
40 | }
41 |
42 | public void Refresh()
43 | {
44 | m_CurrentSelectedTab?.ListView.Refresh();
45 | }
46 |
47 | void ShowTab(NavBarTab navBarTab)
48 | {
49 | m_CurrentSelectedTab?.Deselect();
50 |
51 | if (navBarTab == m_CurrentSelectedTab)
52 | {
53 | m_CurrentSelectedTab = null;
54 | return;
55 | }
56 |
57 | m_CurrentSelectedTab = navBarTab;
58 | m_CurrentSelectedTab.Select();
59 | }
60 |
61 | class NavBarTab
62 | {
63 | public IListView ListView;
64 | public NavBarButtonUGUI NavBarButton;
65 |
66 | public void Select()
67 | {
68 | ListView.Show();
69 | NavBarButton.Select();
70 | }
71 |
72 | public void Deselect()
73 | {
74 | ListView.Hide();
75 | NavBarButton.Deselect();
76 | }
77 | }
78 | }
79 | }
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/NavBarViewUGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: de98a72e786638f4a99dcb7aaec919ee
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/RelationshipsView.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 |
3 | namespace Unity.Services.Samples.Friends.UGUI
4 | {
5 | public class RelationshipsView : MonoBehaviour, IRelationshipsView
6 | {
7 | [SerializeField] LocalPlayerViewUGUI m_LocalPlayerViewUGUI;
8 | [SerializeField] AddFriendViewUGUI m_AddFriendViewUGUI;
9 | [SerializeField] NavBarViewUGUI m_NavBarViewUGUI;
10 | [SerializeField] FriendsViewUGUI m_FriendsViewUGUI;
11 | [SerializeField] RequestsViewUGUI m_RequestsViewUGUI;
12 | [SerializeField] BlocksViewUGUI m_BlocksViewUGUI;
13 |
14 | public ILocalPlayerView LocalPlayerView => m_LocalPlayerViewUGUI;
15 | public IRelationshipBarView RelationshipBarView => m_NavBarViewUGUI;
16 | public IAddFriendView AddFriendView => m_AddFriendViewUGUI;
17 | public IFriendsListView FriendsListView => m_FriendsViewUGUI;
18 | public IRequestListView RequestListView => m_RequestsViewUGUI;
19 | public IBlockedListView BlockListView => m_BlocksViewUGUI;
20 |
21 | public void Init()
22 | {
23 | m_AddFriendViewUGUI.Init();
24 | m_NavBarViewUGUI.Init(new IListView[] { FriendsListView, RequestListView, BlockListView });
25 | m_NavBarViewUGUI.onShowAddFriend += () => { m_AddFriendViewUGUI.Show(); };
26 | }
27 | }
28 | }
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/RelationshipsView.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b58cdcc217966a74da1377f99607016e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/RequestEntryViewUGUI.cs:
--------------------------------------------------------------------------------
1 | using TMPro;
2 | using UnityEngine;
3 | using UnityEngine.UI;
4 |
5 | namespace Unity.Services.Samples.Friends.UGUI
6 | {
7 | public class RequestEntryViewUGUI : MonoBehaviour
8 | {
9 | [SerializeField] private TextMeshProUGUI m_NameText = null;
10 |
11 | public Button acceptButton = null;
12 | public Button declineButton = null;
13 | public Button blockButton = null;
14 |
15 | public void Init(string playerName)
16 | {
17 | m_NameText.text = playerName;
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/RequestEntryViewUGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4fda4b4cafd88a94f8aa2ba2340dca49
3 | timeCreated: 1664820398
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/RequestsViewUGUI.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | namespace Unity.Services.Samples.Friends.UGUI
6 | {
7 | public class RequestsViewUGUI : ListViewUGUI, IRequestListView
8 | {
9 | [SerializeField] RectTransform m_ParentTransform = null;
10 | [SerializeField] RequestEntryViewUGUI m_RequestEntryViewPrefab = null;
11 |
12 | List m_RequestEntries = new List();
13 | List m_PlayerProfiles = new List();
14 | public Action onAccept { get; set; }
15 | public Action onDecline { get; set; }
16 | public Action onBlock { get; set; }
17 |
18 | public void BindList(List playerProfiles)
19 | {
20 | m_PlayerProfiles = playerProfiles;
21 | }
22 |
23 | public override void Refresh()
24 | {
25 | m_RequestEntries.ForEach(entry => Destroy(entry.gameObject));
26 | m_RequestEntries.Clear();
27 |
28 | foreach (var playerProfile in m_PlayerProfiles)
29 | {
30 | var entry = Instantiate(m_RequestEntryViewPrefab, m_ParentTransform);
31 | entry.Init(playerProfile.Name);
32 | entry.acceptButton.onClick.AddListener(() =>
33 | {
34 | entry.gameObject.SetActive(false);
35 | onAccept?.Invoke(playerProfile.Name);
36 | });
37 | entry.declineButton.onClick.AddListener(() =>
38 | {
39 | entry.gameObject.SetActive(false);
40 | onDecline?.Invoke(playerProfile.Id);
41 | });
42 | entry.blockButton.onClick.AddListener(() =>
43 | {
44 | entry.gameObject.SetActive(false);
45 | onBlock?.Invoke(playerProfile.Id);
46 | });
47 | m_RequestEntries.Add(entry);
48 | }
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UGUI/RequestsViewUGUI.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a5b5e5757b1a85141b4b21536958d28c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UIToolkit.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 184d9580919e5d344b130507ade83503
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/UGSSamples/FriendsSample/Scripts/UIToolkit/AddFriendViewUIToolkit.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading.Tasks;
3 | using UnityEngine;
4 | using UnityEngine.UIElements;
5 | using Button = UnityEngine.UIElements.Button;
6 |
7 | namespace Unity.Services.Samples.Friends.UIToolkit
8 | {
9 | public class AddFriendViewUIToolkit : IAddFriendView
10 | {
11 | const string k_AddFriendViewName = "add-friend-bg";
12 | public Action onFriendRequestSent { get; set; }
13 |
14 | VisualElement m_AddFriendView;
15 | Label m_FeedbackLabel;
16 |
17 | public AddFriendViewUIToolkit(VisualElement viewParent)
18 | {
19 | m_AddFriendView = viewParent.Q(k_AddFriendViewName);
20 |
21 | var exitButton = m_AddFriendView.Q