├── .gitignore ├── .vsconfig ├── Assets ├── NodeLS Client Integrations.meta ├── NodeLS Client.meta └── NodeLS Client │ ├── Communicator.cs │ ├── Communicator.cs.meta │ ├── DebugCommunicator.cs │ ├── DebugCommunicator.cs.meta │ ├── Definitions.meta │ ├── Definitions │ ├── Serializables.cs │ └── Serializables.cs.meta │ ├── Example.meta │ ├── Example │ ├── List Example.unity │ ├── List Example.unity.meta │ ├── Scripts.meta │ ├── Scripts │ │ ├── ServerListBrowser.cs │ │ └── ServerListBrowser.cs.meta │ ├── UI.meta │ └── UI │ │ ├── ListEntry.prefab │ │ ├── ListEntry.prefab.meta │ │ ├── ListEntryController.cs │ │ └── ListEntryController.cs.meta │ ├── NodeLS.Client.asmdef │ └── NodeLS.Client.asmdef.meta ├── LICENSE ├── Packages ├── manifest.json └── packages-lock.json ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── PackageManagerSettings.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset ├── VFXManager.asset ├── VersionControlSettings.asset └── XRSettings.asset ├── README.md └── UserSettings └── EditorUserSettings.asset /.gitignore: -------------------------------------------------------------------------------- 1 | [Ll]ibrary/ 2 | [Tt]emp/ 3 | [Oo]bj/ 4 | [Bb]uild/ 5 | [Bb]uilds/ 6 | [Ll]ogs/ 7 | 8 | # Where we're going, we don't need examples. 9 | [Aa]ssets/Mirror/Examples/ 10 | 11 | # Never ignore Asset meta data 12 | ![Aa]ssets/**/*.meta 13 | 14 | # Visual Studio cache directory 15 | .vs/ 16 | 17 | # Gradle cache directory 18 | .gradle/ 19 | 20 | # Autogenerated VS/MD/Consulo solution and project files 21 | ExportedObj/ 22 | .consulo/ 23 | *.csproj 24 | *.unityproj 25 | *.sln 26 | *.suo 27 | *.tmp 28 | *.user 29 | *.userprefs 30 | *.pidb 31 | *.booproj 32 | *.svd 33 | *.opendb 34 | *.VC.db 35 | 36 | # Unity3D generated meta files 37 | *.pidb.meta 38 | 39 | # Unity3D generated file on crash reports 40 | sysinfo.txt 41 | 42 | *.apk 43 | *.unitypackage 44 | 45 | # Crashlytics generated file 46 | Assets/Mirror/Tests/ 47 | Assets/NodeListServer/DebugCommunicator.cs 48 | Assets/NodeListServer/DebugCommunicator.cs.meta 49 | Assets/Mirror 50 | Assets/Mirror.meta 51 | Assets/ScriptTemplates 52 | Assets/ScriptTemplates.meta 53 | -------------------------------------------------------------------------------- /.vsconfig: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0", 3 | "components": [ 4 | "Microsoft.VisualStudio.Workload.ManagedGame" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /Assets/NodeLS Client Integrations.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7da57e1593a69947a11bd419c869ebe 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/NodeLS Client.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd8950dd95433c647bdfc33045fb33fd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/Communicator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Net; 5 | using System.Net.Http; 6 | using UnityEngine; 7 | using UnityEngine.Networking; 8 | 9 | namespace NodeListServer 10 | { 11 | /// 12 | /// This class represents a Node List Server communicator, which acts as a interface 13 | /// between the Node List Server web application running on a server and your game. 14 | /// 15 | public class NLSCommunicator 16 | { 17 | #region Constants 18 | const string RegisterEndpoint = "/add"; 19 | const string RemoveEndpoint = "/remove"; 20 | const string QueryEndpoint = "/list"; 21 | #endregion 22 | 23 | #region Public properties 24 | /// 25 | /// The URI to the NodeLS Endpoint. For example, "https://127.0.0.1:9000". 26 | /// 27 | public string EndPoint { get; set; } 28 | #endregion 29 | 30 | public bool Busy { get; private set; } 31 | 32 | #region Private properties 33 | /// 34 | /// Convience property. No need to worry about this. 35 | /// 36 | private Uri EndPointAsUri { get { return new Uri(EndPoint); } } 37 | 38 | public Action OnServerListRetrieved; 39 | public Action OnServerRegistered; 40 | public Action OnServerRemoved; 41 | 42 | #endregion 43 | 44 | #region Communication Routines 45 | /// 46 | /// Retrieves the list of servers currently registered with the NodeLS Endpoint. 47 | /// If something goes wrong, a Debug.LogError call is made. 48 | /// 49 | /// The communication key used to authenicate. 50 | public IEnumerator RetrieveList(string commKey) 51 | { 52 | // Sanity checks: Did the user forget to set the endpoint? Did the user forget to 53 | // specify the communication key? 54 | 55 | if (string.IsNullOrWhiteSpace(EndPoint) || string.IsNullOrWhiteSpace(commKey)) 56 | { 57 | Debug.LogError("NodeLS Client: Endpoint or Communicaton key is invalid."); 58 | yield break; 59 | } 60 | 61 | WWWForm postRequest = new WWWForm(); 62 | postRequest.AddField("serverKey", commKey.Trim()); 63 | 64 | using (UnityWebRequest requestRunner = UnityWebRequest.Post($"{EndPoint}{QueryEndpoint}", postRequest)) 65 | { 66 | Busy = true; 67 | 68 | yield return requestRunner.SendWebRequest(); 69 | 70 | if (requestRunner.result == UnityWebRequest.Result.Success) 71 | { 72 | // Invoke the data received event. 73 | OnServerListRetrieved?.Invoke(JsonUtility.FromJson(requestRunner.downloadHandler.text.Trim())); 74 | } 75 | else 76 | { 77 | Debug.LogError($"NodeLS Client: Error processing request. Status returned was {requestRunner.result}."); 78 | } 79 | } 80 | 81 | Busy = false; 82 | yield return null; 83 | } 84 | 85 | /// 86 | /// Registers a server with the NodeLS instance 87 | /// 88 | /// The communication key used to authenicate. 89 | /// A string containing a GUID (UUID) identifying the server on the NodeLS instance. 90 | /// 91 | public IEnumerator RegisterServer(string commKey, ServerInfo newServerInfo) 92 | { 93 | // Sanity checks: Did the user forget to set the endpoint? Did the user forget to 94 | // specify the communication key? 95 | 96 | if (string.IsNullOrWhiteSpace(EndPoint) || string.IsNullOrWhiteSpace(commKey)) 97 | { 98 | Debug.LogError("NodeLS Client: Endpoint or Communicaton key is invalid."); 99 | yield break; 100 | } 101 | 102 | Busy = true; 103 | 104 | // TODO: Server information checks 105 | WWWForm postRequest = new WWWForm(); 106 | postRequest.AddField("serverKey", commKey.Trim()); 107 | postRequest.AddField("serverName", newServerInfo.Name.Trim()); 108 | // Possibly in the future, doesn't do anything atm. 109 | // ostRequest.AddField("serverIp", newServerInfo.Ip); 110 | postRequest.AddField("serverPort", newServerInfo.Port); 111 | postRequest.AddField("serverPlayers", newServerInfo.Count); 112 | postRequest.AddField("serverCapacity", newServerInfo.Capacity); 113 | postRequest.AddField("serverExtras", newServerInfo.ExtraInformation == null ? string.Empty : newServerInfo.ExtraInformation.ToString()); 114 | 115 | using (UnityWebRequest requestRunner = UnityWebRequest.Post($"{EndPoint}{RegisterEndpoint}", postRequest)) 116 | { 117 | yield return requestRunner.SendWebRequest(); 118 | 119 | if (requestRunner.result == UnityWebRequest.Result.Success) 120 | { 121 | // It works! 122 | OnServerRegistered?.Invoke(requestRunner.downloadHandler.text.Trim()); 123 | } 124 | else 125 | { 126 | Debug.LogError($"NodeLS Client: Error processing register request. Status returned was {requestRunner.result}."); 127 | } 128 | } 129 | 130 | Busy = false; 131 | yield return null; 132 | } 133 | 134 | public IEnumerator DeregisterServer(string commKey, string serverUuid) 135 | { 136 | if (string.IsNullOrWhiteSpace(EndPoint) || string.IsNullOrWhiteSpace(commKey) || string.IsNullOrWhiteSpace(serverUuid)) 137 | { 138 | Debug.LogError("NodeLS Client: Endpoint, communicaton key or server UUID is invalid."); 139 | yield break; 140 | } 141 | 142 | WWWForm postRequest = new WWWForm(); 143 | postRequest.AddField("serverKey", commKey.Trim()); 144 | postRequest.AddField("serverUuid", serverUuid.Trim()); 145 | 146 | using (UnityWebRequest requestRunner = UnityWebRequest.Post($"{EndPoint}{RemoveEndpoint}", postRequest)) 147 | { 148 | yield return requestRunner.SendWebRequest(); 149 | 150 | if (requestRunner.result == UnityWebRequest.Result.Success) 151 | { 152 | // It works! 153 | OnServerRemoved.Invoke(); 154 | } 155 | else 156 | { 157 | Debug.LogError($"NodeLS Client: Error processing deregister request. Status returned was {requestRunner.result}."); 158 | } 159 | } 160 | } 161 | 162 | #endregion 163 | 164 | #region Callback functions 165 | 166 | #endregion 167 | } 168 | } -------------------------------------------------------------------------------- /Assets/NodeLS Client/Communicator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c01d0c3df09b9a64e9a925f7adb8e1f6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/DebugCommunicator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace NodeListServer 6 | { 7 | #if UNITY_EDITOR 8 | /// 9 | /// This is for debug purposes only. 10 | /// NOT RECOMMENDED FOR USE IN A PRODUCTION ENVIRONMENT. 11 | /// YOU HAVE BEEN WARNED. 12 | /// 13 | public class DebugCommunicator : MonoBehaviour 14 | { 15 | private NLSCommunicator communicator = new NLSCommunicator(); 16 | 17 | private string ourServerIdentifier = string.Empty; 18 | 19 | private void Start() 20 | { 21 | communicator.EndPoint = "http://192.168.88.250:8889"; 22 | communicator.OnServerRegistered += OnServerRegistered; 23 | communicator.OnServerRemoved += OnServerRemoved; 24 | } 25 | 26 | // Update is called once per frame 27 | private void Update() 28 | { 29 | // Query. 30 | if (Input.GetKeyDown(KeyCode.Q)) 31 | { 32 | StartCoroutine(communicator.RetrieveList("NodeListServerDefaultKey")); 33 | } 34 | else if (Input.GetKeyUp(KeyCode.W)) 35 | { 36 | // Register a server. 37 | if (!string.IsNullOrEmpty(ourServerIdentifier)) 38 | return; 39 | 40 | ServerInfo serverInfo = new ServerInfo() 41 | { 42 | Name = $"NodeLS Dummy Server {Random.Range(100, 1000)}", 43 | Count = Random.Range(0, 69), 44 | Capacity = 999, 45 | Port = 31337, 46 | ExtraInformation = string.Empty, 47 | }; 48 | 49 | StartCoroutine(communicator.RegisterServer("NodeListServerDefaultKey", serverInfo)); 50 | } 51 | else if (Input.GetKeyDown(KeyCode.E)) 52 | { 53 | // Deregister a server. 54 | if (string.IsNullOrEmpty(ourServerIdentifier)) 55 | return; 56 | 57 | StartCoroutine(communicator.DeregisterServer("NodeListServerDefaultKey", ourServerIdentifier)); 58 | } 59 | } 60 | 61 | private void OnServerRegistered(string serverUuid) 62 | { 63 | print("Server registered successfully"); 64 | ourServerIdentifier = serverUuid; 65 | } 66 | 67 | private void OnServerRemoved() 68 | { 69 | print("Server removed successfully"); 70 | ourServerIdentifier = string.Empty; 71 | } 72 | } 73 | #endif 74 | } 75 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/DebugCommunicator.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a9401aa9bab5b24d99e6a058d85c894 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/Definitions.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bbff116ca2e767040868c34d8c3863d0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/Definitions/Serializables.cs: -------------------------------------------------------------------------------- 1 | // This file is part of the NodeListServer Example package. 2 | using System; 3 | using System.Collections.Generic; 4 | 5 | namespace NodeListServer 6 | { 7 | 8 | [Serializable] 9 | public class ServerListResponse 10 | { 11 | // Number of known servers. 12 | public int count; 13 | // The container for the known servers. 14 | public List servers; 15 | // Ideally used for client-hosted games, tells you how often you should refresh your server information. 16 | public int updateFrequency; 17 | } 18 | 19 | [Serializable] 20 | public class ServerListEntry 21 | { 22 | // IP address. Beware: Might be IPv6 format, and require you to chop off the leading "::ffff:" part. YMMV. 23 | public string ip; 24 | // Name of the server. 25 | public string name; 26 | // Port of the server. 27 | public int port; 28 | // Number of players on the server. 29 | public int players; 30 | // The number of players maximum allowed on the server. 31 | public int capacity; 32 | // Extra data. 33 | public string extras; 34 | } 35 | 36 | [Serializable] 37 | public struct ServerInfo 38 | { 39 | public string Name; // The name of the server. 40 | // public string Ip; // The IP of the server. 41 | public int Port; // The port of the server. 42 | public int Count; // The count of players currently on the server. 43 | public int Capacity; // The count of players allowed on the server. 44 | public string ExtraInformation; // Some extra information, probably best in JSON format for easy parsing. 45 | } 46 | } -------------------------------------------------------------------------------- /Assets/NodeLS Client/Definitions/Serializables.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 61db281466b051843b8d7c909402b1f9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/Example.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2fb0ed2b4e3ff0d44b13cd648d0f879d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/Example/List Example.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 9 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 3 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} 42 | m_UseRadianceAmbientProbe: 0 43 | --- !u!157 &4 44 | LightmapSettings: 45 | m_ObjectHideFlags: 0 46 | serializedVersion: 12 47 | m_GIWorkflowMode: 0 48 | m_GISettings: 49 | serializedVersion: 2 50 | m_BounceScale: 1 51 | m_IndirectOutputScale: 1 52 | m_AlbedoBoost: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 0 55 | m_EnableRealtimeLightmaps: 0 56 | m_LightmapEditorSettings: 57 | serializedVersion: 12 58 | m_Resolution: 2 59 | m_BakeResolution: 40 60 | m_AtlasSize: 1024 61 | m_AO: 0 62 | m_AOMaxDistance: 1 63 | m_CompAOExponent: 0 64 | m_CompAOExponentDirect: 0 65 | m_ExtractAmbientOcclusion: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 0} 68 | m_LightmapsBakeMode: 1 69 | m_TextureCompression: 1 70 | m_FinalGather: 0 71 | m_FinalGatherFiltering: 1 72 | m_FinalGatherRayCount: 1024 73 | m_ReflectionCompression: 2 74 | m_MixedBakeMode: 1 75 | m_BakeBackend: 0 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 500 79 | m_PVRBounces: 2 80 | m_PVREnvironmentSampleCount: 500 81 | m_PVREnvironmentReferencePointCount: 2048 82 | m_PVRFilteringMode: 0 83 | m_PVRDenoiserTypeDirect: 0 84 | m_PVRDenoiserTypeIndirect: 0 85 | m_PVRDenoiserTypeAO: 0 86 | m_PVRFilterTypeDirect: 0 87 | m_PVRFilterTypeIndirect: 0 88 | m_PVRFilterTypeAO: 0 89 | m_PVREnvironmentMIS: 0 90 | m_PVRCulling: 1 91 | m_PVRFilteringGaussRadiusDirect: 1 92 | m_PVRFilteringGaussRadiusIndirect: 5 93 | m_PVRFilteringGaussRadiusAO: 2 94 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 95 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 96 | m_PVRFilteringAtrousPositionSigmaAO: 1 97 | m_ExportTrainingData: 0 98 | m_TrainingDataDestination: TrainingData 99 | m_LightProbeSampleCountMultiplier: 4 100 | m_LightingDataAsset: {fileID: 0} 101 | m_LightingSettings: {fileID: 852509933} 102 | --- !u!196 &5 103 | NavMeshSettings: 104 | serializedVersion: 2 105 | m_ObjectHideFlags: 0 106 | m_BuildSettings: 107 | serializedVersion: 2 108 | agentTypeID: 0 109 | agentRadius: 0.5 110 | agentHeight: 2 111 | agentSlope: 45 112 | agentClimb: 0.4 113 | ledgeDropHeight: 0 114 | maxJumpAcrossDistance: 0 115 | minRegionArea: 2 116 | manualCellSize: 0 117 | cellSize: 0.16666667 118 | manualTileSize: 0 119 | tileSize: 256 120 | accuratePlacement: 0 121 | maxJobWorkers: 0 122 | preserveTilesOutsideBounds: 0 123 | debug: 124 | m_Flags: 0 125 | m_NavMeshData: {fileID: 23800000, guid: b7816657e55c04901be36ace7275ad85, type: 2} 126 | --- !u!1 &13922436 127 | GameObject: 128 | m_ObjectHideFlags: 0 129 | m_CorrespondingSourceObject: {fileID: 0} 130 | m_PrefabInstance: {fileID: 0} 131 | m_PrefabAsset: {fileID: 0} 132 | serializedVersion: 6 133 | m_Component: 134 | - component: {fileID: 13922437} 135 | - component: {fileID: 13922439} 136 | - component: {fileID: 13922438} 137 | m_Layer: 5 138 | m_Name: TextStatus 139 | m_TagString: Untagged 140 | m_Icon: {fileID: 0} 141 | m_NavMeshLayer: 0 142 | m_StaticEditorFlags: 0 143 | m_IsActive: 1 144 | --- !u!224 &13922437 145 | RectTransform: 146 | m_ObjectHideFlags: 0 147 | m_CorrespondingSourceObject: {fileID: 0} 148 | m_PrefabInstance: {fileID: 0} 149 | m_PrefabAsset: {fileID: 0} 150 | m_GameObject: {fileID: 13922436} 151 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 152 | m_LocalPosition: {x: 0, y: 0, z: 0} 153 | m_LocalScale: {x: 1, y: 1, z: 1} 154 | m_Children: [] 155 | m_Father: {fileID: 1926990971} 156 | m_RootOrder: 1 157 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 158 | m_AnchorMin: {x: 0, y: 1} 159 | m_AnchorMax: {x: 1, y: 1} 160 | m_AnchoredPosition: {x: 0, y: -29} 161 | m_SizeDelta: {x: 0, y: 18} 162 | m_Pivot: {x: 0.5, y: 0.5} 163 | --- !u!114 &13922438 164 | MonoBehaviour: 165 | m_ObjectHideFlags: 0 166 | m_CorrespondingSourceObject: {fileID: 0} 167 | m_PrefabInstance: {fileID: 0} 168 | m_PrefabAsset: {fileID: 0} 169 | m_GameObject: {fileID: 13922436} 170 | m_Enabled: 1 171 | m_EditorHideFlags: 0 172 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 173 | m_Name: 174 | m_EditorClassIdentifier: 175 | m_Material: {fileID: 0} 176 | m_Color: {r: 1, g: 1, b: 1, a: 1} 177 | m_RaycastTarget: 1 178 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 179 | m_Maskable: 1 180 | m_OnCullStateChanged: 181 | m_PersistentCalls: 182 | m_Calls: [] 183 | m_FontData: 184 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 185 | m_FontSize: 12 186 | m_FontStyle: 1 187 | m_BestFit: 0 188 | m_MinSize: 1 189 | m_MaxSize: 40 190 | m_Alignment: 4 191 | m_AlignByGeometry: 0 192 | m_RichText: 1 193 | m_HorizontalOverflow: 0 194 | m_VerticalOverflow: 0 195 | m_LineSpacing: 1 196 | m_Text: Status 197 | --- !u!222 &13922439 198 | CanvasRenderer: 199 | m_ObjectHideFlags: 0 200 | m_CorrespondingSourceObject: {fileID: 0} 201 | m_PrefabInstance: {fileID: 0} 202 | m_PrefabAsset: {fileID: 0} 203 | m_GameObject: {fileID: 13922436} 204 | m_CullTransparentMesh: 0 205 | --- !u!1 &21701407 206 | GameObject: 207 | m_ObjectHideFlags: 0 208 | m_CorrespondingSourceObject: {fileID: 0} 209 | m_PrefabInstance: {fileID: 0} 210 | m_PrefabAsset: {fileID: 0} 211 | serializedVersion: 6 212 | m_Component: 213 | - component: {fileID: 21701408} 214 | - component: {fileID: 21701410} 215 | - component: {fileID: 21701409} 216 | m_Layer: 5 217 | m_Name: TextJoinServer 218 | m_TagString: Untagged 219 | m_Icon: {fileID: 0} 220 | m_NavMeshLayer: 0 221 | m_StaticEditorFlags: 0 222 | m_IsActive: 1 223 | --- !u!224 &21701408 224 | RectTransform: 225 | m_ObjectHideFlags: 0 226 | m_CorrespondingSourceObject: {fileID: 0} 227 | m_PrefabInstance: {fileID: 0} 228 | m_PrefabAsset: {fileID: 0} 229 | m_GameObject: {fileID: 21701407} 230 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 231 | m_LocalPosition: {x: 0, y: 0, z: 0} 232 | m_LocalScale: {x: 1, y: 1, z: 1} 233 | m_Children: [] 234 | m_Father: {fileID: 776519261} 235 | m_RootOrder: 1 236 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 237 | m_AnchorMin: {x: 0, y: 1} 238 | m_AnchorMax: {x: 1, y: 1} 239 | m_AnchoredPosition: {x: 0, y: -29} 240 | m_SizeDelta: {x: 0, y: 18} 241 | m_Pivot: {x: 0.5, y: 0.5} 242 | --- !u!114 &21701409 243 | MonoBehaviour: 244 | m_ObjectHideFlags: 0 245 | m_CorrespondingSourceObject: {fileID: 0} 246 | m_PrefabInstance: {fileID: 0} 247 | m_PrefabAsset: {fileID: 0} 248 | m_GameObject: {fileID: 21701407} 249 | m_Enabled: 1 250 | m_EditorHideFlags: 0 251 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 252 | m_Name: 253 | m_EditorClassIdentifier: 254 | m_Material: {fileID: 0} 255 | m_Color: {r: 1, g: 1, b: 1, a: 1} 256 | m_RaycastTarget: 1 257 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 258 | m_Maskable: 1 259 | m_OnCullStateChanged: 260 | m_PersistentCalls: 261 | m_Calls: [] 262 | m_FontData: 263 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 264 | m_FontSize: 12 265 | m_FontStyle: 1 266 | m_BestFit: 0 267 | m_MinSize: 1 268 | m_MaxSize: 40 269 | m_Alignment: 4 270 | m_AlignByGeometry: 0 271 | m_RichText: 1 272 | m_HorizontalOverflow: 0 273 | m_VerticalOverflow: 0 274 | m_LineSpacing: 1 275 | m_Text: Join Server 276 | --- !u!222 &21701410 277 | CanvasRenderer: 278 | m_ObjectHideFlags: 0 279 | m_CorrespondingSourceObject: {fileID: 0} 280 | m_PrefabInstance: {fileID: 0} 281 | m_PrefabAsset: {fileID: 0} 282 | m_GameObject: {fileID: 21701407} 283 | m_CullTransparentMesh: 0 284 | --- !u!1 &88936773 285 | GameObject: 286 | m_ObjectHideFlags: 0 287 | m_CorrespondingSourceObject: {fileID: 0} 288 | m_PrefabInstance: {fileID: 0} 289 | m_PrefabAsset: {fileID: 0} 290 | serializedVersion: 6 291 | m_Component: 292 | - component: {fileID: 88936777} 293 | - component: {fileID: 88936776} 294 | - component: {fileID: 88936775} 295 | - component: {fileID: 88936774} 296 | m_Layer: 0 297 | m_Name: Main Camera 298 | m_TagString: MainCamera 299 | m_Icon: {fileID: 0} 300 | m_NavMeshLayer: 0 301 | m_StaticEditorFlags: 0 302 | m_IsActive: 1 303 | --- !u!81 &88936774 304 | AudioListener: 305 | m_ObjectHideFlags: 0 306 | m_CorrespondingSourceObject: {fileID: 0} 307 | m_PrefabInstance: {fileID: 0} 308 | m_PrefabAsset: {fileID: 0} 309 | m_GameObject: {fileID: 88936773} 310 | m_Enabled: 1 311 | --- !u!124 &88936775 312 | Behaviour: 313 | m_ObjectHideFlags: 0 314 | m_CorrespondingSourceObject: {fileID: 0} 315 | m_PrefabInstance: {fileID: 0} 316 | m_PrefabAsset: {fileID: 0} 317 | m_GameObject: {fileID: 88936773} 318 | m_Enabled: 1 319 | --- !u!20 &88936776 320 | Camera: 321 | m_ObjectHideFlags: 0 322 | m_CorrespondingSourceObject: {fileID: 0} 323 | m_PrefabInstance: {fileID: 0} 324 | m_PrefabAsset: {fileID: 0} 325 | m_GameObject: {fileID: 88936773} 326 | m_Enabled: 1 327 | serializedVersion: 2 328 | m_ClearFlags: 1 329 | m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} 330 | m_projectionMatrixMode: 1 331 | m_GateFitMode: 2 332 | m_FOVAxisMode: 0 333 | m_SensorSize: {x: 36, y: 24} 334 | m_LensShift: {x: 0, y: 0} 335 | m_FocalLength: 50 336 | m_NormalizedViewPortRect: 337 | serializedVersion: 2 338 | x: 0 339 | y: 0 340 | width: 1 341 | height: 1 342 | near clip plane: 0.3 343 | far clip plane: 1000 344 | field of view: 60 345 | orthographic: 0 346 | orthographic size: 5 347 | m_Depth: -1 348 | m_CullingMask: 349 | serializedVersion: 2 350 | m_Bits: 4294967295 351 | m_RenderingPath: -1 352 | m_TargetTexture: {fileID: 0} 353 | m_TargetDisplay: 0 354 | m_TargetEye: 3 355 | m_HDR: 1 356 | m_AllowMSAA: 1 357 | m_AllowDynamicResolution: 0 358 | m_ForceIntoRT: 0 359 | m_OcclusionCulling: 1 360 | m_StereoConvergence: 10 361 | m_StereoSeparation: 0.022 362 | --- !u!4 &88936777 363 | Transform: 364 | m_ObjectHideFlags: 0 365 | m_CorrespondingSourceObject: {fileID: 0} 366 | m_PrefabInstance: {fileID: 0} 367 | m_PrefabAsset: {fileID: 0} 368 | m_GameObject: {fileID: 88936773} 369 | m_LocalRotation: {x: 0, y: 0.92387956, z: -0.38268343, w: 0} 370 | m_LocalPosition: {x: 0, y: 6.5, z: 8} 371 | m_LocalScale: {x: 1, y: 1, z: 1} 372 | m_Children: [] 373 | m_Father: {fileID: 0} 374 | m_RootOrder: 3 375 | m_LocalEulerAnglesHint: {x: 45, y: 180, z: 0} 376 | --- !u!1 &177548782 377 | GameObject: 378 | m_ObjectHideFlags: 0 379 | m_CorrespondingSourceObject: {fileID: 0} 380 | m_PrefabInstance: {fileID: 0} 381 | m_PrefabAsset: {fileID: 0} 382 | serializedVersion: 6 383 | m_Component: 384 | - component: {fileID: 177548783} 385 | - component: {fileID: 177548785} 386 | - component: {fileID: 177548784} 387 | m_Layer: 5 388 | m_Name: TextTitle 389 | m_TagString: Untagged 390 | m_Icon: {fileID: 0} 391 | m_NavMeshLayer: 0 392 | m_StaticEditorFlags: 0 393 | m_IsActive: 1 394 | --- !u!224 &177548783 395 | RectTransform: 396 | m_ObjectHideFlags: 0 397 | m_CorrespondingSourceObject: {fileID: 0} 398 | m_PrefabInstance: {fileID: 0} 399 | m_PrefabAsset: {fileID: 0} 400 | m_GameObject: {fileID: 177548782} 401 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 402 | m_LocalPosition: {x: 0, y: 0, z: 0} 403 | m_LocalScale: {x: 1, y: 1, z: 1} 404 | m_Children: [] 405 | m_Father: {fileID: 1007872741} 406 | m_RootOrder: 0 407 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 408 | m_AnchorMin: {x: 0, y: 0.5} 409 | m_AnchorMax: {x: 1, y: 0.5} 410 | m_AnchoredPosition: {x: 0, y: 0} 411 | m_SizeDelta: {x: -36, y: 20} 412 | m_Pivot: {x: 0.5, y: 0.5} 413 | --- !u!114 &177548784 414 | MonoBehaviour: 415 | m_ObjectHideFlags: 0 416 | m_CorrespondingSourceObject: {fileID: 0} 417 | m_PrefabInstance: {fileID: 0} 418 | m_PrefabAsset: {fileID: 0} 419 | m_GameObject: {fileID: 177548782} 420 | m_Enabled: 1 421 | m_EditorHideFlags: 0 422 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 423 | m_Name: 424 | m_EditorClassIdentifier: 425 | m_Material: {fileID: 0} 426 | m_Color: {r: 0.23137255, g: 1, b: 0.6862745, a: 1} 427 | m_RaycastTarget: 0 428 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 429 | m_Maskable: 1 430 | m_OnCullStateChanged: 431 | m_PersistentCalls: 432 | m_Calls: [] 433 | m_FontData: 434 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 435 | m_FontSize: 14 436 | m_FontStyle: 0 437 | m_BestFit: 0 438 | m_MinSize: 1 439 | m_MaxSize: 40 440 | m_Alignment: 4 441 | m_AlignByGeometry: 0 442 | m_RichText: 1 443 | m_HorizontalOverflow: 0 444 | m_VerticalOverflow: 0 445 | m_LineSpacing: 1 446 | m_Text: NodeListServer Demo - Client Mode Server List 447 | --- !u!222 &177548785 448 | CanvasRenderer: 449 | m_ObjectHideFlags: 0 450 | m_CorrespondingSourceObject: {fileID: 0} 451 | m_PrefabInstance: {fileID: 0} 452 | m_PrefabAsset: {fileID: 0} 453 | m_GameObject: {fileID: 177548782} 454 | m_CullTransparentMesh: 0 455 | --- !u!1 &232720476 456 | GameObject: 457 | m_ObjectHideFlags: 0 458 | m_CorrespondingSourceObject: {fileID: 0} 459 | m_PrefabInstance: {fileID: 0} 460 | m_PrefabAsset: {fileID: 0} 461 | serializedVersion: 6 462 | m_Component: 463 | - component: {fileID: 232720477} 464 | - component: {fileID: 232720479} 465 | - component: {fileID: 232720478} 466 | m_Layer: 5 467 | m_Name: Text 468 | m_TagString: Untagged 469 | m_Icon: {fileID: 0} 470 | m_NavMeshLayer: 0 471 | m_StaticEditorFlags: 0 472 | m_IsActive: 1 473 | --- !u!224 &232720477 474 | RectTransform: 475 | m_ObjectHideFlags: 0 476 | m_CorrespondingSourceObject: {fileID: 0} 477 | m_PrefabInstance: {fileID: 0} 478 | m_PrefabAsset: {fileID: 0} 479 | m_GameObject: {fileID: 232720476} 480 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 481 | m_LocalPosition: {x: 0, y: 0, z: 0} 482 | m_LocalScale: {x: 1, y: 1, z: 1} 483 | m_Children: [] 484 | m_Father: {fileID: 1578438653} 485 | m_RootOrder: 0 486 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 487 | m_AnchorMin: {x: 0, y: 1} 488 | m_AnchorMax: {x: 0, y: 1} 489 | m_AnchoredPosition: {x: 7, y: 0} 490 | m_SizeDelta: {x: 218, y: 20} 491 | m_Pivot: {x: 0, y: 1} 492 | --- !u!114 &232720478 493 | MonoBehaviour: 494 | m_ObjectHideFlags: 0 495 | m_CorrespondingSourceObject: {fileID: 0} 496 | m_PrefabInstance: {fileID: 0} 497 | m_PrefabAsset: {fileID: 0} 498 | m_GameObject: {fileID: 232720476} 499 | m_Enabled: 1 500 | m_EditorHideFlags: 0 501 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 502 | m_Name: 503 | m_EditorClassIdentifier: 504 | m_Material: {fileID: 0} 505 | m_Color: {r: 1, g: 0.23137255, b: 0.5803922, a: 1} 506 | m_RaycastTarget: 1 507 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 508 | m_Maskable: 1 509 | m_OnCullStateChanged: 510 | m_PersistentCalls: 511 | m_Calls: [] 512 | m_FontData: 513 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 514 | m_FontSize: 12 515 | m_FontStyle: 1 516 | m_BestFit: 0 517 | m_MinSize: 1 518 | m_MaxSize: 40 519 | m_Alignment: 3 520 | m_AlignByGeometry: 0 521 | m_RichText: 1 522 | m_HorizontalOverflow: 0 523 | m_VerticalOverflow: 0 524 | m_LineSpacing: 1 525 | m_Text: Server 526 | --- !u!222 &232720479 527 | CanvasRenderer: 528 | m_ObjectHideFlags: 0 529 | m_CorrespondingSourceObject: {fileID: 0} 530 | m_PrefabInstance: {fileID: 0} 531 | m_PrefabAsset: {fileID: 0} 532 | m_GameObject: {fileID: 232720476} 533 | m_CullTransparentMesh: 0 534 | --- !u!1 &354490534 535 | GameObject: 536 | m_ObjectHideFlags: 0 537 | m_CorrespondingSourceObject: {fileID: 0} 538 | m_PrefabInstance: {fileID: 0} 539 | m_PrefabAsset: {fileID: 0} 540 | serializedVersion: 6 541 | m_Component: 542 | - component: {fileID: 354490535} 543 | - component: {fileID: 354490537} 544 | - component: {fileID: 354490536} 545 | m_Layer: 5 546 | m_Name: Text 547 | m_TagString: Untagged 548 | m_Icon: {fileID: 0} 549 | m_NavMeshLayer: 0 550 | m_StaticEditorFlags: 0 551 | m_IsActive: 1 552 | --- !u!224 &354490535 553 | RectTransform: 554 | m_ObjectHideFlags: 0 555 | m_CorrespondingSourceObject: {fileID: 0} 556 | m_PrefabInstance: {fileID: 0} 557 | m_PrefabAsset: {fileID: 0} 558 | m_GameObject: {fileID: 354490534} 559 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 560 | m_LocalPosition: {x: 0, y: 0, z: 0} 561 | m_LocalScale: {x: 1, y: 1, z: 1} 562 | m_Children: [] 563 | m_Father: {fileID: 1578438653} 564 | m_RootOrder: 3 565 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 566 | m_AnchorMin: {x: 0, y: 1} 567 | m_AnchorMax: {x: 0, y: 1} 568 | m_AnchoredPosition: {x: 345, y: 0} 569 | m_SizeDelta: {x: 130, y: 20} 570 | m_Pivot: {x: 0, y: 1} 571 | --- !u!114 &354490536 572 | MonoBehaviour: 573 | m_ObjectHideFlags: 0 574 | m_CorrespondingSourceObject: {fileID: 0} 575 | m_PrefabInstance: {fileID: 0} 576 | m_PrefabAsset: {fileID: 0} 577 | m_GameObject: {fileID: 354490534} 578 | m_Enabled: 1 579 | m_EditorHideFlags: 0 580 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 581 | m_Name: 582 | m_EditorClassIdentifier: 583 | m_Material: {fileID: 0} 584 | m_Color: {r: 1, g: 0.23137255, b: 0.5803922, a: 1} 585 | m_RaycastTarget: 1 586 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 587 | m_Maskable: 1 588 | m_OnCullStateChanged: 589 | m_PersistentCalls: 590 | m_Calls: [] 591 | m_FontData: 592 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 593 | m_FontSize: 12 594 | m_FontStyle: 1 595 | m_BestFit: 0 596 | m_MinSize: 1 597 | m_MaxSize: 40 598 | m_Alignment: 5 599 | m_AlignByGeometry: 0 600 | m_RichText: 1 601 | m_HorizontalOverflow: 0 602 | m_VerticalOverflow: 0 603 | m_LineSpacing: 1 604 | m_Text: Address 605 | --- !u!222 &354490537 606 | CanvasRenderer: 607 | m_ObjectHideFlags: 0 608 | m_CorrespondingSourceObject: {fileID: 0} 609 | m_PrefabInstance: {fileID: 0} 610 | m_PrefabAsset: {fileID: 0} 611 | m_GameObject: {fileID: 354490534} 612 | m_CullTransparentMesh: 0 613 | --- !u!1 &424897549 614 | GameObject: 615 | m_ObjectHideFlags: 0 616 | m_CorrespondingSourceObject: {fileID: 0} 617 | m_PrefabInstance: {fileID: 0} 618 | m_PrefabAsset: {fileID: 0} 619 | serializedVersion: 6 620 | m_Component: 621 | - component: {fileID: 424897550} 622 | - component: {fileID: 424897552} 623 | - component: {fileID: 424897551} 624 | m_Layer: 5 625 | m_Name: Text 626 | m_TagString: Untagged 627 | m_Icon: {fileID: 0} 628 | m_NavMeshLayer: 0 629 | m_StaticEditorFlags: 0 630 | m_IsActive: 1 631 | --- !u!224 &424897550 632 | RectTransform: 633 | m_ObjectHideFlags: 0 634 | m_CorrespondingSourceObject: {fileID: 0} 635 | m_PrefabInstance: {fileID: 0} 636 | m_PrefabAsset: {fileID: 0} 637 | m_GameObject: {fileID: 424897549} 638 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 639 | m_LocalPosition: {x: 0, y: 0, z: 0} 640 | m_LocalScale: {x: 1, y: 1, z: 1} 641 | m_Children: [] 642 | m_Father: {fileID: 1578438653} 643 | m_RootOrder: 1 644 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 645 | m_AnchorMin: {x: 0, y: 1} 646 | m_AnchorMax: {x: 0, y: 1} 647 | m_AnchoredPosition: {x: 225, y: 0} 648 | m_SizeDelta: {x: 60, y: 20} 649 | m_Pivot: {x: 0, y: 1} 650 | --- !u!114 &424897551 651 | MonoBehaviour: 652 | m_ObjectHideFlags: 0 653 | m_CorrespondingSourceObject: {fileID: 0} 654 | m_PrefabInstance: {fileID: 0} 655 | m_PrefabAsset: {fileID: 0} 656 | m_GameObject: {fileID: 424897549} 657 | m_Enabled: 1 658 | m_EditorHideFlags: 0 659 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 660 | m_Name: 661 | m_EditorClassIdentifier: 662 | m_Material: {fileID: 0} 663 | m_Color: {r: 1, g: 0.23137255, b: 0.5803922, a: 1} 664 | m_RaycastTarget: 1 665 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 666 | m_Maskable: 1 667 | m_OnCullStateChanged: 668 | m_PersistentCalls: 669 | m_Calls: [] 670 | m_FontData: 671 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 672 | m_FontSize: 12 673 | m_FontStyle: 1 674 | m_BestFit: 0 675 | m_MinSize: 1 676 | m_MaxSize: 40 677 | m_Alignment: 5 678 | m_AlignByGeometry: 0 679 | m_RichText: 1 680 | m_HorizontalOverflow: 0 681 | m_VerticalOverflow: 0 682 | m_LineSpacing: 1 683 | m_Text: Players 684 | --- !u!222 &424897552 685 | CanvasRenderer: 686 | m_ObjectHideFlags: 0 687 | m_CorrespondingSourceObject: {fileID: 0} 688 | m_PrefabInstance: {fileID: 0} 689 | m_PrefabAsset: {fileID: 0} 690 | m_GameObject: {fileID: 424897549} 691 | m_CullTransparentMesh: 0 692 | --- !u!1 &531282979 693 | GameObject: 694 | m_ObjectHideFlags: 0 695 | m_CorrespondingSourceObject: {fileID: 0} 696 | m_PrefabInstance: {fileID: 0} 697 | m_PrefabAsset: {fileID: 0} 698 | serializedVersion: 6 699 | m_Component: 700 | - component: {fileID: 531282980} 701 | - component: {fileID: 531282982} 702 | - component: {fileID: 531282981} 703 | m_Layer: 5 704 | m_Name: Text 705 | m_TagString: Untagged 706 | m_Icon: {fileID: 0} 707 | m_NavMeshLayer: 0 708 | m_StaticEditorFlags: 0 709 | m_IsActive: 1 710 | --- !u!224 &531282980 711 | RectTransform: 712 | m_ObjectHideFlags: 0 713 | m_CorrespondingSourceObject: {fileID: 0} 714 | m_PrefabInstance: {fileID: 0} 715 | m_PrefabAsset: {fileID: 0} 716 | m_GameObject: {fileID: 531282979} 717 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 718 | m_LocalPosition: {x: 0, y: 0, z: 0} 719 | m_LocalScale: {x: 1, y: 1, z: 1} 720 | m_Children: [] 721 | m_Father: {fileID: 1004751478} 722 | m_RootOrder: 0 723 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 724 | m_AnchorMin: {x: 0, y: 0} 725 | m_AnchorMax: {x: 1, y: 1} 726 | m_AnchoredPosition: {x: 0, y: 0} 727 | m_SizeDelta: {x: 0, y: 0} 728 | m_Pivot: {x: 0.5, y: 0.5} 729 | --- !u!114 &531282981 730 | MonoBehaviour: 731 | m_ObjectHideFlags: 0 732 | m_CorrespondingSourceObject: {fileID: 0} 733 | m_PrefabInstance: {fileID: 0} 734 | m_PrefabAsset: {fileID: 0} 735 | m_GameObject: {fileID: 531282979} 736 | m_Enabled: 1 737 | m_EditorHideFlags: 0 738 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 739 | m_Name: 740 | m_EditorClassIdentifier: 741 | m_Material: {fileID: 0} 742 | m_Color: {r: 1, g: 1, b: 1, a: 1} 743 | m_RaycastTarget: 1 744 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 745 | m_Maskable: 1 746 | m_OnCullStateChanged: 747 | m_PersistentCalls: 748 | m_Calls: [] 749 | m_FontData: 750 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 751 | m_FontSize: 12 752 | m_FontStyle: 0 753 | m_BestFit: 0 754 | m_MinSize: 1 755 | m_MaxSize: 40 756 | m_Alignment: 4 757 | m_AlignByGeometry: 0 758 | m_RichText: 1 759 | m_HorizontalOverflow: 0 760 | m_VerticalOverflow: 0 761 | m_LineSpacing: 1 762 | m_Text: Refresh List 763 | --- !u!222 &531282982 764 | CanvasRenderer: 765 | m_ObjectHideFlags: 0 766 | m_CorrespondingSourceObject: {fileID: 0} 767 | m_PrefabInstance: {fileID: 0} 768 | m_PrefabAsset: {fileID: 0} 769 | m_GameObject: {fileID: 531282979} 770 | m_CullTransparentMesh: 0 771 | --- !u!1 &535675709 772 | GameObject: 773 | m_ObjectHideFlags: 0 774 | m_CorrespondingSourceObject: {fileID: 0} 775 | m_PrefabInstance: {fileID: 0} 776 | m_PrefabAsset: {fileID: 0} 777 | serializedVersion: 6 778 | m_Component: 779 | - component: {fileID: 535675710} 780 | - component: {fileID: 535675712} 781 | - component: {fileID: 535675711} 782 | m_Layer: 5 783 | m_Name: Text 784 | m_TagString: Untagged 785 | m_Icon: {fileID: 0} 786 | m_NavMeshLayer: 0 787 | m_StaticEditorFlags: 0 788 | m_IsActive: 1 789 | --- !u!224 &535675710 790 | RectTransform: 791 | m_ObjectHideFlags: 0 792 | m_CorrespondingSourceObject: {fileID: 0} 793 | m_PrefabInstance: {fileID: 0} 794 | m_PrefabAsset: {fileID: 0} 795 | m_GameObject: {fileID: 535675709} 796 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 797 | m_LocalPosition: {x: 0, y: 0, z: 0} 798 | m_LocalScale: {x: 1, y: 1, z: 1} 799 | m_Children: [] 800 | m_Father: {fileID: 1578438653} 801 | m_RootOrder: 2 802 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 803 | m_AnchorMin: {x: 0, y: 1} 804 | m_AnchorMax: {x: 0, y: 1} 805 | m_AnchoredPosition: {x: 285, y: 0} 806 | m_SizeDelta: {x: 60, y: 20} 807 | m_Pivot: {x: 0, y: 1} 808 | --- !u!114 &535675711 809 | MonoBehaviour: 810 | m_ObjectHideFlags: 0 811 | m_CorrespondingSourceObject: {fileID: 0} 812 | m_PrefabInstance: {fileID: 0} 813 | m_PrefabAsset: {fileID: 0} 814 | m_GameObject: {fileID: 535675709} 815 | m_Enabled: 1 816 | m_EditorHideFlags: 0 817 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 818 | m_Name: 819 | m_EditorClassIdentifier: 820 | m_Material: {fileID: 0} 821 | m_Color: {r: 1, g: 0.23137255, b: 0.5803922, a: 1} 822 | m_RaycastTarget: 1 823 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 824 | m_Maskable: 1 825 | m_OnCullStateChanged: 826 | m_PersistentCalls: 827 | m_Calls: [] 828 | m_FontData: 829 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 830 | m_FontSize: 12 831 | m_FontStyle: 1 832 | m_BestFit: 0 833 | m_MinSize: 1 834 | m_MaxSize: 40 835 | m_Alignment: 5 836 | m_AlignByGeometry: 0 837 | m_RichText: 1 838 | m_HorizontalOverflow: 0 839 | m_VerticalOverflow: 0 840 | m_LineSpacing: 1 841 | m_Text: Latency 842 | --- !u!222 &535675712 843 | CanvasRenderer: 844 | m_ObjectHideFlags: 0 845 | m_CorrespondingSourceObject: {fileID: 0} 846 | m_PrefabInstance: {fileID: 0} 847 | m_PrefabAsset: {fileID: 0} 848 | m_GameObject: {fileID: 535675709} 849 | m_CullTransparentMesh: 0 850 | --- !u!1 &583153858 851 | GameObject: 852 | m_ObjectHideFlags: 0 853 | m_CorrespondingSourceObject: {fileID: 0} 854 | m_PrefabInstance: {fileID: 0} 855 | m_PrefabAsset: {fileID: 0} 856 | serializedVersion: 6 857 | m_Component: 858 | - component: {fileID: 583153859} 859 | - component: {fileID: 583153861} 860 | - component: {fileID: 583153860} 861 | m_Layer: 5 862 | m_Name: Content 863 | m_TagString: Untagged 864 | m_Icon: {fileID: 0} 865 | m_NavMeshLayer: 0 866 | m_StaticEditorFlags: 0 867 | m_IsActive: 1 868 | --- !u!224 &583153859 869 | RectTransform: 870 | m_ObjectHideFlags: 0 871 | m_CorrespondingSourceObject: {fileID: 0} 872 | m_PrefabInstance: {fileID: 0} 873 | m_PrefabAsset: {fileID: 0} 874 | m_GameObject: {fileID: 583153858} 875 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 876 | m_LocalPosition: {x: 0, y: 0, z: 0} 877 | m_LocalScale: {x: 1, y: 1, z: 1} 878 | m_Children: [] 879 | m_Father: {fileID: 1918165881} 880 | m_RootOrder: 0 881 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 882 | m_AnchorMin: {x: 0, y: 1} 883 | m_AnchorMax: {x: 0, y: 1} 884 | m_AnchoredPosition: {x: 0, y: 0} 885 | m_SizeDelta: {x: 560, y: 0} 886 | m_Pivot: {x: 0, y: 1} 887 | --- !u!114 &583153860 888 | MonoBehaviour: 889 | m_ObjectHideFlags: 0 890 | m_CorrespondingSourceObject: {fileID: 0} 891 | m_PrefabInstance: {fileID: 0} 892 | m_PrefabAsset: {fileID: 0} 893 | m_GameObject: {fileID: 583153858} 894 | m_Enabled: 1 895 | m_EditorHideFlags: 0 896 | m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3} 897 | m_Name: 898 | m_EditorClassIdentifier: 899 | m_Padding: 900 | m_Left: 2 901 | m_Right: 2 902 | m_Top: 4 903 | m_Bottom: 2 904 | m_ChildAlignment: 0 905 | m_StartCorner: 0 906 | m_StartAxis: 0 907 | m_CellSize: {x: 560, y: 16} 908 | m_Spacing: {x: 0, y: 0} 909 | m_Constraint: 1 910 | m_ConstraintCount: 1 911 | --- !u!114 &583153861 912 | MonoBehaviour: 913 | m_ObjectHideFlags: 0 914 | m_CorrespondingSourceObject: {fileID: 0} 915 | m_PrefabInstance: {fileID: 0} 916 | m_PrefabAsset: {fileID: 0} 917 | m_GameObject: {fileID: 583153858} 918 | m_Enabled: 1 919 | m_EditorHideFlags: 0 920 | m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3} 921 | m_Name: 922 | m_EditorClassIdentifier: 923 | m_HorizontalFit: 0 924 | m_VerticalFit: 2 925 | --- !u!1 &586458803 926 | GameObject: 927 | m_ObjectHideFlags: 0 928 | m_CorrespondingSourceObject: {fileID: 0} 929 | m_PrefabInstance: {fileID: 0} 930 | m_PrefabAsset: {fileID: 0} 931 | serializedVersion: 6 932 | m_Component: 933 | - component: {fileID: 586458804} 934 | - component: {fileID: 586458807} 935 | - component: {fileID: 586458806} 936 | - component: {fileID: 586458805} 937 | m_Layer: 5 938 | m_Name: Scrollbar Vertical 939 | m_TagString: Untagged 940 | m_Icon: {fileID: 0} 941 | m_NavMeshLayer: 0 942 | m_StaticEditorFlags: 0 943 | m_IsActive: 1 944 | --- !u!224 &586458804 945 | RectTransform: 946 | m_ObjectHideFlags: 0 947 | m_CorrespondingSourceObject: {fileID: 0} 948 | m_PrefabInstance: {fileID: 0} 949 | m_PrefabAsset: {fileID: 0} 950 | m_GameObject: {fileID: 586458803} 951 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 952 | m_LocalPosition: {x: 0, y: 0, z: 0} 953 | m_LocalScale: {x: 1, y: 1, z: 1} 954 | m_Children: 955 | - {fileID: 1345848863} 956 | m_Father: {fileID: 1918165881} 957 | m_RootOrder: 1 958 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 959 | m_AnchorMin: {x: 1, y: 0} 960 | m_AnchorMax: {x: 1, y: 1} 961 | m_AnchoredPosition: {x: 0, y: 0} 962 | m_SizeDelta: {x: 20, y: 0} 963 | m_Pivot: {x: 1, y: 1} 964 | --- !u!114 &586458805 965 | MonoBehaviour: 966 | m_ObjectHideFlags: 0 967 | m_CorrespondingSourceObject: {fileID: 0} 968 | m_PrefabInstance: {fileID: 0} 969 | m_PrefabAsset: {fileID: 0} 970 | m_GameObject: {fileID: 586458803} 971 | m_Enabled: 1 972 | m_EditorHideFlags: 0 973 | m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} 974 | m_Name: 975 | m_EditorClassIdentifier: 976 | m_Navigation: 977 | m_Mode: 3 978 | m_WrapAround: 0 979 | m_SelectOnUp: {fileID: 0} 980 | m_SelectOnDown: {fileID: 0} 981 | m_SelectOnLeft: {fileID: 0} 982 | m_SelectOnRight: {fileID: 0} 983 | m_Transition: 1 984 | m_Colors: 985 | m_NormalColor: {r: 0.4117647, g: 0.4117647, b: 0.4117647, a: 1} 986 | m_HighlightedColor: {r: 0.41176474, g: 0.41176474, b: 0.41176474, a: 1} 987 | m_PressedColor: {r: 0.41176474, g: 0.41176474, b: 0.41176474, a: 1} 988 | m_SelectedColor: {r: 0.41176474, g: 0.41176474, b: 0.41176474, a: 1} 989 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} 990 | m_ColorMultiplier: 1 991 | m_FadeDuration: 0.1 992 | m_SpriteState: 993 | m_HighlightedSprite: {fileID: 0} 994 | m_PressedSprite: {fileID: 0} 995 | m_SelectedSprite: {fileID: 0} 996 | m_DisabledSprite: {fileID: 0} 997 | m_AnimationTriggers: 998 | m_NormalTrigger: Normal 999 | m_HighlightedTrigger: Highlighted 1000 | m_PressedTrigger: Pressed 1001 | m_SelectedTrigger: Highlighted 1002 | m_DisabledTrigger: Disabled 1003 | m_Interactable: 1 1004 | m_TargetGraphic: {fileID: 2064208032} 1005 | m_HandleRect: {fileID: 2064208031} 1006 | m_Direction: 2 1007 | m_Value: 0 1008 | m_Size: 1 1009 | m_NumberOfSteps: 0 1010 | m_OnValueChanged: 1011 | m_PersistentCalls: 1012 | m_Calls: [] 1013 | --- !u!114 &586458806 1014 | MonoBehaviour: 1015 | m_ObjectHideFlags: 0 1016 | m_CorrespondingSourceObject: {fileID: 0} 1017 | m_PrefabInstance: {fileID: 0} 1018 | m_PrefabAsset: {fileID: 0} 1019 | m_GameObject: {fileID: 586458803} 1020 | m_Enabled: 1 1021 | m_EditorHideFlags: 0 1022 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1023 | m_Name: 1024 | m_EditorClassIdentifier: 1025 | m_Material: {fileID: 0} 1026 | m_Color: {r: 0.24313726, g: 0.24313726, b: 0.24313726, a: 1} 1027 | m_RaycastTarget: 1 1028 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1029 | m_Maskable: 1 1030 | m_OnCullStateChanged: 1031 | m_PersistentCalls: 1032 | m_Calls: [] 1033 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} 1034 | m_Type: 1 1035 | m_PreserveAspect: 0 1036 | m_FillCenter: 1 1037 | m_FillMethod: 4 1038 | m_FillAmount: 1 1039 | m_FillClockwise: 1 1040 | m_FillOrigin: 0 1041 | m_UseSpriteMesh: 0 1042 | m_PixelsPerUnitMultiplier: 1 1043 | --- !u!222 &586458807 1044 | CanvasRenderer: 1045 | m_ObjectHideFlags: 0 1046 | m_CorrespondingSourceObject: {fileID: 0} 1047 | m_PrefabInstance: {fileID: 0} 1048 | m_PrefabAsset: {fileID: 0} 1049 | m_GameObject: {fileID: 586458803} 1050 | m_CullTransparentMesh: 0 1051 | --- !u!1 &635355836 1052 | GameObject: 1053 | m_ObjectHideFlags: 0 1054 | m_CorrespondingSourceObject: {fileID: 0} 1055 | m_PrefabInstance: {fileID: 0} 1056 | m_PrefabAsset: {fileID: 0} 1057 | serializedVersion: 6 1058 | m_Component: 1059 | - component: {fileID: 635355837} 1060 | - component: {fileID: 635355839} 1061 | - component: {fileID: 635355838} 1062 | m_Layer: 5 1063 | m_Name: Text 1064 | m_TagString: Untagged 1065 | m_Icon: {fileID: 0} 1066 | m_NavMeshLayer: 0 1067 | m_StaticEditorFlags: 0 1068 | m_IsActive: 1 1069 | --- !u!224 &635355837 1070 | RectTransform: 1071 | m_ObjectHideFlags: 0 1072 | m_CorrespondingSourceObject: {fileID: 0} 1073 | m_PrefabInstance: {fileID: 0} 1074 | m_PrefabAsset: {fileID: 0} 1075 | m_GameObject: {fileID: 635355836} 1076 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1077 | m_LocalPosition: {x: 0, y: 0, z: 0} 1078 | m_LocalScale: {x: 1, y: 1, z: 1} 1079 | m_Children: [] 1080 | m_Father: {fileID: 1578438653} 1081 | m_RootOrder: 4 1082 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1083 | m_AnchorMin: {x: 0, y: 1} 1084 | m_AnchorMax: {x: 0, y: 1} 1085 | m_AnchoredPosition: {x: 475, y: 0} 1086 | m_SizeDelta: {x: 40, y: 20} 1087 | m_Pivot: {x: 0, y: 1} 1088 | --- !u!114 &635355838 1089 | MonoBehaviour: 1090 | m_ObjectHideFlags: 0 1091 | m_CorrespondingSourceObject: {fileID: 0} 1092 | m_PrefabInstance: {fileID: 0} 1093 | m_PrefabAsset: {fileID: 0} 1094 | m_GameObject: {fileID: 635355836} 1095 | m_Enabled: 1 1096 | m_EditorHideFlags: 0 1097 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 1098 | m_Name: 1099 | m_EditorClassIdentifier: 1100 | m_Material: {fileID: 0} 1101 | m_Color: {r: 1, g: 0.23137255, b: 0.5803922, a: 1} 1102 | m_RaycastTarget: 1 1103 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1104 | m_Maskable: 1 1105 | m_OnCullStateChanged: 1106 | m_PersistentCalls: 1107 | m_Calls: [] 1108 | m_FontData: 1109 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1110 | m_FontSize: 12 1111 | m_FontStyle: 1 1112 | m_BestFit: 0 1113 | m_MinSize: 1 1114 | m_MaxSize: 40 1115 | m_Alignment: 5 1116 | m_AlignByGeometry: 0 1117 | m_RichText: 1 1118 | m_HorizontalOverflow: 0 1119 | m_VerticalOverflow: 0 1120 | m_LineSpacing: 1 1121 | m_Text: Action 1122 | --- !u!222 &635355839 1123 | CanvasRenderer: 1124 | m_ObjectHideFlags: 0 1125 | m_CorrespondingSourceObject: {fileID: 0} 1126 | m_PrefabInstance: {fileID: 0} 1127 | m_PrefabAsset: {fileID: 0} 1128 | m_GameObject: {fileID: 635355836} 1129 | m_CullTransparentMesh: 0 1130 | --- !u!1 &651109221 1131 | GameObject: 1132 | m_ObjectHideFlags: 0 1133 | m_CorrespondingSourceObject: {fileID: 0} 1134 | m_PrefabInstance: {fileID: 0} 1135 | m_PrefabAsset: {fileID: 0} 1136 | serializedVersion: 6 1137 | m_Component: 1138 | - component: {fileID: 651109222} 1139 | - component: {fileID: 651109224} 1140 | - component: {fileID: 651109223} 1141 | m_Layer: 5 1142 | m_Name: Background 1143 | m_TagString: Untagged 1144 | m_Icon: {fileID: 0} 1145 | m_NavMeshLayer: 0 1146 | m_StaticEditorFlags: 0 1147 | m_IsActive: 1 1148 | --- !u!224 &651109222 1149 | RectTransform: 1150 | m_ObjectHideFlags: 0 1151 | m_CorrespondingSourceObject: {fileID: 0} 1152 | m_PrefabInstance: {fileID: 0} 1153 | m_PrefabAsset: {fileID: 0} 1154 | m_GameObject: {fileID: 651109221} 1155 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1156 | m_LocalPosition: {x: 0, y: 0, z: 0} 1157 | m_LocalScale: {x: 1, y: 1, z: 1} 1158 | m_Children: [] 1159 | m_Father: {fileID: 1206549608} 1160 | m_RootOrder: 0 1161 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1162 | m_AnchorMin: {x: 0, y: 0} 1163 | m_AnchorMax: {x: 1, y: 1} 1164 | m_AnchoredPosition: {x: 0, y: 0} 1165 | m_SizeDelta: {x: 863, y: 754} 1166 | m_Pivot: {x: 0.5, y: 0.5} 1167 | --- !u!114 &651109223 1168 | MonoBehaviour: 1169 | m_ObjectHideFlags: 0 1170 | m_CorrespondingSourceObject: {fileID: 0} 1171 | m_PrefabInstance: {fileID: 0} 1172 | m_PrefabAsset: {fileID: 0} 1173 | m_GameObject: {fileID: 651109221} 1174 | m_Enabled: 1 1175 | m_EditorHideFlags: 0 1176 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1177 | m_Name: 1178 | m_EditorClassIdentifier: 1179 | m_Material: {fileID: 0} 1180 | m_Color: {r: 0.39215687, g: 0.58431375, b: 0.92941177, a: 1} 1181 | m_RaycastTarget: 1 1182 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1183 | m_Maskable: 1 1184 | m_OnCullStateChanged: 1185 | m_PersistentCalls: 1186 | m_Calls: [] 1187 | m_Sprite: {fileID: 0} 1188 | m_Type: 0 1189 | m_PreserveAspect: 0 1190 | m_FillCenter: 1 1191 | m_FillMethod: 4 1192 | m_FillAmount: 1 1193 | m_FillClockwise: 1 1194 | m_FillOrigin: 0 1195 | m_UseSpriteMesh: 0 1196 | m_PixelsPerUnitMultiplier: 1 1197 | --- !u!222 &651109224 1198 | CanvasRenderer: 1199 | m_ObjectHideFlags: 0 1200 | m_CorrespondingSourceObject: {fileID: 0} 1201 | m_PrefabInstance: {fileID: 0} 1202 | m_PrefabAsset: {fileID: 0} 1203 | m_GameObject: {fileID: 651109221} 1204 | m_CullTransparentMesh: 0 1205 | --- !u!1 &712827150 1206 | GameObject: 1207 | m_ObjectHideFlags: 0 1208 | m_CorrespondingSourceObject: {fileID: 0} 1209 | m_PrefabInstance: {fileID: 0} 1210 | m_PrefabAsset: {fileID: 0} 1211 | serializedVersion: 6 1212 | m_Component: 1213 | - component: {fileID: 712827151} 1214 | - component: {fileID: 712827153} 1215 | - component: {fileID: 712827152} 1216 | m_Layer: 5 1217 | m_Name: TextStatus 1218 | m_TagString: Untagged 1219 | m_Icon: {fileID: 0} 1220 | m_NavMeshLayer: 0 1221 | m_StaticEditorFlags: 0 1222 | m_IsActive: 0 1223 | --- !u!224 &712827151 1224 | RectTransform: 1225 | m_ObjectHideFlags: 0 1226 | m_CorrespondingSourceObject: {fileID: 0} 1227 | m_PrefabInstance: {fileID: 0} 1228 | m_PrefabAsset: {fileID: 0} 1229 | m_GameObject: {fileID: 712827150} 1230 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 1231 | m_LocalPosition: {x: 0, y: 0, z: 0} 1232 | m_LocalScale: {x: 1, y: 1, z: 1} 1233 | m_Children: [] 1234 | m_Father: {fileID: 776519261} 1235 | m_RootOrder: 2 1236 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1237 | m_AnchorMin: {x: 1, y: 1} 1238 | m_AnchorMax: {x: 1, y: 1} 1239 | m_AnchoredPosition: {x: -3, y: -19} 1240 | m_SizeDelta: {x: 157.79, y: 19} 1241 | m_Pivot: {x: 1, y: 1} 1242 | --- !u!114 &712827152 1243 | MonoBehaviour: 1244 | m_ObjectHideFlags: 0 1245 | m_CorrespondingSourceObject: {fileID: 0} 1246 | m_PrefabInstance: {fileID: 0} 1247 | m_PrefabAsset: {fileID: 0} 1248 | m_GameObject: {fileID: 712827150} 1249 | m_Enabled: 1 1250 | m_EditorHideFlags: 0 1251 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 1252 | m_Name: 1253 | m_EditorClassIdentifier: 1254 | m_Material: {fileID: 0} 1255 | m_Color: {r: 1, g: 1, b: 1, a: 0.24313726} 1256 | m_RaycastTarget: 1 1257 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1258 | m_Maskable: 1 1259 | m_OnCullStateChanged: 1260 | m_PersistentCalls: 1261 | m_Calls: [] 1262 | m_FontData: 1263 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1264 | m_FontSize: 12 1265 | m_FontStyle: 2 1266 | m_BestFit: 0 1267 | m_MinSize: 1 1268 | m_MaxSize: 40 1269 | m_Alignment: 5 1270 | m_AlignByGeometry: 0 1271 | m_RichText: 1 1272 | m_HorizontalOverflow: 0 1273 | m_VerticalOverflow: 0 1274 | m_LineSpacing: 1 1275 | m_Text: Status 1276 | --- !u!222 &712827153 1277 | CanvasRenderer: 1278 | m_ObjectHideFlags: 0 1279 | m_CorrespondingSourceObject: {fileID: 0} 1280 | m_PrefabInstance: {fileID: 0} 1281 | m_PrefabAsset: {fileID: 0} 1282 | m_GameObject: {fileID: 712827150} 1283 | m_CullTransparentMesh: 0 1284 | --- !u!1 &719699535 1285 | GameObject: 1286 | m_ObjectHideFlags: 0 1287 | m_CorrespondingSourceObject: {fileID: 0} 1288 | m_PrefabInstance: {fileID: 0} 1289 | m_PrefabAsset: {fileID: 0} 1290 | serializedVersion: 6 1291 | m_Component: 1292 | - component: {fileID: 1206549608} 1293 | m_Layer: 5 1294 | m_Name: ServerList 1295 | m_TagString: Untagged 1296 | m_Icon: {fileID: 0} 1297 | m_NavMeshLayer: 0 1298 | m_StaticEditorFlags: 0 1299 | m_IsActive: 1 1300 | --- !u!1 &747705678 1301 | GameObject: 1302 | m_ObjectHideFlags: 0 1303 | m_CorrespondingSourceObject: {fileID: 0} 1304 | m_PrefabInstance: {fileID: 0} 1305 | m_PrefabAsset: {fileID: 0} 1306 | serializedVersion: 6 1307 | m_Component: 1308 | - component: {fileID: 747705679} 1309 | - component: {fileID: 747705681} 1310 | - component: {fileID: 747705680} 1311 | m_Layer: 5 1312 | m_Name: TitleBar 1313 | m_TagString: Untagged 1314 | m_Icon: {fileID: 0} 1315 | m_NavMeshLayer: 0 1316 | m_StaticEditorFlags: 0 1317 | m_IsActive: 1 1318 | --- !u!224 &747705679 1319 | RectTransform: 1320 | m_ObjectHideFlags: 0 1321 | m_CorrespondingSourceObject: {fileID: 0} 1322 | m_PrefabInstance: {fileID: 0} 1323 | m_PrefabAsset: {fileID: 0} 1324 | m_GameObject: {fileID: 747705678} 1325 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1326 | m_LocalPosition: {x: 0, y: 0, z: 0} 1327 | m_LocalScale: {x: 1, y: 1, z: 1} 1328 | m_Children: 1329 | - {fileID: 1093045669} 1330 | m_Father: {fileID: 1926990971} 1331 | m_RootOrder: 0 1332 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1333 | m_AnchorMin: {x: 0, y: 1} 1334 | m_AnchorMax: {x: 1, y: 1} 1335 | m_AnchoredPosition: {x: 0, y: 0} 1336 | m_SizeDelta: {x: 0, y: 20} 1337 | m_Pivot: {x: 0.5, y: 1} 1338 | --- !u!114 &747705680 1339 | MonoBehaviour: 1340 | m_ObjectHideFlags: 0 1341 | m_CorrespondingSourceObject: {fileID: 0} 1342 | m_PrefabInstance: {fileID: 0} 1343 | m_PrefabAsset: {fileID: 0} 1344 | m_GameObject: {fileID: 747705678} 1345 | m_Enabled: 1 1346 | m_EditorHideFlags: 0 1347 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1348 | m_Name: 1349 | m_EditorClassIdentifier: 1350 | m_Material: {fileID: 0} 1351 | m_Color: {r: 0.31764707, g: 0.31764707, b: 0.31764707, a: 1} 1352 | m_RaycastTarget: 1 1353 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1354 | m_Maskable: 1 1355 | m_OnCullStateChanged: 1356 | m_PersistentCalls: 1357 | m_Calls: [] 1358 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} 1359 | m_Type: 1 1360 | m_PreserveAspect: 0 1361 | m_FillCenter: 1 1362 | m_FillMethod: 4 1363 | m_FillAmount: 1 1364 | m_FillClockwise: 1 1365 | m_FillOrigin: 0 1366 | m_UseSpriteMesh: 0 1367 | m_PixelsPerUnitMultiplier: 1 1368 | --- !u!222 &747705681 1369 | CanvasRenderer: 1370 | m_ObjectHideFlags: 0 1371 | m_CorrespondingSourceObject: {fileID: 0} 1372 | m_PrefabInstance: {fileID: 0} 1373 | m_PrefabAsset: {fileID: 0} 1374 | m_GameObject: {fileID: 747705678} 1375 | m_CullTransparentMesh: 0 1376 | --- !u!1 &776519260 1377 | GameObject: 1378 | m_ObjectHideFlags: 0 1379 | m_CorrespondingSourceObject: {fileID: 0} 1380 | m_PrefabInstance: {fileID: 0} 1381 | m_PrefabAsset: {fileID: 0} 1382 | serializedVersion: 6 1383 | m_Component: 1384 | - component: {fileID: 776519261} 1385 | - component: {fileID: 776519264} 1386 | - component: {fileID: 776519263} 1387 | m_Layer: 5 1388 | m_Name: ServerListPanel 1389 | m_TagString: Untagged 1390 | m_Icon: {fileID: 0} 1391 | m_NavMeshLayer: 0 1392 | m_StaticEditorFlags: 0 1393 | m_IsActive: 1 1394 | --- !u!224 &776519261 1395 | RectTransform: 1396 | m_ObjectHideFlags: 0 1397 | m_CorrespondingSourceObject: {fileID: 0} 1398 | m_PrefabInstance: {fileID: 0} 1399 | m_PrefabAsset: {fileID: 0} 1400 | m_GameObject: {fileID: 776519260} 1401 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1402 | m_LocalPosition: {x: 0, y: 0, z: 0} 1403 | m_LocalScale: {x: 1, y: 1, z: 1} 1404 | m_Children: 1405 | - {fileID: 1007872741} 1406 | - {fileID: 21701408} 1407 | - {fileID: 712827151} 1408 | - {fileID: 1578438653} 1409 | - {fileID: 1918165881} 1410 | - {fileID: 1052220088} 1411 | - {fileID: 1291804678} 1412 | - {fileID: 777480155} 1413 | m_Father: {fileID: 1206549608} 1414 | m_RootOrder: 1 1415 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1416 | m_AnchorMin: {x: 0.5, y: 0.5} 1417 | m_AnchorMax: {x: 0.5, y: 0.5} 1418 | m_AnchoredPosition: {x: 0, y: 0} 1419 | m_SizeDelta: {x: 526, y: 400} 1420 | m_Pivot: {x: 0.5, y: 0.5} 1421 | --- !u!114 &776519263 1422 | MonoBehaviour: 1423 | m_ObjectHideFlags: 0 1424 | m_CorrespondingSourceObject: {fileID: 0} 1425 | m_PrefabInstance: {fileID: 0} 1426 | m_PrefabAsset: {fileID: 0} 1427 | m_GameObject: {fileID: 776519260} 1428 | m_Enabled: 1 1429 | m_EditorHideFlags: 0 1430 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1431 | m_Name: 1432 | m_EditorClassIdentifier: 1433 | m_Material: {fileID: 0} 1434 | m_Color: {r: 0.19215687, g: 0.19215687, b: 0.19215687, a: 1} 1435 | m_RaycastTarget: 1 1436 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1437 | m_Maskable: 1 1438 | m_OnCullStateChanged: 1439 | m_PersistentCalls: 1440 | m_Calls: [] 1441 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} 1442 | m_Type: 1 1443 | m_PreserveAspect: 0 1444 | m_FillCenter: 1 1445 | m_FillMethod: 4 1446 | m_FillAmount: 1 1447 | m_FillClockwise: 1 1448 | m_FillOrigin: 0 1449 | m_UseSpriteMesh: 0 1450 | m_PixelsPerUnitMultiplier: 1 1451 | --- !u!222 &776519264 1452 | CanvasRenderer: 1453 | m_ObjectHideFlags: 0 1454 | m_CorrespondingSourceObject: {fileID: 0} 1455 | m_PrefabInstance: {fileID: 0} 1456 | m_PrefabAsset: {fileID: 0} 1457 | m_GameObject: {fileID: 776519260} 1458 | m_CullTransparentMesh: 0 1459 | --- !u!1 &777480154 1460 | GameObject: 1461 | m_ObjectHideFlags: 0 1462 | m_CorrespondingSourceObject: {fileID: 0} 1463 | m_PrefabInstance: {fileID: 0} 1464 | m_PrefabAsset: {fileID: 0} 1465 | serializedVersion: 6 1466 | m_Component: 1467 | - component: {fileID: 777480155} 1468 | - component: {fileID: 777480157} 1469 | - component: {fileID: 777480156} 1470 | m_Layer: 5 1471 | m_Name: TextFootnote 1472 | m_TagString: Untagged 1473 | m_Icon: {fileID: 0} 1474 | m_NavMeshLayer: 0 1475 | m_StaticEditorFlags: 0 1476 | m_IsActive: 1 1477 | --- !u!224 &777480155 1478 | RectTransform: 1479 | m_ObjectHideFlags: 0 1480 | m_CorrespondingSourceObject: {fileID: 0} 1481 | m_PrefabInstance: {fileID: 0} 1482 | m_PrefabAsset: {fileID: 0} 1483 | m_GameObject: {fileID: 777480154} 1484 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1485 | m_LocalPosition: {x: 0, y: 0, z: 0} 1486 | m_LocalScale: {x: 1, y: 1, z: 1} 1487 | m_Children: [] 1488 | m_Father: {fileID: 776519261} 1489 | m_RootOrder: 7 1490 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1491 | m_AnchorMin: {x: 0, y: 0} 1492 | m_AnchorMax: {x: 1, y: 0} 1493 | m_AnchoredPosition: {x: 0, y: -10} 1494 | m_SizeDelta: {x: 0, y: 20} 1495 | m_Pivot: {x: 0.5, y: 0.5} 1496 | --- !u!114 &777480156 1497 | MonoBehaviour: 1498 | m_ObjectHideFlags: 0 1499 | m_CorrespondingSourceObject: {fileID: 0} 1500 | m_PrefabInstance: {fileID: 0} 1501 | m_PrefabAsset: {fileID: 0} 1502 | m_GameObject: {fileID: 777480154} 1503 | m_Enabled: 1 1504 | m_EditorHideFlags: 0 1505 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 1506 | m_Name: 1507 | m_EditorClassIdentifier: 1508 | m_Material: {fileID: 0} 1509 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1510 | m_RaycastTarget: 1 1511 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1512 | m_Maskable: 1 1513 | m_OnCullStateChanged: 1514 | m_PersistentCalls: 1515 | m_Calls: [] 1516 | m_FontData: 1517 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1518 | m_FontSize: 12 1519 | m_FontStyle: 2 1520 | m_BestFit: 0 1521 | m_MinSize: 1 1522 | m_MaxSize: 40 1523 | m_Alignment: 1 1524 | m_AlignByGeometry: 0 1525 | m_RichText: 1 1526 | m_HorizontalOverflow: 0 1527 | m_VerticalOverflow: 1 1528 | m_LineSpacing: 1 1529 | m_Text: "If you like this software, please consider donating coffee at https://ko-fi.com/coburn\nThanks 1530 | for using Aussie Open Source Software. Don't forget to read the fine manual!\n\nThis 1531 | scene only shows the server browser in action, it doesn't contain any server 1532 | functionality. Clicking join will do nothing but print a message to the console. 1533 | \n\nPlease refer to the network stack integrations int the Git Repository for 1534 | information on how to integrate NodeLS in your server instances." 1535 | --- !u!222 &777480157 1536 | CanvasRenderer: 1537 | m_ObjectHideFlags: 0 1538 | m_CorrespondingSourceObject: {fileID: 0} 1539 | m_PrefabInstance: {fileID: 0} 1540 | m_PrefabAsset: {fileID: 0} 1541 | m_GameObject: {fileID: 777480154} 1542 | m_CullTransparentMesh: 0 1543 | --- !u!850595691 &852509933 1544 | LightingSettings: 1545 | m_ObjectHideFlags: 0 1546 | m_CorrespondingSourceObject: {fileID: 0} 1547 | m_PrefabInstance: {fileID: 0} 1548 | m_PrefabAsset: {fileID: 0} 1549 | m_Name: Settings.lighting 1550 | serializedVersion: 3 1551 | m_GIWorkflowMode: 0 1552 | m_EnableBakedLightmaps: 0 1553 | m_EnableRealtimeLightmaps: 0 1554 | m_RealtimeEnvironmentLighting: 1 1555 | m_BounceScale: 1 1556 | m_AlbedoBoost: 1 1557 | m_IndirectOutputScale: 1 1558 | m_UsingShadowmask: 0 1559 | m_BakeBackend: 0 1560 | m_LightmapMaxSize: 1024 1561 | m_BakeResolution: 40 1562 | m_Padding: 2 1563 | m_TextureCompression: 1 1564 | m_AO: 0 1565 | m_AOMaxDistance: 1 1566 | m_CompAOExponent: 0 1567 | m_CompAOExponentDirect: 0 1568 | m_ExtractAO: 0 1569 | m_MixedBakeMode: 1 1570 | m_LightmapsBakeMode: 1 1571 | m_FilterMode: 1 1572 | m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0} 1573 | m_ExportTrainingData: 0 1574 | m_TrainingDataDestination: TrainingData 1575 | m_RealtimeResolution: 2 1576 | m_ForceWhiteAlbedo: 0 1577 | m_ForceUpdates: 0 1578 | m_FinalGather: 0 1579 | m_FinalGatherRayCount: 1024 1580 | m_FinalGatherFiltering: 1 1581 | m_PVRCulling: 1 1582 | m_PVRSampling: 1 1583 | m_PVRDirectSampleCount: 32 1584 | m_PVRSampleCount: 500 1585 | m_PVREnvironmentSampleCount: 500 1586 | m_PVREnvironmentReferencePointCount: 2048 1587 | m_LightProbeSampleCountMultiplier: 4 1588 | m_PVRBounces: 2 1589 | m_PVRMinBounces: 2 1590 | m_PVREnvironmentMIS: 0 1591 | m_PVRFilteringMode: 0 1592 | m_PVRDenoiserTypeDirect: 0 1593 | m_PVRDenoiserTypeIndirect: 0 1594 | m_PVRDenoiserTypeAO: 0 1595 | m_PVRFilterTypeDirect: 0 1596 | m_PVRFilterTypeIndirect: 0 1597 | m_PVRFilterTypeAO: 0 1598 | m_PVRFilteringGaussRadiusDirect: 1 1599 | m_PVRFilteringGaussRadiusIndirect: 5 1600 | m_PVRFilteringGaussRadiusAO: 2 1601 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 1602 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 1603 | m_PVRFilteringAtrousPositionSigmaAO: 1 1604 | --- !u!1 &993261493 1605 | GameObject: 1606 | m_ObjectHideFlags: 0 1607 | m_CorrespondingSourceObject: {fileID: 0} 1608 | m_PrefabInstance: {fileID: 0} 1609 | m_PrefabAsset: {fileID: 0} 1610 | serializedVersion: 6 1611 | m_Component: 1612 | - component: {fileID: 993261494} 1613 | - component: {fileID: 993261497} 1614 | - component: {fileID: 993261496} 1615 | - component: {fileID: 993261495} 1616 | m_Layer: 5 1617 | m_Name: SupportButton 1618 | m_TagString: Untagged 1619 | m_Icon: {fileID: 0} 1620 | m_NavMeshLayer: 0 1621 | m_StaticEditorFlags: 0 1622 | m_IsActive: 1 1623 | --- !u!224 &993261494 1624 | RectTransform: 1625 | m_ObjectHideFlags: 0 1626 | m_CorrespondingSourceObject: {fileID: 0} 1627 | m_PrefabInstance: {fileID: 0} 1628 | m_PrefabAsset: {fileID: 0} 1629 | m_GameObject: {fileID: 993261493} 1630 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1631 | m_LocalPosition: {x: 0, y: 0, z: 0} 1632 | m_LocalScale: {x: 1, y: 1, z: 1} 1633 | m_Children: 1634 | - {fileID: 2020215609} 1635 | m_Father: {fileID: 1291804678} 1636 | m_RootOrder: 1 1637 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1638 | m_AnchorMin: {x: 1, y: 0.5} 1639 | m_AnchorMax: {x: 1, y: 0.5} 1640 | m_AnchoredPosition: {x: -2, y: 0} 1641 | m_SizeDelta: {x: 260, y: 20} 1642 | m_Pivot: {x: 1, y: 0.5} 1643 | --- !u!114 &993261495 1644 | MonoBehaviour: 1645 | m_ObjectHideFlags: 0 1646 | m_CorrespondingSourceObject: {fileID: 0} 1647 | m_PrefabInstance: {fileID: 0} 1648 | m_PrefabAsset: {fileID: 0} 1649 | m_GameObject: {fileID: 993261493} 1650 | m_Enabled: 1 1651 | m_EditorHideFlags: 0 1652 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} 1653 | m_Name: 1654 | m_EditorClassIdentifier: 1655 | m_Navigation: 1656 | m_Mode: 3 1657 | m_WrapAround: 0 1658 | m_SelectOnUp: {fileID: 0} 1659 | m_SelectOnDown: {fileID: 0} 1660 | m_SelectOnLeft: {fileID: 0} 1661 | m_SelectOnRight: {fileID: 0} 1662 | m_Transition: 1 1663 | m_Colors: 1664 | m_NormalColor: {r: 0.32156864, g: 0.32156864, b: 0.32156864, a: 1} 1665 | m_HighlightedColor: {r: 0.3529412, g: 0.3529412, b: 0.3529412, a: 1} 1666 | m_PressedColor: {r: 0.3882353, g: 0.3882353, b: 0.3882353, a: 1} 1667 | m_SelectedColor: {r: 0.3529412, g: 0.3529412, b: 0.3529412, a: 1} 1668 | m_DisabledColor: {r: 0.3882353, g: 0.3882353, b: 0.3882353, a: 0.2509804} 1669 | m_ColorMultiplier: 1 1670 | m_FadeDuration: 0.1 1671 | m_SpriteState: 1672 | m_HighlightedSprite: {fileID: 0} 1673 | m_PressedSprite: {fileID: 0} 1674 | m_SelectedSprite: {fileID: 0} 1675 | m_DisabledSprite: {fileID: 0} 1676 | m_AnimationTriggers: 1677 | m_NormalTrigger: Normal 1678 | m_HighlightedTrigger: Highlighted 1679 | m_PressedTrigger: Pressed 1680 | m_SelectedTrigger: Highlighted 1681 | m_DisabledTrigger: Disabled 1682 | m_Interactable: 1 1683 | m_TargetGraphic: {fileID: 993261496} 1684 | m_OnClick: 1685 | m_PersistentCalls: 1686 | m_Calls: [] 1687 | --- !u!114 &993261496 1688 | MonoBehaviour: 1689 | m_ObjectHideFlags: 0 1690 | m_CorrespondingSourceObject: {fileID: 0} 1691 | m_PrefabInstance: {fileID: 0} 1692 | m_PrefabAsset: {fileID: 0} 1693 | m_GameObject: {fileID: 993261493} 1694 | m_Enabled: 1 1695 | m_EditorHideFlags: 0 1696 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1697 | m_Name: 1698 | m_EditorClassIdentifier: 1699 | m_Material: {fileID: 0} 1700 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1701 | m_RaycastTarget: 1 1702 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1703 | m_Maskable: 1 1704 | m_OnCullStateChanged: 1705 | m_PersistentCalls: 1706 | m_Calls: [] 1707 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 1708 | m_Type: 1 1709 | m_PreserveAspect: 0 1710 | m_FillCenter: 1 1711 | m_FillMethod: 4 1712 | m_FillAmount: 1 1713 | m_FillClockwise: 1 1714 | m_FillOrigin: 0 1715 | m_UseSpriteMesh: 0 1716 | m_PixelsPerUnitMultiplier: 1 1717 | --- !u!222 &993261497 1718 | CanvasRenderer: 1719 | m_ObjectHideFlags: 0 1720 | m_CorrespondingSourceObject: {fileID: 0} 1721 | m_PrefabInstance: {fileID: 0} 1722 | m_PrefabAsset: {fileID: 0} 1723 | m_GameObject: {fileID: 993261493} 1724 | m_CullTransparentMesh: 0 1725 | --- !u!1 &1004751477 1726 | GameObject: 1727 | m_ObjectHideFlags: 0 1728 | m_CorrespondingSourceObject: {fileID: 0} 1729 | m_PrefabInstance: {fileID: 0} 1730 | m_PrefabAsset: {fileID: 0} 1731 | serializedVersion: 6 1732 | m_Component: 1733 | - component: {fileID: 1004751478} 1734 | - component: {fileID: 1004751481} 1735 | - component: {fileID: 1004751480} 1736 | - component: {fileID: 1004751479} 1737 | m_Layer: 5 1738 | m_Name: Refresh 1739 | m_TagString: Untagged 1740 | m_Icon: {fileID: 0} 1741 | m_NavMeshLayer: 0 1742 | m_StaticEditorFlags: 0 1743 | m_IsActive: 1 1744 | --- !u!224 &1004751478 1745 | RectTransform: 1746 | m_ObjectHideFlags: 0 1747 | m_CorrespondingSourceObject: {fileID: 0} 1748 | m_PrefabInstance: {fileID: 0} 1749 | m_PrefabAsset: {fileID: 0} 1750 | m_GameObject: {fileID: 1004751477} 1751 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1752 | m_LocalPosition: {x: 0, y: 0, z: 0} 1753 | m_LocalScale: {x: 1, y: 1, z: 1} 1754 | m_Children: 1755 | - {fileID: 531282980} 1756 | m_Father: {fileID: 1291804678} 1757 | m_RootOrder: 0 1758 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1759 | m_AnchorMin: {x: 0, y: 0.5} 1760 | m_AnchorMax: {x: 0, y: 0.5} 1761 | m_AnchoredPosition: {x: 2, y: 0} 1762 | m_SizeDelta: {x: 260, y: 20} 1763 | m_Pivot: {x: 0, y: 0.5} 1764 | --- !u!114 &1004751479 1765 | MonoBehaviour: 1766 | m_ObjectHideFlags: 0 1767 | m_CorrespondingSourceObject: {fileID: 0} 1768 | m_PrefabInstance: {fileID: 0} 1769 | m_PrefabAsset: {fileID: 0} 1770 | m_GameObject: {fileID: 1004751477} 1771 | m_Enabled: 1 1772 | m_EditorHideFlags: 0 1773 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} 1774 | m_Name: 1775 | m_EditorClassIdentifier: 1776 | m_Navigation: 1777 | m_Mode: 3 1778 | m_WrapAround: 0 1779 | m_SelectOnUp: {fileID: 0} 1780 | m_SelectOnDown: {fileID: 0} 1781 | m_SelectOnLeft: {fileID: 0} 1782 | m_SelectOnRight: {fileID: 0} 1783 | m_Transition: 1 1784 | m_Colors: 1785 | m_NormalColor: {r: 0.32156864, g: 0.32156864, b: 0.32156864, a: 1} 1786 | m_HighlightedColor: {r: 0.3529412, g: 0.3529412, b: 0.3529412, a: 1} 1787 | m_PressedColor: {r: 0.3882353, g: 0.3882353, b: 0.3882353, a: 1} 1788 | m_SelectedColor: {r: 0.3529412, g: 0.3529412, b: 0.3529412, a: 1} 1789 | m_DisabledColor: {r: 0.3882353, g: 0.3882353, b: 0.3882353, a: 0.2509804} 1790 | m_ColorMultiplier: 1 1791 | m_FadeDuration: 0.1 1792 | m_SpriteState: 1793 | m_HighlightedSprite: {fileID: 0} 1794 | m_PressedSprite: {fileID: 0} 1795 | m_SelectedSprite: {fileID: 0} 1796 | m_DisabledSprite: {fileID: 0} 1797 | m_AnimationTriggers: 1798 | m_NormalTrigger: Normal 1799 | m_HighlightedTrigger: Highlighted 1800 | m_PressedTrigger: Pressed 1801 | m_SelectedTrigger: Highlighted 1802 | m_DisabledTrigger: Disabled 1803 | m_Interactable: 1 1804 | m_TargetGraphic: {fileID: 1004751480} 1805 | m_OnClick: 1806 | m_PersistentCalls: 1807 | m_Calls: [] 1808 | --- !u!114 &1004751480 1809 | MonoBehaviour: 1810 | m_ObjectHideFlags: 0 1811 | m_CorrespondingSourceObject: {fileID: 0} 1812 | m_PrefabInstance: {fileID: 0} 1813 | m_PrefabAsset: {fileID: 0} 1814 | m_GameObject: {fileID: 1004751477} 1815 | m_Enabled: 1 1816 | m_EditorHideFlags: 0 1817 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1818 | m_Name: 1819 | m_EditorClassIdentifier: 1820 | m_Material: {fileID: 0} 1821 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1822 | m_RaycastTarget: 1 1823 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1824 | m_Maskable: 1 1825 | m_OnCullStateChanged: 1826 | m_PersistentCalls: 1827 | m_Calls: [] 1828 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 1829 | m_Type: 1 1830 | m_PreserveAspect: 0 1831 | m_FillCenter: 1 1832 | m_FillMethod: 4 1833 | m_FillAmount: 1 1834 | m_FillClockwise: 1 1835 | m_FillOrigin: 0 1836 | m_UseSpriteMesh: 0 1837 | m_PixelsPerUnitMultiplier: 1 1838 | --- !u!222 &1004751481 1839 | CanvasRenderer: 1840 | m_ObjectHideFlags: 0 1841 | m_CorrespondingSourceObject: {fileID: 0} 1842 | m_PrefabInstance: {fileID: 0} 1843 | m_PrefabAsset: {fileID: 0} 1844 | m_GameObject: {fileID: 1004751477} 1845 | m_CullTransparentMesh: 0 1846 | --- !u!1 &1007872740 1847 | GameObject: 1848 | m_ObjectHideFlags: 0 1849 | m_CorrespondingSourceObject: {fileID: 0} 1850 | m_PrefabInstance: {fileID: 0} 1851 | m_PrefabAsset: {fileID: 0} 1852 | serializedVersion: 6 1853 | m_Component: 1854 | - component: {fileID: 1007872741} 1855 | - component: {fileID: 1007872744} 1856 | - component: {fileID: 1007872743} 1857 | m_Layer: 5 1858 | m_Name: TitleBar 1859 | m_TagString: Untagged 1860 | m_Icon: {fileID: 0} 1861 | m_NavMeshLayer: 0 1862 | m_StaticEditorFlags: 0 1863 | m_IsActive: 1 1864 | --- !u!224 &1007872741 1865 | RectTransform: 1866 | m_ObjectHideFlags: 0 1867 | m_CorrespondingSourceObject: {fileID: 0} 1868 | m_PrefabInstance: {fileID: 0} 1869 | m_PrefabAsset: {fileID: 0} 1870 | m_GameObject: {fileID: 1007872740} 1871 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1872 | m_LocalPosition: {x: 0, y: 0, z: 0} 1873 | m_LocalScale: {x: 1, y: 1, z: 1} 1874 | m_Children: 1875 | - {fileID: 177548783} 1876 | m_Father: {fileID: 776519261} 1877 | m_RootOrder: 0 1878 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1879 | m_AnchorMin: {x: 0, y: 1} 1880 | m_AnchorMax: {x: 1, y: 1} 1881 | m_AnchoredPosition: {x: 0, y: 0} 1882 | m_SizeDelta: {x: 0, y: 20} 1883 | m_Pivot: {x: 0.5, y: 1} 1884 | --- !u!114 &1007872743 1885 | MonoBehaviour: 1886 | m_ObjectHideFlags: 0 1887 | m_CorrespondingSourceObject: {fileID: 0} 1888 | m_PrefabInstance: {fileID: 0} 1889 | m_PrefabAsset: {fileID: 0} 1890 | m_GameObject: {fileID: 1007872740} 1891 | m_Enabled: 1 1892 | m_EditorHideFlags: 0 1893 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 1894 | m_Name: 1895 | m_EditorClassIdentifier: 1896 | m_Material: {fileID: 0} 1897 | m_Color: {r: 0.31764707, g: 0.31764707, b: 0.31764707, a: 1} 1898 | m_RaycastTarget: 1 1899 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1900 | m_Maskable: 1 1901 | m_OnCullStateChanged: 1902 | m_PersistentCalls: 1903 | m_Calls: [] 1904 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} 1905 | m_Type: 1 1906 | m_PreserveAspect: 0 1907 | m_FillCenter: 1 1908 | m_FillMethod: 4 1909 | m_FillAmount: 1 1910 | m_FillClockwise: 1 1911 | m_FillOrigin: 0 1912 | m_UseSpriteMesh: 0 1913 | m_PixelsPerUnitMultiplier: 1 1914 | --- !u!222 &1007872744 1915 | CanvasRenderer: 1916 | m_ObjectHideFlags: 0 1917 | m_CorrespondingSourceObject: {fileID: 0} 1918 | m_PrefabInstance: {fileID: 0} 1919 | m_PrefabAsset: {fileID: 0} 1920 | m_GameObject: {fileID: 1007872740} 1921 | m_CullTransparentMesh: 0 1922 | --- !u!1 &1052220087 1923 | GameObject: 1924 | m_ObjectHideFlags: 0 1925 | m_CorrespondingSourceObject: {fileID: 0} 1926 | m_PrefabInstance: {fileID: 0} 1927 | m_PrefabAsset: {fileID: 0} 1928 | serializedVersion: 6 1929 | m_Component: 1930 | - component: {fileID: 1052220088} 1931 | - component: {fileID: 1052220090} 1932 | - component: {fileID: 1052220089} 1933 | m_Layer: 5 1934 | m_Name: TextStartServer 1935 | m_TagString: Untagged 1936 | m_Icon: {fileID: 0} 1937 | m_NavMeshLayer: 0 1938 | m_StaticEditorFlags: 0 1939 | m_IsActive: 1 1940 | --- !u!224 &1052220088 1941 | RectTransform: 1942 | m_ObjectHideFlags: 0 1943 | m_CorrespondingSourceObject: {fileID: 0} 1944 | m_PrefabInstance: {fileID: 0} 1945 | m_PrefabAsset: {fileID: 0} 1946 | m_GameObject: {fileID: 1052220087} 1947 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 1948 | m_LocalPosition: {x: 0, y: 0, z: 0} 1949 | m_LocalScale: {x: 1, y: 1, z: 1} 1950 | m_Children: [] 1951 | m_Father: {fileID: 776519261} 1952 | m_RootOrder: 5 1953 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 1954 | m_AnchorMin: {x: 0, y: 0} 1955 | m_AnchorMax: {x: 1, y: 0} 1956 | m_AnchoredPosition: {x: 0, y: 40} 1957 | m_SizeDelta: {x: 0, y: 20} 1958 | m_Pivot: {x: 0.5, y: 0.5} 1959 | --- !u!114 &1052220089 1960 | MonoBehaviour: 1961 | m_ObjectHideFlags: 0 1962 | m_CorrespondingSourceObject: {fileID: 0} 1963 | m_PrefabInstance: {fileID: 0} 1964 | m_PrefabAsset: {fileID: 0} 1965 | m_GameObject: {fileID: 1052220087} 1966 | m_Enabled: 1 1967 | m_EditorHideFlags: 0 1968 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 1969 | m_Name: 1970 | m_EditorClassIdentifier: 1971 | m_Material: {fileID: 0} 1972 | m_Color: {r: 1, g: 1, b: 1, a: 1} 1973 | m_RaycastTarget: 1 1974 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 1975 | m_Maskable: 1 1976 | m_OnCullStateChanged: 1977 | m_PersistentCalls: 1978 | m_Calls: [] 1979 | m_FontData: 1980 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 1981 | m_FontSize: 12 1982 | m_FontStyle: 1 1983 | m_BestFit: 0 1984 | m_MinSize: 1 1985 | m_MaxSize: 40 1986 | m_Alignment: 4 1987 | m_AlignByGeometry: 0 1988 | m_RichText: 1 1989 | m_HorizontalOverflow: 0 1990 | m_VerticalOverflow: 0 1991 | m_LineSpacing: 1 1992 | m_Text: Controls 1993 | --- !u!222 &1052220090 1994 | CanvasRenderer: 1995 | m_ObjectHideFlags: 0 1996 | m_CorrespondingSourceObject: {fileID: 0} 1997 | m_PrefabInstance: {fileID: 0} 1998 | m_PrefabAsset: {fileID: 0} 1999 | m_GameObject: {fileID: 1052220087} 2000 | m_CullTransparentMesh: 0 2001 | --- !u!1 &1081204137 2002 | GameObject: 2003 | m_ObjectHideFlags: 0 2004 | m_CorrespondingSourceObject: {fileID: 0} 2005 | m_PrefabInstance: {fileID: 0} 2006 | m_PrefabAsset: {fileID: 0} 2007 | serializedVersion: 6 2008 | m_Component: 2009 | - component: {fileID: 1081204138} 2010 | - component: {fileID: 1081204140} 2011 | - component: {fileID: 1081204139} 2012 | m_Layer: 5 2013 | m_Name: TextConnecting 2014 | m_TagString: Untagged 2015 | m_Icon: {fileID: 0} 2016 | m_NavMeshLayer: 0 2017 | m_StaticEditorFlags: 0 2018 | m_IsActive: 1 2019 | --- !u!224 &1081204138 2020 | RectTransform: 2021 | m_ObjectHideFlags: 0 2022 | m_CorrespondingSourceObject: {fileID: 0} 2023 | m_PrefabInstance: {fileID: 0} 2024 | m_PrefabAsset: {fileID: 0} 2025 | m_GameObject: {fileID: 1081204137} 2026 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 2027 | m_LocalPosition: {x: 0, y: 0, z: 0} 2028 | m_LocalScale: {x: 1, y: 1, z: 1} 2029 | m_Children: [] 2030 | m_Father: {fileID: 1926990971} 2031 | m_RootOrder: 2 2032 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2033 | m_AnchorMin: {x: 0, y: 0.5} 2034 | m_AnchorMax: {x: 1, y: 0.5} 2035 | m_AnchoredPosition: {x: 0, y: 0} 2036 | m_SizeDelta: {x: 0, y: 20} 2037 | m_Pivot: {x: 0.5, y: 0.5} 2038 | --- !u!114 &1081204139 2039 | MonoBehaviour: 2040 | m_ObjectHideFlags: 0 2041 | m_CorrespondingSourceObject: {fileID: 0} 2042 | m_PrefabInstance: {fileID: 0} 2043 | m_PrefabAsset: {fileID: 0} 2044 | m_GameObject: {fileID: 1081204137} 2045 | m_Enabled: 1 2046 | m_EditorHideFlags: 0 2047 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 2048 | m_Name: 2049 | m_EditorClassIdentifier: 2050 | m_Material: {fileID: 0} 2051 | m_Color: {r: 1, g: 0.23137255, b: 0.5803922, a: 1} 2052 | m_RaycastTarget: 1 2053 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 2054 | m_Maskable: 1 2055 | m_OnCullStateChanged: 2056 | m_PersistentCalls: 2057 | m_Calls: [] 2058 | m_FontData: 2059 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 2060 | m_FontSize: 12 2061 | m_FontStyle: 1 2062 | m_BestFit: 0 2063 | m_MinSize: 1 2064 | m_MaxSize: 40 2065 | m_Alignment: 4 2066 | m_AlignByGeometry: 0 2067 | m_RichText: 1 2068 | m_HorizontalOverflow: 0 2069 | m_VerticalOverflow: 0 2070 | m_LineSpacing: 1 2071 | m_Text: Connecting... 2072 | --- !u!222 &1081204140 2073 | CanvasRenderer: 2074 | m_ObjectHideFlags: 0 2075 | m_CorrespondingSourceObject: {fileID: 0} 2076 | m_PrefabInstance: {fileID: 0} 2077 | m_PrefabAsset: {fileID: 0} 2078 | m_GameObject: {fileID: 1081204137} 2079 | m_CullTransparentMesh: 0 2080 | --- !u!1 &1093045668 2081 | GameObject: 2082 | m_ObjectHideFlags: 0 2083 | m_CorrespondingSourceObject: {fileID: 0} 2084 | m_PrefabInstance: {fileID: 0} 2085 | m_PrefabAsset: {fileID: 0} 2086 | serializedVersion: 6 2087 | m_Component: 2088 | - component: {fileID: 1093045669} 2089 | - component: {fileID: 1093045671} 2090 | - component: {fileID: 1093045670} 2091 | m_Layer: 5 2092 | m_Name: TextTitle 2093 | m_TagString: Untagged 2094 | m_Icon: {fileID: 0} 2095 | m_NavMeshLayer: 0 2096 | m_StaticEditorFlags: 0 2097 | m_IsActive: 1 2098 | --- !u!224 &1093045669 2099 | RectTransform: 2100 | m_ObjectHideFlags: 0 2101 | m_CorrespondingSourceObject: {fileID: 0} 2102 | m_PrefabInstance: {fileID: 0} 2103 | m_PrefabAsset: {fileID: 0} 2104 | m_GameObject: {fileID: 1093045668} 2105 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 2106 | m_LocalPosition: {x: 0, y: 0, z: 0} 2107 | m_LocalScale: {x: 1, y: 1, z: 1} 2108 | m_Children: [] 2109 | m_Father: {fileID: 747705679} 2110 | m_RootOrder: 0 2111 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2112 | m_AnchorMin: {x: 0, y: 0.5} 2113 | m_AnchorMax: {x: 1, y: 0.5} 2114 | m_AnchoredPosition: {x: 0, y: 0} 2115 | m_SizeDelta: {x: -36, y: 20} 2116 | m_Pivot: {x: 0.5, y: 0.5} 2117 | --- !u!114 &1093045670 2118 | MonoBehaviour: 2119 | m_ObjectHideFlags: 0 2120 | m_CorrespondingSourceObject: {fileID: 0} 2121 | m_PrefabInstance: {fileID: 0} 2122 | m_PrefabAsset: {fileID: 0} 2123 | m_GameObject: {fileID: 1093045668} 2124 | m_Enabled: 1 2125 | m_EditorHideFlags: 0 2126 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 2127 | m_Name: 2128 | m_EditorClassIdentifier: 2129 | m_Material: {fileID: 0} 2130 | m_Color: {r: 0.23137255, g: 1, b: 0.6862745, a: 1} 2131 | m_RaycastTarget: 0 2132 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 2133 | m_Maskable: 1 2134 | m_OnCullStateChanged: 2135 | m_PersistentCalls: 2136 | m_Calls: [] 2137 | m_FontData: 2138 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 2139 | m_FontSize: 14 2140 | m_FontStyle: 0 2141 | m_BestFit: 0 2142 | m_MinSize: 1 2143 | m_MaxSize: 40 2144 | m_Alignment: 4 2145 | m_AlignByGeometry: 0 2146 | m_RichText: 1 2147 | m_HorizontalOverflow: 0 2148 | m_VerticalOverflow: 0 2149 | m_LineSpacing: 1 2150 | m_Text: 2151 | --- !u!222 &1093045671 2152 | CanvasRenderer: 2153 | m_ObjectHideFlags: 0 2154 | m_CorrespondingSourceObject: {fileID: 0} 2155 | m_PrefabInstance: {fileID: 0} 2156 | m_PrefabAsset: {fileID: 0} 2157 | m_GameObject: {fileID: 1093045668} 2158 | m_CullTransparentMesh: 0 2159 | --- !u!224 &1206549608 2160 | RectTransform: 2161 | m_ObjectHideFlags: 0 2162 | m_CorrespondingSourceObject: {fileID: 0} 2163 | m_PrefabInstance: {fileID: 0} 2164 | m_PrefabAsset: {fileID: 0} 2165 | m_GameObject: {fileID: 719699535} 2166 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 2167 | m_LocalPosition: {x: 0, y: 0, z: 0} 2168 | m_LocalScale: {x: 1, y: 1, z: 1} 2169 | m_Children: 2170 | - {fileID: 651109222} 2171 | - {fileID: 776519261} 2172 | - {fileID: 1926990971} 2173 | m_Father: {fileID: 1972322034} 2174 | m_RootOrder: 0 2175 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2176 | m_AnchorMin: {x: 0, y: 0} 2177 | m_AnchorMax: {x: 1, y: 1} 2178 | m_AnchoredPosition: {x: 0, y: 0} 2179 | m_SizeDelta: {x: 0, y: 0} 2180 | m_Pivot: {x: 0.5, y: 0.5} 2181 | --- !u!1 &1291804677 2182 | GameObject: 2183 | m_ObjectHideFlags: 0 2184 | m_CorrespondingSourceObject: {fileID: 0} 2185 | m_PrefabInstance: {fileID: 0} 2186 | m_PrefabAsset: {fileID: 0} 2187 | serializedVersion: 6 2188 | m_Component: 2189 | - component: {fileID: 1291804678} 2190 | - component: {fileID: 1291804680} 2191 | - component: {fileID: 1291804679} 2192 | m_Layer: 5 2193 | m_Name: PanelStartServer 2194 | m_TagString: Untagged 2195 | m_Icon: {fileID: 0} 2196 | m_NavMeshLayer: 0 2197 | m_StaticEditorFlags: 0 2198 | m_IsActive: 1 2199 | --- !u!224 &1291804678 2200 | RectTransform: 2201 | m_ObjectHideFlags: 0 2202 | m_CorrespondingSourceObject: {fileID: 0} 2203 | m_PrefabInstance: {fileID: 0} 2204 | m_PrefabAsset: {fileID: 0} 2205 | m_GameObject: {fileID: 1291804677} 2206 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 2207 | m_LocalPosition: {x: 0, y: 0, z: 0} 2208 | m_LocalScale: {x: 1, y: 1, z: 1} 2209 | m_Children: 2210 | - {fileID: 1004751478} 2211 | - {fileID: 993261494} 2212 | m_Father: {fileID: 776519261} 2213 | m_RootOrder: 6 2214 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2215 | m_AnchorMin: {x: 0, y: 0} 2216 | m_AnchorMax: {x: 1, y: 0} 2217 | m_AnchoredPosition: {x: 0, y: 16} 2218 | m_SizeDelta: {x: -4, y: 28} 2219 | m_Pivot: {x: 0.5, y: 0.5} 2220 | --- !u!114 &1291804679 2221 | MonoBehaviour: 2222 | m_ObjectHideFlags: 0 2223 | m_CorrespondingSourceObject: {fileID: 0} 2224 | m_PrefabInstance: {fileID: 0} 2225 | m_PrefabAsset: {fileID: 0} 2226 | m_GameObject: {fileID: 1291804677} 2227 | m_Enabled: 1 2228 | m_EditorHideFlags: 0 2229 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 2230 | m_Name: 2231 | m_EditorClassIdentifier: 2232 | m_Material: {fileID: 0} 2233 | m_Color: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} 2234 | m_RaycastTarget: 1 2235 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 2236 | m_Maskable: 1 2237 | m_OnCullStateChanged: 2238 | m_PersistentCalls: 2239 | m_Calls: [] 2240 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} 2241 | m_Type: 1 2242 | m_PreserveAspect: 0 2243 | m_FillCenter: 1 2244 | m_FillMethod: 4 2245 | m_FillAmount: 1 2246 | m_FillClockwise: 1 2247 | m_FillOrigin: 0 2248 | m_UseSpriteMesh: 0 2249 | m_PixelsPerUnitMultiplier: 1 2250 | --- !u!222 &1291804680 2251 | CanvasRenderer: 2252 | m_ObjectHideFlags: 0 2253 | m_CorrespondingSourceObject: {fileID: 0} 2254 | m_PrefabInstance: {fileID: 0} 2255 | m_PrefabAsset: {fileID: 0} 2256 | m_GameObject: {fileID: 1291804677} 2257 | m_CullTransparentMesh: 0 2258 | --- !u!1 &1345848862 2259 | GameObject: 2260 | m_ObjectHideFlags: 0 2261 | m_CorrespondingSourceObject: {fileID: 0} 2262 | m_PrefabInstance: {fileID: 0} 2263 | m_PrefabAsset: {fileID: 0} 2264 | serializedVersion: 6 2265 | m_Component: 2266 | - component: {fileID: 1345848863} 2267 | m_Layer: 5 2268 | m_Name: Sliding Area 2269 | m_TagString: Untagged 2270 | m_Icon: {fileID: 0} 2271 | m_NavMeshLayer: 0 2272 | m_StaticEditorFlags: 0 2273 | m_IsActive: 1 2274 | --- !u!224 &1345848863 2275 | RectTransform: 2276 | m_ObjectHideFlags: 0 2277 | m_CorrespondingSourceObject: {fileID: 0} 2278 | m_PrefabInstance: {fileID: 0} 2279 | m_PrefabAsset: {fileID: 0} 2280 | m_GameObject: {fileID: 1345848862} 2281 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 2282 | m_LocalPosition: {x: 0, y: 0, z: 0} 2283 | m_LocalScale: {x: 1, y: 1, z: 1} 2284 | m_Children: 2285 | - {fileID: 2064208031} 2286 | m_Father: {fileID: 586458804} 2287 | m_RootOrder: 0 2288 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2289 | m_AnchorMin: {x: 0, y: 0} 2290 | m_AnchorMax: {x: 1, y: 1} 2291 | m_AnchoredPosition: {x: 0, y: 0} 2292 | m_SizeDelta: {x: -20, y: -20} 2293 | m_Pivot: {x: 0.5, y: 0.5} 2294 | --- !u!1 &1578438652 2295 | GameObject: 2296 | m_ObjectHideFlags: 0 2297 | m_CorrespondingSourceObject: {fileID: 0} 2298 | m_PrefabInstance: {fileID: 0} 2299 | m_PrefabAsset: {fileID: 0} 2300 | serializedVersion: 6 2301 | m_Component: 2302 | - component: {fileID: 1578438653} 2303 | - component: {fileID: 1578438655} 2304 | - component: {fileID: 1578438654} 2305 | m_Layer: 5 2306 | m_Name: PanelTableHeader 2307 | m_TagString: Untagged 2308 | m_Icon: {fileID: 0} 2309 | m_NavMeshLayer: 0 2310 | m_StaticEditorFlags: 0 2311 | m_IsActive: 1 2312 | --- !u!224 &1578438653 2313 | RectTransform: 2314 | m_ObjectHideFlags: 0 2315 | m_CorrespondingSourceObject: {fileID: 0} 2316 | m_PrefabInstance: {fileID: 0} 2317 | m_PrefabAsset: {fileID: 0} 2318 | m_GameObject: {fileID: 1578438652} 2319 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 2320 | m_LocalPosition: {x: 0, y: 0, z: 0} 2321 | m_LocalScale: {x: 1, y: 1, z: 1} 2322 | m_Children: 2323 | - {fileID: 232720477} 2324 | - {fileID: 424897550} 2325 | - {fileID: 535675710} 2326 | - {fileID: 354490535} 2327 | - {fileID: 635355837} 2328 | m_Father: {fileID: 776519261} 2329 | m_RootOrder: 3 2330 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2331 | m_AnchorMin: {x: 0, y: 1} 2332 | m_AnchorMax: {x: 1, y: 1} 2333 | m_AnchoredPosition: {x: 0, y: -48} 2334 | m_SizeDelta: {x: 0, y: 20} 2335 | m_Pivot: {x: 0.5, y: 0.5} 2336 | --- !u!114 &1578438654 2337 | MonoBehaviour: 2338 | m_ObjectHideFlags: 0 2339 | m_CorrespondingSourceObject: {fileID: 0} 2340 | m_PrefabInstance: {fileID: 0} 2341 | m_PrefabAsset: {fileID: 0} 2342 | m_GameObject: {fileID: 1578438652} 2343 | m_Enabled: 1 2344 | m_EditorHideFlags: 0 2345 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 2346 | m_Name: 2347 | m_EditorClassIdentifier: 2348 | m_Material: {fileID: 0} 2349 | m_Color: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} 2350 | m_RaycastTarget: 1 2351 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 2352 | m_Maskable: 1 2353 | m_OnCullStateChanged: 2354 | m_PersistentCalls: 2355 | m_Calls: [] 2356 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} 2357 | m_Type: 1 2358 | m_PreserveAspect: 0 2359 | m_FillCenter: 1 2360 | m_FillMethod: 4 2361 | m_FillAmount: 1 2362 | m_FillClockwise: 1 2363 | m_FillOrigin: 0 2364 | m_UseSpriteMesh: 0 2365 | m_PixelsPerUnitMultiplier: 1 2366 | --- !u!222 &1578438655 2367 | CanvasRenderer: 2368 | m_ObjectHideFlags: 0 2369 | m_CorrespondingSourceObject: {fileID: 0} 2370 | m_PrefabInstance: {fileID: 0} 2371 | m_PrefabAsset: {fileID: 0} 2372 | m_GameObject: {fileID: 1578438652} 2373 | m_CullTransparentMesh: 0 2374 | --- !u!1 &1680368249 2375 | GameObject: 2376 | m_ObjectHideFlags: 0 2377 | m_CorrespondingSourceObject: {fileID: 0} 2378 | m_PrefabInstance: {fileID: 0} 2379 | m_PrefabAsset: {fileID: 0} 2380 | serializedVersion: 6 2381 | m_Component: 2382 | - component: {fileID: 1680368252} 2383 | - component: {fileID: 1680368251} 2384 | - component: {fileID: 1680368250} 2385 | m_Layer: 0 2386 | m_Name: EventSystem 2387 | m_TagString: Untagged 2388 | m_Icon: {fileID: 0} 2389 | m_NavMeshLayer: 0 2390 | m_StaticEditorFlags: 0 2391 | m_IsActive: 1 2392 | --- !u!114 &1680368250 2393 | MonoBehaviour: 2394 | m_ObjectHideFlags: 0 2395 | m_CorrespondingSourceObject: {fileID: 0} 2396 | m_PrefabInstance: {fileID: 0} 2397 | m_PrefabAsset: {fileID: 0} 2398 | m_GameObject: {fileID: 1680368249} 2399 | m_Enabled: 1 2400 | m_EditorHideFlags: 0 2401 | m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} 2402 | m_Name: 2403 | m_EditorClassIdentifier: 2404 | m_HorizontalAxis: Horizontal 2405 | m_VerticalAxis: Vertical 2406 | m_SubmitButton: Submit 2407 | m_CancelButton: Cancel 2408 | m_InputActionsPerSecond: 10 2409 | m_RepeatDelay: 0.5 2410 | m_ForceModuleActive: 0 2411 | --- !u!114 &1680368251 2412 | MonoBehaviour: 2413 | m_ObjectHideFlags: 0 2414 | m_CorrespondingSourceObject: {fileID: 0} 2415 | m_PrefabInstance: {fileID: 0} 2416 | m_PrefabAsset: {fileID: 0} 2417 | m_GameObject: {fileID: 1680368249} 2418 | m_Enabled: 1 2419 | m_EditorHideFlags: 0 2420 | m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} 2421 | m_Name: 2422 | m_EditorClassIdentifier: 2423 | m_FirstSelected: {fileID: 0} 2424 | m_sendNavigationEvents: 1 2425 | m_DragThreshold: 10 2426 | --- !u!4 &1680368252 2427 | Transform: 2428 | m_ObjectHideFlags: 0 2429 | m_CorrespondingSourceObject: {fileID: 0} 2430 | m_PrefabInstance: {fileID: 0} 2431 | m_PrefabAsset: {fileID: 0} 2432 | m_GameObject: {fileID: 1680368249} 2433 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 2434 | m_LocalPosition: {x: 0, y: 0, z: 0} 2435 | m_LocalScale: {x: 1, y: 1, z: 1} 2436 | m_Children: [] 2437 | m_Father: {fileID: 0} 2438 | m_RootOrder: 2 2439 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2440 | --- !u!1 &1731173843 2441 | GameObject: 2442 | m_ObjectHideFlags: 0 2443 | m_CorrespondingSourceObject: {fileID: 0} 2444 | m_PrefabInstance: {fileID: 0} 2445 | m_PrefabAsset: {fileID: 0} 2446 | serializedVersion: 6 2447 | m_Component: 2448 | - component: {fileID: 1731173845} 2449 | - component: {fileID: 1731173844} 2450 | - component: {fileID: 1731173846} 2451 | m_Layer: 0 2452 | m_Name: Logic 2453 | m_TagString: Untagged 2454 | m_Icon: {fileID: 0} 2455 | m_NavMeshLayer: 0 2456 | m_StaticEditorFlags: 0 2457 | m_IsActive: 1 2458 | --- !u!114 &1731173844 2459 | MonoBehaviour: 2460 | m_ObjectHideFlags: 0 2461 | m_CorrespondingSourceObject: {fileID: 0} 2462 | m_PrefabInstance: {fileID: 0} 2463 | m_PrefabAsset: {fileID: 0} 2464 | m_GameObject: {fileID: 1731173843} 2465 | m_Enabled: 1 2466 | m_EditorHideFlags: 0 2467 | m_Script: {fileID: 11500000, guid: 48b85de715ff2bd42b01785386816646, type: 3} 2468 | m_Name: 2469 | m_EditorClassIdentifier: 2470 | serverEndpoint: http://192.168.88.250:8889 2471 | communicationKey: NodeListServerDefaultKey 2472 | refreshOnStart: 1 2473 | refreshInterval: 10 2474 | popup: {fileID: 1926990970} 2475 | mainStatusText: {fileID: 712827152} 2476 | popupStatusText: {fileID: 1081204139} 2477 | ListElementPrefab: {fileID: 1259177336467004, guid: c6ca829569179c749a037f1b7d8631a0, 2478 | type: 3} 2479 | ListElementContainer: {fileID: 583153858} 2480 | refreshButton: {fileID: 1004751479} 2481 | supportButton: {fileID: 993261495} 2482 | --- !u!4 &1731173845 2483 | Transform: 2484 | m_ObjectHideFlags: 0 2485 | m_CorrespondingSourceObject: {fileID: 0} 2486 | m_PrefabInstance: {fileID: 0} 2487 | m_PrefabAsset: {fileID: 0} 2488 | m_GameObject: {fileID: 1731173843} 2489 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 2490 | m_LocalPosition: {x: 0, y: 0, z: 0} 2491 | m_LocalScale: {x: 1, y: 1, z: 1} 2492 | m_Children: [] 2493 | m_Father: {fileID: 0} 2494 | m_RootOrder: 0 2495 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2496 | --- !u!114 &1731173846 2497 | MonoBehaviour: 2498 | m_ObjectHideFlags: 0 2499 | m_CorrespondingSourceObject: {fileID: 0} 2500 | m_PrefabInstance: {fileID: 0} 2501 | m_PrefabAsset: {fileID: 0} 2502 | m_GameObject: {fileID: 1731173843} 2503 | m_Enabled: 1 2504 | m_EditorHideFlags: 0 2505 | m_Script: {fileID: 11500000, guid: 9a9401aa9bab5b24d99e6a058d85c894, type: 3} 2506 | m_Name: 2507 | m_EditorClassIdentifier: 2508 | --- !u!1 &1918165880 2509 | GameObject: 2510 | m_ObjectHideFlags: 0 2511 | m_CorrespondingSourceObject: {fileID: 0} 2512 | m_PrefabInstance: {fileID: 0} 2513 | m_PrefabAsset: {fileID: 0} 2514 | serializedVersion: 6 2515 | m_Component: 2516 | - component: {fileID: 1918165881} 2517 | - component: {fileID: 1918165885} 2518 | - component: {fileID: 1918165884} 2519 | - component: {fileID: 1918165883} 2520 | - component: {fileID: 1918165882} 2521 | m_Layer: 5 2522 | m_Name: Scroll View 2523 | m_TagString: Untagged 2524 | m_Icon: {fileID: 0} 2525 | m_NavMeshLayer: 0 2526 | m_StaticEditorFlags: 0 2527 | m_IsActive: 1 2528 | --- !u!224 &1918165881 2529 | RectTransform: 2530 | m_ObjectHideFlags: 0 2531 | m_CorrespondingSourceObject: {fileID: 0} 2532 | m_PrefabInstance: {fileID: 0} 2533 | m_PrefabAsset: {fileID: 0} 2534 | m_GameObject: {fileID: 1918165880} 2535 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 2536 | m_LocalPosition: {x: 0, y: 0, z: 0} 2537 | m_LocalScale: {x: 1, y: 1, z: 1} 2538 | m_Children: 2539 | - {fileID: 583153859} 2540 | - {fileID: 586458804} 2541 | m_Father: {fileID: 776519261} 2542 | m_RootOrder: 4 2543 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2544 | m_AnchorMin: {x: 0, y: 0} 2545 | m_AnchorMax: {x: 1, y: 1} 2546 | m_AnchoredPosition: {x: 0, y: -3} 2547 | m_SizeDelta: {x: -2, y: -106} 2548 | m_Pivot: {x: 0.5, y: 0.5} 2549 | --- !u!114 &1918165882 2550 | MonoBehaviour: 2551 | m_ObjectHideFlags: 0 2552 | m_CorrespondingSourceObject: {fileID: 0} 2553 | m_PrefabInstance: {fileID: 0} 2554 | m_PrefabAsset: {fileID: 0} 2555 | m_GameObject: {fileID: 1918165880} 2556 | m_Enabled: 1 2557 | m_EditorHideFlags: 0 2558 | m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} 2559 | m_Name: 2560 | m_EditorClassIdentifier: 2561 | m_ShowMaskGraphic: 1 2562 | --- !u!114 &1918165883 2563 | MonoBehaviour: 2564 | m_ObjectHideFlags: 0 2565 | m_CorrespondingSourceObject: {fileID: 0} 2566 | m_PrefabInstance: {fileID: 0} 2567 | m_PrefabAsset: {fileID: 0} 2568 | m_GameObject: {fileID: 1918165880} 2569 | m_Enabled: 1 2570 | m_EditorHideFlags: 0 2571 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 2572 | m_Name: 2573 | m_EditorClassIdentifier: 2574 | m_Material: {fileID: 0} 2575 | m_Color: {r: 0.25882354, g: 0.25882354, b: 0.25882354, a: 1} 2576 | m_RaycastTarget: 1 2577 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 2578 | m_Maskable: 1 2579 | m_OnCullStateChanged: 2580 | m_PersistentCalls: 2581 | m_Calls: [] 2582 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} 2583 | m_Type: 1 2584 | m_PreserveAspect: 0 2585 | m_FillCenter: 1 2586 | m_FillMethod: 4 2587 | m_FillAmount: 1 2588 | m_FillClockwise: 1 2589 | m_FillOrigin: 0 2590 | m_UseSpriteMesh: 0 2591 | m_PixelsPerUnitMultiplier: 1 2592 | --- !u!222 &1918165884 2593 | CanvasRenderer: 2594 | m_ObjectHideFlags: 0 2595 | m_CorrespondingSourceObject: {fileID: 0} 2596 | m_PrefabInstance: {fileID: 0} 2597 | m_PrefabAsset: {fileID: 0} 2598 | m_GameObject: {fileID: 1918165880} 2599 | m_CullTransparentMesh: 0 2600 | --- !u!114 &1918165885 2601 | MonoBehaviour: 2602 | m_ObjectHideFlags: 0 2603 | m_CorrespondingSourceObject: {fileID: 0} 2604 | m_PrefabInstance: {fileID: 0} 2605 | m_PrefabAsset: {fileID: 0} 2606 | m_GameObject: {fileID: 1918165880} 2607 | m_Enabled: 1 2608 | m_EditorHideFlags: 0 2609 | m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3} 2610 | m_Name: 2611 | m_EditorClassIdentifier: 2612 | m_Content: {fileID: 583153859} 2613 | m_Horizontal: 0 2614 | m_Vertical: 1 2615 | m_MovementType: 2 2616 | m_Elasticity: 0.1 2617 | m_Inertia: 1 2618 | m_DecelerationRate: 0.135 2619 | m_ScrollSensitivity: 1 2620 | m_Viewport: {fileID: 0} 2621 | m_HorizontalScrollbar: {fileID: 0} 2622 | m_VerticalScrollbar: {fileID: 586458805} 2623 | m_HorizontalScrollbarVisibility: 2 2624 | m_VerticalScrollbarVisibility: 1 2625 | m_HorizontalScrollbarSpacing: -3 2626 | m_VerticalScrollbarSpacing: -3 2627 | m_OnValueChanged: 2628 | m_PersistentCalls: 2629 | m_Calls: [] 2630 | --- !u!1 &1926990970 2631 | GameObject: 2632 | m_ObjectHideFlags: 0 2633 | m_CorrespondingSourceObject: {fileID: 0} 2634 | m_PrefabInstance: {fileID: 0} 2635 | m_PrefabAsset: {fileID: 0} 2636 | serializedVersion: 6 2637 | m_Component: 2638 | - component: {fileID: 1926990971} 2639 | - component: {fileID: 1926990973} 2640 | - component: {fileID: 1926990972} 2641 | m_Layer: 5 2642 | m_Name: ConnectingPanel 2643 | m_TagString: Untagged 2644 | m_Icon: {fileID: 0} 2645 | m_NavMeshLayer: 0 2646 | m_StaticEditorFlags: 0 2647 | m_IsActive: 1 2648 | --- !u!224 &1926990971 2649 | RectTransform: 2650 | m_ObjectHideFlags: 0 2651 | m_CorrespondingSourceObject: {fileID: 0} 2652 | m_PrefabInstance: {fileID: 0} 2653 | m_PrefabAsset: {fileID: 0} 2654 | m_GameObject: {fileID: 1926990970} 2655 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 2656 | m_LocalPosition: {x: 0, y: 0, z: 0} 2657 | m_LocalScale: {x: 1, y: 1, z: 1} 2658 | m_Children: 2659 | - {fileID: 747705679} 2660 | - {fileID: 13922437} 2661 | - {fileID: 1081204138} 2662 | m_Father: {fileID: 1206549608} 2663 | m_RootOrder: 2 2664 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2665 | m_AnchorMin: {x: 0.5, y: 0.5} 2666 | m_AnchorMax: {x: 0.5, y: 0.5} 2667 | m_AnchoredPosition: {x: 0, y: 0} 2668 | m_SizeDelta: {x: 250, y: 100} 2669 | m_Pivot: {x: 0.5, y: 0.5} 2670 | --- !u!114 &1926990972 2671 | MonoBehaviour: 2672 | m_ObjectHideFlags: 0 2673 | m_CorrespondingSourceObject: {fileID: 0} 2674 | m_PrefabInstance: {fileID: 0} 2675 | m_PrefabAsset: {fileID: 0} 2676 | m_GameObject: {fileID: 1926990970} 2677 | m_Enabled: 1 2678 | m_EditorHideFlags: 0 2679 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 2680 | m_Name: 2681 | m_EditorClassIdentifier: 2682 | m_Material: {fileID: 0} 2683 | m_Color: {r: 0.19215687, g: 0.19215687, b: 0.19215687, a: 1} 2684 | m_RaycastTarget: 1 2685 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 2686 | m_Maskable: 1 2687 | m_OnCullStateChanged: 2688 | m_PersistentCalls: 2689 | m_Calls: [] 2690 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} 2691 | m_Type: 1 2692 | m_PreserveAspect: 0 2693 | m_FillCenter: 1 2694 | m_FillMethod: 4 2695 | m_FillAmount: 1 2696 | m_FillClockwise: 1 2697 | m_FillOrigin: 0 2698 | m_UseSpriteMesh: 0 2699 | m_PixelsPerUnitMultiplier: 1 2700 | --- !u!222 &1926990973 2701 | CanvasRenderer: 2702 | m_ObjectHideFlags: 0 2703 | m_CorrespondingSourceObject: {fileID: 0} 2704 | m_PrefabInstance: {fileID: 0} 2705 | m_PrefabAsset: {fileID: 0} 2706 | m_GameObject: {fileID: 1926990970} 2707 | m_CullTransparentMesh: 0 2708 | --- !u!1 &1972322030 2709 | GameObject: 2710 | m_ObjectHideFlags: 0 2711 | m_CorrespondingSourceObject: {fileID: 0} 2712 | m_PrefabInstance: {fileID: 0} 2713 | m_PrefabAsset: {fileID: 0} 2714 | serializedVersion: 6 2715 | m_Component: 2716 | - component: {fileID: 1972322034} 2717 | - component: {fileID: 1972322033} 2718 | - component: {fileID: 1972322032} 2719 | - component: {fileID: 1972322031} 2720 | m_Layer: 5 2721 | m_Name: Canvas 2722 | m_TagString: Untagged 2723 | m_Icon: {fileID: 0} 2724 | m_NavMeshLayer: 0 2725 | m_StaticEditorFlags: 0 2726 | m_IsActive: 1 2727 | --- !u!114 &1972322031 2728 | MonoBehaviour: 2729 | m_ObjectHideFlags: 0 2730 | m_CorrespondingSourceObject: {fileID: 0} 2731 | m_PrefabInstance: {fileID: 0} 2732 | m_PrefabAsset: {fileID: 0} 2733 | m_GameObject: {fileID: 1972322030} 2734 | m_Enabled: 1 2735 | m_EditorHideFlags: 0 2736 | m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} 2737 | m_Name: 2738 | m_EditorClassIdentifier: 2739 | m_IgnoreReversedGraphics: 1 2740 | m_BlockingObjects: 0 2741 | m_BlockingMask: 2742 | serializedVersion: 2 2743 | m_Bits: 4294967295 2744 | --- !u!114 &1972322032 2745 | MonoBehaviour: 2746 | m_ObjectHideFlags: 0 2747 | m_CorrespondingSourceObject: {fileID: 0} 2748 | m_PrefabInstance: {fileID: 0} 2749 | m_PrefabAsset: {fileID: 0} 2750 | m_GameObject: {fileID: 1972322030} 2751 | m_Enabled: 1 2752 | m_EditorHideFlags: 0 2753 | m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} 2754 | m_Name: 2755 | m_EditorClassIdentifier: 2756 | m_UiScaleMode: 0 2757 | m_ReferencePixelsPerUnit: 100 2758 | m_ScaleFactor: 1 2759 | m_ReferenceResolution: {x: 800, y: 600} 2760 | m_ScreenMatchMode: 0 2761 | m_MatchWidthOrHeight: 0 2762 | m_PhysicalUnit: 3 2763 | m_FallbackScreenDPI: 96 2764 | m_DefaultSpriteDPI: 96 2765 | m_DynamicPixelsPerUnit: 1 2766 | m_PresetInfoIsWorld: 0 2767 | --- !u!223 &1972322033 2768 | Canvas: 2769 | m_ObjectHideFlags: 0 2770 | m_CorrespondingSourceObject: {fileID: 0} 2771 | m_PrefabInstance: {fileID: 0} 2772 | m_PrefabAsset: {fileID: 0} 2773 | m_GameObject: {fileID: 1972322030} 2774 | m_Enabled: 1 2775 | serializedVersion: 3 2776 | m_RenderMode: 0 2777 | m_Camera: {fileID: 0} 2778 | m_PlaneDistance: 100 2779 | m_PixelPerfect: 1 2780 | m_ReceivesEvents: 1 2781 | m_OverrideSorting: 0 2782 | m_OverridePixelPerfect: 0 2783 | m_SortingBucketNormalizedSize: 0 2784 | m_AdditionalShaderChannelsFlag: 0 2785 | m_SortingLayerID: 0 2786 | m_SortingOrder: 0 2787 | m_TargetDisplay: 0 2788 | --- !u!224 &1972322034 2789 | RectTransform: 2790 | m_ObjectHideFlags: 0 2791 | m_CorrespondingSourceObject: {fileID: 0} 2792 | m_PrefabInstance: {fileID: 0} 2793 | m_PrefabAsset: {fileID: 0} 2794 | m_GameObject: {fileID: 1972322030} 2795 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 2796 | m_LocalPosition: {x: 0, y: 0, z: 0} 2797 | m_LocalScale: {x: 0, y: 0, z: 0} 2798 | m_Children: 2799 | - {fileID: 1206549608} 2800 | m_Father: {fileID: 0} 2801 | m_RootOrder: 1 2802 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2803 | m_AnchorMin: {x: 0, y: 0} 2804 | m_AnchorMax: {x: 0, y: 0} 2805 | m_AnchoredPosition: {x: 0, y: 0} 2806 | m_SizeDelta: {x: 0, y: 0} 2807 | m_Pivot: {x: 0, y: 0} 2808 | --- !u!1 &2020215608 2809 | GameObject: 2810 | m_ObjectHideFlags: 0 2811 | m_CorrespondingSourceObject: {fileID: 0} 2812 | m_PrefabInstance: {fileID: 0} 2813 | m_PrefabAsset: {fileID: 0} 2814 | serializedVersion: 6 2815 | m_Component: 2816 | - component: {fileID: 2020215609} 2817 | - component: {fileID: 2020215611} 2818 | - component: {fileID: 2020215610} 2819 | m_Layer: 5 2820 | m_Name: Text 2821 | m_TagString: Untagged 2822 | m_Icon: {fileID: 0} 2823 | m_NavMeshLayer: 0 2824 | m_StaticEditorFlags: 0 2825 | m_IsActive: 1 2826 | --- !u!224 &2020215609 2827 | RectTransform: 2828 | m_ObjectHideFlags: 0 2829 | m_CorrespondingSourceObject: {fileID: 0} 2830 | m_PrefabInstance: {fileID: 0} 2831 | m_PrefabAsset: {fileID: 0} 2832 | m_GameObject: {fileID: 2020215608} 2833 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 2834 | m_LocalPosition: {x: 0, y: 0, z: 0} 2835 | m_LocalScale: {x: 1, y: 1, z: 1} 2836 | m_Children: [] 2837 | m_Father: {fileID: 993261494} 2838 | m_RootOrder: 0 2839 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 2840 | m_AnchorMin: {x: 0, y: 0} 2841 | m_AnchorMax: {x: 1, y: 1} 2842 | m_AnchoredPosition: {x: 0, y: 0} 2843 | m_SizeDelta: {x: 0, y: 0} 2844 | m_Pivot: {x: 0.5, y: 0.5} 2845 | --- !u!114 &2020215610 2846 | MonoBehaviour: 2847 | m_ObjectHideFlags: 0 2848 | m_CorrespondingSourceObject: {fileID: 0} 2849 | m_PrefabInstance: {fileID: 0} 2850 | m_PrefabAsset: {fileID: 0} 2851 | m_GameObject: {fileID: 2020215608} 2852 | m_Enabled: 1 2853 | m_EditorHideFlags: 0 2854 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} 2855 | m_Name: 2856 | m_EditorClassIdentifier: 2857 | m_Material: {fileID: 0} 2858 | m_Color: {r: 1, g: 1, b: 1, a: 1} 2859 | m_RaycastTarget: 1 2860 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 2861 | m_Maskable: 1 2862 | m_OnCullStateChanged: 2863 | m_PersistentCalls: 2864 | m_Calls: [] 2865 | m_FontData: 2866 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 2867 | m_FontSize: 12 2868 | m_FontStyle: 0 2869 | m_BestFit: 0 2870 | m_MinSize: 1 2871 | m_MaxSize: 40 2872 | m_Alignment: 4 2873 | m_AlignByGeometry: 0 2874 | m_RichText: 1 2875 | m_HorizontalOverflow: 0 2876 | m_VerticalOverflow: 0 2877 | m_LineSpacing: 1 2878 | m_Text: Visit GitHub Repository 2879 | --- !u!222 &2020215611 2880 | CanvasRenderer: 2881 | m_ObjectHideFlags: 0 2882 | m_CorrespondingSourceObject: {fileID: 0} 2883 | m_PrefabInstance: {fileID: 0} 2884 | m_PrefabAsset: {fileID: 0} 2885 | m_GameObject: {fileID: 2020215608} 2886 | m_CullTransparentMesh: 0 2887 | --- !u!1 &2054208274 2888 | GameObject: 2889 | m_ObjectHideFlags: 0 2890 | m_CorrespondingSourceObject: {fileID: 0} 2891 | m_PrefabInstance: {fileID: 0} 2892 | m_PrefabAsset: {fileID: 0} 2893 | serializedVersion: 6 2894 | m_Component: 2895 | - component: {fileID: 2054208276} 2896 | - component: {fileID: 2054208275} 2897 | m_Layer: 0 2898 | m_Name: Directional light 2899 | m_TagString: Untagged 2900 | m_Icon: {fileID: 0} 2901 | m_NavMeshLayer: 0 2902 | m_StaticEditorFlags: 0 2903 | m_IsActive: 1 2904 | --- !u!108 &2054208275 2905 | Light: 2906 | m_ObjectHideFlags: 0 2907 | m_CorrespondingSourceObject: {fileID: 0} 2908 | m_PrefabInstance: {fileID: 0} 2909 | m_PrefabAsset: {fileID: 0} 2910 | m_GameObject: {fileID: 2054208274} 2911 | m_Enabled: 1 2912 | serializedVersion: 10 2913 | m_Type: 1 2914 | m_Shape: 0 2915 | m_Color: {r: 1, g: 1, b: 1, a: 1} 2916 | m_Intensity: 1 2917 | m_Range: 10 2918 | m_SpotAngle: 30 2919 | m_InnerSpotAngle: 21.80208 2920 | m_CookieSize: 10 2921 | m_Shadows: 2922 | m_Type: 2 2923 | m_Resolution: -1 2924 | m_CustomResolution: -1 2925 | m_Strength: 1 2926 | m_Bias: 0.05 2927 | m_NormalBias: 0.4 2928 | m_NearPlane: 0.2 2929 | m_CullingMatrixOverride: 2930 | e00: 1 2931 | e01: 0 2932 | e02: 0 2933 | e03: 0 2934 | e10: 0 2935 | e11: 1 2936 | e12: 0 2937 | e13: 0 2938 | e20: 0 2939 | e21: 0 2940 | e22: 1 2941 | e23: 0 2942 | e30: 0 2943 | e31: 0 2944 | e32: 0 2945 | e33: 1 2946 | m_UseCullingMatrixOverride: 0 2947 | m_Cookie: {fileID: 0} 2948 | m_DrawHalo: 0 2949 | m_Flare: {fileID: 0} 2950 | m_RenderMode: 0 2951 | m_CullingMask: 2952 | serializedVersion: 2 2953 | m_Bits: 4294967295 2954 | m_RenderingLayerMask: 1 2955 | m_Lightmapping: 4 2956 | m_LightShadowCasterMode: 0 2957 | m_AreaSize: {x: 1, y: 1} 2958 | m_BounceIntensity: 1 2959 | m_ColorTemperature: 6570 2960 | m_UseColorTemperature: 0 2961 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} 2962 | m_UseBoundingSphereOverride: 0 2963 | m_UseViewFrustumForShadowCasterCull: 1 2964 | m_ShadowRadius: 0 2965 | m_ShadowAngle: 0 2966 | --- !u!4 &2054208276 2967 | Transform: 2968 | m_ObjectHideFlags: 0 2969 | m_CorrespondingSourceObject: {fileID: 0} 2970 | m_PrefabInstance: {fileID: 0} 2971 | m_PrefabAsset: {fileID: 0} 2972 | m_GameObject: {fileID: 2054208274} 2973 | m_LocalRotation: {x: 0.10938167, y: 0.8754261, z: -0.40821788, w: 0.23456976} 2974 | m_LocalPosition: {x: 0, y: 10, z: 0} 2975 | m_LocalScale: {x: 1, y: 1, z: 1} 2976 | m_Children: [] 2977 | m_Father: {fileID: 0} 2978 | m_RootOrder: 4 2979 | m_LocalEulerAnglesHint: {x: 50, y: 150, z: 0} 2980 | --- !u!1 &2064208030 2981 | GameObject: 2982 | m_ObjectHideFlags: 0 2983 | m_CorrespondingSourceObject: {fileID: 0} 2984 | m_PrefabInstance: {fileID: 0} 2985 | m_PrefabAsset: {fileID: 0} 2986 | serializedVersion: 6 2987 | m_Component: 2988 | - component: {fileID: 2064208031} 2989 | - component: {fileID: 2064208033} 2990 | - component: {fileID: 2064208032} 2991 | m_Layer: 5 2992 | m_Name: Handle 2993 | m_TagString: Untagged 2994 | m_Icon: {fileID: 0} 2995 | m_NavMeshLayer: 0 2996 | m_StaticEditorFlags: 0 2997 | m_IsActive: 1 2998 | --- !u!224 &2064208031 2999 | RectTransform: 3000 | m_ObjectHideFlags: 0 3001 | m_CorrespondingSourceObject: {fileID: 0} 3002 | m_PrefabInstance: {fileID: 0} 3003 | m_PrefabAsset: {fileID: 0} 3004 | m_GameObject: {fileID: 2064208030} 3005 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 3006 | m_LocalPosition: {x: 0, y: 0, z: 0} 3007 | m_LocalScale: {x: 1, y: 1, z: 1} 3008 | m_Children: [] 3009 | m_Father: {fileID: 1345848863} 3010 | m_RootOrder: 0 3011 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 3012 | m_AnchorMin: {x: 0, y: 0} 3013 | m_AnchorMax: {x: 0, y: 0} 3014 | m_AnchoredPosition: {x: 0, y: 0} 3015 | m_SizeDelta: {x: 20, y: 20} 3016 | m_Pivot: {x: 0.5, y: 0.5} 3017 | --- !u!114 &2064208032 3018 | MonoBehaviour: 3019 | m_ObjectHideFlags: 0 3020 | m_CorrespondingSourceObject: {fileID: 0} 3021 | m_PrefabInstance: {fileID: 0} 3022 | m_PrefabAsset: {fileID: 0} 3023 | m_GameObject: {fileID: 2064208030} 3024 | m_Enabled: 1 3025 | m_EditorHideFlags: 0 3026 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} 3027 | m_Name: 3028 | m_EditorClassIdentifier: 3029 | m_Material: {fileID: 0} 3030 | m_Color: {r: 1, g: 1, b: 1, a: 1} 3031 | m_RaycastTarget: 1 3032 | m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} 3033 | m_Maskable: 1 3034 | m_OnCullStateChanged: 3035 | m_PersistentCalls: 3036 | m_Calls: [] 3037 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 3038 | m_Type: 1 3039 | m_PreserveAspect: 0 3040 | m_FillCenter: 1 3041 | m_FillMethod: 4 3042 | m_FillAmount: 1 3043 | m_FillClockwise: 1 3044 | m_FillOrigin: 0 3045 | m_UseSpriteMesh: 0 3046 | m_PixelsPerUnitMultiplier: 1 3047 | --- !u!222 &2064208033 3048 | CanvasRenderer: 3049 | m_ObjectHideFlags: 0 3050 | m_CorrespondingSourceObject: {fileID: 0} 3051 | m_PrefabInstance: {fileID: 0} 3052 | m_PrefabAsset: {fileID: 0} 3053 | m_GameObject: {fileID: 2064208030} 3054 | m_CullTransparentMesh: 0 3055 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/Example/List Example.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ccdea83d270df4b078963a0243e41ac0 3 | timeCreated: 1426587410 4 | licenseType: Free 5 | DefaultImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/Example/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ae9c5d5683b86234f95ce1c9210f513c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/Example/Scripts/ServerListBrowser.cs: -------------------------------------------------------------------------------- 1 | // This file is part of the NodeListServer Example package. 2 | using System; 3 | using System.Collections; 4 | using System.Collections.Generic; 5 | using UnityEngine; 6 | using UnityEngine.UI; 7 | 8 | namespace NodeListServer 9 | { 10 | public class ServerListBrowser : MonoBehaviour 11 | { 12 | [Header("API Configuration")] 13 | [Tooltip("The URL to connect to the NodeListServer. For example, http://127.0.0.1:8889. Omit the last slash.")] 14 | [SerializeField] private string serverEndpoint = "http://127.0.0.1:8889"; 15 | [Tooltip("The key required to talk to the server. It must match. Default is NodeListServerDefaultKey.")] 16 | [SerializeField] private string communicationKey = "NodeListServerDefaultKey"; 17 | 18 | [Header("Refresh Settings")] 19 | [Tooltip("Refresh the server list on startup?")] 20 | [SerializeField] private bool refreshOnStart = true; 21 | [Tooltip("Should we automatically refresh the server list? Set to 0 to disable. Default is 10 seconds.")] 22 | [SerializeField] private int refreshInterval = 10; 23 | 24 | [Header("Cosmetics")] 25 | public GameObject popup; 26 | public Text mainStatusText; 27 | public Text popupStatusText; 28 | public GameObject ListElementPrefab; 29 | public GameObject ListElementContainer; 30 | 31 | public Button refreshButton; 32 | public Button supportButton; 33 | 34 | // Stop editing from this point onwards // 35 | public Action OnJoinButtonClicked; 36 | 37 | private bool IsBusy => nlsCommunicator.Busy; 38 | 39 | private NLSCommunicator nlsCommunicator = new NLSCommunicator(); 40 | private List listServerListEntries = new List(); 41 | 42 | private void Awake() 43 | { 44 | // Sanity Checks 45 | if (string.IsNullOrEmpty(communicationKey)) 46 | { 47 | Debug.LogError("The communication Key cannot be null or empty!"); 48 | enabled = false; 49 | return; 50 | } 51 | 52 | nlsCommunicator.EndPoint = serverEndpoint; 53 | nlsCommunicator.OnServerListRetrieved += OnServerListRetrieved; 54 | 55 | if (mainStatusText != null) 56 | { 57 | mainStatusText.text = "Initializing"; 58 | } 59 | 60 | if (refreshButton) 61 | refreshButton.onClick.AddListener(RefreshList); 62 | 63 | // For experts only 64 | if (supportButton) 65 | supportButton.onClick.AddListener(SupportButton); 66 | } 67 | 68 | private void Start() 69 | { 70 | if (refreshOnStart) 71 | { 72 | RefreshList(); 73 | } 74 | 75 | if (refreshInterval > 0) 76 | { 77 | InvokeRepeating(nameof(RefreshList), Time.realtimeSinceStartup + refreshInterval, refreshInterval); 78 | } 79 | } 80 | 81 | private void LateUpdate() 82 | { 83 | if (popup != null) 84 | { 85 | popup.SetActive(IsBusy); 86 | } 87 | } 88 | 89 | // Apparently invoke repeating doesn't work for IEnumerators 90 | // So I guess the workaround is to make a bootstrapper. 91 | private void RefreshList() 92 | { 93 | // Don't refresh again if we're busy. 94 | if (IsBusy) return; 95 | 96 | StartCoroutine(nlsCommunicator.RetrieveList(communicationKey)); 97 | } 98 | 99 | // -- UI Elements -- // 100 | // instantiate/remove enough prefabs to match amount (thanks vis2k) 101 | public void BalancePrefabs(int amount, Transform parent) 102 | { 103 | // instantiate until amount 104 | for (int i = parent.childCount; i < amount; ++i) 105 | { 106 | if (ListElementPrefab != null) Instantiate(ListElementPrefab, parent, false); 107 | } 108 | 109 | // delete everything that's too much 110 | // (backwards loop because Destroy changes childCount) 111 | for (int i = parent.childCount - 1; i >= amount; --i) 112 | { 113 | Destroy(parent.GetChild(i).gameObject); 114 | } 115 | } 116 | 117 | private void UpdateListElements() 118 | { 119 | for (int i = 0; i < listServerListEntries.Count; i++) 120 | { 121 | if (i >= ListElementContainer.transform.childCount || ListElementContainer.transform.GetChild(i) == null) 122 | { 123 | print("That's null"); 124 | continue; 125 | } 126 | 127 | ListEntryController entryController = ListElementContainer.transform.GetChild(i).GetComponent(); 128 | 129 | string modifiedAddress; 130 | int port; 131 | 132 | if (listServerListEntries[i].ip.StartsWith("::ffff:")) 133 | { 134 | modifiedAddress = listServerListEntries[i].ip.Replace("::ffff:", string.Empty); 135 | } 136 | else 137 | { 138 | modifiedAddress = listServerListEntries[i].ip; 139 | } 140 | 141 | port = listServerListEntries[i].port; 142 | entryController.titleText.text = listServerListEntries[i].name; 143 | entryController.addressText.text = modifiedAddress; 144 | entryController.playersText.text = $"{listServerListEntries[i].players} {(listServerListEntries[i].capacity > 0 ? $"/ {listServerListEntries[i].capacity}" : string.Empty)}"; 145 | // It is up to you to figure out how to do the latency text. 146 | entryController.latencyText.text = "-"; 147 | 148 | if(entryController.joinButton != null) 149 | { 150 | // Remove any existing listening callbacks. 151 | entryController.joinButton.onClick.RemoveAllListeners(); 152 | 153 | // Add a new listener. 154 | entryController.joinButton.onClick.AddListener(() => OnJoinButtonClick(modifiedAddress, port)); 155 | } 156 | } 157 | 158 | // Done here. 159 | } 160 | 161 | private void SupportButton() 162 | { 163 | Application.OpenURL("http://github.com/SoftwareGuy/NodeListServer-Example"); 164 | } 165 | 166 | #region Callbacks for events from NLS Communicator 167 | private void OnServerListRetrieved(ServerListResponse response) 168 | { 169 | listServerListEntries = response.servers; 170 | 171 | // For debug purposes only. 172 | // print(listServerListEntries.Count); 173 | 174 | if (ListElementContainer != null) 175 | { 176 | BalancePrefabs(listServerListEntries.Count, ListElementContainer.transform); 177 | UpdateListElements(); 178 | } 179 | } 180 | #endregion 181 | 182 | private void OnJoinButtonClick(string ip, int port) 183 | { 184 | print($"You clicked join on a server and we'd probably be connecting to a server at {ip} on port {port}."); 185 | 186 | OnJoinButtonClicked?.Invoke(ip, port); 187 | } 188 | } 189 | } 190 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/Example/Scripts/ServerListBrowser.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48b85de715ff2bd42b01785386816646 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/Example/UI.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 04706cbb25d95f4469c37ec453d65dc9 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/Example/UI/ListEntry.prefab: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1 &1009505356919436 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: 224428085307354514} 12 | - component: {fileID: 222534217462828066} 13 | - component: {fileID: 114077992825021022} 14 | m_Layer: 5 15 | m_Name: TextPlayers 16 | m_TagString: Untagged 17 | m_Icon: {fileID: 0} 18 | m_NavMeshLayer: 0 19 | m_StaticEditorFlags: 0 20 | m_IsActive: 1 21 | --- !u!224 &224428085307354514 22 | RectTransform: 23 | m_ObjectHideFlags: 0 24 | m_CorrespondingSourceObject: {fileID: 0} 25 | m_PrefabInstance: {fileID: 0} 26 | m_PrefabAsset: {fileID: 0} 27 | m_GameObject: {fileID: 1009505356919436} 28 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 29 | m_LocalPosition: {x: 0, y: 0, z: 0} 30 | m_LocalScale: {x: 1, y: 1, z: 1} 31 | m_Children: [] 32 | m_Father: {fileID: 224813910264502154} 33 | m_RootOrder: 1 34 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 35 | m_AnchorMin: {x: 0, y: 0} 36 | m_AnchorMax: {x: 0, y: 0} 37 | m_AnchoredPosition: {x: 0, y: 0} 38 | m_SizeDelta: {x: 60, y: 16} 39 | m_Pivot: {x: 0.5, y: 0.5} 40 | --- !u!222 &222534217462828066 41 | CanvasRenderer: 42 | m_ObjectHideFlags: 0 43 | m_CorrespondingSourceObject: {fileID: 0} 44 | m_PrefabInstance: {fileID: 0} 45 | m_PrefabAsset: {fileID: 0} 46 | m_GameObject: {fileID: 1009505356919436} 47 | m_CullTransparentMesh: 0 48 | --- !u!114 &114077992825021022 49 | MonoBehaviour: 50 | m_ObjectHideFlags: 0 51 | m_CorrespondingSourceObject: {fileID: 0} 52 | m_PrefabInstance: {fileID: 0} 53 | m_PrefabAsset: {fileID: 0} 54 | m_GameObject: {fileID: 1009505356919436} 55 | m_Enabled: 1 56 | m_EditorHideFlags: 0 57 | m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 58 | m_Name: 59 | m_EditorClassIdentifier: 60 | m_Material: {fileID: 0} 61 | m_Color: {r: 1, g: 1, b: 1, a: 1} 62 | m_RaycastTarget: 1 63 | m_OnCullStateChanged: 64 | m_PersistentCalls: 65 | m_Calls: [] 66 | m_FontData: 67 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 68 | m_FontSize: 12 69 | m_FontStyle: 0 70 | m_BestFit: 0 71 | m_MinSize: 1 72 | m_MaxSize: 40 73 | m_Alignment: 5 74 | m_AlignByGeometry: 0 75 | m_RichText: 1 76 | m_HorizontalOverflow: 0 77 | m_VerticalOverflow: 0 78 | m_LineSpacing: 1 79 | m_Text: '[Players]' 80 | --- !u!1 &1165846264137056 81 | GameObject: 82 | m_ObjectHideFlags: 0 83 | m_CorrespondingSourceObject: {fileID: 0} 84 | m_PrefabInstance: {fileID: 0} 85 | m_PrefabAsset: {fileID: 0} 86 | serializedVersion: 6 87 | m_Component: 88 | - component: {fileID: 224595697833923954} 89 | - component: {fileID: 222565095748274674} 90 | - component: {fileID: 114410999938197916} 91 | m_Layer: 5 92 | m_Name: TextLatency 93 | m_TagString: Untagged 94 | m_Icon: {fileID: 0} 95 | m_NavMeshLayer: 0 96 | m_StaticEditorFlags: 0 97 | m_IsActive: 1 98 | --- !u!224 &224595697833923954 99 | RectTransform: 100 | m_ObjectHideFlags: 0 101 | m_CorrespondingSourceObject: {fileID: 0} 102 | m_PrefabInstance: {fileID: 0} 103 | m_PrefabAsset: {fileID: 0} 104 | m_GameObject: {fileID: 1165846264137056} 105 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 106 | m_LocalPosition: {x: 0, y: 0, z: 0} 107 | m_LocalScale: {x: 1, y: 1, z: 1} 108 | m_Children: [] 109 | m_Father: {fileID: 224813910264502154} 110 | m_RootOrder: 2 111 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 112 | m_AnchorMin: {x: 0, y: 0} 113 | m_AnchorMax: {x: 0, y: 0} 114 | m_AnchoredPosition: {x: 0, y: 0} 115 | m_SizeDelta: {x: 60, y: 16} 116 | m_Pivot: {x: 0.5, y: 0.5} 117 | --- !u!222 &222565095748274674 118 | CanvasRenderer: 119 | m_ObjectHideFlags: 0 120 | m_CorrespondingSourceObject: {fileID: 0} 121 | m_PrefabInstance: {fileID: 0} 122 | m_PrefabAsset: {fileID: 0} 123 | m_GameObject: {fileID: 1165846264137056} 124 | m_CullTransparentMesh: 0 125 | --- !u!114 &114410999938197916 126 | MonoBehaviour: 127 | m_ObjectHideFlags: 0 128 | m_CorrespondingSourceObject: {fileID: 0} 129 | m_PrefabInstance: {fileID: 0} 130 | m_PrefabAsset: {fileID: 0} 131 | m_GameObject: {fileID: 1165846264137056} 132 | m_Enabled: 1 133 | m_EditorHideFlags: 0 134 | m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 135 | m_Name: 136 | m_EditorClassIdentifier: 137 | m_Material: {fileID: 0} 138 | m_Color: {r: 1, g: 1, b: 1, a: 1} 139 | m_RaycastTarget: 1 140 | m_OnCullStateChanged: 141 | m_PersistentCalls: 142 | m_Calls: [] 143 | m_FontData: 144 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 145 | m_FontSize: 12 146 | m_FontStyle: 0 147 | m_BestFit: 0 148 | m_MinSize: 1 149 | m_MaxSize: 40 150 | m_Alignment: 5 151 | m_AlignByGeometry: 0 152 | m_RichText: 1 153 | m_HorizontalOverflow: 0 154 | m_VerticalOverflow: 0 155 | m_LineSpacing: 1 156 | m_Text: '[Latency]' 157 | --- !u!1 &1259177336467004 158 | GameObject: 159 | m_ObjectHideFlags: 0 160 | m_CorrespondingSourceObject: {fileID: 0} 161 | m_PrefabInstance: {fileID: 0} 162 | m_PrefabAsset: {fileID: 0} 163 | serializedVersion: 6 164 | m_Component: 165 | - component: {fileID: 224813910264502154} 166 | - component: {fileID: 222443701544564472} 167 | - component: {fileID: 114424214131292870} 168 | - component: {fileID: 114617214395066132} 169 | - component: {fileID: 114618400118094574} 170 | - component: {fileID: 114307996561067868} 171 | m_Layer: 5 172 | m_Name: ListEntry 173 | m_TagString: Untagged 174 | m_Icon: {fileID: 0} 175 | m_NavMeshLayer: 0 176 | m_StaticEditorFlags: 0 177 | m_IsActive: 1 178 | --- !u!224 &224813910264502154 179 | RectTransform: 180 | m_ObjectHideFlags: 0 181 | m_CorrespondingSourceObject: {fileID: 0} 182 | m_PrefabInstance: {fileID: 0} 183 | m_PrefabAsset: {fileID: 0} 184 | m_GameObject: {fileID: 1259177336467004} 185 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 186 | m_LocalPosition: {x: 0, y: 0, z: 0} 187 | m_LocalScale: {x: 1, y: 1, z: 1} 188 | m_Children: 189 | - {fileID: 224596263305646570} 190 | - {fileID: 224428085307354514} 191 | - {fileID: 224595697833923954} 192 | - {fileID: 2588874080615256095} 193 | - {fileID: 224530003443674914} 194 | m_Father: {fileID: 0} 195 | m_RootOrder: 0 196 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 197 | m_AnchorMin: {x: 0, y: 0} 198 | m_AnchorMax: {x: 0, y: 0} 199 | m_AnchoredPosition: {x: 0, y: 0} 200 | m_SizeDelta: {x: 0, y: 0} 201 | m_Pivot: {x: 0.5, y: 0.5} 202 | --- !u!222 &222443701544564472 203 | CanvasRenderer: 204 | m_ObjectHideFlags: 0 205 | m_CorrespondingSourceObject: {fileID: 0} 206 | m_PrefabInstance: {fileID: 0} 207 | m_PrefabAsset: {fileID: 0} 208 | m_GameObject: {fileID: 1259177336467004} 209 | m_CullTransparentMesh: 0 210 | --- !u!114 &114424214131292870 211 | MonoBehaviour: 212 | m_ObjectHideFlags: 0 213 | m_CorrespondingSourceObject: {fileID: 0} 214 | m_PrefabInstance: {fileID: 0} 215 | m_PrefabAsset: {fileID: 0} 216 | m_GameObject: {fileID: 1259177336467004} 217 | m_Enabled: 1 218 | m_EditorHideFlags: 0 219 | m_Script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 220 | m_Name: 221 | m_EditorClassIdentifier: 222 | m_Material: {fileID: 0} 223 | m_Color: {r: 0.2509804, g: 0.2509804, b: 0.2509804, a: 1} 224 | m_RaycastTarget: 1 225 | m_OnCullStateChanged: 226 | m_PersistentCalls: 227 | m_Calls: [] 228 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} 229 | m_Type: 1 230 | m_PreserveAspect: 0 231 | m_FillCenter: 1 232 | m_FillMethod: 4 233 | m_FillAmount: 1 234 | m_FillClockwise: 1 235 | m_FillOrigin: 0 236 | m_UseSpriteMesh: 0 237 | --- !u!114 &114617214395066132 238 | MonoBehaviour: 239 | m_ObjectHideFlags: 0 240 | m_CorrespondingSourceObject: {fileID: 0} 241 | m_PrefabInstance: {fileID: 0} 242 | m_PrefabAsset: {fileID: 0} 243 | m_GameObject: {fileID: 1259177336467004} 244 | m_Enabled: 1 245 | m_EditorHideFlags: 0 246 | m_Script: {fileID: 1741964061, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 247 | m_Name: 248 | m_EditorClassIdentifier: 249 | m_HorizontalFit: 0 250 | m_VerticalFit: 2 251 | --- !u!114 &114618400118094574 252 | MonoBehaviour: 253 | m_ObjectHideFlags: 0 254 | m_CorrespondingSourceObject: {fileID: 0} 255 | m_PrefabInstance: {fileID: 0} 256 | m_PrefabAsset: {fileID: 0} 257 | m_GameObject: {fileID: 1259177336467004} 258 | m_Enabled: 1 259 | m_EditorHideFlags: 0 260 | m_Script: {fileID: -405508275, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 261 | m_Name: 262 | m_EditorClassIdentifier: 263 | m_Padding: 264 | m_Left: 4 265 | m_Right: 2 266 | m_Top: 1 267 | m_Bottom: 1 268 | m_ChildAlignment: 0 269 | m_Spacing: 0 270 | m_ChildForceExpandWidth: 0 271 | m_ChildForceExpandHeight: 0 272 | m_ChildControlWidth: 0 273 | m_ChildControlHeight: 0 274 | --- !u!114 &114307996561067868 275 | MonoBehaviour: 276 | m_ObjectHideFlags: 0 277 | m_CorrespondingSourceObject: {fileID: 0} 278 | m_PrefabInstance: {fileID: 0} 279 | m_PrefabAsset: {fileID: 0} 280 | m_GameObject: {fileID: 1259177336467004} 281 | m_Enabled: 1 282 | m_EditorHideFlags: 0 283 | m_Script: {fileID: 11500000, guid: 16a803c8ef7969842b87112ee7dc24f4, type: 3} 284 | m_Name: 285 | m_EditorClassIdentifier: 286 | titleText: {fileID: 114105517410707240} 287 | playersText: {fileID: 114077992825021022} 288 | latencyText: {fileID: 114410999938197916} 289 | addressText: {fileID: 1711666012325280996} 290 | joinButton: {fileID: 114358377111651776} 291 | --- !u!1 &1368168976437814 292 | GameObject: 293 | m_ObjectHideFlags: 0 294 | m_CorrespondingSourceObject: {fileID: 0} 295 | m_PrefabInstance: {fileID: 0} 296 | m_PrefabAsset: {fileID: 0} 297 | serializedVersion: 6 298 | m_Component: 299 | - component: {fileID: 224596263305646570} 300 | - component: {fileID: 222703717971346548} 301 | - component: {fileID: 114105517410707240} 302 | m_Layer: 5 303 | m_Name: TextTitle 304 | m_TagString: Untagged 305 | m_Icon: {fileID: 0} 306 | m_NavMeshLayer: 0 307 | m_StaticEditorFlags: 0 308 | m_IsActive: 1 309 | --- !u!224 &224596263305646570 310 | RectTransform: 311 | m_ObjectHideFlags: 0 312 | m_CorrespondingSourceObject: {fileID: 0} 313 | m_PrefabInstance: {fileID: 0} 314 | m_PrefabAsset: {fileID: 0} 315 | m_GameObject: {fileID: 1368168976437814} 316 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 317 | m_LocalPosition: {x: 0, y: 0, z: 0} 318 | m_LocalScale: {x: 1, y: 1, z: 1} 319 | m_Children: [] 320 | m_Father: {fileID: 224813910264502154} 321 | m_RootOrder: 0 322 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 323 | m_AnchorMin: {x: 0, y: 0} 324 | m_AnchorMax: {x: 0, y: 0} 325 | m_AnchoredPosition: {x: 0, y: 0} 326 | m_SizeDelta: {x: 218, y: 16} 327 | m_Pivot: {x: 0.5, y: 0.5} 328 | --- !u!222 &222703717971346548 329 | CanvasRenderer: 330 | m_ObjectHideFlags: 0 331 | m_CorrespondingSourceObject: {fileID: 0} 332 | m_PrefabInstance: {fileID: 0} 333 | m_PrefabAsset: {fileID: 0} 334 | m_GameObject: {fileID: 1368168976437814} 335 | m_CullTransparentMesh: 0 336 | --- !u!114 &114105517410707240 337 | MonoBehaviour: 338 | m_ObjectHideFlags: 0 339 | m_CorrespondingSourceObject: {fileID: 0} 340 | m_PrefabInstance: {fileID: 0} 341 | m_PrefabAsset: {fileID: 0} 342 | m_GameObject: {fileID: 1368168976437814} 343 | m_Enabled: 1 344 | m_EditorHideFlags: 0 345 | m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 346 | m_Name: 347 | m_EditorClassIdentifier: 348 | m_Material: {fileID: 0} 349 | m_Color: {r: 1, g: 1, b: 1, a: 1} 350 | m_RaycastTarget: 1 351 | m_OnCullStateChanged: 352 | m_PersistentCalls: 353 | m_Calls: [] 354 | m_FontData: 355 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 356 | m_FontSize: 12 357 | m_FontStyle: 0 358 | m_BestFit: 0 359 | m_MinSize: 1 360 | m_MaxSize: 40 361 | m_Alignment: 3 362 | m_AlignByGeometry: 0 363 | m_RichText: 1 364 | m_HorizontalOverflow: 0 365 | m_VerticalOverflow: 0 366 | m_LineSpacing: 1 367 | m_Text: '[Title]' 368 | --- !u!1 &1462871638010074 369 | GameObject: 370 | m_ObjectHideFlags: 0 371 | m_CorrespondingSourceObject: {fileID: 0} 372 | m_PrefabInstance: {fileID: 0} 373 | m_PrefabAsset: {fileID: 0} 374 | serializedVersion: 6 375 | m_Component: 376 | - component: {fileID: 224530003443674914} 377 | - component: {fileID: 222322555260831376} 378 | - component: {fileID: 114653458098104780} 379 | - component: {fileID: 114358377111651776} 380 | m_Layer: 5 381 | m_Name: ButtonJoin 382 | m_TagString: Untagged 383 | m_Icon: {fileID: 0} 384 | m_NavMeshLayer: 0 385 | m_StaticEditorFlags: 0 386 | m_IsActive: 1 387 | --- !u!224 &224530003443674914 388 | RectTransform: 389 | m_ObjectHideFlags: 0 390 | m_CorrespondingSourceObject: {fileID: 0} 391 | m_PrefabInstance: {fileID: 0} 392 | m_PrefabAsset: {fileID: 0} 393 | m_GameObject: {fileID: 1462871638010074} 394 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 395 | m_LocalPosition: {x: 0, y: 0, z: 0} 396 | m_LocalScale: {x: 1, y: 1, z: 1} 397 | m_Children: 398 | - {fileID: 224615151935076648} 399 | m_Father: {fileID: 224813910264502154} 400 | m_RootOrder: 4 401 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 402 | m_AnchorMin: {x: 0, y: 0} 403 | m_AnchorMax: {x: 0, y: 0} 404 | m_AnchoredPosition: {x: 0, y: 0} 405 | m_SizeDelta: {x: 40, y: 18} 406 | m_Pivot: {x: 0.5, y: 0.5} 407 | --- !u!222 &222322555260831376 408 | CanvasRenderer: 409 | m_ObjectHideFlags: 0 410 | m_CorrespondingSourceObject: {fileID: 0} 411 | m_PrefabInstance: {fileID: 0} 412 | m_PrefabAsset: {fileID: 0} 413 | m_GameObject: {fileID: 1462871638010074} 414 | m_CullTransparentMesh: 0 415 | --- !u!114 &114653458098104780 416 | MonoBehaviour: 417 | m_ObjectHideFlags: 0 418 | m_CorrespondingSourceObject: {fileID: 0} 419 | m_PrefabInstance: {fileID: 0} 420 | m_PrefabAsset: {fileID: 0} 421 | m_GameObject: {fileID: 1462871638010074} 422 | m_Enabled: 1 423 | m_EditorHideFlags: 0 424 | m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} 425 | m_Name: 426 | m_EditorClassIdentifier: 427 | m_Material: {fileID: 0} 428 | m_Color: {r: 1, g: 1, b: 1, a: 1} 429 | m_RaycastTarget: 1 430 | m_OnCullStateChanged: 431 | m_PersistentCalls: 432 | m_Calls: [] 433 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} 434 | m_Type: 1 435 | m_PreserveAspect: 0 436 | m_FillCenter: 1 437 | m_FillMethod: 4 438 | m_FillAmount: 1 439 | m_FillClockwise: 1 440 | m_FillOrigin: 0 441 | m_UseSpriteMesh: 0 442 | --- !u!114 &114358377111651776 443 | MonoBehaviour: 444 | m_ObjectHideFlags: 0 445 | m_CorrespondingSourceObject: {fileID: 0} 446 | m_PrefabInstance: {fileID: 0} 447 | m_PrefabAsset: {fileID: 0} 448 | m_GameObject: {fileID: 1462871638010074} 449 | m_Enabled: 1 450 | m_EditorHideFlags: 0 451 | m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} 452 | m_Name: 453 | m_EditorClassIdentifier: 454 | m_Navigation: 455 | m_Mode: 3 456 | m_SelectOnUp: {fileID: 0} 457 | m_SelectOnDown: {fileID: 0} 458 | m_SelectOnLeft: {fileID: 0} 459 | m_SelectOnRight: {fileID: 0} 460 | m_Transition: 1 461 | m_Colors: 462 | m_NormalColor: {r: 0.32156864, g: 0.32156864, b: 0.32156864, a: 1} 463 | m_HighlightedColor: {r: 0.3529412, g: 0.3529412, b: 0.3529412, a: 1} 464 | m_PressedColor: {r: 0.3882353, g: 0.3882353, b: 0.3882353, a: 1} 465 | m_DisabledColor: {r: 0.3882353, g: 0.3882353, b: 0.3882353, a: 0.37254903} 466 | m_ColorMultiplier: 1 467 | m_FadeDuration: 0.1 468 | m_SpriteState: 469 | m_HighlightedSprite: {fileID: 0} 470 | m_PressedSprite: {fileID: 0} 471 | m_DisabledSprite: {fileID: 0} 472 | m_AnimationTriggers: 473 | m_NormalTrigger: Normal 474 | m_HighlightedTrigger: Highlighted 475 | m_PressedTrigger: Pressed 476 | m_DisabledTrigger: Disabled 477 | m_Interactable: 1 478 | m_TargetGraphic: {fileID: 114653458098104780} 479 | m_OnClick: 480 | m_PersistentCalls: 481 | m_Calls: [] 482 | --- !u!1 &1575165076438694 483 | GameObject: 484 | m_ObjectHideFlags: 0 485 | m_CorrespondingSourceObject: {fileID: 0} 486 | m_PrefabInstance: {fileID: 0} 487 | m_PrefabAsset: {fileID: 0} 488 | serializedVersion: 6 489 | m_Component: 490 | - component: {fileID: 224615151935076648} 491 | - component: {fileID: 222903696298421472} 492 | - component: {fileID: 114447744505293664} 493 | m_Layer: 5 494 | m_Name: Text 495 | m_TagString: Untagged 496 | m_Icon: {fileID: 0} 497 | m_NavMeshLayer: 0 498 | m_StaticEditorFlags: 0 499 | m_IsActive: 1 500 | --- !u!224 &224615151935076648 501 | RectTransform: 502 | m_ObjectHideFlags: 0 503 | m_CorrespondingSourceObject: {fileID: 0} 504 | m_PrefabInstance: {fileID: 0} 505 | m_PrefabAsset: {fileID: 0} 506 | m_GameObject: {fileID: 1575165076438694} 507 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 508 | m_LocalPosition: {x: 0, y: 0, z: 0} 509 | m_LocalScale: {x: 1, y: 1, z: 1} 510 | m_Children: [] 511 | m_Father: {fileID: 224530003443674914} 512 | m_RootOrder: 0 513 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 514 | m_AnchorMin: {x: 0, y: 0} 515 | m_AnchorMax: {x: 1, y: 1} 516 | m_AnchoredPosition: {x: 0, y: 0} 517 | m_SizeDelta: {x: 0, y: 0} 518 | m_Pivot: {x: 0.5, y: 0.5} 519 | --- !u!222 &222903696298421472 520 | CanvasRenderer: 521 | m_ObjectHideFlags: 0 522 | m_CorrespondingSourceObject: {fileID: 0} 523 | m_PrefabInstance: {fileID: 0} 524 | m_PrefabAsset: {fileID: 0} 525 | m_GameObject: {fileID: 1575165076438694} 526 | m_CullTransparentMesh: 0 527 | --- !u!114 &114447744505293664 528 | MonoBehaviour: 529 | m_ObjectHideFlags: 0 530 | m_CorrespondingSourceObject: {fileID: 0} 531 | m_PrefabInstance: {fileID: 0} 532 | m_PrefabAsset: {fileID: 0} 533 | m_GameObject: {fileID: 1575165076438694} 534 | m_Enabled: 1 535 | m_EditorHideFlags: 0 536 | m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} 537 | m_Name: 538 | m_EditorClassIdentifier: 539 | m_Material: {fileID: 0} 540 | m_Color: {r: 1, g: 1, b: 1, a: 1} 541 | m_RaycastTarget: 1 542 | m_OnCullStateChanged: 543 | m_PersistentCalls: 544 | m_Calls: [] 545 | m_FontData: 546 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 547 | m_FontSize: 12 548 | m_FontStyle: 0 549 | m_BestFit: 0 550 | m_MinSize: 1 551 | m_MaxSize: 40 552 | m_Alignment: 4 553 | m_AlignByGeometry: 0 554 | m_RichText: 1 555 | m_HorizontalOverflow: 0 556 | m_VerticalOverflow: 0 557 | m_LineSpacing: 1 558 | m_Text: Join 559 | --- !u!1 &2231260898927249423 560 | GameObject: 561 | m_ObjectHideFlags: 0 562 | m_CorrespondingSourceObject: {fileID: 0} 563 | m_PrefabInstance: {fileID: 0} 564 | m_PrefabAsset: {fileID: 0} 565 | serializedVersion: 6 566 | m_Component: 567 | - component: {fileID: 2588874080615256095} 568 | - component: {fileID: 2389080155505640677} 569 | - component: {fileID: 1711666012325280996} 570 | m_Layer: 5 571 | m_Name: TextAddress 572 | m_TagString: Untagged 573 | m_Icon: {fileID: 0} 574 | m_NavMeshLayer: 0 575 | m_StaticEditorFlags: 0 576 | m_IsActive: 1 577 | --- !u!224 &2588874080615256095 578 | RectTransform: 579 | m_ObjectHideFlags: 0 580 | m_CorrespondingSourceObject: {fileID: 0} 581 | m_PrefabInstance: {fileID: 0} 582 | m_PrefabAsset: {fileID: 0} 583 | m_GameObject: {fileID: 2231260898927249423} 584 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} 585 | m_LocalPosition: {x: 0, y: 0, z: 0} 586 | m_LocalScale: {x: 1, y: 1, z: 1} 587 | m_Children: [] 588 | m_Father: {fileID: 224813910264502154} 589 | m_RootOrder: 3 590 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} 591 | m_AnchorMin: {x: 0, y: 0} 592 | m_AnchorMax: {x: 0, y: 0} 593 | m_AnchoredPosition: {x: 0, y: 0} 594 | m_SizeDelta: {x: 130, y: 16} 595 | m_Pivot: {x: 0.5, y: 0.5} 596 | --- !u!222 &2389080155505640677 597 | CanvasRenderer: 598 | m_ObjectHideFlags: 0 599 | m_CorrespondingSourceObject: {fileID: 0} 600 | m_PrefabInstance: {fileID: 0} 601 | m_PrefabAsset: {fileID: 0} 602 | m_GameObject: {fileID: 2231260898927249423} 603 | m_CullTransparentMesh: 0 604 | --- !u!114 &1711666012325280996 605 | MonoBehaviour: 606 | m_ObjectHideFlags: 0 607 | m_CorrespondingSourceObject: {fileID: 0} 608 | m_PrefabInstance: {fileID: 0} 609 | m_PrefabAsset: {fileID: 0} 610 | m_GameObject: {fileID: 2231260898927249423} 611 | m_Enabled: 1 612 | m_EditorHideFlags: 0 613 | m_Script: {fileID: 708705254, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 614 | m_Name: 615 | m_EditorClassIdentifier: 616 | m_Material: {fileID: 0} 617 | m_Color: {r: 1, g: 1, b: 1, a: 1} 618 | m_RaycastTarget: 1 619 | m_OnCullStateChanged: 620 | m_PersistentCalls: 621 | m_Calls: [] 622 | m_FontData: 623 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} 624 | m_FontSize: 12 625 | m_FontStyle: 0 626 | m_BestFit: 0 627 | m_MinSize: 1 628 | m_MaxSize: 40 629 | m_Alignment: 5 630 | m_AlignByGeometry: 0 631 | m_RichText: 1 632 | m_HorizontalOverflow: 0 633 | m_VerticalOverflow: 0 634 | m_LineSpacing: 1 635 | m_Text: '[Address]' 636 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/Example/UI/ListEntry.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c6ca829569179c749a037f1b7d8631a0 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/Example/UI/ListEntryController.cs: -------------------------------------------------------------------------------- 1 | // Attach to the prefab for easier component access by the UI Scripts. 2 | // Otherwise we would need slot.GetChild(0).GetComponentInChildren etc. 3 | using UnityEngine; 4 | using UnityEngine.UI; 5 | 6 | namespace NodeListServer 7 | { 8 | public class ListEntryController : MonoBehaviour 9 | { 10 | public Text titleText; 11 | public Text playersText; 12 | public Text latencyText; 13 | public Text addressText; 14 | public Button joinButton; 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/NodeLS Client/Example/UI/ListEntryController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 16a803c8ef7969842b87112ee7dc24f4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/NodeLS Client/NodeLS.Client.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "NodeLS.Client", 3 | "rootNamespace": "", 4 | "references": [ 5 | "Mirror" 6 | ], 7 | "includePlatforms": [], 8 | "excludePlatforms": [], 9 | "allowUnsafeCode": false, 10 | "overrideReferences": false, 11 | "precompiledReferences": [], 12 | "autoReferenced": true, 13 | "defineConstraints": [], 14 | "versionDefines": [], 15 | "noEngineReferences": false 16 | } -------------------------------------------------------------------------------- /Assets/NodeLS Client/NodeLS.Client.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 88679657d773aca42bdbdb039331a909 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Matt Coburn 4 | This software uses dependencies (Mirror and other libraries) 5 | licensed under other different licenses. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | 25 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.2d.sprite": "1.0.0", 4 | "com.unity.2d.tilemap": "1.0.0", 5 | "com.unity.ide.rider": "2.0.7", 6 | "com.unity.ide.visualstudio": "2.0.14", 7 | "com.unity.ide.vscode": "1.2.5", 8 | "com.unity.test-framework": "1.1.31", 9 | "com.unity.timeline": "1.4.8", 10 | "com.unity.ugui": "1.0.0", 11 | "com.unity.xr.legacyinputhelpers": "2.1.9", 12 | "com.unity.modules.ai": "1.0.0", 13 | "com.unity.modules.androidjni": "1.0.0", 14 | "com.unity.modules.animation": "1.0.0", 15 | "com.unity.modules.assetbundle": "1.0.0", 16 | "com.unity.modules.audio": "1.0.0", 17 | "com.unity.modules.cloth": "1.0.0", 18 | "com.unity.modules.director": "1.0.0", 19 | "com.unity.modules.imageconversion": "1.0.0", 20 | "com.unity.modules.imgui": "1.0.0", 21 | "com.unity.modules.jsonserialize": "1.0.0", 22 | "com.unity.modules.particlesystem": "1.0.0", 23 | "com.unity.modules.physics": "1.0.0", 24 | "com.unity.modules.physics2d": "1.0.0", 25 | "com.unity.modules.screencapture": "1.0.0", 26 | "com.unity.modules.terrain": "1.0.0", 27 | "com.unity.modules.terrainphysics": "1.0.0", 28 | "com.unity.modules.tilemap": "1.0.0", 29 | "com.unity.modules.ui": "1.0.0", 30 | "com.unity.modules.uielements": "1.0.0", 31 | "com.unity.modules.umbra": "1.0.0", 32 | "com.unity.modules.unityanalytics": "1.0.0", 33 | "com.unity.modules.unitywebrequest": "1.0.0", 34 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 35 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 36 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 37 | "com.unity.modules.unitywebrequestwww": "1.0.0", 38 | "com.unity.modules.vehicles": "1.0.0", 39 | "com.unity.modules.video": "1.0.0", 40 | "com.unity.modules.vr": "1.0.0", 41 | "com.unity.modules.wind": "1.0.0", 42 | "com.unity.modules.xr": "1.0.0" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Packages/packages-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.2d.sprite": { 4 | "version": "1.0.0", 5 | "depth": 0, 6 | "source": "builtin", 7 | "dependencies": {} 8 | }, 9 | "com.unity.2d.tilemap": { 10 | "version": "1.0.0", 11 | "depth": 0, 12 | "source": "builtin", 13 | "dependencies": {} 14 | }, 15 | "com.unity.ext.nunit": { 16 | "version": "1.0.6", 17 | "depth": 1, 18 | "source": "registry", 19 | "dependencies": {}, 20 | "url": "https://packages.unity.com" 21 | }, 22 | "com.unity.ide.rider": { 23 | "version": "2.0.7", 24 | "depth": 0, 25 | "source": "registry", 26 | "dependencies": { 27 | "com.unity.test-framework": "1.1.1" 28 | }, 29 | "url": "https://packages.unity.com" 30 | }, 31 | "com.unity.ide.visualstudio": { 32 | "version": "2.0.14", 33 | "depth": 0, 34 | "source": "registry", 35 | "dependencies": { 36 | "com.unity.test-framework": "1.1.9" 37 | }, 38 | "url": "https://packages.unity.com" 39 | }, 40 | "com.unity.ide.vscode": { 41 | "version": "1.2.5", 42 | "depth": 0, 43 | "source": "registry", 44 | "dependencies": {}, 45 | "url": "https://packages.unity.com" 46 | }, 47 | "com.unity.test-framework": { 48 | "version": "1.1.31", 49 | "depth": 0, 50 | "source": "registry", 51 | "dependencies": { 52 | "com.unity.ext.nunit": "1.0.6", 53 | "com.unity.modules.imgui": "1.0.0", 54 | "com.unity.modules.jsonserialize": "1.0.0" 55 | }, 56 | "url": "https://packages.unity.com" 57 | }, 58 | "com.unity.timeline": { 59 | "version": "1.4.8", 60 | "depth": 0, 61 | "source": "registry", 62 | "dependencies": { 63 | "com.unity.modules.director": "1.0.0", 64 | "com.unity.modules.animation": "1.0.0", 65 | "com.unity.modules.audio": "1.0.0", 66 | "com.unity.modules.particlesystem": "1.0.0" 67 | }, 68 | "url": "https://packages.unity.com" 69 | }, 70 | "com.unity.ugui": { 71 | "version": "1.0.0", 72 | "depth": 0, 73 | "source": "builtin", 74 | "dependencies": { 75 | "com.unity.modules.ui": "1.0.0", 76 | "com.unity.modules.imgui": "1.0.0" 77 | } 78 | }, 79 | "com.unity.xr.legacyinputhelpers": { 80 | "version": "2.1.9", 81 | "depth": 0, 82 | "source": "registry", 83 | "dependencies": { 84 | "com.unity.modules.vr": "1.0.0", 85 | "com.unity.modules.xr": "1.0.0" 86 | }, 87 | "url": "https://packages.unity.com" 88 | }, 89 | "com.unity.modules.ai": { 90 | "version": "1.0.0", 91 | "depth": 0, 92 | "source": "builtin", 93 | "dependencies": {} 94 | }, 95 | "com.unity.modules.androidjni": { 96 | "version": "1.0.0", 97 | "depth": 0, 98 | "source": "builtin", 99 | "dependencies": {} 100 | }, 101 | "com.unity.modules.animation": { 102 | "version": "1.0.0", 103 | "depth": 0, 104 | "source": "builtin", 105 | "dependencies": {} 106 | }, 107 | "com.unity.modules.assetbundle": { 108 | "version": "1.0.0", 109 | "depth": 0, 110 | "source": "builtin", 111 | "dependencies": {} 112 | }, 113 | "com.unity.modules.audio": { 114 | "version": "1.0.0", 115 | "depth": 0, 116 | "source": "builtin", 117 | "dependencies": {} 118 | }, 119 | "com.unity.modules.cloth": { 120 | "version": "1.0.0", 121 | "depth": 0, 122 | "source": "builtin", 123 | "dependencies": { 124 | "com.unity.modules.physics": "1.0.0" 125 | } 126 | }, 127 | "com.unity.modules.director": { 128 | "version": "1.0.0", 129 | "depth": 0, 130 | "source": "builtin", 131 | "dependencies": { 132 | "com.unity.modules.audio": "1.0.0", 133 | "com.unity.modules.animation": "1.0.0" 134 | } 135 | }, 136 | "com.unity.modules.imageconversion": { 137 | "version": "1.0.0", 138 | "depth": 0, 139 | "source": "builtin", 140 | "dependencies": {} 141 | }, 142 | "com.unity.modules.imgui": { 143 | "version": "1.0.0", 144 | "depth": 0, 145 | "source": "builtin", 146 | "dependencies": {} 147 | }, 148 | "com.unity.modules.jsonserialize": { 149 | "version": "1.0.0", 150 | "depth": 0, 151 | "source": "builtin", 152 | "dependencies": {} 153 | }, 154 | "com.unity.modules.particlesystem": { 155 | "version": "1.0.0", 156 | "depth": 0, 157 | "source": "builtin", 158 | "dependencies": {} 159 | }, 160 | "com.unity.modules.physics": { 161 | "version": "1.0.0", 162 | "depth": 0, 163 | "source": "builtin", 164 | "dependencies": {} 165 | }, 166 | "com.unity.modules.physics2d": { 167 | "version": "1.0.0", 168 | "depth": 0, 169 | "source": "builtin", 170 | "dependencies": {} 171 | }, 172 | "com.unity.modules.screencapture": { 173 | "version": "1.0.0", 174 | "depth": 0, 175 | "source": "builtin", 176 | "dependencies": { 177 | "com.unity.modules.imageconversion": "1.0.0" 178 | } 179 | }, 180 | "com.unity.modules.subsystems": { 181 | "version": "1.0.0", 182 | "depth": 1, 183 | "source": "builtin", 184 | "dependencies": { 185 | "com.unity.modules.jsonserialize": "1.0.0" 186 | } 187 | }, 188 | "com.unity.modules.terrain": { 189 | "version": "1.0.0", 190 | "depth": 0, 191 | "source": "builtin", 192 | "dependencies": {} 193 | }, 194 | "com.unity.modules.terrainphysics": { 195 | "version": "1.0.0", 196 | "depth": 0, 197 | "source": "builtin", 198 | "dependencies": { 199 | "com.unity.modules.physics": "1.0.0", 200 | "com.unity.modules.terrain": "1.0.0" 201 | } 202 | }, 203 | "com.unity.modules.tilemap": { 204 | "version": "1.0.0", 205 | "depth": 0, 206 | "source": "builtin", 207 | "dependencies": { 208 | "com.unity.modules.physics2d": "1.0.0" 209 | } 210 | }, 211 | "com.unity.modules.ui": { 212 | "version": "1.0.0", 213 | "depth": 0, 214 | "source": "builtin", 215 | "dependencies": {} 216 | }, 217 | "com.unity.modules.uielements": { 218 | "version": "1.0.0", 219 | "depth": 0, 220 | "source": "builtin", 221 | "dependencies": { 222 | "com.unity.modules.ui": "1.0.0", 223 | "com.unity.modules.imgui": "1.0.0", 224 | "com.unity.modules.jsonserialize": "1.0.0", 225 | "com.unity.modules.uielementsnative": "1.0.0" 226 | } 227 | }, 228 | "com.unity.modules.uielementsnative": { 229 | "version": "1.0.0", 230 | "depth": 1, 231 | "source": "builtin", 232 | "dependencies": { 233 | "com.unity.modules.ui": "1.0.0", 234 | "com.unity.modules.imgui": "1.0.0", 235 | "com.unity.modules.jsonserialize": "1.0.0" 236 | } 237 | }, 238 | "com.unity.modules.umbra": { 239 | "version": "1.0.0", 240 | "depth": 0, 241 | "source": "builtin", 242 | "dependencies": {} 243 | }, 244 | "com.unity.modules.unityanalytics": { 245 | "version": "1.0.0", 246 | "depth": 0, 247 | "source": "builtin", 248 | "dependencies": { 249 | "com.unity.modules.unitywebrequest": "1.0.0", 250 | "com.unity.modules.jsonserialize": "1.0.0" 251 | } 252 | }, 253 | "com.unity.modules.unitywebrequest": { 254 | "version": "1.0.0", 255 | "depth": 0, 256 | "source": "builtin", 257 | "dependencies": {} 258 | }, 259 | "com.unity.modules.unitywebrequestassetbundle": { 260 | "version": "1.0.0", 261 | "depth": 0, 262 | "source": "builtin", 263 | "dependencies": { 264 | "com.unity.modules.assetbundle": "1.0.0", 265 | "com.unity.modules.unitywebrequest": "1.0.0" 266 | } 267 | }, 268 | "com.unity.modules.unitywebrequestaudio": { 269 | "version": "1.0.0", 270 | "depth": 0, 271 | "source": "builtin", 272 | "dependencies": { 273 | "com.unity.modules.unitywebrequest": "1.0.0", 274 | "com.unity.modules.audio": "1.0.0" 275 | } 276 | }, 277 | "com.unity.modules.unitywebrequesttexture": { 278 | "version": "1.0.0", 279 | "depth": 0, 280 | "source": "builtin", 281 | "dependencies": { 282 | "com.unity.modules.unitywebrequest": "1.0.0", 283 | "com.unity.modules.imageconversion": "1.0.0" 284 | } 285 | }, 286 | "com.unity.modules.unitywebrequestwww": { 287 | "version": "1.0.0", 288 | "depth": 0, 289 | "source": "builtin", 290 | "dependencies": { 291 | "com.unity.modules.unitywebrequest": "1.0.0", 292 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 293 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 294 | "com.unity.modules.audio": "1.0.0", 295 | "com.unity.modules.assetbundle": "1.0.0", 296 | "com.unity.modules.imageconversion": "1.0.0" 297 | } 298 | }, 299 | "com.unity.modules.vehicles": { 300 | "version": "1.0.0", 301 | "depth": 0, 302 | "source": "builtin", 303 | "dependencies": { 304 | "com.unity.modules.physics": "1.0.0" 305 | } 306 | }, 307 | "com.unity.modules.video": { 308 | "version": "1.0.0", 309 | "depth": 0, 310 | "source": "builtin", 311 | "dependencies": { 312 | "com.unity.modules.audio": "1.0.0", 313 | "com.unity.modules.ui": "1.0.0", 314 | "com.unity.modules.unitywebrequest": "1.0.0" 315 | } 316 | }, 317 | "com.unity.modules.vr": { 318 | "version": "1.0.0", 319 | "depth": 0, 320 | "source": "builtin", 321 | "dependencies": { 322 | "com.unity.modules.jsonserialize": "1.0.0", 323 | "com.unity.modules.physics": "1.0.0", 324 | "com.unity.modules.xr": "1.0.0" 325 | } 326 | }, 327 | "com.unity.modules.wind": { 328 | "version": "1.0.0", 329 | "depth": 0, 330 | "source": "builtin", 331 | "dependencies": {} 332 | }, 333 | "com.unity.modules.xr": { 334 | "version": "1.0.0", 335 | "depth": 0, 336 | "source": "builtin", 337 | "dependencies": { 338 | "com.unity.modules.physics": "1.0.0", 339 | "com.unity.modules.jsonserialize": "1.0.0", 340 | "com.unity.modules.subsystems": "1.0.0" 341 | } 342 | } 343 | } 344 | } 345 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | m_Volume: 1 7 | Rolloff Scale: 1 8 | Doppler Factor: 1 9 | Default Speaker Mode: 2 10 | m_SampleRate: 0 11 | m_DSPBufferSize: 1024 12 | m_VirtualVoiceCount: 512 13 | m_RealVoiceCount: 32 14 | m_SpatializerPlugin: 15 | m_AmbisonicDecoderPlugin: 16 | m_DisableAudio: 0 17 | m_VirtualizeEffects: 1 18 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 8 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 0 23 | m_ReuseCollisionCallbacks: 1 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ContactPairsMode: 0 26 | m_BroadphaseType: 0 27 | m_WorldBounds: 28 | m_Center: {x: 0, y: 0, z: 0} 29 | m_Extent: {x: 250, y: 250, z: 250} 30 | m_WorldSubdivisions: 8 31 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/NodeLS Client/Example/List Example.unity 10 | guid: ccdea83d270df4b078963a0243e41ac0 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 9 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 2 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 1 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 41 | m_PreloadedShaders: [] 42 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 43 | type: 0} 44 | m_CustomRenderPipeline: {fileID: 0} 45 | m_TransparencySortMode: 0 46 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 47 | m_DefaultRenderingPath: 1 48 | m_DefaultMobileRenderingPath: 1 49 | m_TierSettings: [] 50 | m_LightmapStripping: 0 51 | m_FogStripping: 0 52 | m_InstancingStripping: 0 53 | m_LightmapKeepPlain: 1 54 | m_LightmapKeepDirCombined: 1 55 | m_LightmapKeepDynamicPlain: 1 56 | m_LightmapKeepDynamicDirCombined: 1 57 | m_LightmapKeepShadowMask: 1 58 | m_LightmapKeepSubtractive: 1 59 | m_FogKeepLinear: 1 60 | m_FogKeepExp: 1 61 | m_FogKeepExp2: 1 62 | m_AlbedoSwatchInfos: [] 63 | m_LightsUseLinearIntensity: 0 64 | m_LightsUseColorTemperature: 0 65 | m_LogWhenShaderIsCompiled: 0 66 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: 0.001 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: 0.001 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: 0.001 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: 0.001 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: 0.1 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: 0.1 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: 0.1 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: 0.19 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: 0.19 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: 0.001 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: 0.001 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: 0.001 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: 0.001 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: 0.001 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: 0.001 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/PackageManagerSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &1 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 61 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: 13964, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: 14 | m_EditorClassIdentifier: 15 | m_EnablePreviewPackages: 0 16 | m_EnablePackageDependencies: 0 17 | m_AdvancedSettingsExpanded: 1 18 | m_ScopedRegistriesSettingsExpanded: 1 19 | oneTimeWarningShown: 0 20 | m_Registries: 21 | - m_Id: main 22 | m_Name: 23 | m_Url: https://packages.unity.com 24 | m_Scopes: [] 25 | m_IsDefault: 1 26 | m_Capabilities: 7 27 | m_UserSelectedRegistryName: 28 | m_UserAddingNewScopedRegistry: 0 29 | m_RegistryInfoDraft: 30 | m_ErrorMessage: 31 | m_Original: 32 | m_Id: 33 | m_Name: 34 | m_Url: 35 | m_Scopes: [] 36 | m_IsDefault: 0 37 | m_Capabilities: 0 38 | m_Modified: 0 39 | m_Name: 40 | m_Url: 41 | m_Scopes: 42 | - 43 | m_SelectedScopeIndex: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_AutoSimulation: 1 23 | m_QueriesHitTriggers: 1 24 | m_QueriesStartInColliders: 1 25 | m_ChangeStopsCallbacks: 0 26 | m_CallbacksOnDisable: 1 27 | m_ReuseCollisionCallbacks: 1 28 | m_AutoSyncTransforms: 0 29 | m_AlwaysShowColliders: 0 30 | m_ShowColliderSleep: 1 31 | m_ShowColliderContacts: 0 32 | m_ShowColliderAABB: 0 33 | m_ContactArrowScale: 0.2 34 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 35 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 36 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 37 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 38 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 39 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: 7 | - type: 8 | m_NativeTypeID: 108 9 | m_ManagedTypePPtr: {fileID: 0} 10 | m_ManagedTypeFallback: 11 | defaultPresets: 12 | - m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea, 13 | type: 2} 14 | - type: 15 | m_NativeTypeID: 1020 16 | m_ManagedTypePPtr: {fileID: 0} 17 | m_ManagedTypeFallback: 18 | defaultPresets: 19 | - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6, 20 | type: 2} 21 | - type: 22 | m_NativeTypeID: 1006 23 | m_ManagedTypePPtr: {fileID: 0} 24 | m_ManagedTypeFallback: 25 | defaultPresets: 26 | - m_Preset: {fileID: 2655988077585873504, guid: 7a99f8aa944efe94cb9bd74562b7d5f9, 27 | type: 2} 28 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 22 7 | productGUID: 3cc85800ab570d04789e8c579c748c13 8 | AndroidProfiler: 0 9 | AndroidFilterTouchesWhenObscured: 0 10 | AndroidEnableSustainedPerformanceMode: 0 11 | defaultScreenOrientation: 4 12 | targetDevice: 2 13 | useOnDemandResources: 0 14 | accelerometerFrequency: 60 15 | companyName: DefaultCompany 16 | productName: NodeListServer-Example 17 | defaultCursor: {fileID: 0} 18 | cursorHotspot: {x: 0, y: 0} 19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} 20 | m_ShowUnitySplashScreen: 1 21 | m_ShowUnitySplashLogo: 1 22 | m_SplashScreenOverlayOpacity: 1 23 | m_SplashScreenAnimation: 1 24 | m_SplashScreenLogoStyle: 1 25 | m_SplashScreenDrawMode: 0 26 | m_SplashScreenBackgroundAnimationZoom: 1 27 | m_SplashScreenLogoAnimationZoom: 1 28 | m_SplashScreenBackgroundLandscapeAspect: 1 29 | m_SplashScreenBackgroundPortraitAspect: 1 30 | m_SplashScreenBackgroundLandscapeUvs: 31 | serializedVersion: 2 32 | x: 0 33 | y: 0 34 | width: 1 35 | height: 1 36 | m_SplashScreenBackgroundPortraitUvs: 37 | serializedVersion: 2 38 | x: 0 39 | y: 0 40 | width: 1 41 | height: 1 42 | m_SplashScreenLogos: [] 43 | m_VirtualRealitySplashScreen: {fileID: 0} 44 | m_HolographicTrackingLossScreen: {fileID: 0} 45 | defaultScreenWidth: 1024 46 | defaultScreenHeight: 768 47 | defaultScreenWidthWeb: 960 48 | defaultScreenHeightWeb: 600 49 | m_StereoRenderingPath: 0 50 | m_ActiveColorSpace: 0 51 | m_MTRendering: 1 52 | mipStripping: 0 53 | numberOfMipsStripped: 0 54 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000 55 | iosShowActivityIndicatorOnLoading: -1 56 | androidShowActivityIndicatorOnLoading: -1 57 | iosUseCustomAppBackgroundBehavior: 0 58 | iosAllowHTTPDownload: 1 59 | allowedAutorotateToPortrait: 1 60 | allowedAutorotateToPortraitUpsideDown: 1 61 | allowedAutorotateToLandscapeRight: 1 62 | allowedAutorotateToLandscapeLeft: 1 63 | useOSAutorotation: 1 64 | use32BitDisplayBuffer: 1 65 | preserveFramebufferAlpha: 0 66 | disableDepthAndStencilBuffers: 0 67 | androidStartInFullscreen: 1 68 | androidRenderOutsideSafeArea: 0 69 | androidUseSwappy: 0 70 | androidBlitType: 0 71 | androidResizableWindow: 0 72 | androidDefaultWindowWidth: 1920 73 | androidDefaultWindowHeight: 1080 74 | androidMinimumWindowWidth: 400 75 | androidMinimumWindowHeight: 300 76 | androidFullscreenMode: 1 77 | defaultIsNativeResolution: 1 78 | macRetinaSupport: 1 79 | runInBackground: 1 80 | captureSingleScreen: 0 81 | muteOtherAudioSources: 0 82 | Prepare IOS For Recording: 0 83 | Force IOS Speakers When Recording: 0 84 | deferSystemGesturesMode: 0 85 | hideHomeButton: 0 86 | submitAnalytics: 1 87 | usePlayerLog: 1 88 | bakeCollisionMeshes: 0 89 | forceSingleInstance: 0 90 | useFlipModelSwapchain: 1 91 | resizableWindow: 0 92 | useMacAppStoreValidation: 0 93 | macAppStoreCategory: public.app-category.games 94 | gpuSkinning: 1 95 | xboxPIXTextureCapture: 0 96 | xboxEnableAvatar: 0 97 | xboxEnableKinect: 0 98 | xboxEnableKinectAutoTracking: 0 99 | xboxEnableFitness: 0 100 | visibleInBackground: 1 101 | allowFullscreenSwitch: 1 102 | fullscreenMode: 1 103 | xboxSpeechDB: 0 104 | xboxEnableHeadOrientation: 0 105 | xboxEnableGuest: 0 106 | xboxEnablePIXSampling: 0 107 | metalFramebufferOnly: 0 108 | xboxOneResolution: 0 109 | xboxOneSResolution: 0 110 | xboxOneXResolution: 3 111 | xboxOneMonoLoggingLevel: 0 112 | xboxOneLoggingLevel: 1 113 | xboxOneDisableEsram: 0 114 | xboxOneEnableTypeOptimization: 0 115 | xboxOnePresentImmediateThreshold: 0 116 | switchQueueCommandMemory: 0 117 | switchQueueControlMemory: 16384 118 | switchQueueComputeMemory: 262144 119 | switchNVNShaderPoolsGranularity: 33554432 120 | switchNVNDefaultPoolsGranularity: 16777216 121 | switchNVNOtherPoolsGranularity: 16777216 122 | switchNVNMaxPublicTextureIDCount: 0 123 | switchNVNMaxPublicSamplerIDCount: 0 124 | stadiaPresentMode: 0 125 | stadiaTargetFramerate: 0 126 | vulkanNumSwapchainBuffers: 3 127 | vulkanEnableSetSRGBWrite: 0 128 | vulkanEnablePreTransform: 0 129 | vulkanEnableLateAcquireNextImage: 0 130 | vulkanEnableCommandBufferRecycling: 1 131 | m_SupportedAspectRatios: 132 | 4:3: 1 133 | 5:4: 1 134 | 16:10: 1 135 | 16:9: 1 136 | Others: 1 137 | bundleVersion: 0.1 138 | preloadedAssets: [] 139 | metroInputSource: 0 140 | wsaTransparentSwapchain: 0 141 | m_HolographicPauseOnTrackingLoss: 1 142 | xboxOneDisableKinectGpuReservation: 1 143 | xboxOneEnable7thCore: 1 144 | vrSettings: 145 | enable360StereoCapture: 0 146 | isWsaHolographicRemotingEnabled: 0 147 | enableFrameTimingStats: 0 148 | useHDRDisplay: 0 149 | D3DHDRBitDepth: 0 150 | m_ColorGamuts: 00000000 151 | targetPixelDensity: 30 152 | resolutionScalingMode: 0 153 | androidSupportedAspectRatio: 1 154 | androidMaxAspectRatio: 2.1 155 | applicationIdentifier: {} 156 | buildNumber: 157 | Standalone: 0 158 | iPhone: 0 159 | tvOS: 0 160 | overrideDefaultApplicationIdentifier: 0 161 | AndroidBundleVersionCode: 1 162 | AndroidMinSdkVersion: 19 163 | AndroidTargetSdkVersion: 0 164 | AndroidPreferredInstallLocation: 1 165 | aotOptions: 166 | stripEngineCode: 1 167 | iPhoneStrippingLevel: 0 168 | iPhoneScriptCallOptimization: 0 169 | ForceInternetPermission: 0 170 | ForceSDCardPermission: 0 171 | CreateWallpaper: 0 172 | APKExpansionFiles: 0 173 | keepLoadedShadersAlive: 0 174 | StripUnusedMeshComponents: 1 175 | VertexChannelCompressionMask: 4054 176 | iPhoneSdkVersion: 988 177 | iOSTargetOSVersionString: 11.0 178 | tvOSSdkVersion: 0 179 | tvOSRequireExtendedGameController: 0 180 | tvOSTargetOSVersionString: 11.0 181 | uIPrerenderedIcon: 0 182 | uIRequiresPersistentWiFi: 0 183 | uIRequiresFullScreen: 1 184 | uIStatusBarHidden: 1 185 | uIExitOnSuspend: 0 186 | uIStatusBarStyle: 0 187 | appleTVSplashScreen: {fileID: 0} 188 | appleTVSplashScreen2x: {fileID: 0} 189 | tvOSSmallIconLayers: [] 190 | tvOSSmallIconLayers2x: [] 191 | tvOSLargeIconLayers: [] 192 | tvOSLargeIconLayers2x: [] 193 | tvOSTopShelfImageLayers: [] 194 | tvOSTopShelfImageLayers2x: [] 195 | tvOSTopShelfImageWideLayers: [] 196 | tvOSTopShelfImageWideLayers2x: [] 197 | iOSLaunchScreenType: 0 198 | iOSLaunchScreenPortrait: {fileID: 0} 199 | iOSLaunchScreenLandscape: {fileID: 0} 200 | iOSLaunchScreenBackgroundColor: 201 | serializedVersion: 2 202 | rgba: 0 203 | iOSLaunchScreenFillPct: 100 204 | iOSLaunchScreenSize: 100 205 | iOSLaunchScreenCustomXibPath: 206 | iOSLaunchScreeniPadType: 0 207 | iOSLaunchScreeniPadImage: {fileID: 0} 208 | iOSLaunchScreeniPadBackgroundColor: 209 | serializedVersion: 2 210 | rgba: 0 211 | iOSLaunchScreeniPadFillPct: 100 212 | iOSLaunchScreeniPadSize: 100 213 | iOSLaunchScreeniPadCustomXibPath: 214 | iOSLaunchScreenCustomStoryboardPath: 215 | iOSLaunchScreeniPadCustomStoryboardPath: 216 | iOSDeviceRequirements: [] 217 | iOSURLSchemes: [] 218 | iOSBackgroundModes: 0 219 | iOSMetalForceHardShadows: 0 220 | metalEditorSupport: 1 221 | metalAPIValidation: 1 222 | iOSRenderExtraFrameOnPause: 0 223 | iosCopyPluginsCodeInsteadOfSymlink: 0 224 | appleDeveloperTeamID: 225 | iOSManualSigningProvisioningProfileID: 226 | tvOSManualSigningProvisioningProfileID: 227 | iOSManualSigningProvisioningProfileType: 0 228 | tvOSManualSigningProvisioningProfileType: 0 229 | appleEnableAutomaticSigning: 0 230 | iOSRequireARKit: 0 231 | iOSAutomaticallyDetectAndAddCapabilities: 1 232 | appleEnableProMotion: 0 233 | shaderPrecisionModel: 0 234 | clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea 235 | templatePackageId: com.unity.template.3d@1.3.0 236 | templateDefaultScene: Assets/Scenes/SampleScene.unity 237 | useCustomMainManifest: 0 238 | useCustomLauncherManifest: 0 239 | useCustomMainGradleTemplate: 0 240 | useCustomLauncherGradleManifest: 0 241 | useCustomBaseGradleTemplate: 0 242 | useCustomGradlePropertiesTemplate: 0 243 | useCustomProguardFile: 0 244 | AndroidTargetArchitectures: 5 245 | AndroidTargetDevices: 0 246 | AndroidSplashScreenScale: 0 247 | androidSplashScreen: {fileID: 0} 248 | AndroidKeystoreName: 249 | AndroidKeyaliasName: 250 | AndroidBuildApkPerCpuArchitecture: 0 251 | AndroidTVCompatibility: 1 252 | AndroidIsGame: 1 253 | AndroidEnableTango: 0 254 | androidEnableBanner: 1 255 | androidUseLowAccuracyLocation: 0 256 | androidUseCustomKeystore: 0 257 | m_AndroidBanners: 258 | - width: 320 259 | height: 180 260 | banner: {fileID: 0} 261 | androidGamepadSupportLevel: 0 262 | chromeosInputEmulation: 1 263 | AndroidMinifyWithR8: 0 264 | AndroidMinifyRelease: 0 265 | AndroidMinifyDebug: 0 266 | AndroidValidateAppBundleSize: 1 267 | AndroidAppBundleSizeToValidate: 150 268 | m_BuildTargetIcons: [] 269 | m_BuildTargetPlatformIcons: [] 270 | m_BuildTargetBatching: 271 | - m_BuildTarget: Standalone 272 | m_StaticBatching: 1 273 | m_DynamicBatching: 0 274 | - m_BuildTarget: tvOS 275 | m_StaticBatching: 1 276 | m_DynamicBatching: 0 277 | - m_BuildTarget: Android 278 | m_StaticBatching: 1 279 | m_DynamicBatching: 0 280 | - m_BuildTarget: iPhone 281 | m_StaticBatching: 1 282 | m_DynamicBatching: 0 283 | - m_BuildTarget: WebGL 284 | m_StaticBatching: 0 285 | m_DynamicBatching: 0 286 | m_BuildTargetGraphicsJobs: 287 | - m_BuildTarget: MacStandaloneSupport 288 | m_GraphicsJobs: 0 289 | - m_BuildTarget: Switch 290 | m_GraphicsJobs: 0 291 | - m_BuildTarget: MetroSupport 292 | m_GraphicsJobs: 0 293 | - m_BuildTarget: AppleTVSupport 294 | m_GraphicsJobs: 0 295 | - m_BuildTarget: BJMSupport 296 | m_GraphicsJobs: 0 297 | - m_BuildTarget: LinuxStandaloneSupport 298 | m_GraphicsJobs: 0 299 | - m_BuildTarget: PS4Player 300 | m_GraphicsJobs: 0 301 | - m_BuildTarget: iOSSupport 302 | m_GraphicsJobs: 0 303 | - m_BuildTarget: WindowsStandaloneSupport 304 | m_GraphicsJobs: 0 305 | - m_BuildTarget: XboxOnePlayer 306 | m_GraphicsJobs: 0 307 | - m_BuildTarget: LuminSupport 308 | m_GraphicsJobs: 0 309 | - m_BuildTarget: CloudRendering 310 | m_GraphicsJobs: 0 311 | - m_BuildTarget: AndroidPlayer 312 | m_GraphicsJobs: 0 313 | - m_BuildTarget: WebGLSupport 314 | m_GraphicsJobs: 0 315 | m_BuildTargetGraphicsJobMode: 316 | - m_BuildTarget: PS4Player 317 | m_GraphicsJobMode: 0 318 | - m_BuildTarget: XboxOnePlayer 319 | m_GraphicsJobMode: 0 320 | m_BuildTargetGraphicsAPIs: 321 | - m_BuildTarget: AndroidPlayer 322 | m_APIs: 0b00000008000000 323 | m_Automatic: 1 324 | - m_BuildTarget: iOSSupport 325 | m_APIs: 10000000 326 | m_Automatic: 1 327 | - m_BuildTarget: AppleTVSupport 328 | m_APIs: 10000000 329 | m_Automatic: 1 330 | - m_BuildTarget: WebGLSupport 331 | m_APIs: 0b000000 332 | m_Automatic: 1 333 | m_BuildTargetVRSettings: 334 | - m_BuildTarget: Standalone 335 | m_Enabled: 0 336 | m_Devices: 337 | - Oculus 338 | - OpenVR 339 | openGLRequireES31: 0 340 | openGLRequireES31AEP: 0 341 | openGLRequireES32: 0 342 | m_TemplateCustomTags: {} 343 | mobileMTRendering: 344 | Android: 1 345 | iPhone: 1 346 | tvOS: 1 347 | m_BuildTargetGroupLightmapEncodingQuality: [] 348 | m_BuildTargetGroupLightmapSettings: [] 349 | m_BuildTargetNormalMapEncoding: [] 350 | playModeTestRunnerEnabled: 0 351 | runPlayModeTestAsEditModeTest: 0 352 | actionOnDotNetUnhandledException: 1 353 | enableInternalProfiler: 0 354 | logObjCUncaughtExceptions: 1 355 | enableCrashReportAPI: 0 356 | cameraUsageDescription: 357 | locationUsageDescription: 358 | microphoneUsageDescription: 359 | bluetoothUsageDescription: 360 | switchNMETAOverride: 361 | switchNetLibKey: 362 | switchSocketMemoryPoolSize: 6144 363 | switchSocketAllocatorPoolSize: 128 364 | switchSocketConcurrencyLimit: 14 365 | switchScreenResolutionBehavior: 2 366 | switchUseCPUProfiler: 0 367 | switchUseGOLDLinker: 0 368 | switchApplicationID: 0x01004b9000490000 369 | switchNSODependencies: 370 | switchTitleNames_0: 371 | switchTitleNames_1: 372 | switchTitleNames_2: 373 | switchTitleNames_3: 374 | switchTitleNames_4: 375 | switchTitleNames_5: 376 | switchTitleNames_6: 377 | switchTitleNames_7: 378 | switchTitleNames_8: 379 | switchTitleNames_9: 380 | switchTitleNames_10: 381 | switchTitleNames_11: 382 | switchTitleNames_12: 383 | switchTitleNames_13: 384 | switchTitleNames_14: 385 | switchTitleNames_15: 386 | switchPublisherNames_0: 387 | switchPublisherNames_1: 388 | switchPublisherNames_2: 389 | switchPublisherNames_3: 390 | switchPublisherNames_4: 391 | switchPublisherNames_5: 392 | switchPublisherNames_6: 393 | switchPublisherNames_7: 394 | switchPublisherNames_8: 395 | switchPublisherNames_9: 396 | switchPublisherNames_10: 397 | switchPublisherNames_11: 398 | switchPublisherNames_12: 399 | switchPublisherNames_13: 400 | switchPublisherNames_14: 401 | switchPublisherNames_15: 402 | switchIcons_0: {fileID: 0} 403 | switchIcons_1: {fileID: 0} 404 | switchIcons_2: {fileID: 0} 405 | switchIcons_3: {fileID: 0} 406 | switchIcons_4: {fileID: 0} 407 | switchIcons_5: {fileID: 0} 408 | switchIcons_6: {fileID: 0} 409 | switchIcons_7: {fileID: 0} 410 | switchIcons_8: {fileID: 0} 411 | switchIcons_9: {fileID: 0} 412 | switchIcons_10: {fileID: 0} 413 | switchIcons_11: {fileID: 0} 414 | switchIcons_12: {fileID: 0} 415 | switchIcons_13: {fileID: 0} 416 | switchIcons_14: {fileID: 0} 417 | switchIcons_15: {fileID: 0} 418 | switchSmallIcons_0: {fileID: 0} 419 | switchSmallIcons_1: {fileID: 0} 420 | switchSmallIcons_2: {fileID: 0} 421 | switchSmallIcons_3: {fileID: 0} 422 | switchSmallIcons_4: {fileID: 0} 423 | switchSmallIcons_5: {fileID: 0} 424 | switchSmallIcons_6: {fileID: 0} 425 | switchSmallIcons_7: {fileID: 0} 426 | switchSmallIcons_8: {fileID: 0} 427 | switchSmallIcons_9: {fileID: 0} 428 | switchSmallIcons_10: {fileID: 0} 429 | switchSmallIcons_11: {fileID: 0} 430 | switchSmallIcons_12: {fileID: 0} 431 | switchSmallIcons_13: {fileID: 0} 432 | switchSmallIcons_14: {fileID: 0} 433 | switchSmallIcons_15: {fileID: 0} 434 | switchManualHTML: 435 | switchAccessibleURLs: 436 | switchLegalInformation: 437 | switchMainThreadStackSize: 1048576 438 | switchPresenceGroupId: 439 | switchLogoHandling: 0 440 | switchReleaseVersion: 0 441 | switchDisplayVersion: 1.0.0 442 | switchStartupUserAccount: 0 443 | switchTouchScreenUsage: 0 444 | switchSupportedLanguagesMask: 0 445 | switchLogoType: 0 446 | switchApplicationErrorCodeCategory: 447 | switchUserAccountSaveDataSize: 0 448 | switchUserAccountSaveDataJournalSize: 0 449 | switchApplicationAttribute: 0 450 | switchCardSpecSize: -1 451 | switchCardSpecClock: -1 452 | switchRatingsMask: 0 453 | switchRatingsInt_0: 0 454 | switchRatingsInt_1: 0 455 | switchRatingsInt_2: 0 456 | switchRatingsInt_3: 0 457 | switchRatingsInt_4: 0 458 | switchRatingsInt_5: 0 459 | switchRatingsInt_6: 0 460 | switchRatingsInt_7: 0 461 | switchRatingsInt_8: 0 462 | switchRatingsInt_9: 0 463 | switchRatingsInt_10: 0 464 | switchRatingsInt_11: 0 465 | switchRatingsInt_12: 0 466 | switchLocalCommunicationIds_0: 467 | switchLocalCommunicationIds_1: 468 | switchLocalCommunicationIds_2: 469 | switchLocalCommunicationIds_3: 470 | switchLocalCommunicationIds_4: 471 | switchLocalCommunicationIds_5: 472 | switchLocalCommunicationIds_6: 473 | switchLocalCommunicationIds_7: 474 | switchParentalControl: 0 475 | switchAllowsScreenshot: 1 476 | switchAllowsVideoCapturing: 1 477 | switchAllowsRuntimeAddOnContentInstall: 0 478 | switchDataLossConfirmation: 0 479 | switchUserAccountLockEnabled: 0 480 | switchSystemResourceMemory: 16777216 481 | switchSupportedNpadStyles: 3 482 | switchNativeFsCacheSize: 32 483 | switchIsHoldTypeHorizontal: 0 484 | switchSupportedNpadCount: 8 485 | switchSocketConfigEnabled: 0 486 | switchTcpInitialSendBufferSize: 32 487 | switchTcpInitialReceiveBufferSize: 64 488 | switchTcpAutoSendBufferSizeMax: 256 489 | switchTcpAutoReceiveBufferSizeMax: 256 490 | switchUdpSendBufferSize: 9 491 | switchUdpReceiveBufferSize: 42 492 | switchSocketBufferEfficiency: 4 493 | switchSocketInitializeEnabled: 1 494 | switchNetworkInterfaceManagerInitializeEnabled: 1 495 | switchPlayerConnectionEnabled: 1 496 | switchUseNewStyleFilepaths: 0 497 | switchUseMicroSleepForYield: 1 498 | switchEnableRamDiskSupport: 0 499 | switchMicroSleepForYieldTime: 25 500 | switchRamDiskSpaceSize: 12 501 | ps4NPAgeRating: 12 502 | ps4NPTitleSecret: 503 | ps4NPTrophyPackPath: 504 | ps4ParentalLevel: 11 505 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 506 | ps4Category: 0 507 | ps4MasterVersion: 01.00 508 | ps4AppVersion: 01.00 509 | ps4AppType: 0 510 | ps4ParamSfxPath: 511 | ps4VideoOutPixelFormat: 0 512 | ps4VideoOutInitialWidth: 1920 513 | ps4VideoOutBaseModeInitialWidth: 1920 514 | ps4VideoOutReprojectionRate: 60 515 | ps4PronunciationXMLPath: 516 | ps4PronunciationSIGPath: 517 | ps4BackgroundImagePath: 518 | ps4StartupImagePath: 519 | ps4StartupImagesFolder: 520 | ps4IconImagesFolder: 521 | ps4SaveDataImagePath: 522 | ps4SdkOverride: 523 | ps4BGMPath: 524 | ps4ShareFilePath: 525 | ps4ShareOverlayImagePath: 526 | ps4PrivacyGuardImagePath: 527 | ps4ExtraSceSysFile: 528 | ps4NPtitleDatPath: 529 | ps4RemotePlayKeyAssignment: -1 530 | ps4RemotePlayKeyMappingDir: 531 | ps4PlayTogetherPlayerCount: 0 532 | ps4EnterButtonAssignment: 1 533 | ps4ApplicationParam1: 0 534 | ps4ApplicationParam2: 0 535 | ps4ApplicationParam3: 0 536 | ps4ApplicationParam4: 0 537 | ps4DownloadDataSize: 0 538 | ps4GarlicHeapSize: 2048 539 | ps4ProGarlicHeapSize: 2560 540 | playerPrefsMaxSize: 32768 541 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ 542 | ps4pnSessions: 1 543 | ps4pnPresence: 1 544 | ps4pnFriends: 1 545 | ps4pnGameCustomData: 1 546 | playerPrefsSupport: 0 547 | enableApplicationExit: 0 548 | resetTempFolder: 1 549 | restrictedAudioUsageRights: 0 550 | ps4UseResolutionFallback: 0 551 | ps4ReprojectionSupport: 0 552 | ps4UseAudio3dBackend: 0 553 | ps4UseLowGarlicFragmentationMode: 1 554 | ps4SocialScreenEnabled: 0 555 | ps4ScriptOptimizationLevel: 0 556 | ps4Audio3dVirtualSpeakerCount: 14 557 | ps4attribCpuUsage: 0 558 | ps4PatchPkgPath: 559 | ps4PatchLatestPkgPath: 560 | ps4PatchChangeinfoPath: 561 | ps4PatchDayOne: 0 562 | ps4attribUserManagement: 0 563 | ps4attribMoveSupport: 0 564 | ps4attrib3DSupport: 0 565 | ps4attribShareSupport: 0 566 | ps4attribExclusiveVR: 0 567 | ps4disableAutoHideSplash: 0 568 | ps4videoRecordingFeaturesUsed: 0 569 | ps4contentSearchFeaturesUsed: 0 570 | ps4CompatibilityPS5: 0 571 | ps4AllowPS5Detection: 0 572 | ps4GPU800MHz: 1 573 | ps4attribEyeToEyeDistanceSettingVR: 0 574 | ps4IncludedModules: [] 575 | ps4attribVROutputEnabled: 0 576 | monoEnv: 577 | splashScreenBackgroundSourceLandscape: {fileID: 0} 578 | splashScreenBackgroundSourcePortrait: {fileID: 0} 579 | blurSplashScreenBackground: 1 580 | spritePackerPolicy: 581 | webGLMemorySize: 256 582 | webGLExceptionSupport: 1 583 | webGLNameFilesAsHashes: 0 584 | webGLDataCaching: 1 585 | webGLDebugSymbols: 0 586 | webGLEmscriptenArgs: 587 | webGLModulesDirectory: 588 | webGLTemplate: APPLICATION:Default 589 | webGLAnalyzeBuildSize: 0 590 | webGLUseEmbeddedResources: 0 591 | webGLCompressionFormat: 1 592 | webGLWasmArithmeticExceptions: 0 593 | webGLLinkerTarget: 1 594 | webGLThreadsSupport: 0 595 | webGLDecompressionFallback: 0 596 | scriptingDefineSymbols: 597 | 1: MIRROR;MIRROR_1726_OR_NEWER;MIRROR_3_0_OR_NEWER;MIRROR_3_12_OR_NEWER;MIRROR_4_0_OR_NEWER;MIRROR_5_0_OR_NEWER;MIRROR_6_0_OR_NEWER;MIRROR_7_0_OR_NEWER;MIRROR_8_0_OR_NEWER;MIRROR_9_0_OR_NEWER;MIRROR_10_0_OR_NEWER;MIRROR_11_0_OR_NEWER;MIRROR_12_0_OR_NEWER;MIRROR_13_0_OR_NEWER;MIRROR_14_0_OR_NEWER;MIRROR_15_0_OR_NEWER;MIRROR_16_0_OR_NEWER;MIRROR_17_0_OR_NEWER;MIRROR_18_0_OR_NEWER;MIRROR_24_0_OR_NEWER;MIRROR_26_0_OR_NEWER;MIRROR_27_0_OR_NEWER;MIRROR_28_0_OR_NEWER;MIRROR_29_0_OR_NEWER;MIRROR_30_0_OR_NEWER;MIRROR_30_5_2_OR_NEWER;MIRROR_32_1_2_OR_NEWER;MIRROR_32_1_4_OR_NEWER;MIRROR_35_0_OR_NEWER;MIRROR_35_1_OR_NEWER;MIRROR_37_0_OR_NEWER;MIRROR_38_0_OR_NEWER;MIRROR_39_0_OR_NEWER;MIRROR_40_0_OR_NEWER;MIRROR_41_0_OR_NEWER;MIRROR_42_0_OR_NEWER;MIRROR_43_0_OR_NEWER;MIRROR_44_0_OR_NEWER;MIRROR_46_0_OR_NEWER;MIRROR_47_0_OR_NEWER;MIRROR_53_0_OR_NEWER;MIRROR_55_0_OR_NEWER;MIRROR_57_0_OR_NEWER;MIRROR_58_0_OR_NEWER;MIRROR_65_0_OR_NEWER 598 | additionalCompilerArguments: {} 599 | platformArchitecture: {} 600 | scriptingBackend: {} 601 | il2cppCompilerConfiguration: {} 602 | managedStrippingLevel: {} 603 | incrementalIl2cppBuild: {} 604 | suppressCommonWarnings: 1 605 | allowUnsafeCode: 0 606 | useDeterministicCompilation: 1 607 | useReferenceAssemblies: 1 608 | enableRoslynAnalyzers: 1 609 | additionalIl2CppArgs: 610 | scriptingRuntimeVersion: 1 611 | gcIncremental: 0 612 | assemblyVersionValidation: 1 613 | gcWBarrierValidation: 0 614 | apiCompatibilityLevelPerPlatform: {} 615 | m_RenderingPath: 1 616 | m_MobileRenderingPath: 1 617 | metroPackageName: Template_3D 618 | metroPackageVersion: 619 | metroCertificatePath: 620 | metroCertificatePassword: 621 | metroCertificateSubject: 622 | metroCertificateIssuer: 623 | metroCertificateNotAfter: 0000000000000000 624 | metroApplicationDescription: Template_3D 625 | wsaImages: {} 626 | metroTileShortName: 627 | metroTileShowName: 0 628 | metroMediumTileShowName: 0 629 | metroLargeTileShowName: 0 630 | metroWideTileShowName: 0 631 | metroSupportStreamingInstall: 0 632 | metroLastRequiredScene: 0 633 | metroDefaultTileSize: 1 634 | metroTileForegroundText: 2 635 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} 636 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, 637 | a: 1} 638 | metroSplashScreenUseBackgroundColor: 0 639 | platformCapabilities: {} 640 | metroTargetDeviceFamilies: {} 641 | metroFTAName: 642 | metroFTAFileTypes: [] 643 | metroProtocolName: 644 | XboxOneProductId: 645 | XboxOneUpdateKey: 646 | XboxOneSandboxId: 647 | XboxOneContentId: 648 | XboxOneTitleId: 649 | XboxOneSCId: 650 | XboxOneGameOsOverridePath: 651 | XboxOnePackagingOverridePath: 652 | XboxOneAppManifestOverridePath: 653 | XboxOneVersion: 1.0.0.0 654 | XboxOnePackageEncryption: 0 655 | XboxOnePackageUpdateGranularity: 2 656 | XboxOneDescription: 657 | XboxOneLanguage: 658 | - enus 659 | XboxOneCapability: [] 660 | XboxOneGameRating: {} 661 | XboxOneIsContentPackage: 0 662 | XboxOneEnhancedXboxCompatibilityMode: 0 663 | XboxOneEnableGPUVariability: 1 664 | XboxOneSockets: {} 665 | XboxOneSplashScreen: {fileID: 0} 666 | XboxOneAllowedProductIds: [] 667 | XboxOnePersistentLocalStorageSize: 0 668 | XboxOneXTitleMemory: 8 669 | XboxOneOverrideIdentityName: 670 | XboxOneOverrideIdentityPublisher: 671 | vrEditorSettings: {} 672 | cloudServicesEnabled: 673 | UNet: 1 674 | luminIcon: 675 | m_Name: 676 | m_ModelFolderPath: 677 | m_PortalFolderPath: 678 | luminCert: 679 | m_CertPath: 680 | m_SignPackage: 1 681 | luminIsChannelApp: 0 682 | luminVersion: 683 | m_VersionCode: 1 684 | m_VersionName: 685 | apiCompatibilityLevel: 6 686 | activeInputHandler: 0 687 | cloudProjectId: 688 | framebufferDepthMemorylessMode: 0 689 | qualitySettingsNames: [] 690 | projectName: 691 | organizationId: 692 | cloudEnabled: 0 693 | legacyClampBlendShapeWeights: 0 694 | virtualTexturingSupportEnabled: 0 695 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2020.3.30f1 2 | m_EditorVersionWithRevision: 2020.3.30f1 (1fb1bf06830e) 3 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 4 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Very Low 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 0 21 | blendWeights: 1 22 | textureQuality: 1 23 | anisotropicTextures: 0 24 | antiAliasing: 0 25 | softParticles: 0 26 | softVegetation: 0 27 | realtimeReflectionProbes: 0 28 | billboardsFaceCameraPosition: 0 29 | vSyncCount: 0 30 | lodBias: 0.3 31 | maximumLODLevel: 0 32 | particleRaycastBudget: 4 33 | asyncUploadTimeSlice: 2 34 | asyncUploadBufferSize: 16 35 | resolutionScalingFixedDPIFactor: 1 36 | excludedTargetPlatforms: [] 37 | - serializedVersion: 2 38 | name: Low 39 | pixelLightCount: 0 40 | shadows: 0 41 | shadowResolution: 0 42 | shadowProjection: 1 43 | shadowCascades: 1 44 | shadowDistance: 20 45 | shadowNearPlaneOffset: 3 46 | shadowCascade2Split: 0.33333334 47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 48 | shadowmaskMode: 0 49 | blendWeights: 2 50 | textureQuality: 0 51 | anisotropicTextures: 0 52 | antiAliasing: 0 53 | softParticles: 0 54 | softVegetation: 0 55 | realtimeReflectionProbes: 0 56 | billboardsFaceCameraPosition: 0 57 | vSyncCount: 0 58 | lodBias: 0.4 59 | maximumLODLevel: 0 60 | particleRaycastBudget: 16 61 | asyncUploadTimeSlice: 2 62 | asyncUploadBufferSize: 16 63 | resolutionScalingFixedDPIFactor: 1 64 | excludedTargetPlatforms: [] 65 | - serializedVersion: 2 66 | name: Medium 67 | pixelLightCount: 1 68 | shadows: 1 69 | shadowResolution: 0 70 | shadowProjection: 1 71 | shadowCascades: 1 72 | shadowDistance: 20 73 | shadowNearPlaneOffset: 3 74 | shadowCascade2Split: 0.33333334 75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 76 | shadowmaskMode: 0 77 | blendWeights: 2 78 | textureQuality: 0 79 | anisotropicTextures: 1 80 | antiAliasing: 0 81 | softParticles: 0 82 | softVegetation: 0 83 | realtimeReflectionProbes: 0 84 | billboardsFaceCameraPosition: 0 85 | vSyncCount: 1 86 | lodBias: 0.7 87 | maximumLODLevel: 0 88 | particleRaycastBudget: 64 89 | asyncUploadTimeSlice: 2 90 | asyncUploadBufferSize: 16 91 | resolutionScalingFixedDPIFactor: 1 92 | excludedTargetPlatforms: [] 93 | - serializedVersion: 2 94 | name: High 95 | pixelLightCount: 2 96 | shadows: 2 97 | shadowResolution: 1 98 | shadowProjection: 1 99 | shadowCascades: 2 100 | shadowDistance: 40 101 | shadowNearPlaneOffset: 3 102 | shadowCascade2Split: 0.33333334 103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 104 | shadowmaskMode: 1 105 | blendWeights: 2 106 | textureQuality: 0 107 | anisotropicTextures: 1 108 | antiAliasing: 2 109 | softParticles: 0 110 | softVegetation: 1 111 | realtimeReflectionProbes: 1 112 | billboardsFaceCameraPosition: 1 113 | vSyncCount: 1 114 | lodBias: 1 115 | maximumLODLevel: 0 116 | particleRaycastBudget: 256 117 | asyncUploadTimeSlice: 2 118 | asyncUploadBufferSize: 16 119 | resolutionScalingFixedDPIFactor: 1 120 | excludedTargetPlatforms: [] 121 | - serializedVersion: 2 122 | name: Very High 123 | pixelLightCount: 3 124 | shadows: 2 125 | shadowResolution: 2 126 | shadowProjection: 1 127 | shadowCascades: 2 128 | shadowDistance: 40 129 | shadowNearPlaneOffset: 3 130 | shadowCascade2Split: 0.33333334 131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 132 | shadowmaskMode: 1 133 | blendWeights: 4 134 | textureQuality: 0 135 | anisotropicTextures: 1 136 | antiAliasing: 4 137 | softParticles: 1 138 | softVegetation: 1 139 | realtimeReflectionProbes: 1 140 | billboardsFaceCameraPosition: 1 141 | vSyncCount: 1 142 | lodBias: 1.5 143 | maximumLODLevel: 0 144 | particleRaycastBudget: 1024 145 | asyncUploadTimeSlice: 2 146 | asyncUploadBufferSize: 16 147 | resolutionScalingFixedDPIFactor: 1 148 | excludedTargetPlatforms: [] 149 | - serializedVersion: 2 150 | name: Ultra 151 | pixelLightCount: 4 152 | shadows: 2 153 | shadowResolution: 2 154 | shadowProjection: 1 155 | shadowCascades: 4 156 | shadowDistance: 150 157 | shadowNearPlaneOffset: 3 158 | shadowCascade2Split: 0.33333334 159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 160 | shadowmaskMode: 1 161 | blendWeights: 4 162 | textureQuality: 0 163 | anisotropicTextures: 1 164 | antiAliasing: 4 165 | softParticles: 1 166 | softVegetation: 1 167 | realtimeReflectionProbes: 1 168 | billboardsFaceCameraPosition: 1 169 | vSyncCount: 1 170 | lodBias: 2 171 | maximumLODLevel: 0 172 | particleRaycastBudget: 4096 173 | asyncUploadTimeSlice: 2 174 | asyncUploadBufferSize: 16 175 | resolutionScalingFixedDPIFactor: 1 176 | excludedTargetPlatforms: [] 177 | m_PerPlatformDefaultQuality: 178 | Android: 2 179 | Nintendo 3DS: 5 180 | Nintendo Switch: 5 181 | PS4: 5 182 | PSP2: 2 183 | Standalone: 5 184 | Tizen: 2 185 | WebGL: 3 186 | WiiU: 5 187 | Windows Store Apps: 5 188 | XboxOne: 5 189 | iPhone: 2 190 | tvOS: 2 191 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - PostProcessing 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.1 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 0 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NodeListServer Example Project 2 | 3 | [![Ko-Fi](https://img.shields.io/badge/Donate-Ko--Fi-red)](https://ko-fi.com/coburn) 4 | [![PayPal](https://img.shields.io/badge/Donate-PayPal-blue)](https://paypal.me/coburn64) 5 | ![MIT Licensed](https://img.shields.io/badge/license-MIT-green.svg) 6 | 7 | _**Please consider a donation (see the Ko-Fi button above) if this project is useful to you.**_ 8 | 9 | This repository contains a Unity 2020.3 LTS project that demostrates a implementation of a classic Server Browser (one you'd see in classic games such as Battlefield 1942, old Call of Duty games, etc). 10 | 11 | It is advised that this project is only used as a reference, don't expect it to be feature rich. 12 | 13 | While the Server Browser logic is network stack agnostic (as in, it doesn't care if you're using Mirror, Mirage, a fishy-named network library or something paid), the Mirror and Mirage integrations are 14 | dependent on the respective network stacks and require further steps. To help keep dependencies to a minimum the mentioned network stacks are **not** included in the repository. 15 | 16 | ## Requirements 17 | 18 | - You must have installed and configured Node List Server. You can get it here from the [NodeListServer repository](https://github.com/SoftwareGuy/NodeListServer). 19 | 20 | ## Setup 21 | 22 | 1. You can either clone this repository and open it in your version of Unity, please note that any versions below Unity 2020 LTS are unsupported and I cannot have 50 different Unity versions on my workstation. Alternatively, download a snapshot 23 | archive of this repository and copy the **NodeLS Client** directory into your project's Assets directory. 24 | 2. If you use Unity Assembly Definitions, add a reference to the `NodeLS.Client` Definition. This will allow you to access the `NodeListServer` namespace. 25 | 3. You're good to go! You can now create class instances of the NodeLS Client. An example would be `NLSCommunicator myCommunicator = new NLSCommunicator();`. 26 | 27 | Review the `Communicator.cs` as it's commented and does explain what it's trying to do. 28 | 29 | ### Testing with DebugCommunicator 30 | 31 | - There is a `DebugCommunicator` script that I used during development to ensure things are operating correctly. It uses three keys which are **Q**, **W** and **E**. 32 | - **Q** sends a request to retrieve the server list, **W** fakes a server registration request and **E** removes the fake server that it created (if it was successful). 33 | - You'll need to modify the Endpoint in which it uses for it to work on your setup. This script has a compile define to only be available inside the Unity Editor. It will not be compiled in standalone builds. 34 | - Using this script outside of a testing environment is a bad idea. You've been warned. 35 | 36 | ### Integration Packages 37 | 38 | - Some integrations exist for various network stacks as mentioned earlier. 39 | - Look inside the `NodeLS Client Integrations` folder for a UnityPackage file that contains scripts for use with the network stack the integration is for. 40 | - Note that some integrations may be cause a compile error or warning about things being obsolete over time. If this happens, please open a issue ticket. 41 | 42 | ## Wait, why I cannot connect to a listed server? 43 | 44 | **The easy answers...** 45 | 46 | - The server died. It happens, as it's Unity Engine after all. 47 | - The server port is closed or needs Port Forwarding. If the server is on your ISP connection, open that port in your router: read the manual to figure out how to do that. See the footnote for additional info. 48 | 49 | **The more technicial answers...** 50 | 51 | *Are you trying to connect a server hosted on your network using the Server Browser?* 52 | 53 | - Unless your NodeLS instance is inside your local network, NodeLS will detect your **public** IP address. Your private IP might be `10.0.0.2`, but your public IP might be `42.69.4.20`. 54 | - Most routers may not support loop-back connections, which is basically a LAN connection calling the external outside IP address. 55 | - Some ISPs block game server traffic. Comcast, Verizon and Vodafone are some that do traffic blocking, including servers on non-business grade connections. You're screwed if your ISP does that to you. 56 | - Hosting servers behind a VPN connection is a bad idea. 57 | - Mobile connections will not work for server hosting. Due to the nature of how mobile internet works, even if it *does* work partially, if you drop signal then you're in the dark. 58 | 59 | Footnote: Keep in mind some ISPs can disallow port forwarding for stupid reasons, or they'll penalize you for doing so. If it's on a Windows/Linux cloud instance, open the firewall using Windows Firewall or 60 | iptables, although if you're using Google Cloud/Amazon AWS/Microsoft Azure then it can be a clusterfuck. 61 | 62 | ## I need help! 63 | 64 | - Open a issue ticket, although I expect you to know the absolute basics of C# and Unity Engine first. 65 | - Don't be shy asking for help, but please give details as to what you tried, and what went wrong. 66 | 67 | ## Credits 68 | 69 | - AnthonyE 70 | - JesusLuvsYooh 71 | - NodeLS users & contributors 72 | - Coffee donators 73 | - Mirror discord 74 | 75 | _**Thanks for using Australian Open Source Software!**_ 76 | -------------------------------------------------------------------------------- /UserSettings/EditorUserSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!162 &1 4 | EditorUserSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_ConfigSettings: 8 | RecentlyUsedScenePath-0: 9 | value: 2242470311464675020a090e19304b2313050e2f3e6703282c240d3fe7af1831f1f376ccff3b322c3507a1290a371526 10 | flags: 0 11 | vcSharedLogLevel: 12 | value: 0d5e400f0650 13 | flags: 0 14 | m_VCAutomaticAdd: 1 15 | m_VCDebugCom: 0 16 | m_VCDebugCmd: 0 17 | m_VCDebugOut: 0 18 | m_SemanticMergeMode: 2 19 | m_VCShowFailedCheckout: 1 20 | m_VCOverwriteFailedCheckoutAssets: 1 21 | m_VCProjectOverlayIcons: 1 22 | m_VCHierarchyOverlayIcons: 1 23 | m_VCOtherOverlayIcons: 1 24 | m_VCAllowAsyncUpdate: 1 25 | --------------------------------------------------------------------------------