├── .gitattributes
├── .gitignore
├── Assets
├── CustomClient.cs
├── CustomClient.cs.meta
├── CustomServer.cs
├── CustomServer.cs.meta
├── Main_SimpleTCP.unity
├── Main_SimpleTCP.unity.meta
├── Scripts.meta
└── Scripts
│ ├── Client.cs
│ ├── Client.cs.meta
│ ├── Server.cs
│ └── Server.cs.meta
├── LICENSE
├── Logs
└── Packages-Update.log
├── Packages
└── manifest.json
├── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── NavMeshAreas.asset
├── NetworkManager.asset
├── Physics2DSettings.asset
├── PresetManager.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── TagManager.asset
├── TimeManager.asset
├── UnityConnectSettings.asset
├── VFXManager.asset
└── XRSettings.asset
├── README.md
└── example_app.gif
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | [Ll]ibrary/
2 | [Tt]emp/
3 | [Oo]bj/
4 | [Bb]uild/
5 | [Bb]uilds/
6 | Assets/AssetStoreTools*
7 |
8 | # Visual Studio cache directory
9 | .vs/
10 |
11 | # Autogenerated VS/MD/Consulo solution and project files
12 | ExportedObj/
13 | .consulo/
14 | *.csproj
15 | *.unityproj
16 | *.sln
17 | *.suo
18 | *.tmp
19 | *.user
20 | *.userprefs
21 | *.pidb
22 | *.booproj
23 | *.svd
24 | *.pdb
25 | *.opendb
26 | *.VC.db
27 |
28 | # Unity3D generated meta files
29 | *.pidb.meta
30 | *.pdb.meta
31 |
32 | # Unity3D Generated File On Crash Reports
33 | sysinfo.txt
34 |
35 | # Builds
36 | *.apk
37 | *.unitypackage
38 |
--------------------------------------------------------------------------------
/Assets/CustomClient.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.UI;
3 |
4 | ///
5 | /// This Client inheritated class acts like Client but using UI elements like buttons and input fields.
6 | ///
7 | public class CustomClient : Client
8 | {
9 | [Header("UI References")]
10 | [SerializeField] private Button m_StartClientButton = null;
11 | [SerializeField] private Button m_SendToServerButton = null;
12 | [SerializeField] private InputField m_SendToServerInputField = null;
13 | [SerializeField] private Button m_SendCloseButton = null;
14 | [SerializeField] private ScrollRect m_ClientLoggerScrollRect = null;
15 |
16 | private RectTransform m_ClientLoggerRectTransform = null;
17 | private Text m_ClientLoggerText = null;
18 |
19 | //Set UI interactable properties
20 | private void Awake()
21 | {
22 | //Start Client
23 | m_StartClientButton.onClick.AddListener(base.StartClient);
24 |
25 | //Send to Server
26 | m_SendToServerButton.interactable = false;
27 | m_SendToServerButton.onClick.AddListener(SendMessageToServer);
28 |
29 | //SendClose
30 | m_SendCloseButton.interactable = false;
31 | m_SendCloseButton.onClick.AddListener(SendCloseToServer);
32 |
33 | //Populate Client delegates
34 | OnClientStarted = () =>
35 | {
36 | //Set UI interactable properties
37 | m_StartClientButton.interactable = false;
38 | m_SendToServerButton.interactable = true;
39 | m_SendCloseButton.interactable = true;
40 | };
41 |
42 | OnClientClosed = () =>
43 | {
44 | //Set UI interactable properties
45 | m_StartClientButton.interactable = true;
46 | m_SendToServerButton.interactable = false;
47 | m_SendCloseButton.interactable = false;
48 | };
49 |
50 | //UI References
51 | m_ClientLoggerRectTransform = m_ClientLoggerScrollRect.GetComponent();
52 | m_ClientLoggerText = m_ClientLoggerScrollRect.content.gameObject.GetComponent();
53 | }
54 |
55 | private void SendMessageToServer()
56 | {
57 | string newMsg = m_SendToServerInputField.text;
58 | if (string.IsNullOrEmpty(newMsg))
59 | {
60 | m_ClientLoggerText.text += $"\n- Enter message";
61 | return;
62 | }
63 | base.SendMessageToServer(newMsg);
64 | }
65 |
66 | private void SendCloseToServer()
67 | {
68 | base.SendMessageToServer("Close");
69 | //Set UI interactable properties
70 | m_SendCloseButton.interactable = false;
71 | }
72 |
73 | //Custom Client Log
74 | #region ClientLog
75 | protected override void ClientLog(string msg)
76 | {
77 | base.ClientLog(msg);
78 | m_ClientLoggerText.text += $"\n- {msg}";
79 |
80 | //Ensure ScrollBar shows last message
81 | LayoutRebuilder.ForceRebuildLayoutImmediate(m_ClientLoggerRectTransform);
82 | m_ClientLoggerScrollRect.verticalNormalizedPosition = 0f;
83 | }
84 | protected override void ClientLog(string msg, Color color)
85 | {
86 | base.ClientLog(msg, color);
87 | m_ClientLoggerText.text += $"\n- {msg}";
88 |
89 | //Ensure ScrollBar shows last message
90 | LayoutRebuilder.ForceRebuildLayoutImmediate(m_ClientLoggerRectTransform);
91 | m_ClientLoggerScrollRect.verticalNormalizedPosition = 0f;
92 | }
93 | #endregion
94 | }
--------------------------------------------------------------------------------
/Assets/CustomClient.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b7335399a3425ee4998f08ce9a7d87e2
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/CustomServer.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.UI;
3 |
4 | ///
5 | /// This Server inheritated class acts like Server but using UI elements like buttons and input fields.
6 | ///
7 | public class CustomServer : Server
8 | {
9 | [Header("UI References")]
10 | [SerializeField] private Button m_StartServerButton = null;
11 | [SerializeField] private Button m_SendToClientButton = null;
12 | [SerializeField] private InputField m_SendToClientInputField = null;
13 | [SerializeField] private Button m_CloseServerButton = null;
14 | [SerializeField] private ScrollRect m_ServerLoggerScrollRect = null;
15 |
16 | private bool serverConnected = false;
17 | private bool clientConnected = false;
18 | private RectTransform m_ServerLoggerRectTransform = null;
19 | private Text m_ServerLoggerText = null;
20 |
21 | //Set UI interactable properties
22 | protected virtual void Awake()
23 | {
24 | //Start Server
25 | m_StartServerButton.interactable = true; //Enable button to let users start the server
26 | m_StartServerButton.onClick.AddListener(StartServer);
27 |
28 | //Send to Client
29 | m_SendToClientButton.interactable = false;
30 | m_SendToClientButton.onClick.AddListener(SendMessageToClient);
31 |
32 | //Close Server
33 | m_CloseServerButton.interactable = false; //Disable button until the server is started
34 | m_CloseServerButton.onClick.AddListener(CloseServer);
35 |
36 | //Populate Server delegates
37 | OnClientConnected = () => { clientConnected = true; };
38 | OnClientDisconnected = () => { clientConnected = false; };
39 | OnServerClosed = () => { serverConnected = false; };
40 | OnServerStarted = () => { serverConnected = true; };
41 |
42 | //UI References
43 | m_ServerLoggerRectTransform = m_ServerLoggerScrollRect.GetComponent();
44 | m_ServerLoggerText = m_ServerLoggerScrollRect.content.gameObject.GetComponent();
45 | }
46 |
47 | protected override void Update()
48 | {
49 | base.Update();
50 |
51 | //Interactables needs to be setted on Update case can be called from a non-main thread
52 | m_StartServerButton.interactable = !serverConnected;
53 | m_CloseServerButton.interactable = serverConnected;
54 | m_SendToClientButton.interactable = clientConnected;
55 | }
56 |
57 | //Get input field text and send it to client
58 | private void SendMessageToClient()
59 | {
60 | string newMsg = m_SendToClientInputField.text;
61 | if(string.IsNullOrEmpty(newMsg))
62 | {
63 | m_ServerLoggerText.text += $"\n- Enter message";
64 | return;
65 | }
66 | base.SendMessageToClient(newMsg);
67 | }
68 |
69 | //Custom Server Log
70 | #region ServerLog
71 | //With Text Color
72 | protected override void ServerLog(string msg)
73 | {
74 | base.ServerLog(msg);
75 | m_ServerLoggerText.text += $"\n- {msg}";
76 |
77 | //Ensure ScrollBar shows last message
78 | LayoutRebuilder.ForceRebuildLayoutImmediate(m_ServerLoggerRectTransform);
79 | m_ServerLoggerScrollRect.verticalNormalizedPosition = 0f;
80 | }
81 | //Without Text Color
82 | protected override void ServerLog(string msg, Color color)
83 | {
84 | base.ServerLog(msg, color);
85 | m_ServerLoggerText.text += $"\n- {msg}";
86 |
87 | //Ensure ScrollBar shows last message
88 | LayoutRebuilder.ForceRebuildLayoutImmediate(m_ServerLoggerRectTransform);
89 | m_ServerLoggerScrollRect.verticalNormalizedPosition = 0f;
90 | }
91 | #endregion
92 | }
--------------------------------------------------------------------------------
/Assets/CustomServer.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 86938d8e93081c346bb95b5ed0dc14ce
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/Main_SimpleTCP.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: 0
28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 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.44657898, g: 0.4964133, b: 0.5748178, a: 1}
42 | m_UseRadianceAmbientProbe: 0
43 | --- !u!157 &3
44 | LightmapSettings:
45 | m_ObjectHideFlags: 0
46 | serializedVersion: 11
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: 1
55 | m_EnableRealtimeLightmaps: 1
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: 1
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: 256
73 | m_ReflectionCompression: 2
74 | m_MixedBakeMode: 2
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: 2
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_UseShadowmask: 1
102 | --- !u!196 &4
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 | debug:
122 | m_Flags: 0
123 | m_NavMeshData: {fileID: 0}
124 | --- !u!1 &17587044
125 | GameObject:
126 | m_ObjectHideFlags: 0
127 | m_CorrespondingSourceObject: {fileID: 0}
128 | m_PrefabInstance: {fileID: 0}
129 | m_PrefabAsset: {fileID: 0}
130 | serializedVersion: 6
131 | m_Component:
132 | - component: {fileID: 17587045}
133 | - component: {fileID: 17587047}
134 | - component: {fileID: 17587046}
135 | - component: {fileID: 17587048}
136 | m_Layer: 5
137 | m_Name: SendServer_btn
138 | m_TagString: Untagged
139 | m_Icon: {fileID: 0}
140 | m_NavMeshLayer: 0
141 | m_StaticEditorFlags: 0
142 | m_IsActive: 1
143 | --- !u!224 &17587045
144 | RectTransform:
145 | m_ObjectHideFlags: 0
146 | m_CorrespondingSourceObject: {fileID: 0}
147 | m_PrefabInstance: {fileID: 0}
148 | m_PrefabAsset: {fileID: 0}
149 | m_GameObject: {fileID: 17587044}
150 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
151 | m_LocalPosition: {x: 0, y: 0, z: 0}
152 | m_LocalScale: {x: 1, y: 1, z: 1}
153 | m_Children:
154 | - {fileID: 711561145}
155 | m_Father: {fileID: 246734505}
156 | m_RootOrder: 0
157 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
158 | m_AnchorMin: {x: 0, y: 0}
159 | m_AnchorMax: {x: 0.665, y: 1}
160 | m_AnchoredPosition: {x: 0, y: 0.24658966}
161 | m_SizeDelta: {x: 0, y: -0.3257923}
162 | m_Pivot: {x: 0, y: 0.5}
163 | --- !u!114 &17587046
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: 17587044}
170 | m_Enabled: 1
171 | m_EditorHideFlags: 0
172 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, 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_Maskable: 1
179 | m_OnCullStateChanged:
180 | m_PersistentCalls:
181 | m_Calls: []
182 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
183 | m_Type: 1
184 | m_PreserveAspect: 0
185 | m_FillCenter: 1
186 | m_FillMethod: 4
187 | m_FillAmount: 1
188 | m_FillClockwise: 1
189 | m_FillOrigin: 0
190 | m_UseSpriteMesh: 0
191 | m_PixelsPerUnitMultiplier: 1
192 | --- !u!222 &17587047
193 | CanvasRenderer:
194 | m_ObjectHideFlags: 0
195 | m_CorrespondingSourceObject: {fileID: 0}
196 | m_PrefabInstance: {fileID: 0}
197 | m_PrefabAsset: {fileID: 0}
198 | m_GameObject: {fileID: 17587044}
199 | m_CullTransparentMesh: 0
200 | --- !u!114 &17587048
201 | MonoBehaviour:
202 | m_ObjectHideFlags: 0
203 | m_CorrespondingSourceObject: {fileID: 0}
204 | m_PrefabInstance: {fileID: 0}
205 | m_PrefabAsset: {fileID: 0}
206 | m_GameObject: {fileID: 17587044}
207 | m_Enabled: 1
208 | m_EditorHideFlags: 0
209 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
210 | m_Name:
211 | m_EditorClassIdentifier:
212 | m_Navigation:
213 | m_Mode: 3
214 | m_SelectOnUp: {fileID: 0}
215 | m_SelectOnDown: {fileID: 0}
216 | m_SelectOnLeft: {fileID: 0}
217 | m_SelectOnRight: {fileID: 0}
218 | m_Transition: 1
219 | m_Colors:
220 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
221 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
222 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
223 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
224 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
225 | m_ColorMultiplier: 1
226 | m_FadeDuration: 0.1
227 | m_SpriteState:
228 | m_HighlightedSprite: {fileID: 0}
229 | m_PressedSprite: {fileID: 0}
230 | m_SelectedSprite: {fileID: 0}
231 | m_DisabledSprite: {fileID: 0}
232 | m_AnimationTriggers:
233 | m_NormalTrigger: Normal
234 | m_HighlightedTrigger: Highlighted
235 | m_PressedTrigger: Pressed
236 | m_SelectedTrigger: Highlighted
237 | m_DisabledTrigger: Disabled
238 | m_Interactable: 1
239 | m_TargetGraphic: {fileID: 17587046}
240 | m_OnClick:
241 | m_PersistentCalls:
242 | m_Calls:
243 | - m_Target: {fileID: 424903499}
244 | m_MethodName:
245 | m_Mode: 1
246 | m_Arguments:
247 | m_ObjectArgument: {fileID: 0}
248 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
249 | m_IntArgument: 0
250 | m_FloatArgument: 0
251 | m_StringArgument:
252 | m_BoolArgument: 0
253 | m_CallState: 2
254 | --- !u!1 &25136808
255 | GameObject:
256 | m_ObjectHideFlags: 0
257 | m_CorrespondingSourceObject: {fileID: 0}
258 | m_PrefabInstance: {fileID: 0}
259 | m_PrefabAsset: {fileID: 0}
260 | serializedVersion: 6
261 | m_Component:
262 | - component: {fileID: 25136809}
263 | - component: {fileID: 25136811}
264 | - component: {fileID: 25136810}
265 | m_Layer: 0
266 | m_Name: EventSystem
267 | m_TagString: Untagged
268 | m_Icon: {fileID: 0}
269 | m_NavMeshLayer: 0
270 | m_StaticEditorFlags: 0
271 | m_IsActive: 1
272 | --- !u!4 &25136809
273 | Transform:
274 | m_ObjectHideFlags: 0
275 | m_CorrespondingSourceObject: {fileID: 0}
276 | m_PrefabInstance: {fileID: 0}
277 | m_PrefabAsset: {fileID: 0}
278 | m_GameObject: {fileID: 25136808}
279 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
280 | m_LocalPosition: {x: -349.83594, y: -218.61807, z: 0}
281 | m_LocalScale: {x: 1, y: 1, z: 1}
282 | m_Children: []
283 | m_Father: {fileID: 29507516}
284 | m_RootOrder: 0
285 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
286 | --- !u!114 &25136810
287 | MonoBehaviour:
288 | m_ObjectHideFlags: 0
289 | m_CorrespondingSourceObject: {fileID: 0}
290 | m_PrefabInstance: {fileID: 0}
291 | m_PrefabAsset: {fileID: 0}
292 | m_GameObject: {fileID: 25136808}
293 | m_Enabled: 1
294 | m_EditorHideFlags: 0
295 | m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
296 | m_Name:
297 | m_EditorClassIdentifier:
298 | m_HorizontalAxis: Horizontal
299 | m_VerticalAxis: Vertical
300 | m_SubmitButton: Submit
301 | m_CancelButton: Cancel
302 | m_InputActionsPerSecond: 10
303 | m_RepeatDelay: 0.5
304 | m_ForceModuleActive: 0
305 | --- !u!114 &25136811
306 | MonoBehaviour:
307 | m_ObjectHideFlags: 0
308 | m_CorrespondingSourceObject: {fileID: 0}
309 | m_PrefabInstance: {fileID: 0}
310 | m_PrefabAsset: {fileID: 0}
311 | m_GameObject: {fileID: 25136808}
312 | m_Enabled: 1
313 | m_EditorHideFlags: 0
314 | m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
315 | m_Name:
316 | m_EditorClassIdentifier:
317 | m_FirstSelected: {fileID: 0}
318 | m_sendNavigationEvents: 1
319 | m_DragThreshold: 5
320 | --- !u!1 &29507515
321 | GameObject:
322 | m_ObjectHideFlags: 0
323 | m_CorrespondingSourceObject: {fileID: 0}
324 | m_PrefabInstance: {fileID: 0}
325 | m_PrefabAsset: {fileID: 0}
326 | serializedVersion: 6
327 | m_Component:
328 | - component: {fileID: 29507516}
329 | m_Layer: 0
330 | m_Name: SceneSystem
331 | m_TagString: Untagged
332 | m_Icon: {fileID: 0}
333 | m_NavMeshLayer: 0
334 | m_StaticEditorFlags: 0
335 | m_IsActive: 1
336 | --- !u!4 &29507516
337 | Transform:
338 | m_ObjectHideFlags: 0
339 | m_CorrespondingSourceObject: {fileID: 0}
340 | m_PrefabInstance: {fileID: 0}
341 | m_PrefabAsset: {fileID: 0}
342 | m_GameObject: {fileID: 29507515}
343 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
344 | m_LocalPosition: {x: 349.83594, y: 218.61807, z: 0}
345 | m_LocalScale: {x: 1, y: 1, z: 1}
346 | m_Children:
347 | - {fileID: 25136809}
348 | - {fileID: 41868474}
349 | - {fileID: 1473209676}
350 | m_Father: {fileID: 0}
351 | m_RootOrder: 0
352 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
353 | --- !u!1 &41868469
354 | GameObject:
355 | m_ObjectHideFlags: 0
356 | m_CorrespondingSourceObject: {fileID: 0}
357 | m_PrefabInstance: {fileID: 0}
358 | m_PrefabAsset: {fileID: 0}
359 | serializedVersion: 6
360 | m_Component:
361 | - component: {fileID: 41868474}
362 | - component: {fileID: 41868473}
363 | - component: {fileID: 41868471}
364 | - component: {fileID: 41868470}
365 | m_Layer: 0
366 | m_Name: Main Camera
367 | m_TagString: MainCamera
368 | m_Icon: {fileID: 0}
369 | m_NavMeshLayer: 0
370 | m_StaticEditorFlags: 0
371 | m_IsActive: 1
372 | --- !u!81 &41868470
373 | AudioListener:
374 | m_ObjectHideFlags: 0
375 | m_CorrespondingSourceObject: {fileID: 0}
376 | m_PrefabInstance: {fileID: 0}
377 | m_PrefabAsset: {fileID: 0}
378 | m_GameObject: {fileID: 41868469}
379 | m_Enabled: 1
380 | --- !u!124 &41868471
381 | Behaviour:
382 | m_ObjectHideFlags: 0
383 | m_CorrespondingSourceObject: {fileID: 0}
384 | m_PrefabInstance: {fileID: 0}
385 | m_PrefabAsset: {fileID: 0}
386 | m_GameObject: {fileID: 41868469}
387 | m_Enabled: 1
388 | --- !u!20 &41868473
389 | Camera:
390 | m_ObjectHideFlags: 0
391 | m_CorrespondingSourceObject: {fileID: 0}
392 | m_PrefabInstance: {fileID: 0}
393 | m_PrefabAsset: {fileID: 0}
394 | m_GameObject: {fileID: 41868469}
395 | m_Enabled: 1
396 | serializedVersion: 2
397 | m_ClearFlags: 2
398 | m_BackGroundColor: {r: 0.8897059, g: 0.8897059, b: 0.8897059, a: 0}
399 | m_projectionMatrixMode: 1
400 | m_GateFitMode: 2
401 | m_FOVAxisMode: 0
402 | m_SensorSize: {x: 36, y: 24}
403 | m_LensShift: {x: 0, y: 0}
404 | m_FocalLength: 50
405 | m_NormalizedViewPortRect:
406 | serializedVersion: 2
407 | x: 0
408 | y: 0
409 | width: 1
410 | height: 1
411 | near clip plane: 0.3
412 | far clip plane: 1000
413 | field of view: 60
414 | orthographic: 0
415 | orthographic size: 5
416 | m_Depth: -1
417 | m_CullingMask:
418 | serializedVersion: 2
419 | m_Bits: 4294967295
420 | m_RenderingPath: -1
421 | m_TargetTexture: {fileID: 0}
422 | m_TargetDisplay: 0
423 | m_TargetEye: 3
424 | m_HDR: 1
425 | m_AllowMSAA: 1
426 | m_AllowDynamicResolution: 0
427 | m_ForceIntoRT: 0
428 | m_OcclusionCulling: 1
429 | m_StereoConvergence: 10
430 | m_StereoSeparation: 0.022
431 | --- !u!4 &41868474
432 | Transform:
433 | m_ObjectHideFlags: 0
434 | m_CorrespondingSourceObject: {fileID: 0}
435 | m_PrefabInstance: {fileID: 0}
436 | m_PrefabAsset: {fileID: 0}
437 | m_GameObject: {fileID: 41868469}
438 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
439 | m_LocalPosition: {x: -349.83594, y: -217.61807, z: -10}
440 | m_LocalScale: {x: 1, y: 1, z: 1}
441 | m_Children: []
442 | m_Father: {fileID: 29507516}
443 | m_RootOrder: 1
444 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
445 | --- !u!1 &53837259
446 | GameObject:
447 | m_ObjectHideFlags: 0
448 | m_CorrespondingSourceObject: {fileID: 0}
449 | m_PrefabInstance: {fileID: 0}
450 | m_PrefabAsset: {fileID: 0}
451 | serializedVersion: 6
452 | m_Component:
453 | - component: {fileID: 53837260}
454 | m_Layer: 5
455 | m_Name: Buttons
456 | m_TagString: Untagged
457 | m_Icon: {fileID: 0}
458 | m_NavMeshLayer: 0
459 | m_StaticEditorFlags: 0
460 | m_IsActive: 1
461 | --- !u!224 &53837260
462 | RectTransform:
463 | m_ObjectHideFlags: 0
464 | m_CorrespondingSourceObject: {fileID: 0}
465 | m_PrefabInstance: {fileID: 0}
466 | m_PrefabAsset: {fileID: 0}
467 | m_GameObject: {fileID: 53837259}
468 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
469 | m_LocalPosition: {x: 0, y: 0, z: 0}
470 | m_LocalScale: {x: 1, y: 1, z: 1}
471 | m_Children:
472 | - {fileID: 1165316074}
473 | - {fileID: 246734505}
474 | - {fileID: 1467206376}
475 | m_Father: {fileID: 1697541020}
476 | m_RootOrder: 1
477 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
478 | m_AnchorMin: {x: 0, y: 0.705105}
479 | m_AnchorMax: {x: 1, y: 0.92254853}
480 | m_AnchoredPosition: {x: 0, y: 0}
481 | m_SizeDelta: {x: 0, y: 0}
482 | m_Pivot: {x: 0.5, y: 0.5}
483 | --- !u!1 &93246475
484 | GameObject:
485 | m_ObjectHideFlags: 0
486 | m_CorrespondingSourceObject: {fileID: 0}
487 | m_PrefabInstance: {fileID: 0}
488 | m_PrefabAsset: {fileID: 0}
489 | serializedVersion: 6
490 | m_Component:
491 | - component: {fileID: 93246476}
492 | - component: {fileID: 93246478}
493 | - component: {fileID: 93246477}
494 | - component: {fileID: 93246479}
495 | m_Layer: 5
496 | m_Name: Scrollbar Horizontal
497 | m_TagString: Untagged
498 | m_Icon: {fileID: 0}
499 | m_NavMeshLayer: 0
500 | m_StaticEditorFlags: 0
501 | m_IsActive: 1
502 | --- !u!224 &93246476
503 | RectTransform:
504 | m_ObjectHideFlags: 0
505 | m_CorrespondingSourceObject: {fileID: 0}
506 | m_PrefabInstance: {fileID: 0}
507 | m_PrefabAsset: {fileID: 0}
508 | m_GameObject: {fileID: 93246475}
509 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
510 | m_LocalPosition: {x: 0, y: 0, z: 0}
511 | m_LocalScale: {x: 1, y: 1, z: 1}
512 | m_Children:
513 | - {fileID: 2089604401}
514 | m_Father: {fileID: 1315929537}
515 | m_RootOrder: 1
516 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
517 | m_AnchorMin: {x: 0, y: 0}
518 | m_AnchorMax: {x: 1, y: 0}
519 | m_AnchoredPosition: {x: 0, y: 0}
520 | m_SizeDelta: {x: -17, y: 14}
521 | m_Pivot: {x: 0, y: 0}
522 | --- !u!114 &93246477
523 | MonoBehaviour:
524 | m_ObjectHideFlags: 0
525 | m_CorrespondingSourceObject: {fileID: 0}
526 | m_PrefabInstance: {fileID: 0}
527 | m_PrefabAsset: {fileID: 0}
528 | m_GameObject: {fileID: 93246475}
529 | m_Enabled: 1
530 | m_EditorHideFlags: 0
531 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
532 | m_Name:
533 | m_EditorClassIdentifier:
534 | m_Material: {fileID: 0}
535 | m_Color: {r: 1, g: 1, b: 1, a: 1}
536 | m_RaycastTarget: 1
537 | m_Maskable: 1
538 | m_OnCullStateChanged:
539 | m_PersistentCalls:
540 | m_Calls: []
541 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
542 | m_Type: 1
543 | m_PreserveAspect: 0
544 | m_FillCenter: 1
545 | m_FillMethod: 4
546 | m_FillAmount: 1
547 | m_FillClockwise: 1
548 | m_FillOrigin: 0
549 | m_UseSpriteMesh: 0
550 | m_PixelsPerUnitMultiplier: 1
551 | --- !u!222 &93246478
552 | CanvasRenderer:
553 | m_ObjectHideFlags: 0
554 | m_CorrespondingSourceObject: {fileID: 0}
555 | m_PrefabInstance: {fileID: 0}
556 | m_PrefabAsset: {fileID: 0}
557 | m_GameObject: {fileID: 93246475}
558 | m_CullTransparentMesh: 0
559 | --- !u!114 &93246479
560 | MonoBehaviour:
561 | m_ObjectHideFlags: 0
562 | m_CorrespondingSourceObject: {fileID: 0}
563 | m_PrefabInstance: {fileID: 0}
564 | m_PrefabAsset: {fileID: 0}
565 | m_GameObject: {fileID: 93246475}
566 | m_Enabled: 1
567 | m_EditorHideFlags: 0
568 | m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
569 | m_Name:
570 | m_EditorClassIdentifier:
571 | m_Navigation:
572 | m_Mode: 3
573 | m_SelectOnUp: {fileID: 0}
574 | m_SelectOnDown: {fileID: 0}
575 | m_SelectOnLeft: {fileID: 0}
576 | m_SelectOnRight: {fileID: 0}
577 | m_Transition: 1
578 | m_Colors:
579 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
580 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
581 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
582 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
583 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
584 | m_ColorMultiplier: 1
585 | m_FadeDuration: 0.1
586 | m_SpriteState:
587 | m_HighlightedSprite: {fileID: 0}
588 | m_PressedSprite: {fileID: 0}
589 | m_SelectedSprite: {fileID: 0}
590 | m_DisabledSprite: {fileID: 0}
591 | m_AnimationTriggers:
592 | m_NormalTrigger: Normal
593 | m_HighlightedTrigger: Highlighted
594 | m_PressedTrigger: Pressed
595 | m_SelectedTrigger: Selected
596 | m_DisabledTrigger: Disabled
597 | m_Interactable: 1
598 | m_TargetGraphic: {fileID: 1387791855}
599 | m_HandleRect: {fileID: 1387791854}
600 | m_Direction: 0
601 | m_Value: 0
602 | m_Size: 1
603 | m_NumberOfSteps: 0
604 | m_OnValueChanged:
605 | m_PersistentCalls:
606 | m_Calls: []
607 | --- !u!1 &117483917
608 | GameObject:
609 | m_ObjectHideFlags: 0
610 | m_CorrespondingSourceObject: {fileID: 0}
611 | m_PrefabInstance: {fileID: 0}
612 | m_PrefabAsset: {fileID: 0}
613 | serializedVersion: 6
614 | m_Component:
615 | - component: {fileID: 117483918}
616 | - component: {fileID: 117483920}
617 | - component: {fileID: 117483919}
618 | m_Layer: 5
619 | m_Name: Text
620 | m_TagString: Untagged
621 | m_Icon: {fileID: 0}
622 | m_NavMeshLayer: 0
623 | m_StaticEditorFlags: 0
624 | m_IsActive: 1
625 | --- !u!224 &117483918
626 | RectTransform:
627 | m_ObjectHideFlags: 0
628 | m_CorrespondingSourceObject: {fileID: 0}
629 | m_PrefabInstance: {fileID: 0}
630 | m_PrefabAsset: {fileID: 0}
631 | m_GameObject: {fileID: 117483917}
632 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
633 | m_LocalPosition: {x: 0, y: 0, z: 0}
634 | m_LocalScale: {x: 1, y: 1, z: 1}
635 | m_Children: []
636 | m_Father: {fileID: 2098098882}
637 | m_RootOrder: 1
638 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
639 | m_AnchorMin: {x: 0, y: 0}
640 | m_AnchorMax: {x: 1, y: 1}
641 | m_AnchoredPosition: {x: 0, y: -0.5}
642 | m_SizeDelta: {x: -20, y: -13}
643 | m_Pivot: {x: 0.5, y: 0.5}
644 | --- !u!114 &117483919
645 | MonoBehaviour:
646 | m_ObjectHideFlags: 0
647 | m_CorrespondingSourceObject: {fileID: 0}
648 | m_PrefabInstance: {fileID: 0}
649 | m_PrefabAsset: {fileID: 0}
650 | m_GameObject: {fileID: 117483917}
651 | m_Enabled: 1
652 | m_EditorHideFlags: 0
653 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
654 | m_Name:
655 | m_EditorClassIdentifier:
656 | m_Material: {fileID: 0}
657 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
658 | m_RaycastTarget: 1
659 | m_Maskable: 1
660 | m_OnCullStateChanged:
661 | m_PersistentCalls:
662 | m_Calls: []
663 | m_FontData:
664 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
665 | m_FontSize: 14
666 | m_FontStyle: 0
667 | m_BestFit: 0
668 | m_MinSize: 10
669 | m_MaxSize: 40
670 | m_Alignment: 3
671 | m_AlignByGeometry: 0
672 | m_RichText: 0
673 | m_HorizontalOverflow: 1
674 | m_VerticalOverflow: 0
675 | m_LineSpacing: 1
676 | m_Text:
677 | --- !u!222 &117483920
678 | CanvasRenderer:
679 | m_ObjectHideFlags: 0
680 | m_CorrespondingSourceObject: {fileID: 0}
681 | m_PrefabInstance: {fileID: 0}
682 | m_PrefabAsset: {fileID: 0}
683 | m_GameObject: {fileID: 117483917}
684 | m_CullTransparentMesh: 0
685 | --- !u!1 &129645019
686 | GameObject:
687 | m_ObjectHideFlags: 0
688 | m_CorrespondingSourceObject: {fileID: 0}
689 | m_PrefabInstance: {fileID: 0}
690 | m_PrefabAsset: {fileID: 0}
691 | serializedVersion: 6
692 | m_Component:
693 | - component: {fileID: 129645020}
694 | - component: {fileID: 129645022}
695 | - component: {fileID: 129645021}
696 | m_Layer: 5
697 | m_Name: Placeholder
698 | m_TagString: Untagged
699 | m_Icon: {fileID: 0}
700 | m_NavMeshLayer: 0
701 | m_StaticEditorFlags: 0
702 | m_IsActive: 1
703 | --- !u!224 &129645020
704 | RectTransform:
705 | m_ObjectHideFlags: 0
706 | m_CorrespondingSourceObject: {fileID: 0}
707 | m_PrefabInstance: {fileID: 0}
708 | m_PrefabAsset: {fileID: 0}
709 | m_GameObject: {fileID: 129645019}
710 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
711 | m_LocalPosition: {x: 0, y: 0, z: 0}
712 | m_LocalScale: {x: 1, y: 1, z: 1}
713 | m_Children: []
714 | m_Father: {fileID: 2098098882}
715 | m_RootOrder: 0
716 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
717 | m_AnchorMin: {x: 0, y: 0}
718 | m_AnchorMax: {x: 1, y: 1}
719 | m_AnchoredPosition: {x: 0, y: -0.5}
720 | m_SizeDelta: {x: -20, y: -13}
721 | m_Pivot: {x: 0.5, y: 0.5}
722 | --- !u!114 &129645021
723 | MonoBehaviour:
724 | m_ObjectHideFlags: 0
725 | m_CorrespondingSourceObject: {fileID: 0}
726 | m_PrefabInstance: {fileID: 0}
727 | m_PrefabAsset: {fileID: 0}
728 | m_GameObject: {fileID: 129645019}
729 | m_Enabled: 1
730 | m_EditorHideFlags: 0
731 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
732 | m_Name:
733 | m_EditorClassIdentifier:
734 | m_Material: {fileID: 0}
735 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
736 | m_RaycastTarget: 1
737 | m_Maskable: 1
738 | m_OnCullStateChanged:
739 | m_PersistentCalls:
740 | m_Calls: []
741 | m_FontData:
742 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
743 | m_FontSize: 14
744 | m_FontStyle: 2
745 | m_BestFit: 0
746 | m_MinSize: 10
747 | m_MaxSize: 40
748 | m_Alignment: 3
749 | m_AlignByGeometry: 0
750 | m_RichText: 1
751 | m_HorizontalOverflow: 0
752 | m_VerticalOverflow: 0
753 | m_LineSpacing: 1
754 | m_Text: Enter text...
755 | --- !u!222 &129645022
756 | CanvasRenderer:
757 | m_ObjectHideFlags: 0
758 | m_CorrespondingSourceObject: {fileID: 0}
759 | m_PrefabInstance: {fileID: 0}
760 | m_PrefabAsset: {fileID: 0}
761 | m_GameObject: {fileID: 129645019}
762 | m_CullTransparentMesh: 0
763 | --- !u!1 &198872069
764 | GameObject:
765 | m_ObjectHideFlags: 0
766 | m_CorrespondingSourceObject: {fileID: 0}
767 | m_PrefabInstance: {fileID: 0}
768 | m_PrefabAsset: {fileID: 0}
769 | serializedVersion: 6
770 | m_Component:
771 | - component: {fileID: 198872070}
772 | - component: {fileID: 198872073}
773 | - component: {fileID: 198872072}
774 | - component: {fileID: 198872071}
775 | m_Layer: 5
776 | m_Name: Scrollbar Vertical
777 | m_TagString: Untagged
778 | m_Icon: {fileID: 0}
779 | m_NavMeshLayer: 0
780 | m_StaticEditorFlags: 0
781 | m_IsActive: 1
782 | --- !u!224 &198872070
783 | RectTransform:
784 | m_ObjectHideFlags: 0
785 | m_CorrespondingSourceObject: {fileID: 0}
786 | m_PrefabInstance: {fileID: 0}
787 | m_PrefabAsset: {fileID: 0}
788 | m_GameObject: {fileID: 198872069}
789 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
790 | m_LocalPosition: {x: 0, y: 0, z: 0}
791 | m_LocalScale: {x: 1, y: 1, z: 1}
792 | m_Children:
793 | - {fileID: 447969669}
794 | m_Father: {fileID: 1636111363}
795 | m_RootOrder: 2
796 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
797 | m_AnchorMin: {x: 1, y: 0}
798 | m_AnchorMax: {x: 1, y: 1}
799 | m_AnchoredPosition: {x: 0, y: 0}
800 | m_SizeDelta: {x: 14, y: -17}
801 | m_Pivot: {x: 1, y: 1}
802 | --- !u!114 &198872071
803 | MonoBehaviour:
804 | m_ObjectHideFlags: 0
805 | m_CorrespondingSourceObject: {fileID: 0}
806 | m_PrefabInstance: {fileID: 0}
807 | m_PrefabAsset: {fileID: 0}
808 | m_GameObject: {fileID: 198872069}
809 | m_Enabled: 1
810 | m_EditorHideFlags: 0
811 | m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
812 | m_Name:
813 | m_EditorClassIdentifier:
814 | m_Navigation:
815 | m_Mode: 3
816 | m_SelectOnUp: {fileID: 0}
817 | m_SelectOnDown: {fileID: 0}
818 | m_SelectOnLeft: {fileID: 0}
819 | m_SelectOnRight: {fileID: 0}
820 | m_Transition: 1
821 | m_Colors:
822 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
823 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
824 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
825 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
826 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
827 | m_ColorMultiplier: 1
828 | m_FadeDuration: 0.1
829 | m_SpriteState:
830 | m_HighlightedSprite: {fileID: 0}
831 | m_PressedSprite: {fileID: 0}
832 | m_SelectedSprite: {fileID: 0}
833 | m_DisabledSprite: {fileID: 0}
834 | m_AnimationTriggers:
835 | m_NormalTrigger: Normal
836 | m_HighlightedTrigger: Highlighted
837 | m_PressedTrigger: Pressed
838 | m_SelectedTrigger: Selected
839 | m_DisabledTrigger: Disabled
840 | m_Interactable: 1
841 | m_TargetGraphic: {fileID: 581446574}
842 | m_HandleRect: {fileID: 581446573}
843 | m_Direction: 2
844 | m_Value: 0
845 | m_Size: 1
846 | m_NumberOfSteps: 0
847 | m_OnValueChanged:
848 | m_PersistentCalls:
849 | m_Calls: []
850 | --- !u!114 &198872072
851 | MonoBehaviour:
852 | m_ObjectHideFlags: 0
853 | m_CorrespondingSourceObject: {fileID: 0}
854 | m_PrefabInstance: {fileID: 0}
855 | m_PrefabAsset: {fileID: 0}
856 | m_GameObject: {fileID: 198872069}
857 | m_Enabled: 1
858 | m_EditorHideFlags: 0
859 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
860 | m_Name:
861 | m_EditorClassIdentifier:
862 | m_Material: {fileID: 0}
863 | m_Color: {r: 1, g: 1, b: 1, a: 1}
864 | m_RaycastTarget: 1
865 | m_Maskable: 1
866 | m_OnCullStateChanged:
867 | m_PersistentCalls:
868 | m_Calls: []
869 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
870 | m_Type: 1
871 | m_PreserveAspect: 0
872 | m_FillCenter: 1
873 | m_FillMethod: 4
874 | m_FillAmount: 1
875 | m_FillClockwise: 1
876 | m_FillOrigin: 0
877 | m_UseSpriteMesh: 0
878 | m_PixelsPerUnitMultiplier: 1
879 | --- !u!222 &198872073
880 | CanvasRenderer:
881 | m_ObjectHideFlags: 0
882 | m_CorrespondingSourceObject: {fileID: 0}
883 | m_PrefabInstance: {fileID: 0}
884 | m_PrefabAsset: {fileID: 0}
885 | m_GameObject: {fileID: 198872069}
886 | m_CullTransparentMesh: 0
887 | --- !u!1 &218421682
888 | GameObject:
889 | m_ObjectHideFlags: 0
890 | m_CorrespondingSourceObject: {fileID: 0}
891 | m_PrefabInstance: {fileID: 0}
892 | m_PrefabAsset: {fileID: 0}
893 | serializedVersion: 6
894 | m_Component:
895 | - component: {fileID: 218421683}
896 | - component: {fileID: 218421685}
897 | - component: {fileID: 218421684}
898 | - component: {fileID: 218421686}
899 | m_Layer: 5
900 | m_Name: InputField
901 | m_TagString: Untagged
902 | m_Icon: {fileID: 0}
903 | m_NavMeshLayer: 0
904 | m_StaticEditorFlags: 0
905 | m_IsActive: 1
906 | --- !u!224 &218421683
907 | RectTransform:
908 | m_ObjectHideFlags: 0
909 | m_CorrespondingSourceObject: {fileID: 0}
910 | m_PrefabInstance: {fileID: 0}
911 | m_PrefabAsset: {fileID: 0}
912 | m_GameObject: {fileID: 218421682}
913 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
914 | m_LocalPosition: {x: 0, y: 0, z: 0}
915 | m_LocalScale: {x: 1, y: 1, z: 1}
916 | m_Children:
917 | - {fileID: 1578584002}
918 | - {fileID: 1083526386}
919 | m_Father: {fileID: 246734505}
920 | m_RootOrder: 1
921 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
922 | m_AnchorMin: {x: 0.665, y: 0}
923 | m_AnchorMax: {x: 1, y: 1}
924 | m_AnchoredPosition: {x: 0.23010254, y: 0}
925 | m_SizeDelta: {x: -0.4610672, y: 0}
926 | m_Pivot: {x: 0.5, y: 0.5}
927 | --- !u!114 &218421684
928 | MonoBehaviour:
929 | m_ObjectHideFlags: 0
930 | m_CorrespondingSourceObject: {fileID: 0}
931 | m_PrefabInstance: {fileID: 0}
932 | m_PrefabAsset: {fileID: 0}
933 | m_GameObject: {fileID: 218421682}
934 | m_Enabled: 1
935 | m_EditorHideFlags: 0
936 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
937 | m_Name:
938 | m_EditorClassIdentifier:
939 | m_Material: {fileID: 0}
940 | m_Color: {r: 1, g: 1, b: 1, a: 1}
941 | m_RaycastTarget: 1
942 | m_Maskable: 1
943 | m_OnCullStateChanged:
944 | m_PersistentCalls:
945 | m_Calls: []
946 | m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
947 | m_Type: 1
948 | m_PreserveAspect: 0
949 | m_FillCenter: 1
950 | m_FillMethod: 4
951 | m_FillAmount: 1
952 | m_FillClockwise: 1
953 | m_FillOrigin: 0
954 | m_UseSpriteMesh: 0
955 | m_PixelsPerUnitMultiplier: 1
956 | --- !u!222 &218421685
957 | CanvasRenderer:
958 | m_ObjectHideFlags: 0
959 | m_CorrespondingSourceObject: {fileID: 0}
960 | m_PrefabInstance: {fileID: 0}
961 | m_PrefabAsset: {fileID: 0}
962 | m_GameObject: {fileID: 218421682}
963 | m_CullTransparentMesh: 0
964 | --- !u!114 &218421686
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: 218421682}
971 | m_Enabled: 1
972 | m_EditorHideFlags: 0
973 | m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
974 | m_Name:
975 | m_EditorClassIdentifier:
976 | m_Navigation:
977 | m_Mode: 3
978 | m_SelectOnUp: {fileID: 0}
979 | m_SelectOnDown: {fileID: 0}
980 | m_SelectOnLeft: {fileID: 0}
981 | m_SelectOnRight: {fileID: 0}
982 | m_Transition: 1
983 | m_Colors:
984 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
985 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
986 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
987 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
988 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
989 | m_ColorMultiplier: 1
990 | m_FadeDuration: 0.1
991 | m_SpriteState:
992 | m_HighlightedSprite: {fileID: 0}
993 | m_PressedSprite: {fileID: 0}
994 | m_SelectedSprite: {fileID: 0}
995 | m_DisabledSprite: {fileID: 0}
996 | m_AnimationTriggers:
997 | m_NormalTrigger: Normal
998 | m_HighlightedTrigger: Highlighted
999 | m_PressedTrigger: Pressed
1000 | m_SelectedTrigger: Selected
1001 | m_DisabledTrigger: Disabled
1002 | m_Interactable: 1
1003 | m_TargetGraphic: {fileID: 218421684}
1004 | m_TextComponent: {fileID: 1083526387}
1005 | m_Placeholder: {fileID: 1578584003}
1006 | m_ContentType: 0
1007 | m_InputType: 0
1008 | m_AsteriskChar: 42
1009 | m_KeyboardType: 0
1010 | m_LineType: 0
1011 | m_HideMobileInput: 0
1012 | m_CharacterValidation: 0
1013 | m_CharacterLimit: 0
1014 | m_OnEndEdit:
1015 | m_PersistentCalls:
1016 | m_Calls: []
1017 | m_OnValueChanged:
1018 | m_PersistentCalls:
1019 | m_Calls: []
1020 | m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
1021 | m_CustomCaretColor: 0
1022 | m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
1023 | m_Text:
1024 | m_CaretBlinkRate: 0.85
1025 | m_CaretWidth: 1
1026 | m_ReadOnly: 0
1027 | --- !u!1 &246734504
1028 | GameObject:
1029 | m_ObjectHideFlags: 0
1030 | m_CorrespondingSourceObject: {fileID: 0}
1031 | m_PrefabInstance: {fileID: 0}
1032 | m_PrefabAsset: {fileID: 0}
1033 | serializedVersion: 6
1034 | m_Component:
1035 | - component: {fileID: 246734505}
1036 | m_Layer: 5
1037 | m_Name: SendServer
1038 | m_TagString: Untagged
1039 | m_Icon: {fileID: 0}
1040 | m_NavMeshLayer: 0
1041 | m_StaticEditorFlags: 0
1042 | m_IsActive: 1
1043 | --- !u!224 &246734505
1044 | RectTransform:
1045 | m_ObjectHideFlags: 0
1046 | m_CorrespondingSourceObject: {fileID: 0}
1047 | m_PrefabInstance: {fileID: 0}
1048 | m_PrefabAsset: {fileID: 0}
1049 | m_GameObject: {fileID: 246734504}
1050 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1051 | m_LocalPosition: {x: 0, y: 0, z: 0}
1052 | m_LocalScale: {x: 1, y: 1, z: 1}
1053 | m_Children:
1054 | - {fileID: 17587045}
1055 | - {fileID: 218421683}
1056 | m_Father: {fileID: 53837260}
1057 | m_RootOrder: 1
1058 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1059 | m_AnchorMin: {x: 0, y: 0.3911422}
1060 | m_AnchorMax: {x: 0.9568198, y: 0.5922145}
1061 | m_AnchoredPosition: {x: 0, y: -0.49230957}
1062 | m_SizeDelta: {x: 0, y: 0}
1063 | m_Pivot: {x: 0, y: 0.5}
1064 | --- !u!1 &300588218
1065 | GameObject:
1066 | m_ObjectHideFlags: 0
1067 | m_CorrespondingSourceObject: {fileID: 0}
1068 | m_PrefabInstance: {fileID: 0}
1069 | m_PrefabAsset: {fileID: 0}
1070 | serializedVersion: 6
1071 | m_Component:
1072 | - component: {fileID: 300588219}
1073 | - component: {fileID: 300588221}
1074 | - component: {fileID: 300588220}
1075 | m_Layer: 5
1076 | m_Name: Title
1077 | m_TagString: Untagged
1078 | m_Icon: {fileID: 0}
1079 | m_NavMeshLayer: 0
1080 | m_StaticEditorFlags: 0
1081 | m_IsActive: 1
1082 | --- !u!224 &300588219
1083 | RectTransform:
1084 | m_ObjectHideFlags: 0
1085 | m_CorrespondingSourceObject: {fileID: 0}
1086 | m_PrefabInstance: {fileID: 0}
1087 | m_PrefabAsset: {fileID: 0}
1088 | m_GameObject: {fileID: 300588218}
1089 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1090 | m_LocalPosition: {x: 0, y: 0, z: 0}
1091 | m_LocalScale: {x: 1, y: 1, z: 0}
1092 | m_Children: []
1093 | m_Father: {fileID: 1865169435}
1094 | m_RootOrder: 0
1095 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1096 | m_AnchorMin: {x: 0, y: 0}
1097 | m_AnchorMax: {x: 1, y: 1}
1098 | m_AnchoredPosition: {x: 0, y: 0}
1099 | m_SizeDelta: {x: 0, y: 0}
1100 | m_Pivot: {x: 0.5, y: 0.5}
1101 | --- !u!114 &300588220
1102 | MonoBehaviour:
1103 | m_ObjectHideFlags: 0
1104 | m_CorrespondingSourceObject: {fileID: 0}
1105 | m_PrefabInstance: {fileID: 0}
1106 | m_PrefabAsset: {fileID: 0}
1107 | m_GameObject: {fileID: 300588218}
1108 | m_Enabled: 1
1109 | m_EditorHideFlags: 0
1110 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
1111 | m_Name:
1112 | m_EditorClassIdentifier:
1113 | m_Material: {fileID: 0}
1114 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
1115 | m_RaycastTarget: 1
1116 | m_Maskable: 1
1117 | m_OnCullStateChanged:
1118 | m_PersistentCalls:
1119 | m_Calls: []
1120 | m_FontData:
1121 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
1122 | m_FontSize: 41
1123 | m_FontStyle: 1
1124 | m_BestFit: 0
1125 | m_MinSize: 0
1126 | m_MaxSize: 300
1127 | m_Alignment: 3
1128 | m_AlignByGeometry: 0
1129 | m_RichText: 1
1130 | m_HorizontalOverflow: 0
1131 | m_VerticalOverflow: 1
1132 | m_LineSpacing: 1
1133 | m_Text: CLIENT
1134 | --- !u!222 &300588221
1135 | CanvasRenderer:
1136 | m_ObjectHideFlags: 0
1137 | m_CorrespondingSourceObject: {fileID: 0}
1138 | m_PrefabInstance: {fileID: 0}
1139 | m_PrefabAsset: {fileID: 0}
1140 | m_GameObject: {fileID: 300588218}
1141 | m_CullTransparentMesh: 0
1142 | --- !u!1 &305585435
1143 | GameObject:
1144 | m_ObjectHideFlags: 0
1145 | m_CorrespondingSourceObject: {fileID: 0}
1146 | m_PrefabInstance: {fileID: 0}
1147 | m_PrefabAsset: {fileID: 0}
1148 | serializedVersion: 6
1149 | m_Component:
1150 | - component: {fileID: 305585436}
1151 | m_Layer: 5
1152 | m_Name: Sliding Area
1153 | m_TagString: Untagged
1154 | m_Icon: {fileID: 0}
1155 | m_NavMeshLayer: 0
1156 | m_StaticEditorFlags: 0
1157 | m_IsActive: 1
1158 | --- !u!224 &305585436
1159 | RectTransform:
1160 | m_ObjectHideFlags: 0
1161 | m_CorrespondingSourceObject: {fileID: 0}
1162 | m_PrefabInstance: {fileID: 0}
1163 | m_PrefabAsset: {fileID: 0}
1164 | m_GameObject: {fileID: 305585435}
1165 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1166 | m_LocalPosition: {x: 0, y: 0, z: 0}
1167 | m_LocalScale: {x: 1, y: 1, z: 1}
1168 | m_Children:
1169 | - {fileID: 1147770386}
1170 | m_Father: {fileID: 1649121704}
1171 | m_RootOrder: 0
1172 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1173 | m_AnchorMin: {x: 0, y: 0}
1174 | m_AnchorMax: {x: 1, y: 1}
1175 | m_AnchoredPosition: {x: 0, y: 0}
1176 | m_SizeDelta: {x: -20, y: -20}
1177 | m_Pivot: {x: 0.5, y: 0.5}
1178 | --- !u!1 &325365752
1179 | GameObject:
1180 | m_ObjectHideFlags: 0
1181 | m_CorrespondingSourceObject: {fileID: 0}
1182 | m_PrefabInstance: {fileID: 0}
1183 | m_PrefabAsset: {fileID: 0}
1184 | serializedVersion: 6
1185 | m_Component:
1186 | - component: {fileID: 325365753}
1187 | - component: {fileID: 325365756}
1188 | - component: {fileID: 325365755}
1189 | - component: {fileID: 325365754}
1190 | m_Layer: 5
1191 | m_Name: Viewport
1192 | m_TagString: Untagged
1193 | m_Icon: {fileID: 0}
1194 | m_NavMeshLayer: 0
1195 | m_StaticEditorFlags: 0
1196 | m_IsActive: 1
1197 | --- !u!224 &325365753
1198 | RectTransform:
1199 | m_ObjectHideFlags: 0
1200 | m_CorrespondingSourceObject: {fileID: 0}
1201 | m_PrefabInstance: {fileID: 0}
1202 | m_PrefabAsset: {fileID: 0}
1203 | m_GameObject: {fileID: 325365752}
1204 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1205 | m_LocalPosition: {x: 0, y: 0, z: 0}
1206 | m_LocalScale: {x: 1, y: 1, z: 1}
1207 | m_Children:
1208 | - {fileID: 358682906}
1209 | m_Father: {fileID: 1636111363}
1210 | m_RootOrder: 0
1211 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1212 | m_AnchorMin: {x: 0, y: 0}
1213 | m_AnchorMax: {x: 1, y: 1}
1214 | m_AnchoredPosition: {x: 0, y: 0}
1215 | m_SizeDelta: {x: 0, y: -17}
1216 | m_Pivot: {x: 0, y: 1}
1217 | --- !u!114 &325365754
1218 | MonoBehaviour:
1219 | m_ObjectHideFlags: 0
1220 | m_CorrespondingSourceObject: {fileID: 0}
1221 | m_PrefabInstance: {fileID: 0}
1222 | m_PrefabAsset: {fileID: 0}
1223 | m_GameObject: {fileID: 325365752}
1224 | m_Enabled: 1
1225 | m_EditorHideFlags: 0
1226 | m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
1227 | m_Name:
1228 | m_EditorClassIdentifier:
1229 | m_ShowMaskGraphic: 0
1230 | --- !u!114 &325365755
1231 | MonoBehaviour:
1232 | m_ObjectHideFlags: 0
1233 | m_CorrespondingSourceObject: {fileID: 0}
1234 | m_PrefabInstance: {fileID: 0}
1235 | m_PrefabAsset: {fileID: 0}
1236 | m_GameObject: {fileID: 325365752}
1237 | m_Enabled: 1
1238 | m_EditorHideFlags: 0
1239 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
1240 | m_Name:
1241 | m_EditorClassIdentifier:
1242 | m_Material: {fileID: 0}
1243 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1244 | m_RaycastTarget: 1
1245 | m_Maskable: 1
1246 | m_OnCullStateChanged:
1247 | m_PersistentCalls:
1248 | m_Calls: []
1249 | m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0}
1250 | m_Type: 1
1251 | m_PreserveAspect: 0
1252 | m_FillCenter: 1
1253 | m_FillMethod: 4
1254 | m_FillAmount: 1
1255 | m_FillClockwise: 1
1256 | m_FillOrigin: 0
1257 | m_UseSpriteMesh: 0
1258 | m_PixelsPerUnitMultiplier: 1
1259 | --- !u!222 &325365756
1260 | CanvasRenderer:
1261 | m_ObjectHideFlags: 0
1262 | m_CorrespondingSourceObject: {fileID: 0}
1263 | m_PrefabInstance: {fileID: 0}
1264 | m_PrefabAsset: {fileID: 0}
1265 | m_GameObject: {fileID: 325365752}
1266 | m_CullTransparentMesh: 0
1267 | --- !u!1 &358682905
1268 | GameObject:
1269 | m_ObjectHideFlags: 0
1270 | m_CorrespondingSourceObject: {fileID: 0}
1271 | m_PrefabInstance: {fileID: 0}
1272 | m_PrefabAsset: {fileID: 0}
1273 | serializedVersion: 6
1274 | m_Component:
1275 | - component: {fileID: 358682906}
1276 | - component: {fileID: 358682909}
1277 | - component: {fileID: 358682908}
1278 | - component: {fileID: 358682907}
1279 | m_Layer: 5
1280 | m_Name: Content
1281 | m_TagString: Untagged
1282 | m_Icon: {fileID: 0}
1283 | m_NavMeshLayer: 0
1284 | m_StaticEditorFlags: 0
1285 | m_IsActive: 1
1286 | --- !u!224 &358682906
1287 | RectTransform:
1288 | m_ObjectHideFlags: 0
1289 | m_CorrespondingSourceObject: {fileID: 0}
1290 | m_PrefabInstance: {fileID: 0}
1291 | m_PrefabAsset: {fileID: 0}
1292 | m_GameObject: {fileID: 358682905}
1293 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1294 | m_LocalPosition: {x: 0, y: 0, z: 0}
1295 | m_LocalScale: {x: 1, y: 1, z: 1}
1296 | m_Children: []
1297 | m_Father: {fileID: 325365753}
1298 | m_RootOrder: 0
1299 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1300 | m_AnchorMin: {x: 0, y: 1}
1301 | m_AnchorMax: {x: 0.94649935, y: 1}
1302 | m_AnchoredPosition: {x: 0, y: 0}
1303 | m_SizeDelta: {x: -14.525864, y: 0}
1304 | m_Pivot: {x: 0, y: 1}
1305 | --- !u!114 &358682907
1306 | MonoBehaviour:
1307 | m_ObjectHideFlags: 0
1308 | m_CorrespondingSourceObject: {fileID: 0}
1309 | m_PrefabInstance: {fileID: 0}
1310 | m_PrefabAsset: {fileID: 0}
1311 | m_GameObject: {fileID: 358682905}
1312 | m_Enabled: 1
1313 | m_EditorHideFlags: 0
1314 | m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
1315 | m_Name:
1316 | m_EditorClassIdentifier:
1317 | m_HorizontalFit: 0
1318 | m_VerticalFit: 2
1319 | --- !u!114 &358682908
1320 | MonoBehaviour:
1321 | m_ObjectHideFlags: 0
1322 | m_CorrespondingSourceObject: {fileID: 0}
1323 | m_PrefabInstance: {fileID: 0}
1324 | m_PrefabAsset: {fileID: 0}
1325 | m_GameObject: {fileID: 358682905}
1326 | m_Enabled: 1
1327 | m_EditorHideFlags: 0
1328 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
1329 | m_Name:
1330 | m_EditorClassIdentifier:
1331 | m_Material: {fileID: 0}
1332 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
1333 | m_RaycastTarget: 1
1334 | m_Maskable: 1
1335 | m_OnCullStateChanged:
1336 | m_PersistentCalls:
1337 | m_Calls: []
1338 | m_FontData:
1339 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
1340 | m_FontSize: 14
1341 | m_FontStyle: 0
1342 | m_BestFit: 0
1343 | m_MinSize: 10
1344 | m_MaxSize: 40
1345 | m_Alignment: 0
1346 | m_AlignByGeometry: 0
1347 | m_RichText: 1
1348 | m_HorizontalOverflow: 0
1349 | m_VerticalOverflow: 0
1350 | m_LineSpacing: 1
1351 | m_Text: ' Server Logs:
1352 |
1353 | '
1354 | --- !u!222 &358682909
1355 | CanvasRenderer:
1356 | m_ObjectHideFlags: 0
1357 | m_CorrespondingSourceObject: {fileID: 0}
1358 | m_PrefabInstance: {fileID: 0}
1359 | m_PrefabAsset: {fileID: 0}
1360 | m_GameObject: {fileID: 358682905}
1361 | m_CullTransparentMesh: 0
1362 | --- !u!1 &424903499
1363 | GameObject:
1364 | m_ObjectHideFlags: 0
1365 | m_CorrespondingSourceObject: {fileID: 0}
1366 | m_PrefabInstance: {fileID: 0}
1367 | m_PrefabAsset: {fileID: 0}
1368 | serializedVersion: 6
1369 | m_Component:
1370 | - component: {fileID: 424903501}
1371 | - component: {fileID: 424903500}
1372 | m_Layer: 0
1373 | m_Name: Server
1374 | m_TagString: Untagged
1375 | m_Icon: {fileID: 0}
1376 | m_NavMeshLayer: 0
1377 | m_StaticEditorFlags: 0
1378 | m_IsActive: 1
1379 | --- !u!114 &424903500
1380 | MonoBehaviour:
1381 | m_ObjectHideFlags: 0
1382 | m_CorrespondingSourceObject: {fileID: 0}
1383 | m_PrefabInstance: {fileID: 0}
1384 | m_PrefabAsset: {fileID: 0}
1385 | m_GameObject: {fileID: 424903499}
1386 | m_Enabled: 1
1387 | m_EditorHideFlags: 0
1388 | m_Script: {fileID: 11500000, guid: 86938d8e93081c346bb95b5ed0dc14ce, type: 3}
1389 | m_Name:
1390 | m_EditorClassIdentifier:
1391 | ipAdress: 127.0.0.1
1392 | port: 54010
1393 | waitingMessagesFrequency: 1
1394 | receivingTimeOut: 0
1395 | m_ReceivedMessage:
1396 | m_StartServerButton: {fileID: 1515171188}
1397 | m_SendToClientButton: {fileID: 898017724}
1398 | m_SendToClientInputField: {fileID: 2098098883}
1399 | m_CloseServerButton: {fileID: 1194465309}
1400 | m_ServerLoggerScrollRect: {fileID: 1636111364}
1401 | --- !u!4 &424903501
1402 | Transform:
1403 | m_ObjectHideFlags: 0
1404 | m_CorrespondingSourceObject: {fileID: 0}
1405 | m_PrefabInstance: {fileID: 0}
1406 | m_PrefabAsset: {fileID: 0}
1407 | m_GameObject: {fileID: 424903499}
1408 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1409 | m_LocalPosition: {x: 349.83594, y: 218.61807, z: 0}
1410 | m_LocalScale: {x: 1, y: 1, z: 1}
1411 | m_Children: []
1412 | m_Father: {fileID: 0}
1413 | m_RootOrder: 2
1414 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1415 | --- !u!1 &429689808
1416 | GameObject:
1417 | m_ObjectHideFlags: 0
1418 | m_CorrespondingSourceObject: {fileID: 0}
1419 | m_PrefabInstance: {fileID: 0}
1420 | m_PrefabAsset: {fileID: 0}
1421 | serializedVersion: 6
1422 | m_Component:
1423 | - component: {fileID: 429689809}
1424 | - component: {fileID: 429689811}
1425 | - component: {fileID: 429689810}
1426 | m_Layer: 5
1427 | m_Name: Panel
1428 | m_TagString: Untagged
1429 | m_Icon: {fileID: 0}
1430 | m_NavMeshLayer: 0
1431 | m_StaticEditorFlags: 0
1432 | m_IsActive: 1
1433 | --- !u!224 &429689809
1434 | RectTransform:
1435 | m_ObjectHideFlags: 0
1436 | m_CorrespondingSourceObject: {fileID: 0}
1437 | m_PrefabInstance: {fileID: 0}
1438 | m_PrefabAsset: {fileID: 0}
1439 | m_GameObject: {fileID: 429689808}
1440 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1441 | m_LocalPosition: {x: 0, y: 0, z: 0}
1442 | m_LocalScale: {x: 1, y: 1, z: 0}
1443 | m_Children: []
1444 | m_Father: {fileID: 1591457256}
1445 | m_RootOrder: 0
1446 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1447 | m_AnchorMin: {x: 0, y: 0}
1448 | m_AnchorMax: {x: 1, y: 1}
1449 | m_AnchoredPosition: {x: 0, y: 0}
1450 | m_SizeDelta: {x: 0, y: 0}
1451 | m_Pivot: {x: 0.5, y: 0.5}
1452 | --- !u!114 &429689810
1453 | MonoBehaviour:
1454 | m_ObjectHideFlags: 0
1455 | m_CorrespondingSourceObject: {fileID: 0}
1456 | m_PrefabInstance: {fileID: 0}
1457 | m_PrefabAsset: {fileID: 0}
1458 | m_GameObject: {fileID: 429689808}
1459 | m_Enabled: 1
1460 | m_EditorHideFlags: 0
1461 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
1462 | m_Name:
1463 | m_EditorClassIdentifier:
1464 | m_Material: {fileID: 0}
1465 | m_Color: {r: 0.30588236, g: 0.19215687, b: 0.9254902, a: 0.28627452}
1466 | m_RaycastTarget: 1
1467 | m_Maskable: 1
1468 | m_OnCullStateChanged:
1469 | m_PersistentCalls:
1470 | m_Calls: []
1471 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
1472 | m_Type: 1
1473 | m_PreserveAspect: 0
1474 | m_FillCenter: 1
1475 | m_FillMethod: 4
1476 | m_FillAmount: 1
1477 | m_FillClockwise: 1
1478 | m_FillOrigin: 0
1479 | m_UseSpriteMesh: 0
1480 | m_PixelsPerUnitMultiplier: 1
1481 | --- !u!222 &429689811
1482 | CanvasRenderer:
1483 | m_ObjectHideFlags: 0
1484 | m_CorrespondingSourceObject: {fileID: 0}
1485 | m_PrefabInstance: {fileID: 0}
1486 | m_PrefabAsset: {fileID: 0}
1487 | m_GameObject: {fileID: 429689808}
1488 | m_CullTransparentMesh: 0
1489 | --- !u!1 &447969668
1490 | GameObject:
1491 | m_ObjectHideFlags: 0
1492 | m_CorrespondingSourceObject: {fileID: 0}
1493 | m_PrefabInstance: {fileID: 0}
1494 | m_PrefabAsset: {fileID: 0}
1495 | serializedVersion: 6
1496 | m_Component:
1497 | - component: {fileID: 447969669}
1498 | m_Layer: 5
1499 | m_Name: Sliding Area
1500 | m_TagString: Untagged
1501 | m_Icon: {fileID: 0}
1502 | m_NavMeshLayer: 0
1503 | m_StaticEditorFlags: 0
1504 | m_IsActive: 1
1505 | --- !u!224 &447969669
1506 | RectTransform:
1507 | m_ObjectHideFlags: 0
1508 | m_CorrespondingSourceObject: {fileID: 0}
1509 | m_PrefabInstance: {fileID: 0}
1510 | m_PrefabAsset: {fileID: 0}
1511 | m_GameObject: {fileID: 447969668}
1512 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1513 | m_LocalPosition: {x: 0, y: 0, z: 0}
1514 | m_LocalScale: {x: 1, y: 1, z: 1}
1515 | m_Children:
1516 | - {fileID: 581446573}
1517 | m_Father: {fileID: 198872070}
1518 | m_RootOrder: 0
1519 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1520 | m_AnchorMin: {x: 0, y: 0}
1521 | m_AnchorMax: {x: 1, y: 1}
1522 | m_AnchoredPosition: {x: 0, y: 0}
1523 | m_SizeDelta: {x: -20, y: -20}
1524 | m_Pivot: {x: 0.5, y: 0.5}
1525 | --- !u!1 &520946704
1526 | GameObject:
1527 | m_ObjectHideFlags: 0
1528 | m_CorrespondingSourceObject: {fileID: 0}
1529 | m_PrefabInstance: {fileID: 0}
1530 | m_PrefabAsset: {fileID: 0}
1531 | serializedVersion: 6
1532 | m_Component:
1533 | - component: {fileID: 520946705}
1534 | - component: {fileID: 520946707}
1535 | - component: {fileID: 520946706}
1536 | m_Layer: 5
1537 | m_Name: Text
1538 | m_TagString: Untagged
1539 | m_Icon: {fileID: 0}
1540 | m_NavMeshLayer: 0
1541 | m_StaticEditorFlags: 0
1542 | m_IsActive: 1
1543 | --- !u!224 &520946705
1544 | RectTransform:
1545 | m_ObjectHideFlags: 0
1546 | m_CorrespondingSourceObject: {fileID: 0}
1547 | m_PrefabInstance: {fileID: 0}
1548 | m_PrefabAsset: {fileID: 0}
1549 | m_GameObject: {fileID: 520946704}
1550 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1551 | m_LocalPosition: {x: 0, y: 0, z: 0}
1552 | m_LocalScale: {x: 1, y: 1, z: 1}
1553 | m_Children: []
1554 | m_Father: {fileID: 1194465308}
1555 | m_RootOrder: 0
1556 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1557 | m_AnchorMin: {x: 0, y: 0}
1558 | m_AnchorMax: {x: 1, y: 1}
1559 | m_AnchoredPosition: {x: 0, y: 0}
1560 | m_SizeDelta: {x: 0, y: 0}
1561 | m_Pivot: {x: 0.5, y: 0.5}
1562 | --- !u!114 &520946706
1563 | MonoBehaviour:
1564 | m_ObjectHideFlags: 0
1565 | m_CorrespondingSourceObject: {fileID: 0}
1566 | m_PrefabInstance: {fileID: 0}
1567 | m_PrefabAsset: {fileID: 0}
1568 | m_GameObject: {fileID: 520946704}
1569 | m_Enabled: 1
1570 | m_EditorHideFlags: 0
1571 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
1572 | m_Name:
1573 | m_EditorClassIdentifier:
1574 | m_Material: {fileID: 0}
1575 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
1576 | m_RaycastTarget: 1
1577 | m_Maskable: 1
1578 | m_OnCullStateChanged:
1579 | m_PersistentCalls:
1580 | m_Calls: []
1581 | m_FontData:
1582 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
1583 | m_FontSize: 14
1584 | m_FontStyle: 0
1585 | m_BestFit: 0
1586 | m_MinSize: 10
1587 | m_MaxSize: 40
1588 | m_Alignment: 4
1589 | m_AlignByGeometry: 0
1590 | m_RichText: 1
1591 | m_HorizontalOverflow: 0
1592 | m_VerticalOverflow: 0
1593 | m_LineSpacing: 1
1594 | m_Text: Close Server
1595 | --- !u!222 &520946707
1596 | CanvasRenderer:
1597 | m_ObjectHideFlags: 0
1598 | m_CorrespondingSourceObject: {fileID: 0}
1599 | m_PrefabInstance: {fileID: 0}
1600 | m_PrefabAsset: {fileID: 0}
1601 | m_GameObject: {fileID: 520946704}
1602 | m_CullTransparentMesh: 0
1603 | --- !u!1 &573462074
1604 | GameObject:
1605 | m_ObjectHideFlags: 0
1606 | m_CorrespondingSourceObject: {fileID: 0}
1607 | m_PrefabInstance: {fileID: 0}
1608 | m_PrefabAsset: {fileID: 0}
1609 | serializedVersion: 6
1610 | m_Component:
1611 | - component: {fileID: 573462075}
1612 | - component: {fileID: 573462078}
1613 | - component: {fileID: 573462077}
1614 | - component: {fileID: 573462076}
1615 | m_Layer: 5
1616 | m_Name: Viewport
1617 | m_TagString: Untagged
1618 | m_Icon: {fileID: 0}
1619 | m_NavMeshLayer: 0
1620 | m_StaticEditorFlags: 0
1621 | m_IsActive: 1
1622 | --- !u!224 &573462075
1623 | RectTransform:
1624 | m_ObjectHideFlags: 0
1625 | m_CorrespondingSourceObject: {fileID: 0}
1626 | m_PrefabInstance: {fileID: 0}
1627 | m_PrefabAsset: {fileID: 0}
1628 | m_GameObject: {fileID: 573462074}
1629 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1630 | m_LocalPosition: {x: 0, y: 0, z: 0}
1631 | m_LocalScale: {x: 1, y: 1, z: 1}
1632 | m_Children:
1633 | - {fileID: 1854101312}
1634 | m_Father: {fileID: 1315929537}
1635 | m_RootOrder: 0
1636 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1637 | m_AnchorMin: {x: 0, y: 0}
1638 | m_AnchorMax: {x: 1, y: 1}
1639 | m_AnchoredPosition: {x: 0, y: 0}
1640 | m_SizeDelta: {x: 0, y: -17}
1641 | m_Pivot: {x: 0, y: 1}
1642 | --- !u!114 &573462076
1643 | MonoBehaviour:
1644 | m_ObjectHideFlags: 0
1645 | m_CorrespondingSourceObject: {fileID: 0}
1646 | m_PrefabInstance: {fileID: 0}
1647 | m_PrefabAsset: {fileID: 0}
1648 | m_GameObject: {fileID: 573462074}
1649 | m_Enabled: 1
1650 | m_EditorHideFlags: 0
1651 | m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
1652 | m_Name:
1653 | m_EditorClassIdentifier:
1654 | m_ShowMaskGraphic: 0
1655 | --- !u!114 &573462077
1656 | MonoBehaviour:
1657 | m_ObjectHideFlags: 0
1658 | m_CorrespondingSourceObject: {fileID: 0}
1659 | m_PrefabInstance: {fileID: 0}
1660 | m_PrefabAsset: {fileID: 0}
1661 | m_GameObject: {fileID: 573462074}
1662 | m_Enabled: 1
1663 | m_EditorHideFlags: 0
1664 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
1665 | m_Name:
1666 | m_EditorClassIdentifier:
1667 | m_Material: {fileID: 0}
1668 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1669 | m_RaycastTarget: 1
1670 | m_Maskable: 1
1671 | m_OnCullStateChanged:
1672 | m_PersistentCalls:
1673 | m_Calls: []
1674 | m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0}
1675 | m_Type: 1
1676 | m_PreserveAspect: 0
1677 | m_FillCenter: 1
1678 | m_FillMethod: 4
1679 | m_FillAmount: 1
1680 | m_FillClockwise: 1
1681 | m_FillOrigin: 0
1682 | m_UseSpriteMesh: 0
1683 | m_PixelsPerUnitMultiplier: 1
1684 | --- !u!222 &573462078
1685 | CanvasRenderer:
1686 | m_ObjectHideFlags: 0
1687 | m_CorrespondingSourceObject: {fileID: 0}
1688 | m_PrefabInstance: {fileID: 0}
1689 | m_PrefabAsset: {fileID: 0}
1690 | m_GameObject: {fileID: 573462074}
1691 | m_CullTransparentMesh: 0
1692 | --- !u!1 &577058272
1693 | GameObject:
1694 | m_ObjectHideFlags: 0
1695 | m_CorrespondingSourceObject: {fileID: 0}
1696 | m_PrefabInstance: {fileID: 0}
1697 | m_PrefabAsset: {fileID: 0}
1698 | serializedVersion: 6
1699 | m_Component:
1700 | - component: {fileID: 577058273}
1701 | - component: {fileID: 577058275}
1702 | - component: {fileID: 577058274}
1703 | m_Layer: 5
1704 | m_Name: Panel
1705 | m_TagString: Untagged
1706 | m_Icon: {fileID: 0}
1707 | m_NavMeshLayer: 0
1708 | m_StaticEditorFlags: 0
1709 | m_IsActive: 1
1710 | --- !u!224 &577058273
1711 | RectTransform:
1712 | m_ObjectHideFlags: 0
1713 | m_CorrespondingSourceObject: {fileID: 0}
1714 | m_PrefabInstance: {fileID: 0}
1715 | m_PrefabAsset: {fileID: 0}
1716 | m_GameObject: {fileID: 577058272}
1717 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1718 | m_LocalPosition: {x: 0, y: 0, z: 0}
1719 | m_LocalScale: {x: 1, y: 1, z: 0}
1720 | m_Children: []
1721 | m_Father: {fileID: 2140781251}
1722 | m_RootOrder: 0
1723 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1724 | m_AnchorMin: {x: 0, y: 0}
1725 | m_AnchorMax: {x: 1, y: 1}
1726 | m_AnchoredPosition: {x: 0, y: 0}
1727 | m_SizeDelta: {x: 0, y: 0}
1728 | m_Pivot: {x: 0.5, y: 0.5}
1729 | --- !u!114 &577058274
1730 | MonoBehaviour:
1731 | m_ObjectHideFlags: 0
1732 | m_CorrespondingSourceObject: {fileID: 0}
1733 | m_PrefabInstance: {fileID: 0}
1734 | m_PrefabAsset: {fileID: 0}
1735 | m_GameObject: {fileID: 577058272}
1736 | m_Enabled: 1
1737 | m_EditorHideFlags: 0
1738 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
1739 | m_Name:
1740 | m_EditorClassIdentifier:
1741 | m_Material: {fileID: 0}
1742 | m_Color: {r: 0.30588236, g: 0.19215687, b: 0.9254902, a: 0.28627452}
1743 | m_RaycastTarget: 1
1744 | m_Maskable: 1
1745 | m_OnCullStateChanged:
1746 | m_PersistentCalls:
1747 | m_Calls: []
1748 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
1749 | m_Type: 1
1750 | m_PreserveAspect: 0
1751 | m_FillCenter: 1
1752 | m_FillMethod: 4
1753 | m_FillAmount: 1
1754 | m_FillClockwise: 1
1755 | m_FillOrigin: 0
1756 | m_UseSpriteMesh: 0
1757 | m_PixelsPerUnitMultiplier: 1
1758 | --- !u!222 &577058275
1759 | CanvasRenderer:
1760 | m_ObjectHideFlags: 0
1761 | m_CorrespondingSourceObject: {fileID: 0}
1762 | m_PrefabInstance: {fileID: 0}
1763 | m_PrefabAsset: {fileID: 0}
1764 | m_GameObject: {fileID: 577058272}
1765 | m_CullTransparentMesh: 0
1766 | --- !u!1 &581446572
1767 | GameObject:
1768 | m_ObjectHideFlags: 0
1769 | m_CorrespondingSourceObject: {fileID: 0}
1770 | m_PrefabInstance: {fileID: 0}
1771 | m_PrefabAsset: {fileID: 0}
1772 | serializedVersion: 6
1773 | m_Component:
1774 | - component: {fileID: 581446573}
1775 | - component: {fileID: 581446575}
1776 | - component: {fileID: 581446574}
1777 | m_Layer: 5
1778 | m_Name: Handle
1779 | m_TagString: Untagged
1780 | m_Icon: {fileID: 0}
1781 | m_NavMeshLayer: 0
1782 | m_StaticEditorFlags: 0
1783 | m_IsActive: 1
1784 | --- !u!224 &581446573
1785 | RectTransform:
1786 | m_ObjectHideFlags: 0
1787 | m_CorrespondingSourceObject: {fileID: 0}
1788 | m_PrefabInstance: {fileID: 0}
1789 | m_PrefabAsset: {fileID: 0}
1790 | m_GameObject: {fileID: 581446572}
1791 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1792 | m_LocalPosition: {x: 0, y: 0, z: 0}
1793 | m_LocalScale: {x: 1, y: 1, z: 1}
1794 | m_Children: []
1795 | m_Father: {fileID: 447969669}
1796 | m_RootOrder: 0
1797 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1798 | m_AnchorMin: {x: 0, y: 0}
1799 | m_AnchorMax: {x: 0, y: 0}
1800 | m_AnchoredPosition: {x: 0, y: 0}
1801 | m_SizeDelta: {x: 20, y: 20}
1802 | m_Pivot: {x: 0.5, y: 0.5}
1803 | --- !u!114 &581446574
1804 | MonoBehaviour:
1805 | m_ObjectHideFlags: 0
1806 | m_CorrespondingSourceObject: {fileID: 0}
1807 | m_PrefabInstance: {fileID: 0}
1808 | m_PrefabAsset: {fileID: 0}
1809 | m_GameObject: {fileID: 581446572}
1810 | m_Enabled: 1
1811 | m_EditorHideFlags: 0
1812 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
1813 | m_Name:
1814 | m_EditorClassIdentifier:
1815 | m_Material: {fileID: 0}
1816 | m_Color: {r: 1, g: 1, b: 1, a: 1}
1817 | m_RaycastTarget: 1
1818 | m_Maskable: 1
1819 | m_OnCullStateChanged:
1820 | m_PersistentCalls:
1821 | m_Calls: []
1822 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
1823 | m_Type: 1
1824 | m_PreserveAspect: 0
1825 | m_FillCenter: 1
1826 | m_FillMethod: 4
1827 | m_FillAmount: 1
1828 | m_FillClockwise: 1
1829 | m_FillOrigin: 0
1830 | m_UseSpriteMesh: 0
1831 | m_PixelsPerUnitMultiplier: 1
1832 | --- !u!222 &581446575
1833 | CanvasRenderer:
1834 | m_ObjectHideFlags: 0
1835 | m_CorrespondingSourceObject: {fileID: 0}
1836 | m_PrefabInstance: {fileID: 0}
1837 | m_PrefabAsset: {fileID: 0}
1838 | m_GameObject: {fileID: 581446572}
1839 | m_CullTransparentMesh: 0
1840 | --- !u!1 &641806908
1841 | GameObject:
1842 | m_ObjectHideFlags: 0
1843 | m_CorrespondingSourceObject: {fileID: 0}
1844 | m_PrefabInstance: {fileID: 0}
1845 | m_PrefabAsset: {fileID: 0}
1846 | serializedVersion: 6
1847 | m_Component:
1848 | - component: {fileID: 641806909}
1849 | - component: {fileID: 641806912}
1850 | - component: {fileID: 641806911}
1851 | - component: {fileID: 641806910}
1852 | m_Layer: 5
1853 | m_Name: Canvas
1854 | m_TagString: Untagged
1855 | m_Icon: {fileID: 0}
1856 | m_NavMeshLayer: 0
1857 | m_StaticEditorFlags: 0
1858 | m_IsActive: 1
1859 | --- !u!224 &641806909
1860 | RectTransform:
1861 | m_ObjectHideFlags: 0
1862 | m_CorrespondingSourceObject: {fileID: 0}
1863 | m_PrefabInstance: {fileID: 0}
1864 | m_PrefabAsset: {fileID: 0}
1865 | m_GameObject: {fileID: 641806908}
1866 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
1867 | m_LocalPosition: {x: 0, y: 0, z: 0}
1868 | m_LocalScale: {x: 0, y: 0, z: 0}
1869 | m_Children:
1870 | - {fileID: 1342787545}
1871 | - {fileID: 1697541020}
1872 | m_Father: {fileID: 0}
1873 | m_RootOrder: 1
1874 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1875 | m_AnchorMin: {x: 0, y: 0}
1876 | m_AnchorMax: {x: 0, y: 0}
1877 | m_AnchoredPosition: {x: 0, y: 0}
1878 | m_SizeDelta: {x: 0, y: 0}
1879 | m_Pivot: {x: 0, y: 0}
1880 | --- !u!114 &641806910
1881 | MonoBehaviour:
1882 | m_ObjectHideFlags: 0
1883 | m_CorrespondingSourceObject: {fileID: 0}
1884 | m_PrefabInstance: {fileID: 0}
1885 | m_PrefabAsset: {fileID: 0}
1886 | m_GameObject: {fileID: 641806908}
1887 | m_Enabled: 1
1888 | m_EditorHideFlags: 0
1889 | m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
1890 | m_Name:
1891 | m_EditorClassIdentifier:
1892 | m_IgnoreReversedGraphics: 1
1893 | m_BlockingObjects: 0
1894 | m_BlockingMask:
1895 | serializedVersion: 2
1896 | m_Bits: 4294967295
1897 | --- !u!114 &641806911
1898 | MonoBehaviour:
1899 | m_ObjectHideFlags: 0
1900 | m_CorrespondingSourceObject: {fileID: 0}
1901 | m_PrefabInstance: {fileID: 0}
1902 | m_PrefabAsset: {fileID: 0}
1903 | m_GameObject: {fileID: 641806908}
1904 | m_Enabled: 1
1905 | m_EditorHideFlags: 0
1906 | m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
1907 | m_Name:
1908 | m_EditorClassIdentifier:
1909 | m_UiScaleMode: 0
1910 | m_ReferencePixelsPerUnit: 100
1911 | m_ScaleFactor: 1
1912 | m_ReferenceResolution: {x: 800, y: 600}
1913 | m_ScreenMatchMode: 0
1914 | m_MatchWidthOrHeight: 0
1915 | m_PhysicalUnit: 3
1916 | m_FallbackScreenDPI: 96
1917 | m_DefaultSpriteDPI: 96
1918 | m_DynamicPixelsPerUnit: 1
1919 | --- !u!223 &641806912
1920 | Canvas:
1921 | m_ObjectHideFlags: 0
1922 | m_CorrespondingSourceObject: {fileID: 0}
1923 | m_PrefabInstance: {fileID: 0}
1924 | m_PrefabAsset: {fileID: 0}
1925 | m_GameObject: {fileID: 641806908}
1926 | m_Enabled: 1
1927 | serializedVersion: 3
1928 | m_RenderMode: 0
1929 | m_Camera: {fileID: 0}
1930 | m_PlaneDistance: 100
1931 | m_PixelPerfect: 0
1932 | m_ReceivesEvents: 1
1933 | m_OverrideSorting: 0
1934 | m_OverridePixelPerfect: 0
1935 | m_SortingBucketNormalizedSize: 0
1936 | m_AdditionalShaderChannelsFlag: 0
1937 | m_SortingLayerID: 0
1938 | m_SortingOrder: 0
1939 | m_TargetDisplay: 0
1940 | --- !u!1 &644992237
1941 | GameObject:
1942 | m_ObjectHideFlags: 0
1943 | m_CorrespondingSourceObject: {fileID: 0}
1944 | m_PrefabInstance: {fileID: 0}
1945 | m_PrefabAsset: {fileID: 0}
1946 | serializedVersion: 6
1947 | m_Component:
1948 | - component: {fileID: 644992238}
1949 | - component: {fileID: 644992240}
1950 | - component: {fileID: 644992239}
1951 | m_Layer: 5
1952 | m_Name: Title
1953 | m_TagString: Untagged
1954 | m_Icon: {fileID: 0}
1955 | m_NavMeshLayer: 0
1956 | m_StaticEditorFlags: 0
1957 | m_IsActive: 1
1958 | --- !u!224 &644992238
1959 | RectTransform:
1960 | m_ObjectHideFlags: 0
1961 | m_CorrespondingSourceObject: {fileID: 0}
1962 | m_PrefabInstance: {fileID: 0}
1963 | m_PrefabAsset: {fileID: 0}
1964 | m_GameObject: {fileID: 644992237}
1965 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
1966 | m_LocalPosition: {x: 0, y: 0, z: 0}
1967 | m_LocalScale: {x: 1, y: 1, z: 0}
1968 | m_Children: []
1969 | m_Father: {fileID: 1485788382}
1970 | m_RootOrder: 0
1971 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
1972 | m_AnchorMin: {x: 0, y: 0}
1973 | m_AnchorMax: {x: 1, y: 1}
1974 | m_AnchoredPosition: {x: 0, y: 0}
1975 | m_SizeDelta: {x: 0, y: 0}
1976 | m_Pivot: {x: 0.5, y: 0.5}
1977 | --- !u!114 &644992239
1978 | MonoBehaviour:
1979 | m_ObjectHideFlags: 0
1980 | m_CorrespondingSourceObject: {fileID: 0}
1981 | m_PrefabInstance: {fileID: 0}
1982 | m_PrefabAsset: {fileID: 0}
1983 | m_GameObject: {fileID: 644992237}
1984 | m_Enabled: 1
1985 | m_EditorHideFlags: 0
1986 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
1987 | m_Name:
1988 | m_EditorClassIdentifier:
1989 | m_Material: {fileID: 0}
1990 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
1991 | m_RaycastTarget: 1
1992 | m_Maskable: 1
1993 | m_OnCullStateChanged:
1994 | m_PersistentCalls:
1995 | m_Calls: []
1996 | m_FontData:
1997 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
1998 | m_FontSize: 41
1999 | m_FontStyle: 1
2000 | m_BestFit: 0
2001 | m_MinSize: 0
2002 | m_MaxSize: 300
2003 | m_Alignment: 3
2004 | m_AlignByGeometry: 0
2005 | m_RichText: 1
2006 | m_HorizontalOverflow: 0
2007 | m_VerticalOverflow: 1
2008 | m_LineSpacing: 1
2009 | m_Text: SERVER
2010 | --- !u!222 &644992240
2011 | CanvasRenderer:
2012 | m_ObjectHideFlags: 0
2013 | m_CorrespondingSourceObject: {fileID: 0}
2014 | m_PrefabInstance: {fileID: 0}
2015 | m_PrefabAsset: {fileID: 0}
2016 | m_GameObject: {fileID: 644992237}
2017 | m_CullTransparentMesh: 0
2018 | --- !u!1 &668147666
2019 | GameObject:
2020 | m_ObjectHideFlags: 0
2021 | m_CorrespondingSourceObject: {fileID: 0}
2022 | m_PrefabInstance: {fileID: 0}
2023 | m_PrefabAsset: {fileID: 0}
2024 | serializedVersion: 6
2025 | m_Component:
2026 | - component: {fileID: 668147667}
2027 | - component: {fileID: 668147669}
2028 | - component: {fileID: 668147668}
2029 | m_Layer: 5
2030 | m_Name: Text
2031 | m_TagString: Untagged
2032 | m_Icon: {fileID: 0}
2033 | m_NavMeshLayer: 0
2034 | m_StaticEditorFlags: 0
2035 | m_IsActive: 1
2036 | --- !u!224 &668147667
2037 | RectTransform:
2038 | m_ObjectHideFlags: 0
2039 | m_CorrespondingSourceObject: {fileID: 0}
2040 | m_PrefabInstance: {fileID: 0}
2041 | m_PrefabAsset: {fileID: 0}
2042 | m_GameObject: {fileID: 668147666}
2043 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
2044 | m_LocalPosition: {x: 0, y: 0, z: 0}
2045 | m_LocalScale: {x: 1, y: 1, z: 1}
2046 | m_Children: []
2047 | m_Father: {fileID: 1515171187}
2048 | m_RootOrder: 0
2049 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2050 | m_AnchorMin: {x: 0, y: 0}
2051 | m_AnchorMax: {x: 1, y: 1}
2052 | m_AnchoredPosition: {x: 0, y: 0}
2053 | m_SizeDelta: {x: 0, y: 0}
2054 | m_Pivot: {x: 0.5, y: 0.5}
2055 | --- !u!114 &668147668
2056 | MonoBehaviour:
2057 | m_ObjectHideFlags: 0
2058 | m_CorrespondingSourceObject: {fileID: 0}
2059 | m_PrefabInstance: {fileID: 0}
2060 | m_PrefabAsset: {fileID: 0}
2061 | m_GameObject: {fileID: 668147666}
2062 | m_Enabled: 1
2063 | m_EditorHideFlags: 0
2064 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
2065 | m_Name:
2066 | m_EditorClassIdentifier:
2067 | m_Material: {fileID: 0}
2068 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
2069 | m_RaycastTarget: 1
2070 | m_Maskable: 1
2071 | m_OnCullStateChanged:
2072 | m_PersistentCalls:
2073 | m_Calls: []
2074 | m_FontData:
2075 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
2076 | m_FontSize: 14
2077 | m_FontStyle: 0
2078 | m_BestFit: 0
2079 | m_MinSize: 10
2080 | m_MaxSize: 40
2081 | m_Alignment: 4
2082 | m_AlignByGeometry: 0
2083 | m_RichText: 1
2084 | m_HorizontalOverflow: 0
2085 | m_VerticalOverflow: 0
2086 | m_LineSpacing: 1
2087 | m_Text: Start Server
2088 | --- !u!222 &668147669
2089 | CanvasRenderer:
2090 | m_ObjectHideFlags: 0
2091 | m_CorrespondingSourceObject: {fileID: 0}
2092 | m_PrefabInstance: {fileID: 0}
2093 | m_PrefabAsset: {fileID: 0}
2094 | m_GameObject: {fileID: 668147666}
2095 | m_CullTransparentMesh: 0
2096 | --- !u!1 &711561144
2097 | GameObject:
2098 | m_ObjectHideFlags: 0
2099 | m_CorrespondingSourceObject: {fileID: 0}
2100 | m_PrefabInstance: {fileID: 0}
2101 | m_PrefabAsset: {fileID: 0}
2102 | serializedVersion: 6
2103 | m_Component:
2104 | - component: {fileID: 711561145}
2105 | - component: {fileID: 711561147}
2106 | - component: {fileID: 711561146}
2107 | m_Layer: 5
2108 | m_Name: Text
2109 | m_TagString: Untagged
2110 | m_Icon: {fileID: 0}
2111 | m_NavMeshLayer: 0
2112 | m_StaticEditorFlags: 0
2113 | m_IsActive: 1
2114 | --- !u!224 &711561145
2115 | RectTransform:
2116 | m_ObjectHideFlags: 0
2117 | m_CorrespondingSourceObject: {fileID: 0}
2118 | m_PrefabInstance: {fileID: 0}
2119 | m_PrefabAsset: {fileID: 0}
2120 | m_GameObject: {fileID: 711561144}
2121 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
2122 | m_LocalPosition: {x: 0, y: 0, z: 0}
2123 | m_LocalScale: {x: 1, y: 1, z: 1}
2124 | m_Children: []
2125 | m_Father: {fileID: 17587045}
2126 | m_RootOrder: 0
2127 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2128 | m_AnchorMin: {x: 0, y: 0}
2129 | m_AnchorMax: {x: 1, y: 1}
2130 | m_AnchoredPosition: {x: 0, y: 0}
2131 | m_SizeDelta: {x: 0, y: 0}
2132 | m_Pivot: {x: 0.5, y: 0.5}
2133 | --- !u!114 &711561146
2134 | MonoBehaviour:
2135 | m_ObjectHideFlags: 0
2136 | m_CorrespondingSourceObject: {fileID: 0}
2137 | m_PrefabInstance: {fileID: 0}
2138 | m_PrefabAsset: {fileID: 0}
2139 | m_GameObject: {fileID: 711561144}
2140 | m_Enabled: 1
2141 | m_EditorHideFlags: 0
2142 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
2143 | m_Name:
2144 | m_EditorClassIdentifier:
2145 | m_Material: {fileID: 0}
2146 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
2147 | m_RaycastTarget: 1
2148 | m_Maskable: 1
2149 | m_OnCullStateChanged:
2150 | m_PersistentCalls:
2151 | m_Calls: []
2152 | m_FontData:
2153 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
2154 | m_FontSize: 14
2155 | m_FontStyle: 0
2156 | m_BestFit: 0
2157 | m_MinSize: 10
2158 | m_MaxSize: 40
2159 | m_Alignment: 4
2160 | m_AlignByGeometry: 0
2161 | m_RichText: 1
2162 | m_HorizontalOverflow: 0
2163 | m_VerticalOverflow: 0
2164 | m_LineSpacing: 1
2165 | m_Text: Send to Server
2166 | --- !u!222 &711561147
2167 | CanvasRenderer:
2168 | m_ObjectHideFlags: 0
2169 | m_CorrespondingSourceObject: {fileID: 0}
2170 | m_PrefabInstance: {fileID: 0}
2171 | m_PrefabAsset: {fileID: 0}
2172 | m_GameObject: {fileID: 711561144}
2173 | m_CullTransparentMesh: 0
2174 | --- !u!1 &826585011
2175 | GameObject:
2176 | m_ObjectHideFlags: 0
2177 | m_CorrespondingSourceObject: {fileID: 0}
2178 | m_PrefabInstance: {fileID: 0}
2179 | m_PrefabAsset: {fileID: 0}
2180 | serializedVersion: 6
2181 | m_Component:
2182 | - component: {fileID: 826585012}
2183 | - component: {fileID: 826585014}
2184 | - component: {fileID: 826585013}
2185 | m_Layer: 5
2186 | m_Name: Text
2187 | m_TagString: Untagged
2188 | m_Icon: {fileID: 0}
2189 | m_NavMeshLayer: 0
2190 | m_StaticEditorFlags: 0
2191 | m_IsActive: 1
2192 | --- !u!224 &826585012
2193 | RectTransform:
2194 | m_ObjectHideFlags: 0
2195 | m_CorrespondingSourceObject: {fileID: 0}
2196 | m_PrefabInstance: {fileID: 0}
2197 | m_PrefabAsset: {fileID: 0}
2198 | m_GameObject: {fileID: 826585011}
2199 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
2200 | m_LocalPosition: {x: 0, y: 0, z: 0}
2201 | m_LocalScale: {x: 1, y: 1, z: 1}
2202 | m_Children: []
2203 | m_Father: {fileID: 1165316074}
2204 | m_RootOrder: 0
2205 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2206 | m_AnchorMin: {x: 0, y: 0}
2207 | m_AnchorMax: {x: 1, y: 1}
2208 | m_AnchoredPosition: {x: 0, y: 0}
2209 | m_SizeDelta: {x: 0, y: 0}
2210 | m_Pivot: {x: 0.5, y: 0.5}
2211 | --- !u!114 &826585013
2212 | MonoBehaviour:
2213 | m_ObjectHideFlags: 0
2214 | m_CorrespondingSourceObject: {fileID: 0}
2215 | m_PrefabInstance: {fileID: 0}
2216 | m_PrefabAsset: {fileID: 0}
2217 | m_GameObject: {fileID: 826585011}
2218 | m_Enabled: 1
2219 | m_EditorHideFlags: 0
2220 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
2221 | m_Name:
2222 | m_EditorClassIdentifier:
2223 | m_Material: {fileID: 0}
2224 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
2225 | m_RaycastTarget: 1
2226 | m_Maskable: 1
2227 | m_OnCullStateChanged:
2228 | m_PersistentCalls:
2229 | m_Calls: []
2230 | m_FontData:
2231 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
2232 | m_FontSize: 14
2233 | m_FontStyle: 0
2234 | m_BestFit: 0
2235 | m_MinSize: 10
2236 | m_MaxSize: 40
2237 | m_Alignment: 4
2238 | m_AlignByGeometry: 0
2239 | m_RichText: 1
2240 | m_HorizontalOverflow: 0
2241 | m_VerticalOverflow: 0
2242 | m_LineSpacing: 1
2243 | m_Text: Start Client
2244 | --- !u!222 &826585014
2245 | CanvasRenderer:
2246 | m_ObjectHideFlags: 0
2247 | m_CorrespondingSourceObject: {fileID: 0}
2248 | m_PrefabInstance: {fileID: 0}
2249 | m_PrefabAsset: {fileID: 0}
2250 | m_GameObject: {fileID: 826585011}
2251 | m_CullTransparentMesh: 0
2252 | --- !u!1 &898017722
2253 | GameObject:
2254 | m_ObjectHideFlags: 0
2255 | m_CorrespondingSourceObject: {fileID: 0}
2256 | m_PrefabInstance: {fileID: 0}
2257 | m_PrefabAsset: {fileID: 0}
2258 | serializedVersion: 6
2259 | m_Component:
2260 | - component: {fileID: 898017723}
2261 | - component: {fileID: 898017726}
2262 | - component: {fileID: 898017725}
2263 | - component: {fileID: 898017724}
2264 | m_Layer: 5
2265 | m_Name: SendClient_btn
2266 | m_TagString: Untagged
2267 | m_Icon: {fileID: 0}
2268 | m_NavMeshLayer: 0
2269 | m_StaticEditorFlags: 0
2270 | m_IsActive: 1
2271 | --- !u!224 &898017723
2272 | RectTransform:
2273 | m_ObjectHideFlags: 0
2274 | m_CorrespondingSourceObject: {fileID: 0}
2275 | m_PrefabInstance: {fileID: 0}
2276 | m_PrefabAsset: {fileID: 0}
2277 | m_GameObject: {fileID: 898017722}
2278 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
2279 | m_LocalPosition: {x: 0, y: 0, z: 0}
2280 | m_LocalScale: {x: 1, y: 1, z: 1}
2281 | m_Children:
2282 | - {fileID: 1126948796}
2283 | m_Father: {fileID: 2095598110}
2284 | m_RootOrder: 0
2285 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2286 | m_AnchorMin: {x: 0, y: 0}
2287 | m_AnchorMax: {x: 0.665, y: 1}
2288 | m_AnchoredPosition: {x: 0, y: 0.24658966}
2289 | m_SizeDelta: {x: 0, y: -0.3257923}
2290 | m_Pivot: {x: 0, y: 0.5}
2291 | --- !u!114 &898017724
2292 | MonoBehaviour:
2293 | m_ObjectHideFlags: 0
2294 | m_CorrespondingSourceObject: {fileID: 0}
2295 | m_PrefabInstance: {fileID: 0}
2296 | m_PrefabAsset: {fileID: 0}
2297 | m_GameObject: {fileID: 898017722}
2298 | m_Enabled: 1
2299 | m_EditorHideFlags: 0
2300 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
2301 | m_Name:
2302 | m_EditorClassIdentifier:
2303 | m_Navigation:
2304 | m_Mode: 3
2305 | m_SelectOnUp: {fileID: 0}
2306 | m_SelectOnDown: {fileID: 0}
2307 | m_SelectOnLeft: {fileID: 0}
2308 | m_SelectOnRight: {fileID: 0}
2309 | m_Transition: 1
2310 | m_Colors:
2311 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
2312 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
2313 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
2314 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
2315 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
2316 | m_ColorMultiplier: 1
2317 | m_FadeDuration: 0.1
2318 | m_SpriteState:
2319 | m_HighlightedSprite: {fileID: 0}
2320 | m_PressedSprite: {fileID: 0}
2321 | m_SelectedSprite: {fileID: 0}
2322 | m_DisabledSprite: {fileID: 0}
2323 | m_AnimationTriggers:
2324 | m_NormalTrigger: Normal
2325 | m_HighlightedTrigger: Highlighted
2326 | m_PressedTrigger: Pressed
2327 | m_SelectedTrigger: Highlighted
2328 | m_DisabledTrigger: Disabled
2329 | m_Interactable: 1
2330 | m_TargetGraphic: {fileID: 898017725}
2331 | m_OnClick:
2332 | m_PersistentCalls:
2333 | m_Calls:
2334 | - m_Target: {fileID: 424903499}
2335 | m_MethodName:
2336 | m_Mode: 1
2337 | m_Arguments:
2338 | m_ObjectArgument: {fileID: 0}
2339 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
2340 | m_IntArgument: 0
2341 | m_FloatArgument: 0
2342 | m_StringArgument:
2343 | m_BoolArgument: 0
2344 | m_CallState: 2
2345 | --- !u!114 &898017725
2346 | MonoBehaviour:
2347 | m_ObjectHideFlags: 0
2348 | m_CorrespondingSourceObject: {fileID: 0}
2349 | m_PrefabInstance: {fileID: 0}
2350 | m_PrefabAsset: {fileID: 0}
2351 | m_GameObject: {fileID: 898017722}
2352 | m_Enabled: 1
2353 | m_EditorHideFlags: 0
2354 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
2355 | m_Name:
2356 | m_EditorClassIdentifier:
2357 | m_Material: {fileID: 0}
2358 | m_Color: {r: 1, g: 1, b: 1, a: 1}
2359 | m_RaycastTarget: 1
2360 | m_Maskable: 1
2361 | m_OnCullStateChanged:
2362 | m_PersistentCalls:
2363 | m_Calls: []
2364 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
2365 | m_Type: 1
2366 | m_PreserveAspect: 0
2367 | m_FillCenter: 1
2368 | m_FillMethod: 4
2369 | m_FillAmount: 1
2370 | m_FillClockwise: 1
2371 | m_FillOrigin: 0
2372 | m_UseSpriteMesh: 0
2373 | m_PixelsPerUnitMultiplier: 1
2374 | --- !u!222 &898017726
2375 | CanvasRenderer:
2376 | m_ObjectHideFlags: 0
2377 | m_CorrespondingSourceObject: {fileID: 0}
2378 | m_PrefabInstance: {fileID: 0}
2379 | m_PrefabAsset: {fileID: 0}
2380 | m_GameObject: {fileID: 898017722}
2381 | m_CullTransparentMesh: 0
2382 | --- !u!1 &983091627
2383 | GameObject:
2384 | m_ObjectHideFlags: 0
2385 | m_CorrespondingSourceObject: {fileID: 0}
2386 | m_PrefabInstance: {fileID: 0}
2387 | m_PrefabAsset: {fileID: 0}
2388 | serializedVersion: 6
2389 | m_Component:
2390 | - component: {fileID: 983091628}
2391 | m_Layer: 5
2392 | m_Name: Buttons
2393 | m_TagString: Untagged
2394 | m_Icon: {fileID: 0}
2395 | m_NavMeshLayer: 0
2396 | m_StaticEditorFlags: 0
2397 | m_IsActive: 1
2398 | --- !u!224 &983091628
2399 | RectTransform:
2400 | m_ObjectHideFlags: 0
2401 | m_CorrespondingSourceObject: {fileID: 0}
2402 | m_PrefabInstance: {fileID: 0}
2403 | m_PrefabAsset: {fileID: 0}
2404 | m_GameObject: {fileID: 983091627}
2405 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
2406 | m_LocalPosition: {x: 0, y: 0, z: 0}
2407 | m_LocalScale: {x: 1, y: 1, z: 1}
2408 | m_Children:
2409 | - {fileID: 1515171187}
2410 | - {fileID: 2095598110}
2411 | - {fileID: 1194465308}
2412 | m_Father: {fileID: 1342787545}
2413 | m_RootOrder: 1
2414 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2415 | m_AnchorMin: {x: 0, y: 0.705105}
2416 | m_AnchorMax: {x: 1, y: 0.92254853}
2417 | m_AnchoredPosition: {x: 0, y: 0}
2418 | m_SizeDelta: {x: 0, y: 0}
2419 | m_Pivot: {x: 0.5, y: 0.5}
2420 | --- !u!1 &1012370945
2421 | GameObject:
2422 | m_ObjectHideFlags: 0
2423 | m_CorrespondingSourceObject: {fileID: 0}
2424 | m_PrefabInstance: {fileID: 0}
2425 | m_PrefabAsset: {fileID: 0}
2426 | serializedVersion: 6
2427 | m_Component:
2428 | - component: {fileID: 1012370947}
2429 | - component: {fileID: 1012370949}
2430 | - component: {fileID: 1012370948}
2431 | - component: {fileID: 1012370946}
2432 | m_Layer: 5
2433 | m_Name: Scrollbar Vertical
2434 | m_TagString: Untagged
2435 | m_Icon: {fileID: 0}
2436 | m_NavMeshLayer: 0
2437 | m_StaticEditorFlags: 0
2438 | m_IsActive: 1
2439 | --- !u!114 &1012370946
2440 | MonoBehaviour:
2441 | m_ObjectHideFlags: 0
2442 | m_CorrespondingSourceObject: {fileID: 0}
2443 | m_PrefabInstance: {fileID: 0}
2444 | m_PrefabAsset: {fileID: 0}
2445 | m_GameObject: {fileID: 1012370945}
2446 | m_Enabled: 1
2447 | m_EditorHideFlags: 0
2448 | m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
2449 | m_Name:
2450 | m_EditorClassIdentifier:
2451 | m_Navigation:
2452 | m_Mode: 3
2453 | m_SelectOnUp: {fileID: 0}
2454 | m_SelectOnDown: {fileID: 0}
2455 | m_SelectOnLeft: {fileID: 0}
2456 | m_SelectOnRight: {fileID: 0}
2457 | m_Transition: 1
2458 | m_Colors:
2459 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
2460 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
2461 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
2462 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
2463 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
2464 | m_ColorMultiplier: 1
2465 | m_FadeDuration: 0.1
2466 | m_SpriteState:
2467 | m_HighlightedSprite: {fileID: 0}
2468 | m_PressedSprite: {fileID: 0}
2469 | m_SelectedSprite: {fileID: 0}
2470 | m_DisabledSprite: {fileID: 0}
2471 | m_AnimationTriggers:
2472 | m_NormalTrigger: Normal
2473 | m_HighlightedTrigger: Highlighted
2474 | m_PressedTrigger: Pressed
2475 | m_SelectedTrigger: Selected
2476 | m_DisabledTrigger: Disabled
2477 | m_Interactable: 1
2478 | m_TargetGraphic: {fileID: 1576023167}
2479 | m_HandleRect: {fileID: 1576023165}
2480 | m_Direction: 2
2481 | m_Value: 0
2482 | m_Size: 1
2483 | m_NumberOfSteps: 0
2484 | m_OnValueChanged:
2485 | m_PersistentCalls:
2486 | m_Calls: []
2487 | --- !u!224 &1012370947
2488 | RectTransform:
2489 | m_ObjectHideFlags: 0
2490 | m_CorrespondingSourceObject: {fileID: 0}
2491 | m_PrefabInstance: {fileID: 0}
2492 | m_PrefabAsset: {fileID: 0}
2493 | m_GameObject: {fileID: 1012370945}
2494 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
2495 | m_LocalPosition: {x: 0, y: 0, z: 0}
2496 | m_LocalScale: {x: 1, y: 1, z: 1}
2497 | m_Children:
2498 | - {fileID: 1619757866}
2499 | m_Father: {fileID: 1315929537}
2500 | m_RootOrder: 2
2501 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2502 | m_AnchorMin: {x: 1, y: 0}
2503 | m_AnchorMax: {x: 1, y: 1}
2504 | m_AnchoredPosition: {x: 0, y: 0}
2505 | m_SizeDelta: {x: 14, y: -17}
2506 | m_Pivot: {x: 1, y: 1}
2507 | --- !u!114 &1012370948
2508 | MonoBehaviour:
2509 | m_ObjectHideFlags: 0
2510 | m_CorrespondingSourceObject: {fileID: 0}
2511 | m_PrefabInstance: {fileID: 0}
2512 | m_PrefabAsset: {fileID: 0}
2513 | m_GameObject: {fileID: 1012370945}
2514 | m_Enabled: 1
2515 | m_EditorHideFlags: 0
2516 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
2517 | m_Name:
2518 | m_EditorClassIdentifier:
2519 | m_Material: {fileID: 0}
2520 | m_Color: {r: 1, g: 1, b: 1, a: 1}
2521 | m_RaycastTarget: 1
2522 | m_Maskable: 1
2523 | m_OnCullStateChanged:
2524 | m_PersistentCalls:
2525 | m_Calls: []
2526 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
2527 | m_Type: 1
2528 | m_PreserveAspect: 0
2529 | m_FillCenter: 1
2530 | m_FillMethod: 4
2531 | m_FillAmount: 1
2532 | m_FillClockwise: 1
2533 | m_FillOrigin: 0
2534 | m_UseSpriteMesh: 0
2535 | m_PixelsPerUnitMultiplier: 1
2536 | --- !u!222 &1012370949
2537 | CanvasRenderer:
2538 | m_ObjectHideFlags: 0
2539 | m_CorrespondingSourceObject: {fileID: 0}
2540 | m_PrefabInstance: {fileID: 0}
2541 | m_PrefabAsset: {fileID: 0}
2542 | m_GameObject: {fileID: 1012370945}
2543 | m_CullTransparentMesh: 0
2544 | --- !u!1 &1032946123
2545 | GameObject:
2546 | m_ObjectHideFlags: 0
2547 | m_CorrespondingSourceObject: {fileID: 0}
2548 | m_PrefabInstance: {fileID: 0}
2549 | m_PrefabAsset: {fileID: 0}
2550 | serializedVersion: 6
2551 | m_Component:
2552 | - component: {fileID: 1032946125}
2553 | - component: {fileID: 1032946124}
2554 | m_Layer: 0
2555 | m_Name: Client
2556 | m_TagString: Untagged
2557 | m_Icon: {fileID: 0}
2558 | m_NavMeshLayer: 0
2559 | m_StaticEditorFlags: 0
2560 | m_IsActive: 1
2561 | --- !u!114 &1032946124
2562 | MonoBehaviour:
2563 | m_ObjectHideFlags: 0
2564 | m_CorrespondingSourceObject: {fileID: 0}
2565 | m_PrefabInstance: {fileID: 0}
2566 | m_PrefabAsset: {fileID: 0}
2567 | m_GameObject: {fileID: 1032946123}
2568 | m_Enabled: 1
2569 | m_EditorHideFlags: 0
2570 | m_Script: {fileID: 11500000, guid: b7335399a3425ee4998f08ce9a7d87e2, type: 3}
2571 | m_Name:
2572 | m_EditorClassIdentifier:
2573 | ipAdress: 127.0.0.1
2574 | port: 54010
2575 | waitingMessagesFrequency: 1
2576 | m_StartClientButton: {fileID: 1165316077}
2577 | m_SendToServerButton: {fileID: 17587048}
2578 | m_SendToServerInputField: {fileID: 218421686}
2579 | m_SendCloseButton: {fileID: 1467206379}
2580 | m_ClientLoggerScrollRect: {fileID: 1315929536}
2581 | --- !u!4 &1032946125
2582 | Transform:
2583 | m_ObjectHideFlags: 0
2584 | m_CorrespondingSourceObject: {fileID: 0}
2585 | m_PrefabInstance: {fileID: 0}
2586 | m_PrefabAsset: {fileID: 0}
2587 | m_GameObject: {fileID: 1032946123}
2588 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
2589 | m_LocalPosition: {x: 349.83594, y: 218.61807, z: 0}
2590 | m_LocalScale: {x: 1, y: 1, z: 1}
2591 | m_Children: []
2592 | m_Father: {fileID: 0}
2593 | m_RootOrder: 3
2594 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2595 | --- !u!1 &1083526385
2596 | GameObject:
2597 | m_ObjectHideFlags: 0
2598 | m_CorrespondingSourceObject: {fileID: 0}
2599 | m_PrefabInstance: {fileID: 0}
2600 | m_PrefabAsset: {fileID: 0}
2601 | serializedVersion: 6
2602 | m_Component:
2603 | - component: {fileID: 1083526386}
2604 | - component: {fileID: 1083526388}
2605 | - component: {fileID: 1083526387}
2606 | m_Layer: 5
2607 | m_Name: Text
2608 | m_TagString: Untagged
2609 | m_Icon: {fileID: 0}
2610 | m_NavMeshLayer: 0
2611 | m_StaticEditorFlags: 0
2612 | m_IsActive: 1
2613 | --- !u!224 &1083526386
2614 | RectTransform:
2615 | m_ObjectHideFlags: 0
2616 | m_CorrespondingSourceObject: {fileID: 0}
2617 | m_PrefabInstance: {fileID: 0}
2618 | m_PrefabAsset: {fileID: 0}
2619 | m_GameObject: {fileID: 1083526385}
2620 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
2621 | m_LocalPosition: {x: 0, y: 0, z: 0}
2622 | m_LocalScale: {x: 1, y: 1, z: 1}
2623 | m_Children: []
2624 | m_Father: {fileID: 218421683}
2625 | m_RootOrder: 1
2626 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2627 | m_AnchorMin: {x: 0, y: 0}
2628 | m_AnchorMax: {x: 1, y: 1}
2629 | m_AnchoredPosition: {x: 0, y: -0.5}
2630 | m_SizeDelta: {x: -20, y: -13}
2631 | m_Pivot: {x: 0.5, y: 0.5}
2632 | --- !u!114 &1083526387
2633 | MonoBehaviour:
2634 | m_ObjectHideFlags: 0
2635 | m_CorrespondingSourceObject: {fileID: 0}
2636 | m_PrefabInstance: {fileID: 0}
2637 | m_PrefabAsset: {fileID: 0}
2638 | m_GameObject: {fileID: 1083526385}
2639 | m_Enabled: 1
2640 | m_EditorHideFlags: 0
2641 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
2642 | m_Name:
2643 | m_EditorClassIdentifier:
2644 | m_Material: {fileID: 0}
2645 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
2646 | m_RaycastTarget: 1
2647 | m_Maskable: 1
2648 | m_OnCullStateChanged:
2649 | m_PersistentCalls:
2650 | m_Calls: []
2651 | m_FontData:
2652 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
2653 | m_FontSize: 14
2654 | m_FontStyle: 0
2655 | m_BestFit: 0
2656 | m_MinSize: 10
2657 | m_MaxSize: 40
2658 | m_Alignment: 3
2659 | m_AlignByGeometry: 0
2660 | m_RichText: 0
2661 | m_HorizontalOverflow: 1
2662 | m_VerticalOverflow: 0
2663 | m_LineSpacing: 1
2664 | m_Text:
2665 | --- !u!222 &1083526388
2666 | CanvasRenderer:
2667 | m_ObjectHideFlags: 0
2668 | m_CorrespondingSourceObject: {fileID: 0}
2669 | m_PrefabInstance: {fileID: 0}
2670 | m_PrefabAsset: {fileID: 0}
2671 | m_GameObject: {fileID: 1083526385}
2672 | m_CullTransparentMesh: 0
2673 | --- !u!1 &1126948795
2674 | GameObject:
2675 | m_ObjectHideFlags: 0
2676 | m_CorrespondingSourceObject: {fileID: 0}
2677 | m_PrefabInstance: {fileID: 0}
2678 | m_PrefabAsset: {fileID: 0}
2679 | serializedVersion: 6
2680 | m_Component:
2681 | - component: {fileID: 1126948796}
2682 | - component: {fileID: 1126948798}
2683 | - component: {fileID: 1126948797}
2684 | m_Layer: 5
2685 | m_Name: Text
2686 | m_TagString: Untagged
2687 | m_Icon: {fileID: 0}
2688 | m_NavMeshLayer: 0
2689 | m_StaticEditorFlags: 0
2690 | m_IsActive: 1
2691 | --- !u!224 &1126948796
2692 | RectTransform:
2693 | m_ObjectHideFlags: 0
2694 | m_CorrespondingSourceObject: {fileID: 0}
2695 | m_PrefabInstance: {fileID: 0}
2696 | m_PrefabAsset: {fileID: 0}
2697 | m_GameObject: {fileID: 1126948795}
2698 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
2699 | m_LocalPosition: {x: 0, y: 0, z: 0}
2700 | m_LocalScale: {x: 1, y: 1, z: 1}
2701 | m_Children: []
2702 | m_Father: {fileID: 898017723}
2703 | m_RootOrder: 0
2704 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2705 | m_AnchorMin: {x: 0, y: 0}
2706 | m_AnchorMax: {x: 1, y: 1}
2707 | m_AnchoredPosition: {x: 0, y: 0}
2708 | m_SizeDelta: {x: 0, y: 0}
2709 | m_Pivot: {x: 0.5, y: 0.5}
2710 | --- !u!114 &1126948797
2711 | MonoBehaviour:
2712 | m_ObjectHideFlags: 0
2713 | m_CorrespondingSourceObject: {fileID: 0}
2714 | m_PrefabInstance: {fileID: 0}
2715 | m_PrefabAsset: {fileID: 0}
2716 | m_GameObject: {fileID: 1126948795}
2717 | m_Enabled: 1
2718 | m_EditorHideFlags: 0
2719 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
2720 | m_Name:
2721 | m_EditorClassIdentifier:
2722 | m_Material: {fileID: 0}
2723 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
2724 | m_RaycastTarget: 1
2725 | m_Maskable: 1
2726 | m_OnCullStateChanged:
2727 | m_PersistentCalls:
2728 | m_Calls: []
2729 | m_FontData:
2730 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
2731 | m_FontSize: 14
2732 | m_FontStyle: 0
2733 | m_BestFit: 0
2734 | m_MinSize: 10
2735 | m_MaxSize: 40
2736 | m_Alignment: 4
2737 | m_AlignByGeometry: 0
2738 | m_RichText: 1
2739 | m_HorizontalOverflow: 0
2740 | m_VerticalOverflow: 0
2741 | m_LineSpacing: 1
2742 | m_Text: Send to Client
2743 | --- !u!222 &1126948798
2744 | CanvasRenderer:
2745 | m_ObjectHideFlags: 0
2746 | m_CorrespondingSourceObject: {fileID: 0}
2747 | m_PrefabInstance: {fileID: 0}
2748 | m_PrefabAsset: {fileID: 0}
2749 | m_GameObject: {fileID: 1126948795}
2750 | m_CullTransparentMesh: 0
2751 | --- !u!1 &1147770385
2752 | GameObject:
2753 | m_ObjectHideFlags: 0
2754 | m_CorrespondingSourceObject: {fileID: 0}
2755 | m_PrefabInstance: {fileID: 0}
2756 | m_PrefabAsset: {fileID: 0}
2757 | serializedVersion: 6
2758 | m_Component:
2759 | - component: {fileID: 1147770386}
2760 | - component: {fileID: 1147770388}
2761 | - component: {fileID: 1147770387}
2762 | m_Layer: 5
2763 | m_Name: Handle
2764 | m_TagString: Untagged
2765 | m_Icon: {fileID: 0}
2766 | m_NavMeshLayer: 0
2767 | m_StaticEditorFlags: 0
2768 | m_IsActive: 1
2769 | --- !u!224 &1147770386
2770 | RectTransform:
2771 | m_ObjectHideFlags: 0
2772 | m_CorrespondingSourceObject: {fileID: 0}
2773 | m_PrefabInstance: {fileID: 0}
2774 | m_PrefabAsset: {fileID: 0}
2775 | m_GameObject: {fileID: 1147770385}
2776 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
2777 | m_LocalPosition: {x: 0, y: 0, z: 0}
2778 | m_LocalScale: {x: 1, y: 1, z: 1}
2779 | m_Children: []
2780 | m_Father: {fileID: 305585436}
2781 | m_RootOrder: 0
2782 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2783 | m_AnchorMin: {x: 0, y: 0}
2784 | m_AnchorMax: {x: 0, y: 0}
2785 | m_AnchoredPosition: {x: 0, y: 0}
2786 | m_SizeDelta: {x: 20, y: 20}
2787 | m_Pivot: {x: 0.5, y: 0.5}
2788 | --- !u!114 &1147770387
2789 | MonoBehaviour:
2790 | m_ObjectHideFlags: 0
2791 | m_CorrespondingSourceObject: {fileID: 0}
2792 | m_PrefabInstance: {fileID: 0}
2793 | m_PrefabAsset: {fileID: 0}
2794 | m_GameObject: {fileID: 1147770385}
2795 | m_Enabled: 1
2796 | m_EditorHideFlags: 0
2797 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
2798 | m_Name:
2799 | m_EditorClassIdentifier:
2800 | m_Material: {fileID: 0}
2801 | m_Color: {r: 1, g: 1, b: 1, a: 1}
2802 | m_RaycastTarget: 1
2803 | m_Maskable: 1
2804 | m_OnCullStateChanged:
2805 | m_PersistentCalls:
2806 | m_Calls: []
2807 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
2808 | m_Type: 1
2809 | m_PreserveAspect: 0
2810 | m_FillCenter: 1
2811 | m_FillMethod: 4
2812 | m_FillAmount: 1
2813 | m_FillClockwise: 1
2814 | m_FillOrigin: 0
2815 | m_UseSpriteMesh: 0
2816 | m_PixelsPerUnitMultiplier: 1
2817 | --- !u!222 &1147770388
2818 | CanvasRenderer:
2819 | m_ObjectHideFlags: 0
2820 | m_CorrespondingSourceObject: {fileID: 0}
2821 | m_PrefabInstance: {fileID: 0}
2822 | m_PrefabAsset: {fileID: 0}
2823 | m_GameObject: {fileID: 1147770385}
2824 | m_CullTransparentMesh: 0
2825 | --- !u!1 &1165316073
2826 | GameObject:
2827 | m_ObjectHideFlags: 0
2828 | m_CorrespondingSourceObject: {fileID: 0}
2829 | m_PrefabInstance: {fileID: 0}
2830 | m_PrefabAsset: {fileID: 0}
2831 | serializedVersion: 6
2832 | m_Component:
2833 | - component: {fileID: 1165316074}
2834 | - component: {fileID: 1165316076}
2835 | - component: {fileID: 1165316075}
2836 | - component: {fileID: 1165316077}
2837 | m_Layer: 5
2838 | m_Name: StartClient_btn
2839 | m_TagString: Untagged
2840 | m_Icon: {fileID: 0}
2841 | m_NavMeshLayer: 0
2842 | m_StaticEditorFlags: 0
2843 | m_IsActive: 1
2844 | --- !u!224 &1165316074
2845 | RectTransform:
2846 | m_ObjectHideFlags: 0
2847 | m_CorrespondingSourceObject: {fileID: 0}
2848 | m_PrefabInstance: {fileID: 0}
2849 | m_PrefabAsset: {fileID: 0}
2850 | m_GameObject: {fileID: 1165316073}
2851 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
2852 | m_LocalPosition: {x: 0, y: 0, z: 0}
2853 | m_LocalScale: {x: 1, y: 1, z: 1}
2854 | m_Children:
2855 | - {fileID: 826585012}
2856 | m_Father: {fileID: 53837260}
2857 | m_RootOrder: 0
2858 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2859 | m_AnchorMin: {x: 0, y: 0.6267855}
2860 | m_AnchorMax: {x: 0.6303359, y: 0.82364357}
2861 | m_AnchoredPosition: {x: 0, y: 0.0076904297}
2862 | m_SizeDelta: {x: 1, y: 1}
2863 | m_Pivot: {x: 0, y: 0.5}
2864 | --- !u!114 &1165316075
2865 | MonoBehaviour:
2866 | m_ObjectHideFlags: 0
2867 | m_CorrespondingSourceObject: {fileID: 0}
2868 | m_PrefabInstance: {fileID: 0}
2869 | m_PrefabAsset: {fileID: 0}
2870 | m_GameObject: {fileID: 1165316073}
2871 | m_Enabled: 1
2872 | m_EditorHideFlags: 0
2873 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
2874 | m_Name:
2875 | m_EditorClassIdentifier:
2876 | m_Material: {fileID: 0}
2877 | m_Color: {r: 1, g: 1, b: 1, a: 1}
2878 | m_RaycastTarget: 1
2879 | m_Maskable: 1
2880 | m_OnCullStateChanged:
2881 | m_PersistentCalls:
2882 | m_Calls: []
2883 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
2884 | m_Type: 1
2885 | m_PreserveAspect: 0
2886 | m_FillCenter: 1
2887 | m_FillMethod: 4
2888 | m_FillAmount: 1
2889 | m_FillClockwise: 1
2890 | m_FillOrigin: 0
2891 | m_UseSpriteMesh: 0
2892 | m_PixelsPerUnitMultiplier: 1
2893 | --- !u!222 &1165316076
2894 | CanvasRenderer:
2895 | m_ObjectHideFlags: 0
2896 | m_CorrespondingSourceObject: {fileID: 0}
2897 | m_PrefabInstance: {fileID: 0}
2898 | m_PrefabAsset: {fileID: 0}
2899 | m_GameObject: {fileID: 1165316073}
2900 | m_CullTransparentMesh: 0
2901 | --- !u!114 &1165316077
2902 | MonoBehaviour:
2903 | m_ObjectHideFlags: 0
2904 | m_CorrespondingSourceObject: {fileID: 0}
2905 | m_PrefabInstance: {fileID: 0}
2906 | m_PrefabAsset: {fileID: 0}
2907 | m_GameObject: {fileID: 1165316073}
2908 | m_Enabled: 1
2909 | m_EditorHideFlags: 0
2910 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
2911 | m_Name:
2912 | m_EditorClassIdentifier:
2913 | m_Navigation:
2914 | m_Mode: 3
2915 | m_SelectOnUp: {fileID: 0}
2916 | m_SelectOnDown: {fileID: 0}
2917 | m_SelectOnLeft: {fileID: 0}
2918 | m_SelectOnRight: {fileID: 0}
2919 | m_Transition: 1
2920 | m_Colors:
2921 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
2922 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
2923 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
2924 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
2925 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
2926 | m_ColorMultiplier: 1
2927 | m_FadeDuration: 0.1
2928 | m_SpriteState:
2929 | m_HighlightedSprite: {fileID: 0}
2930 | m_PressedSprite: {fileID: 0}
2931 | m_SelectedSprite: {fileID: 0}
2932 | m_DisabledSprite: {fileID: 0}
2933 | m_AnimationTriggers:
2934 | m_NormalTrigger: Normal
2935 | m_HighlightedTrigger: Highlighted
2936 | m_PressedTrigger: Pressed
2937 | m_SelectedTrigger: Highlighted
2938 | m_DisabledTrigger: Disabled
2939 | m_Interactable: 1
2940 | m_TargetGraphic: {fileID: 1165316075}
2941 | m_OnClick:
2942 | m_PersistentCalls:
2943 | m_Calls:
2944 | - m_Target: {fileID: 424903499}
2945 | m_MethodName:
2946 | m_Mode: 1
2947 | m_Arguments:
2948 | m_ObjectArgument: {fileID: 0}
2949 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
2950 | m_IntArgument: 0
2951 | m_FloatArgument: 0
2952 | m_StringArgument:
2953 | m_BoolArgument: 0
2954 | m_CallState: 2
2955 | --- !u!1 &1194465307
2956 | GameObject:
2957 | m_ObjectHideFlags: 0
2958 | m_CorrespondingSourceObject: {fileID: 0}
2959 | m_PrefabInstance: {fileID: 0}
2960 | m_PrefabAsset: {fileID: 0}
2961 | serializedVersion: 6
2962 | m_Component:
2963 | - component: {fileID: 1194465308}
2964 | - component: {fileID: 1194465311}
2965 | - component: {fileID: 1194465310}
2966 | - component: {fileID: 1194465309}
2967 | m_Layer: 5
2968 | m_Name: CloseServer_btn
2969 | m_TagString: Untagged
2970 | m_Icon: {fileID: 0}
2971 | m_NavMeshLayer: 0
2972 | m_StaticEditorFlags: 0
2973 | m_IsActive: 1
2974 | --- !u!224 &1194465308
2975 | RectTransform:
2976 | m_ObjectHideFlags: 0
2977 | m_CorrespondingSourceObject: {fileID: 0}
2978 | m_PrefabInstance: {fileID: 0}
2979 | m_PrefabAsset: {fileID: 0}
2980 | m_GameObject: {fileID: 1194465307}
2981 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
2982 | m_LocalPosition: {x: 0, y: 0, z: 0}
2983 | m_LocalScale: {x: 1, y: 1, z: 1}
2984 | m_Children:
2985 | - {fileID: 520946705}
2986 | m_Father: {fileID: 983091628}
2987 | m_RootOrder: 2
2988 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
2989 | m_AnchorMin: {x: 0, y: 0.16035663}
2990 | m_AnchorMax: {x: 0.63467103, y: 0.36400002}
2991 | m_AnchoredPosition: {x: 0, y: 0.5076904}
2992 | m_SizeDelta: {x: 0, y: 0}
2993 | m_Pivot: {x: 0, y: 0.5}
2994 | --- !u!114 &1194465309
2995 | MonoBehaviour:
2996 | m_ObjectHideFlags: 0
2997 | m_CorrespondingSourceObject: {fileID: 0}
2998 | m_PrefabInstance: {fileID: 0}
2999 | m_PrefabAsset: {fileID: 0}
3000 | m_GameObject: {fileID: 1194465307}
3001 | m_Enabled: 1
3002 | m_EditorHideFlags: 0
3003 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
3004 | m_Name:
3005 | m_EditorClassIdentifier:
3006 | m_Navigation:
3007 | m_Mode: 3
3008 | m_SelectOnUp: {fileID: 0}
3009 | m_SelectOnDown: {fileID: 0}
3010 | m_SelectOnLeft: {fileID: 0}
3011 | m_SelectOnRight: {fileID: 0}
3012 | m_Transition: 1
3013 | m_Colors:
3014 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
3015 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
3016 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
3017 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
3018 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
3019 | m_ColorMultiplier: 1
3020 | m_FadeDuration: 0.1
3021 | m_SpriteState:
3022 | m_HighlightedSprite: {fileID: 0}
3023 | m_PressedSprite: {fileID: 0}
3024 | m_SelectedSprite: {fileID: 0}
3025 | m_DisabledSprite: {fileID: 0}
3026 | m_AnimationTriggers:
3027 | m_NormalTrigger: Normal
3028 | m_HighlightedTrigger: Highlighted
3029 | m_PressedTrigger: Pressed
3030 | m_SelectedTrigger: Highlighted
3031 | m_DisabledTrigger: Disabled
3032 | m_Interactable: 1
3033 | m_TargetGraphic: {fileID: 1194465310}
3034 | m_OnClick:
3035 | m_PersistentCalls:
3036 | m_Calls:
3037 | - m_Target: {fileID: 0}
3038 | m_MethodName: CloseServer
3039 | m_Mode: 1
3040 | m_Arguments:
3041 | m_ObjectArgument: {fileID: 0}
3042 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
3043 | m_IntArgument: 0
3044 | m_FloatArgument: 0
3045 | m_StringArgument:
3046 | m_BoolArgument: 0
3047 | m_CallState: 2
3048 | --- !u!114 &1194465310
3049 | MonoBehaviour:
3050 | m_ObjectHideFlags: 0
3051 | m_CorrespondingSourceObject: {fileID: 0}
3052 | m_PrefabInstance: {fileID: 0}
3053 | m_PrefabAsset: {fileID: 0}
3054 | m_GameObject: {fileID: 1194465307}
3055 | m_Enabled: 1
3056 | m_EditorHideFlags: 0
3057 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
3058 | m_Name:
3059 | m_EditorClassIdentifier:
3060 | m_Material: {fileID: 0}
3061 | m_Color: {r: 1, g: 1, b: 1, a: 1}
3062 | m_RaycastTarget: 1
3063 | m_Maskable: 1
3064 | m_OnCullStateChanged:
3065 | m_PersistentCalls:
3066 | m_Calls: []
3067 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
3068 | m_Type: 1
3069 | m_PreserveAspect: 0
3070 | m_FillCenter: 1
3071 | m_FillMethod: 4
3072 | m_FillAmount: 1
3073 | m_FillClockwise: 1
3074 | m_FillOrigin: 0
3075 | m_UseSpriteMesh: 0
3076 | m_PixelsPerUnitMultiplier: 1
3077 | --- !u!222 &1194465311
3078 | CanvasRenderer:
3079 | m_ObjectHideFlags: 0
3080 | m_CorrespondingSourceObject: {fileID: 0}
3081 | m_PrefabInstance: {fileID: 0}
3082 | m_PrefabAsset: {fileID: 0}
3083 | m_GameObject: {fileID: 1194465307}
3084 | m_CullTransparentMesh: 0
3085 | --- !u!1 &1315929535
3086 | GameObject:
3087 | m_ObjectHideFlags: 0
3088 | m_CorrespondingSourceObject: {fileID: 0}
3089 | m_PrefabInstance: {fileID: 0}
3090 | m_PrefabAsset: {fileID: 0}
3091 | serializedVersion: 6
3092 | m_Component:
3093 | - component: {fileID: 1315929537}
3094 | - component: {fileID: 1315929538}
3095 | - component: {fileID: 1315929536}
3096 | m_Layer: 5
3097 | m_Name: Scroll View
3098 | m_TagString: Untagged
3099 | m_Icon: {fileID: 0}
3100 | m_NavMeshLayer: 0
3101 | m_StaticEditorFlags: 0
3102 | m_IsActive: 1
3103 | --- !u!114 &1315929536
3104 | MonoBehaviour:
3105 | m_ObjectHideFlags: 0
3106 | m_CorrespondingSourceObject: {fileID: 0}
3107 | m_PrefabInstance: {fileID: 0}
3108 | m_PrefabAsset: {fileID: 0}
3109 | m_GameObject: {fileID: 1315929535}
3110 | m_Enabled: 1
3111 | m_EditorHideFlags: 0
3112 | m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
3113 | m_Name:
3114 | m_EditorClassIdentifier:
3115 | m_Content: {fileID: 1854101312}
3116 | m_Horizontal: 0
3117 | m_Vertical: 1
3118 | m_MovementType: 1
3119 | m_Elasticity: 0.1
3120 | m_Inertia: 1
3121 | m_DecelerationRate: 0.135
3122 | m_ScrollSensitivity: 1
3123 | m_Viewport: {fileID: 573462075}
3124 | m_HorizontalScrollbar: {fileID: 93246479}
3125 | m_VerticalScrollbar: {fileID: 1012370946}
3126 | m_HorizontalScrollbarVisibility: 1
3127 | m_VerticalScrollbarVisibility: 1
3128 | m_HorizontalScrollbarSpacing: -3
3129 | m_VerticalScrollbarSpacing: -3
3130 | m_OnValueChanged:
3131 | m_PersistentCalls:
3132 | m_Calls: []
3133 | --- !u!224 &1315929537
3134 | RectTransform:
3135 | m_ObjectHideFlags: 0
3136 | m_CorrespondingSourceObject: {fileID: 0}
3137 | m_PrefabInstance: {fileID: 0}
3138 | m_PrefabAsset: {fileID: 0}
3139 | m_GameObject: {fileID: 1315929535}
3140 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
3141 | m_LocalPosition: {x: 0, y: 0, z: 0}
3142 | m_LocalScale: {x: 1, y: 1, z: 1}
3143 | m_Children:
3144 | - {fileID: 573462075}
3145 | - {fileID: 93246476}
3146 | - {fileID: 1012370947}
3147 | m_Father: {fileID: 1591457256}
3148 | m_RootOrder: 1
3149 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
3150 | m_AnchorMin: {x: 0, y: 0}
3151 | m_AnchorMax: {x: 1, y: 1}
3152 | m_AnchoredPosition: {x: 5, y: -4.9999695}
3153 | m_SizeDelta: {x: -9.999985, y: -10}
3154 | m_Pivot: {x: 0.5, y: 0.5}
3155 | --- !u!222 &1315929538
3156 | CanvasRenderer:
3157 | m_ObjectHideFlags: 0
3158 | m_CorrespondingSourceObject: {fileID: 0}
3159 | m_PrefabInstance: {fileID: 0}
3160 | m_PrefabAsset: {fileID: 0}
3161 | m_GameObject: {fileID: 1315929535}
3162 | m_CullTransparentMesh: 0
3163 | --- !u!1 &1342787544
3164 | GameObject:
3165 | m_ObjectHideFlags: 0
3166 | m_CorrespondingSourceObject: {fileID: 0}
3167 | m_PrefabInstance: {fileID: 0}
3168 | m_PrefabAsset: {fileID: 0}
3169 | serializedVersion: 6
3170 | m_Component:
3171 | - component: {fileID: 1342787545}
3172 | m_Layer: 5
3173 | m_Name: Server_UI
3174 | m_TagString: Untagged
3175 | m_Icon: {fileID: 0}
3176 | m_NavMeshLayer: 0
3177 | m_StaticEditorFlags: 0
3178 | m_IsActive: 1
3179 | --- !u!224 &1342787545
3180 | RectTransform:
3181 | m_ObjectHideFlags: 0
3182 | m_CorrespondingSourceObject: {fileID: 0}
3183 | m_PrefabInstance: {fileID: 0}
3184 | m_PrefabAsset: {fileID: 0}
3185 | m_GameObject: {fileID: 1342787544}
3186 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
3187 | m_LocalPosition: {x: 0, y: 0, z: 0}
3188 | m_LocalScale: {x: 1, y: 1, z: 1}
3189 | m_Children:
3190 | - {fileID: 1485788382}
3191 | - {fileID: 983091628}
3192 | - {fileID: 2140781251}
3193 | m_Father: {fileID: 641806909}
3194 | m_RootOrder: 0
3195 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
3196 | m_AnchorMin: {x: 0, y: 0}
3197 | m_AnchorMax: {x: 0.5, y: 1}
3198 | m_AnchoredPosition: {x: 0.5, y: 0}
3199 | m_SizeDelta: {x: -1, y: 0}
3200 | m_Pivot: {x: 0.5, y: 0.5}
3201 | --- !u!1 &1387791853
3202 | GameObject:
3203 | m_ObjectHideFlags: 0
3204 | m_CorrespondingSourceObject: {fileID: 0}
3205 | m_PrefabInstance: {fileID: 0}
3206 | m_PrefabAsset: {fileID: 0}
3207 | serializedVersion: 6
3208 | m_Component:
3209 | - component: {fileID: 1387791854}
3210 | - component: {fileID: 1387791856}
3211 | - component: {fileID: 1387791855}
3212 | m_Layer: 5
3213 | m_Name: Handle
3214 | m_TagString: Untagged
3215 | m_Icon: {fileID: 0}
3216 | m_NavMeshLayer: 0
3217 | m_StaticEditorFlags: 0
3218 | m_IsActive: 1
3219 | --- !u!224 &1387791854
3220 | RectTransform:
3221 | m_ObjectHideFlags: 0
3222 | m_CorrespondingSourceObject: {fileID: 0}
3223 | m_PrefabInstance: {fileID: 0}
3224 | m_PrefabAsset: {fileID: 0}
3225 | m_GameObject: {fileID: 1387791853}
3226 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
3227 | m_LocalPosition: {x: 0, y: 0, z: 0}
3228 | m_LocalScale: {x: 1, y: 1, z: 1}
3229 | m_Children: []
3230 | m_Father: {fileID: 2089604401}
3231 | m_RootOrder: 0
3232 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
3233 | m_AnchorMin: {x: 0, y: 0}
3234 | m_AnchorMax: {x: 0, y: 0}
3235 | m_AnchoredPosition: {x: 0, y: 0}
3236 | m_SizeDelta: {x: 20, y: 20}
3237 | m_Pivot: {x: 0.5, y: 0.5}
3238 | --- !u!114 &1387791855
3239 | MonoBehaviour:
3240 | m_ObjectHideFlags: 0
3241 | m_CorrespondingSourceObject: {fileID: 0}
3242 | m_PrefabInstance: {fileID: 0}
3243 | m_PrefabAsset: {fileID: 0}
3244 | m_GameObject: {fileID: 1387791853}
3245 | m_Enabled: 1
3246 | m_EditorHideFlags: 0
3247 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
3248 | m_Name:
3249 | m_EditorClassIdentifier:
3250 | m_Material: {fileID: 0}
3251 | m_Color: {r: 1, g: 1, b: 1, a: 1}
3252 | m_RaycastTarget: 1
3253 | m_Maskable: 1
3254 | m_OnCullStateChanged:
3255 | m_PersistentCalls:
3256 | m_Calls: []
3257 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
3258 | m_Type: 1
3259 | m_PreserveAspect: 0
3260 | m_FillCenter: 1
3261 | m_FillMethod: 4
3262 | m_FillAmount: 1
3263 | m_FillClockwise: 1
3264 | m_FillOrigin: 0
3265 | m_UseSpriteMesh: 0
3266 | m_PixelsPerUnitMultiplier: 1
3267 | --- !u!222 &1387791856
3268 | CanvasRenderer:
3269 | m_ObjectHideFlags: 0
3270 | m_CorrespondingSourceObject: {fileID: 0}
3271 | m_PrefabInstance: {fileID: 0}
3272 | m_PrefabAsset: {fileID: 0}
3273 | m_GameObject: {fileID: 1387791853}
3274 | m_CullTransparentMesh: 0
3275 | --- !u!1 &1467206375
3276 | GameObject:
3277 | m_ObjectHideFlags: 0
3278 | m_CorrespondingSourceObject: {fileID: 0}
3279 | m_PrefabInstance: {fileID: 0}
3280 | m_PrefabAsset: {fileID: 0}
3281 | serializedVersion: 6
3282 | m_Component:
3283 | - component: {fileID: 1467206376}
3284 | - component: {fileID: 1467206378}
3285 | - component: {fileID: 1467206377}
3286 | - component: {fileID: 1467206379}
3287 | m_Layer: 5
3288 | m_Name: SendClose_btn
3289 | m_TagString: Untagged
3290 | m_Icon: {fileID: 0}
3291 | m_NavMeshLayer: 0
3292 | m_StaticEditorFlags: 0
3293 | m_IsActive: 1
3294 | --- !u!224 &1467206376
3295 | RectTransform:
3296 | m_ObjectHideFlags: 0
3297 | m_CorrespondingSourceObject: {fileID: 0}
3298 | m_PrefabInstance: {fileID: 0}
3299 | m_PrefabAsset: {fileID: 0}
3300 | m_GameObject: {fileID: 1467206375}
3301 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
3302 | m_LocalPosition: {x: 0, y: 0, z: 0}
3303 | m_LocalScale: {x: 1, y: 1, z: 1}
3304 | m_Children:
3305 | - {fileID: 1641955505}
3306 | m_Father: {fileID: 53837260}
3307 | m_RootOrder: 2
3308 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
3309 | m_AnchorMin: {x: 0, y: 0.16035663}
3310 | m_AnchorMax: {x: 0.63467103, y: 0.36400002}
3311 | m_AnchoredPosition: {x: 0, y: 0.5076904}
3312 | m_SizeDelta: {x: 0, y: 0}
3313 | m_Pivot: {x: 0, y: 0.5}
3314 | --- !u!114 &1467206377
3315 | MonoBehaviour:
3316 | m_ObjectHideFlags: 0
3317 | m_CorrespondingSourceObject: {fileID: 0}
3318 | m_PrefabInstance: {fileID: 0}
3319 | m_PrefabAsset: {fileID: 0}
3320 | m_GameObject: {fileID: 1467206375}
3321 | m_Enabled: 1
3322 | m_EditorHideFlags: 0
3323 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
3324 | m_Name:
3325 | m_EditorClassIdentifier:
3326 | m_Material: {fileID: 0}
3327 | m_Color: {r: 1, g: 1, b: 1, a: 1}
3328 | m_RaycastTarget: 1
3329 | m_Maskable: 1
3330 | m_OnCullStateChanged:
3331 | m_PersistentCalls:
3332 | m_Calls: []
3333 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
3334 | m_Type: 1
3335 | m_PreserveAspect: 0
3336 | m_FillCenter: 1
3337 | m_FillMethod: 4
3338 | m_FillAmount: 1
3339 | m_FillClockwise: 1
3340 | m_FillOrigin: 0
3341 | m_UseSpriteMesh: 0
3342 | m_PixelsPerUnitMultiplier: 1
3343 | --- !u!222 &1467206378
3344 | CanvasRenderer:
3345 | m_ObjectHideFlags: 0
3346 | m_CorrespondingSourceObject: {fileID: 0}
3347 | m_PrefabInstance: {fileID: 0}
3348 | m_PrefabAsset: {fileID: 0}
3349 | m_GameObject: {fileID: 1467206375}
3350 | m_CullTransparentMesh: 0
3351 | --- !u!114 &1467206379
3352 | MonoBehaviour:
3353 | m_ObjectHideFlags: 0
3354 | m_CorrespondingSourceObject: {fileID: 0}
3355 | m_PrefabInstance: {fileID: 0}
3356 | m_PrefabAsset: {fileID: 0}
3357 | m_GameObject: {fileID: 1467206375}
3358 | m_Enabled: 1
3359 | m_EditorHideFlags: 0
3360 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
3361 | m_Name:
3362 | m_EditorClassIdentifier:
3363 | m_Navigation:
3364 | m_Mode: 3
3365 | m_SelectOnUp: {fileID: 0}
3366 | m_SelectOnDown: {fileID: 0}
3367 | m_SelectOnLeft: {fileID: 0}
3368 | m_SelectOnRight: {fileID: 0}
3369 | m_Transition: 1
3370 | m_Colors:
3371 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
3372 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
3373 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
3374 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
3375 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
3376 | m_ColorMultiplier: 1
3377 | m_FadeDuration: 0.1
3378 | m_SpriteState:
3379 | m_HighlightedSprite: {fileID: 0}
3380 | m_PressedSprite: {fileID: 0}
3381 | m_SelectedSprite: {fileID: 0}
3382 | m_DisabledSprite: {fileID: 0}
3383 | m_AnimationTriggers:
3384 | m_NormalTrigger: Normal
3385 | m_HighlightedTrigger: Highlighted
3386 | m_PressedTrigger: Pressed
3387 | m_SelectedTrigger: Highlighted
3388 | m_DisabledTrigger: Disabled
3389 | m_Interactable: 1
3390 | m_TargetGraphic: {fileID: 1467206377}
3391 | m_OnClick:
3392 | m_PersistentCalls:
3393 | m_Calls:
3394 | - m_Target: {fileID: 0}
3395 | m_MethodName: CloseServer
3396 | m_Mode: 1
3397 | m_Arguments:
3398 | m_ObjectArgument: {fileID: 0}
3399 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
3400 | m_IntArgument: 0
3401 | m_FloatArgument: 0
3402 | m_StringArgument:
3403 | m_BoolArgument: 0
3404 | m_CallState: 2
3405 | --- !u!1 &1473209674
3406 | GameObject:
3407 | m_ObjectHideFlags: 0
3408 | m_CorrespondingSourceObject: {fileID: 0}
3409 | m_PrefabInstance: {fileID: 0}
3410 | m_PrefabAsset: {fileID: 0}
3411 | serializedVersion: 6
3412 | m_Component:
3413 | - component: {fileID: 1473209676}
3414 | - component: {fileID: 1473209675}
3415 | m_Layer: 0
3416 | m_Name: Directional Light
3417 | m_TagString: Untagged
3418 | m_Icon: {fileID: 0}
3419 | m_NavMeshLayer: 0
3420 | m_StaticEditorFlags: 0
3421 | m_IsActive: 1
3422 | --- !u!108 &1473209675
3423 | Light:
3424 | m_ObjectHideFlags: 0
3425 | m_CorrespondingSourceObject: {fileID: 0}
3426 | m_PrefabInstance: {fileID: 0}
3427 | m_PrefabAsset: {fileID: 0}
3428 | m_GameObject: {fileID: 1473209674}
3429 | m_Enabled: 1
3430 | serializedVersion: 10
3431 | m_Type: 1
3432 | m_Shape: 0
3433 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
3434 | m_Intensity: 1
3435 | m_Range: 10
3436 | m_SpotAngle: 30
3437 | m_InnerSpotAngle: 21.80208
3438 | m_CookieSize: 10
3439 | m_Shadows:
3440 | m_Type: 2
3441 | m_Resolution: -1
3442 | m_CustomResolution: -1
3443 | m_Strength: 1
3444 | m_Bias: 0.05
3445 | m_NormalBias: 0.4
3446 | m_NearPlane: 0.2
3447 | m_CullingMatrixOverride:
3448 | e00: 1
3449 | e01: 0
3450 | e02: 0
3451 | e03: 0
3452 | e10: 0
3453 | e11: 1
3454 | e12: 0
3455 | e13: 0
3456 | e20: 0
3457 | e21: 0
3458 | e22: 1
3459 | e23: 0
3460 | e30: 0
3461 | e31: 0
3462 | e32: 0
3463 | e33: 1
3464 | m_UseCullingMatrixOverride: 0
3465 | m_Cookie: {fileID: 0}
3466 | m_DrawHalo: 0
3467 | m_Flare: {fileID: 0}
3468 | m_RenderMode: 0
3469 | m_CullingMask:
3470 | serializedVersion: 2
3471 | m_Bits: 4294967295
3472 | m_RenderingLayerMask: 1
3473 | m_Lightmapping: 4
3474 | m_LightShadowCasterMode: 0
3475 | m_AreaSize: {x: 1, y: 1}
3476 | m_BounceIntensity: 1
3477 | m_ColorTemperature: 6570
3478 | m_UseColorTemperature: 0
3479 | m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
3480 | m_UseBoundingSphereOverride: 0
3481 | m_ShadowRadius: 0
3482 | m_ShadowAngle: 0
3483 | --- !u!4 &1473209676
3484 | Transform:
3485 | m_ObjectHideFlags: 0
3486 | m_CorrespondingSourceObject: {fileID: 0}
3487 | m_PrefabInstance: {fileID: 0}
3488 | m_PrefabAsset: {fileID: 0}
3489 | m_GameObject: {fileID: 1473209674}
3490 | m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
3491 | m_LocalPosition: {x: -349.83594, y: -215.61807, z: 0}
3492 | m_LocalScale: {x: 1, y: 1, z: 1}
3493 | m_Children: []
3494 | m_Father: {fileID: 29507516}
3495 | m_RootOrder: 2
3496 | m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
3497 | --- !u!1 &1485788381
3498 | GameObject:
3499 | m_ObjectHideFlags: 0
3500 | m_CorrespondingSourceObject: {fileID: 0}
3501 | m_PrefabInstance: {fileID: 0}
3502 | m_PrefabAsset: {fileID: 0}
3503 | serializedVersion: 6
3504 | m_Component:
3505 | - component: {fileID: 1485788382}
3506 | m_Layer: 5
3507 | m_Name: Header
3508 | m_TagString: Untagged
3509 | m_Icon: {fileID: 0}
3510 | m_NavMeshLayer: 0
3511 | m_StaticEditorFlags: 0
3512 | m_IsActive: 1
3513 | --- !u!224 &1485788382
3514 | RectTransform:
3515 | m_ObjectHideFlags: 0
3516 | m_CorrespondingSourceObject: {fileID: 0}
3517 | m_PrefabInstance: {fileID: 0}
3518 | m_PrefabAsset: {fileID: 0}
3519 | m_GameObject: {fileID: 1485788381}
3520 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
3521 | m_LocalPosition: {x: 0, y: 0, z: 0}
3522 | m_LocalScale: {x: 1, y: 1, z: 1}
3523 | m_Children:
3524 | - {fileID: 644992238}
3525 | m_Father: {fileID: 1342787545}
3526 | m_RootOrder: 0
3527 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
3528 | m_AnchorMin: {x: 0, y: 0.92254853}
3529 | m_AnchorMax: {x: 1, y: 1}
3530 | m_AnchoredPosition: {x: 0, y: 0}
3531 | m_SizeDelta: {x: 0, y: 0}
3532 | m_Pivot: {x: 0.5, y: 0.5}
3533 | --- !u!1 &1515171186
3534 | GameObject:
3535 | m_ObjectHideFlags: 0
3536 | m_CorrespondingSourceObject: {fileID: 0}
3537 | m_PrefabInstance: {fileID: 0}
3538 | m_PrefabAsset: {fileID: 0}
3539 | serializedVersion: 6
3540 | m_Component:
3541 | - component: {fileID: 1515171187}
3542 | - component: {fileID: 1515171190}
3543 | - component: {fileID: 1515171189}
3544 | - component: {fileID: 1515171188}
3545 | m_Layer: 5
3546 | m_Name: StartServer_btn
3547 | m_TagString: Untagged
3548 | m_Icon: {fileID: 0}
3549 | m_NavMeshLayer: 0
3550 | m_StaticEditorFlags: 0
3551 | m_IsActive: 1
3552 | --- !u!224 &1515171187
3553 | RectTransform:
3554 | m_ObjectHideFlags: 0
3555 | m_CorrespondingSourceObject: {fileID: 0}
3556 | m_PrefabInstance: {fileID: 0}
3557 | m_PrefabAsset: {fileID: 0}
3558 | m_GameObject: {fileID: 1515171186}
3559 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
3560 | m_LocalPosition: {x: 0, y: 0, z: 0}
3561 | m_LocalScale: {x: 1, y: 1, z: 1}
3562 | m_Children:
3563 | - {fileID: 668147667}
3564 | m_Father: {fileID: 983091628}
3565 | m_RootOrder: 0
3566 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
3567 | m_AnchorMin: {x: 0, y: 0.6267855}
3568 | m_AnchorMax: {x: 0.6303359, y: 0.82364357}
3569 | m_AnchoredPosition: {x: 0, y: 0.0076904297}
3570 | m_SizeDelta: {x: 1, y: 1}
3571 | m_Pivot: {x: 0, y: 0.5}
3572 | --- !u!114 &1515171188
3573 | MonoBehaviour:
3574 | m_ObjectHideFlags: 0
3575 | m_CorrespondingSourceObject: {fileID: 0}
3576 | m_PrefabInstance: {fileID: 0}
3577 | m_PrefabAsset: {fileID: 0}
3578 | m_GameObject: {fileID: 1515171186}
3579 | m_Enabled: 1
3580 | m_EditorHideFlags: 0
3581 | m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
3582 | m_Name:
3583 | m_EditorClassIdentifier:
3584 | m_Navigation:
3585 | m_Mode: 3
3586 | m_SelectOnUp: {fileID: 0}
3587 | m_SelectOnDown: {fileID: 0}
3588 | m_SelectOnLeft: {fileID: 0}
3589 | m_SelectOnRight: {fileID: 0}
3590 | m_Transition: 1
3591 | m_Colors:
3592 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
3593 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
3594 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
3595 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
3596 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
3597 | m_ColorMultiplier: 1
3598 | m_FadeDuration: 0.1
3599 | m_SpriteState:
3600 | m_HighlightedSprite: {fileID: 0}
3601 | m_PressedSprite: {fileID: 0}
3602 | m_SelectedSprite: {fileID: 0}
3603 | m_DisabledSprite: {fileID: 0}
3604 | m_AnimationTriggers:
3605 | m_NormalTrigger: Normal
3606 | m_HighlightedTrigger: Highlighted
3607 | m_PressedTrigger: Pressed
3608 | m_SelectedTrigger: Highlighted
3609 | m_DisabledTrigger: Disabled
3610 | m_Interactable: 1
3611 | m_TargetGraphic: {fileID: 1515171189}
3612 | m_OnClick:
3613 | m_PersistentCalls:
3614 | m_Calls:
3615 | - m_Target: {fileID: 424903499}
3616 | m_MethodName:
3617 | m_Mode: 1
3618 | m_Arguments:
3619 | m_ObjectArgument: {fileID: 0}
3620 | m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
3621 | m_IntArgument: 0
3622 | m_FloatArgument: 0
3623 | m_StringArgument:
3624 | m_BoolArgument: 0
3625 | m_CallState: 2
3626 | --- !u!114 &1515171189
3627 | MonoBehaviour:
3628 | m_ObjectHideFlags: 0
3629 | m_CorrespondingSourceObject: {fileID: 0}
3630 | m_PrefabInstance: {fileID: 0}
3631 | m_PrefabAsset: {fileID: 0}
3632 | m_GameObject: {fileID: 1515171186}
3633 | m_Enabled: 1
3634 | m_EditorHideFlags: 0
3635 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
3636 | m_Name:
3637 | m_EditorClassIdentifier:
3638 | m_Material: {fileID: 0}
3639 | m_Color: {r: 1, g: 1, b: 1, a: 1}
3640 | m_RaycastTarget: 1
3641 | m_Maskable: 1
3642 | m_OnCullStateChanged:
3643 | m_PersistentCalls:
3644 | m_Calls: []
3645 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
3646 | m_Type: 1
3647 | m_PreserveAspect: 0
3648 | m_FillCenter: 1
3649 | m_FillMethod: 4
3650 | m_FillAmount: 1
3651 | m_FillClockwise: 1
3652 | m_FillOrigin: 0
3653 | m_UseSpriteMesh: 0
3654 | m_PixelsPerUnitMultiplier: 1
3655 | --- !u!222 &1515171190
3656 | CanvasRenderer:
3657 | m_ObjectHideFlags: 0
3658 | m_CorrespondingSourceObject: {fileID: 0}
3659 | m_PrefabInstance: {fileID: 0}
3660 | m_PrefabAsset: {fileID: 0}
3661 | m_GameObject: {fileID: 1515171186}
3662 | m_CullTransparentMesh: 0
3663 | --- !u!1 &1576023164
3664 | GameObject:
3665 | m_ObjectHideFlags: 0
3666 | m_CorrespondingSourceObject: {fileID: 0}
3667 | m_PrefabInstance: {fileID: 0}
3668 | m_PrefabAsset: {fileID: 0}
3669 | serializedVersion: 6
3670 | m_Component:
3671 | - component: {fileID: 1576023165}
3672 | - component: {fileID: 1576023166}
3673 | - component: {fileID: 1576023167}
3674 | m_Layer: 5
3675 | m_Name: Handle
3676 | m_TagString: Untagged
3677 | m_Icon: {fileID: 0}
3678 | m_NavMeshLayer: 0
3679 | m_StaticEditorFlags: 0
3680 | m_IsActive: 1
3681 | --- !u!224 &1576023165
3682 | RectTransform:
3683 | m_ObjectHideFlags: 0
3684 | m_CorrespondingSourceObject: {fileID: 0}
3685 | m_PrefabInstance: {fileID: 0}
3686 | m_PrefabAsset: {fileID: 0}
3687 | m_GameObject: {fileID: 1576023164}
3688 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
3689 | m_LocalPosition: {x: 0, y: 0, z: 0}
3690 | m_LocalScale: {x: 1, y: 1, z: 1}
3691 | m_Children: []
3692 | m_Father: {fileID: 1619757866}
3693 | m_RootOrder: 0
3694 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
3695 | m_AnchorMin: {x: 0, y: 0}
3696 | m_AnchorMax: {x: 0, y: 0}
3697 | m_AnchoredPosition: {x: 0, y: 0}
3698 | m_SizeDelta: {x: 20, y: 20}
3699 | m_Pivot: {x: 0.5, y: 0.5}
3700 | --- !u!222 &1576023166
3701 | CanvasRenderer:
3702 | m_ObjectHideFlags: 0
3703 | m_CorrespondingSourceObject: {fileID: 0}
3704 | m_PrefabInstance: {fileID: 0}
3705 | m_PrefabAsset: {fileID: 0}
3706 | m_GameObject: {fileID: 1576023164}
3707 | m_CullTransparentMesh: 0
3708 | --- !u!114 &1576023167
3709 | MonoBehaviour:
3710 | m_ObjectHideFlags: 0
3711 | m_CorrespondingSourceObject: {fileID: 0}
3712 | m_PrefabInstance: {fileID: 0}
3713 | m_PrefabAsset: {fileID: 0}
3714 | m_GameObject: {fileID: 1576023164}
3715 | m_Enabled: 1
3716 | m_EditorHideFlags: 0
3717 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
3718 | m_Name:
3719 | m_EditorClassIdentifier:
3720 | m_Material: {fileID: 0}
3721 | m_Color: {r: 1, g: 1, b: 1, a: 1}
3722 | m_RaycastTarget: 1
3723 | m_Maskable: 1
3724 | m_OnCullStateChanged:
3725 | m_PersistentCalls:
3726 | m_Calls: []
3727 | m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
3728 | m_Type: 1
3729 | m_PreserveAspect: 0
3730 | m_FillCenter: 1
3731 | m_FillMethod: 4
3732 | m_FillAmount: 1
3733 | m_FillClockwise: 1
3734 | m_FillOrigin: 0
3735 | m_UseSpriteMesh: 0
3736 | m_PixelsPerUnitMultiplier: 1
3737 | --- !u!1 &1578584001
3738 | GameObject:
3739 | m_ObjectHideFlags: 0
3740 | m_CorrespondingSourceObject: {fileID: 0}
3741 | m_PrefabInstance: {fileID: 0}
3742 | m_PrefabAsset: {fileID: 0}
3743 | serializedVersion: 6
3744 | m_Component:
3745 | - component: {fileID: 1578584002}
3746 | - component: {fileID: 1578584004}
3747 | - component: {fileID: 1578584003}
3748 | m_Layer: 5
3749 | m_Name: Placeholder
3750 | m_TagString: Untagged
3751 | m_Icon: {fileID: 0}
3752 | m_NavMeshLayer: 0
3753 | m_StaticEditorFlags: 0
3754 | m_IsActive: 1
3755 | --- !u!224 &1578584002
3756 | RectTransform:
3757 | m_ObjectHideFlags: 0
3758 | m_CorrespondingSourceObject: {fileID: 0}
3759 | m_PrefabInstance: {fileID: 0}
3760 | m_PrefabAsset: {fileID: 0}
3761 | m_GameObject: {fileID: 1578584001}
3762 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
3763 | m_LocalPosition: {x: 0, y: 0, z: 0}
3764 | m_LocalScale: {x: 1, y: 1, z: 1}
3765 | m_Children: []
3766 | m_Father: {fileID: 218421683}
3767 | m_RootOrder: 0
3768 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
3769 | m_AnchorMin: {x: 0, y: 0}
3770 | m_AnchorMax: {x: 1, y: 1}
3771 | m_AnchoredPosition: {x: 0, y: -0.5}
3772 | m_SizeDelta: {x: -20, y: -13}
3773 | m_Pivot: {x: 0.5, y: 0.5}
3774 | --- !u!114 &1578584003
3775 | MonoBehaviour:
3776 | m_ObjectHideFlags: 0
3777 | m_CorrespondingSourceObject: {fileID: 0}
3778 | m_PrefabInstance: {fileID: 0}
3779 | m_PrefabAsset: {fileID: 0}
3780 | m_GameObject: {fileID: 1578584001}
3781 | m_Enabled: 1
3782 | m_EditorHideFlags: 0
3783 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
3784 | m_Name:
3785 | m_EditorClassIdentifier:
3786 | m_Material: {fileID: 0}
3787 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
3788 | m_RaycastTarget: 1
3789 | m_Maskable: 1
3790 | m_OnCullStateChanged:
3791 | m_PersistentCalls:
3792 | m_Calls: []
3793 | m_FontData:
3794 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
3795 | m_FontSize: 14
3796 | m_FontStyle: 2
3797 | m_BestFit: 0
3798 | m_MinSize: 10
3799 | m_MaxSize: 40
3800 | m_Alignment: 3
3801 | m_AlignByGeometry: 0
3802 | m_RichText: 1
3803 | m_HorizontalOverflow: 0
3804 | m_VerticalOverflow: 0
3805 | m_LineSpacing: 1
3806 | m_Text: Enter text...
3807 | --- !u!222 &1578584004
3808 | CanvasRenderer:
3809 | m_ObjectHideFlags: 0
3810 | m_CorrespondingSourceObject: {fileID: 0}
3811 | m_PrefabInstance: {fileID: 0}
3812 | m_PrefabAsset: {fileID: 0}
3813 | m_GameObject: {fileID: 1578584001}
3814 | m_CullTransparentMesh: 0
3815 | --- !u!1 &1591457255
3816 | GameObject:
3817 | m_ObjectHideFlags: 0
3818 | m_CorrespondingSourceObject: {fileID: 0}
3819 | m_PrefabInstance: {fileID: 0}
3820 | m_PrefabAsset: {fileID: 0}
3821 | serializedVersion: 6
3822 | m_Component:
3823 | - component: {fileID: 1591457256}
3824 | - component: {fileID: 1591457257}
3825 | m_Layer: 5
3826 | m_Name: ClientLogger
3827 | m_TagString: Untagged
3828 | m_Icon: {fileID: 0}
3829 | m_NavMeshLayer: 0
3830 | m_StaticEditorFlags: 0
3831 | m_IsActive: 1
3832 | --- !u!224 &1591457256
3833 | RectTransform:
3834 | m_ObjectHideFlags: 0
3835 | m_CorrespondingSourceObject: {fileID: 0}
3836 | m_PrefabInstance: {fileID: 0}
3837 | m_PrefabAsset: {fileID: 0}
3838 | m_GameObject: {fileID: 1591457255}
3839 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
3840 | m_LocalPosition: {x: 0, y: 0, z: 0}
3841 | m_LocalScale: {x: 1, y: 1, z: 0}
3842 | m_Children:
3843 | - {fileID: 429689809}
3844 | - {fileID: 1315929537}
3845 | m_Father: {fileID: 1697541020}
3846 | m_RootOrder: 2
3847 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
3848 | m_AnchorMin: {x: 0, y: 0}
3849 | m_AnchorMax: {x: 1, y: 0.705105}
3850 | m_AnchoredPosition: {x: 0, y: -0.012451172}
3851 | m_SizeDelta: {x: 0.000030517578, y: 0.025024414}
3852 | m_Pivot: {x: 0.5, y: 0.5}
3853 | --- !u!222 &1591457257
3854 | CanvasRenderer:
3855 | m_ObjectHideFlags: 0
3856 | m_CorrespondingSourceObject: {fileID: 0}
3857 | m_PrefabInstance: {fileID: 0}
3858 | m_PrefabAsset: {fileID: 0}
3859 | m_GameObject: {fileID: 1591457255}
3860 | m_CullTransparentMesh: 0
3861 | --- !u!1 &1619757865
3862 | GameObject:
3863 | m_ObjectHideFlags: 0
3864 | m_CorrespondingSourceObject: {fileID: 0}
3865 | m_PrefabInstance: {fileID: 0}
3866 | m_PrefabAsset: {fileID: 0}
3867 | serializedVersion: 6
3868 | m_Component:
3869 | - component: {fileID: 1619757866}
3870 | m_Layer: 5
3871 | m_Name: Sliding Area
3872 | m_TagString: Untagged
3873 | m_Icon: {fileID: 0}
3874 | m_NavMeshLayer: 0
3875 | m_StaticEditorFlags: 0
3876 | m_IsActive: 1
3877 | --- !u!224 &1619757866
3878 | RectTransform:
3879 | m_ObjectHideFlags: 0
3880 | m_CorrespondingSourceObject: {fileID: 0}
3881 | m_PrefabInstance: {fileID: 0}
3882 | m_PrefabAsset: {fileID: 0}
3883 | m_GameObject: {fileID: 1619757865}
3884 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
3885 | m_LocalPosition: {x: 0, y: 0, z: 0}
3886 | m_LocalScale: {x: 1, y: 1, z: 1}
3887 | m_Children:
3888 | - {fileID: 1576023165}
3889 | m_Father: {fileID: 1012370947}
3890 | m_RootOrder: 0
3891 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
3892 | m_AnchorMin: {x: 0, y: 0}
3893 | m_AnchorMax: {x: 1, y: 1}
3894 | m_AnchoredPosition: {x: 0, y: 0}
3895 | m_SizeDelta: {x: -20, y: -20}
3896 | m_Pivot: {x: 0.5, y: 0.5}
3897 | --- !u!1 &1636111362
3898 | GameObject:
3899 | m_ObjectHideFlags: 0
3900 | m_CorrespondingSourceObject: {fileID: 0}
3901 | m_PrefabInstance: {fileID: 0}
3902 | m_PrefabAsset: {fileID: 0}
3903 | serializedVersion: 6
3904 | m_Component:
3905 | - component: {fileID: 1636111363}
3906 | - component: {fileID: 1636111366}
3907 | - component: {fileID: 1636111364}
3908 | m_Layer: 5
3909 | m_Name: Scroll View
3910 | m_TagString: Untagged
3911 | m_Icon: {fileID: 0}
3912 | m_NavMeshLayer: 0
3913 | m_StaticEditorFlags: 0
3914 | m_IsActive: 1
3915 | --- !u!224 &1636111363
3916 | RectTransform:
3917 | m_ObjectHideFlags: 0
3918 | m_CorrespondingSourceObject: {fileID: 0}
3919 | m_PrefabInstance: {fileID: 0}
3920 | m_PrefabAsset: {fileID: 0}
3921 | m_GameObject: {fileID: 1636111362}
3922 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
3923 | m_LocalPosition: {x: 0, y: 0, z: 0}
3924 | m_LocalScale: {x: 1, y: 1, z: 1}
3925 | m_Children:
3926 | - {fileID: 325365753}
3927 | - {fileID: 1649121704}
3928 | - {fileID: 198872070}
3929 | m_Father: {fileID: 2140781251}
3930 | m_RootOrder: 1
3931 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
3932 | m_AnchorMin: {x: 0, y: 0}
3933 | m_AnchorMax: {x: 1, y: 1}
3934 | m_AnchoredPosition: {x: 5, y: -4.9999695}
3935 | m_SizeDelta: {x: -9.999985, y: -10}
3936 | m_Pivot: {x: 0.5, y: 0.5}
3937 | --- !u!114 &1636111364
3938 | MonoBehaviour:
3939 | m_ObjectHideFlags: 0
3940 | m_CorrespondingSourceObject: {fileID: 0}
3941 | m_PrefabInstance: {fileID: 0}
3942 | m_PrefabAsset: {fileID: 0}
3943 | m_GameObject: {fileID: 1636111362}
3944 | m_Enabled: 1
3945 | m_EditorHideFlags: 0
3946 | m_Script: {fileID: 11500000, guid: 1aa08ab6e0800fa44ae55d278d1423e3, type: 3}
3947 | m_Name:
3948 | m_EditorClassIdentifier:
3949 | m_Content: {fileID: 358682906}
3950 | m_Horizontal: 0
3951 | m_Vertical: 1
3952 | m_MovementType: 1
3953 | m_Elasticity: 0.1
3954 | m_Inertia: 1
3955 | m_DecelerationRate: 0.135
3956 | m_ScrollSensitivity: 1
3957 | m_Viewport: {fileID: 325365753}
3958 | m_HorizontalScrollbar: {fileID: 1649121705}
3959 | m_VerticalScrollbar: {fileID: 198872071}
3960 | m_HorizontalScrollbarVisibility: 1
3961 | m_VerticalScrollbarVisibility: 1
3962 | m_HorizontalScrollbarSpacing: -3
3963 | m_VerticalScrollbarSpacing: -3
3964 | m_OnValueChanged:
3965 | m_PersistentCalls:
3966 | m_Calls: []
3967 | --- !u!222 &1636111366
3968 | CanvasRenderer:
3969 | m_ObjectHideFlags: 0
3970 | m_CorrespondingSourceObject: {fileID: 0}
3971 | m_PrefabInstance: {fileID: 0}
3972 | m_PrefabAsset: {fileID: 0}
3973 | m_GameObject: {fileID: 1636111362}
3974 | m_CullTransparentMesh: 0
3975 | --- !u!1 &1641955504
3976 | GameObject:
3977 | m_ObjectHideFlags: 0
3978 | m_CorrespondingSourceObject: {fileID: 0}
3979 | m_PrefabInstance: {fileID: 0}
3980 | m_PrefabAsset: {fileID: 0}
3981 | serializedVersion: 6
3982 | m_Component:
3983 | - component: {fileID: 1641955505}
3984 | - component: {fileID: 1641955507}
3985 | - component: {fileID: 1641955506}
3986 | m_Layer: 5
3987 | m_Name: Text
3988 | m_TagString: Untagged
3989 | m_Icon: {fileID: 0}
3990 | m_NavMeshLayer: 0
3991 | m_StaticEditorFlags: 0
3992 | m_IsActive: 1
3993 | --- !u!224 &1641955505
3994 | RectTransform:
3995 | m_ObjectHideFlags: 0
3996 | m_CorrespondingSourceObject: {fileID: 0}
3997 | m_PrefabInstance: {fileID: 0}
3998 | m_PrefabAsset: {fileID: 0}
3999 | m_GameObject: {fileID: 1641955504}
4000 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
4001 | m_LocalPosition: {x: 0, y: 0, z: 0}
4002 | m_LocalScale: {x: 1, y: 1, z: 1}
4003 | m_Children: []
4004 | m_Father: {fileID: 1467206376}
4005 | m_RootOrder: 0
4006 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
4007 | m_AnchorMin: {x: 0, y: 0}
4008 | m_AnchorMax: {x: 1, y: 1}
4009 | m_AnchoredPosition: {x: 0, y: 0}
4010 | m_SizeDelta: {x: 0, y: 0}
4011 | m_Pivot: {x: 0.5, y: 0.5}
4012 | --- !u!114 &1641955506
4013 | MonoBehaviour:
4014 | m_ObjectHideFlags: 0
4015 | m_CorrespondingSourceObject: {fileID: 0}
4016 | m_PrefabInstance: {fileID: 0}
4017 | m_PrefabAsset: {fileID: 0}
4018 | m_GameObject: {fileID: 1641955504}
4019 | m_Enabled: 1
4020 | m_EditorHideFlags: 0
4021 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
4022 | m_Name:
4023 | m_EditorClassIdentifier:
4024 | m_Material: {fileID: 0}
4025 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
4026 | m_RaycastTarget: 1
4027 | m_Maskable: 1
4028 | m_OnCullStateChanged:
4029 | m_PersistentCalls:
4030 | m_Calls: []
4031 | m_FontData:
4032 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
4033 | m_FontSize: 14
4034 | m_FontStyle: 0
4035 | m_BestFit: 0
4036 | m_MinSize: 10
4037 | m_MaxSize: 40
4038 | m_Alignment: 4
4039 | m_AlignByGeometry: 0
4040 | m_RichText: 1
4041 | m_HorizontalOverflow: 0
4042 | m_VerticalOverflow: 0
4043 | m_LineSpacing: 1
4044 | m_Text: 'Send Close to Server
4045 |
4046 | (and Close Client)'
4047 | --- !u!222 &1641955507
4048 | CanvasRenderer:
4049 | m_ObjectHideFlags: 0
4050 | m_CorrespondingSourceObject: {fileID: 0}
4051 | m_PrefabInstance: {fileID: 0}
4052 | m_PrefabAsset: {fileID: 0}
4053 | m_GameObject: {fileID: 1641955504}
4054 | m_CullTransparentMesh: 0
4055 | --- !u!1 &1649121703
4056 | GameObject:
4057 | m_ObjectHideFlags: 0
4058 | m_CorrespondingSourceObject: {fileID: 0}
4059 | m_PrefabInstance: {fileID: 0}
4060 | m_PrefabAsset: {fileID: 0}
4061 | serializedVersion: 6
4062 | m_Component:
4063 | - component: {fileID: 1649121704}
4064 | - component: {fileID: 1649121707}
4065 | - component: {fileID: 1649121706}
4066 | - component: {fileID: 1649121705}
4067 | m_Layer: 5
4068 | m_Name: Scrollbar Horizontal
4069 | m_TagString: Untagged
4070 | m_Icon: {fileID: 0}
4071 | m_NavMeshLayer: 0
4072 | m_StaticEditorFlags: 0
4073 | m_IsActive: 1
4074 | --- !u!224 &1649121704
4075 | RectTransform:
4076 | m_ObjectHideFlags: 0
4077 | m_CorrespondingSourceObject: {fileID: 0}
4078 | m_PrefabInstance: {fileID: 0}
4079 | m_PrefabAsset: {fileID: 0}
4080 | m_GameObject: {fileID: 1649121703}
4081 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
4082 | m_LocalPosition: {x: 0, y: 0, z: 0}
4083 | m_LocalScale: {x: 1, y: 1, z: 1}
4084 | m_Children:
4085 | - {fileID: 305585436}
4086 | m_Father: {fileID: 1636111363}
4087 | m_RootOrder: 1
4088 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
4089 | m_AnchorMin: {x: 0, y: 0}
4090 | m_AnchorMax: {x: 1, y: 0}
4091 | m_AnchoredPosition: {x: 0, y: 0}
4092 | m_SizeDelta: {x: -17, y: 14}
4093 | m_Pivot: {x: 0, y: 0}
4094 | --- !u!114 &1649121705
4095 | MonoBehaviour:
4096 | m_ObjectHideFlags: 0
4097 | m_CorrespondingSourceObject: {fileID: 0}
4098 | m_PrefabInstance: {fileID: 0}
4099 | m_PrefabAsset: {fileID: 0}
4100 | m_GameObject: {fileID: 1649121703}
4101 | m_Enabled: 1
4102 | m_EditorHideFlags: 0
4103 | m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3}
4104 | m_Name:
4105 | m_EditorClassIdentifier:
4106 | m_Navigation:
4107 | m_Mode: 3
4108 | m_SelectOnUp: {fileID: 0}
4109 | m_SelectOnDown: {fileID: 0}
4110 | m_SelectOnLeft: {fileID: 0}
4111 | m_SelectOnRight: {fileID: 0}
4112 | m_Transition: 1
4113 | m_Colors:
4114 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
4115 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
4116 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
4117 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
4118 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
4119 | m_ColorMultiplier: 1
4120 | m_FadeDuration: 0.1
4121 | m_SpriteState:
4122 | m_HighlightedSprite: {fileID: 0}
4123 | m_PressedSprite: {fileID: 0}
4124 | m_SelectedSprite: {fileID: 0}
4125 | m_DisabledSprite: {fileID: 0}
4126 | m_AnimationTriggers:
4127 | m_NormalTrigger: Normal
4128 | m_HighlightedTrigger: Highlighted
4129 | m_PressedTrigger: Pressed
4130 | m_SelectedTrigger: Selected
4131 | m_DisabledTrigger: Disabled
4132 | m_Interactable: 1
4133 | m_TargetGraphic: {fileID: 1147770387}
4134 | m_HandleRect: {fileID: 1147770386}
4135 | m_Direction: 0
4136 | m_Value: 0
4137 | m_Size: 1
4138 | m_NumberOfSteps: 0
4139 | m_OnValueChanged:
4140 | m_PersistentCalls:
4141 | m_Calls: []
4142 | --- !u!114 &1649121706
4143 | MonoBehaviour:
4144 | m_ObjectHideFlags: 0
4145 | m_CorrespondingSourceObject: {fileID: 0}
4146 | m_PrefabInstance: {fileID: 0}
4147 | m_PrefabAsset: {fileID: 0}
4148 | m_GameObject: {fileID: 1649121703}
4149 | m_Enabled: 1
4150 | m_EditorHideFlags: 0
4151 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
4152 | m_Name:
4153 | m_EditorClassIdentifier:
4154 | m_Material: {fileID: 0}
4155 | m_Color: {r: 1, g: 1, b: 1, a: 1}
4156 | m_RaycastTarget: 1
4157 | m_Maskable: 1
4158 | m_OnCullStateChanged:
4159 | m_PersistentCalls:
4160 | m_Calls: []
4161 | m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
4162 | m_Type: 1
4163 | m_PreserveAspect: 0
4164 | m_FillCenter: 1
4165 | m_FillMethod: 4
4166 | m_FillAmount: 1
4167 | m_FillClockwise: 1
4168 | m_FillOrigin: 0
4169 | m_UseSpriteMesh: 0
4170 | m_PixelsPerUnitMultiplier: 1
4171 | --- !u!222 &1649121707
4172 | CanvasRenderer:
4173 | m_ObjectHideFlags: 0
4174 | m_CorrespondingSourceObject: {fileID: 0}
4175 | m_PrefabInstance: {fileID: 0}
4176 | m_PrefabAsset: {fileID: 0}
4177 | m_GameObject: {fileID: 1649121703}
4178 | m_CullTransparentMesh: 0
4179 | --- !u!1 &1697541019
4180 | GameObject:
4181 | m_ObjectHideFlags: 0
4182 | m_CorrespondingSourceObject: {fileID: 0}
4183 | m_PrefabInstance: {fileID: 0}
4184 | m_PrefabAsset: {fileID: 0}
4185 | serializedVersion: 6
4186 | m_Component:
4187 | - component: {fileID: 1697541020}
4188 | m_Layer: 5
4189 | m_Name: Client_UI
4190 | m_TagString: Untagged
4191 | m_Icon: {fileID: 0}
4192 | m_NavMeshLayer: 0
4193 | m_StaticEditorFlags: 0
4194 | m_IsActive: 1
4195 | --- !u!224 &1697541020
4196 | RectTransform:
4197 | m_ObjectHideFlags: 0
4198 | m_CorrespondingSourceObject: {fileID: 0}
4199 | m_PrefabInstance: {fileID: 0}
4200 | m_PrefabAsset: {fileID: 0}
4201 | m_GameObject: {fileID: 1697541019}
4202 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
4203 | m_LocalPosition: {x: 0, y: 0, z: 0}
4204 | m_LocalScale: {x: 1, y: 1, z: 1}
4205 | m_Children:
4206 | - {fileID: 1865169435}
4207 | - {fileID: 53837260}
4208 | - {fileID: 1591457256}
4209 | m_Father: {fileID: 641806909}
4210 | m_RootOrder: 1
4211 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
4212 | m_AnchorMin: {x: 0.5, y: 0}
4213 | m_AnchorMax: {x: 1, y: 1}
4214 | m_AnchoredPosition: {x: 0.5, y: 0}
4215 | m_SizeDelta: {x: -1, y: 0}
4216 | m_Pivot: {x: 0.5, y: 0.5}
4217 | --- !u!1 &1854101311
4218 | GameObject:
4219 | m_ObjectHideFlags: 0
4220 | m_CorrespondingSourceObject: {fileID: 0}
4221 | m_PrefabInstance: {fileID: 0}
4222 | m_PrefabAsset: {fileID: 0}
4223 | serializedVersion: 6
4224 | m_Component:
4225 | - component: {fileID: 1854101312}
4226 | - component: {fileID: 1854101315}
4227 | - component: {fileID: 1854101314}
4228 | - component: {fileID: 1854101313}
4229 | m_Layer: 5
4230 | m_Name: Content
4231 | m_TagString: Untagged
4232 | m_Icon: {fileID: 0}
4233 | m_NavMeshLayer: 0
4234 | m_StaticEditorFlags: 0
4235 | m_IsActive: 1
4236 | --- !u!224 &1854101312
4237 | RectTransform:
4238 | m_ObjectHideFlags: 0
4239 | m_CorrespondingSourceObject: {fileID: 0}
4240 | m_PrefabInstance: {fileID: 0}
4241 | m_PrefabAsset: {fileID: 0}
4242 | m_GameObject: {fileID: 1854101311}
4243 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
4244 | m_LocalPosition: {x: 0, y: 0, z: 0}
4245 | m_LocalScale: {x: 1, y: 1, z: 1}
4246 | m_Children: []
4247 | m_Father: {fileID: 573462075}
4248 | m_RootOrder: 0
4249 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
4250 | m_AnchorMin: {x: 0, y: 1}
4251 | m_AnchorMax: {x: 0.94649935, y: 1}
4252 | m_AnchoredPosition: {x: 0, y: 0}
4253 | m_SizeDelta: {x: -14.525864, y: 0}
4254 | m_Pivot: {x: 0, y: 1}
4255 | --- !u!114 &1854101313
4256 | MonoBehaviour:
4257 | m_ObjectHideFlags: 0
4258 | m_CorrespondingSourceObject: {fileID: 0}
4259 | m_PrefabInstance: {fileID: 0}
4260 | m_PrefabAsset: {fileID: 0}
4261 | m_GameObject: {fileID: 1854101311}
4262 | m_Enabled: 1
4263 | m_EditorHideFlags: 0
4264 | m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
4265 | m_Name:
4266 | m_EditorClassIdentifier:
4267 | m_HorizontalFit: 0
4268 | m_VerticalFit: 2
4269 | --- !u!114 &1854101314
4270 | MonoBehaviour:
4271 | m_ObjectHideFlags: 0
4272 | m_CorrespondingSourceObject: {fileID: 0}
4273 | m_PrefabInstance: {fileID: 0}
4274 | m_PrefabAsset: {fileID: 0}
4275 | m_GameObject: {fileID: 1854101311}
4276 | m_Enabled: 1
4277 | m_EditorHideFlags: 0
4278 | m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
4279 | m_Name:
4280 | m_EditorClassIdentifier:
4281 | m_Material: {fileID: 0}
4282 | m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
4283 | m_RaycastTarget: 1
4284 | m_Maskable: 1
4285 | m_OnCullStateChanged:
4286 | m_PersistentCalls:
4287 | m_Calls: []
4288 | m_FontData:
4289 | m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
4290 | m_FontSize: 14
4291 | m_FontStyle: 0
4292 | m_BestFit: 0
4293 | m_MinSize: 10
4294 | m_MaxSize: 40
4295 | m_Alignment: 0
4296 | m_AlignByGeometry: 0
4297 | m_RichText: 1
4298 | m_HorizontalOverflow: 0
4299 | m_VerticalOverflow: 0
4300 | m_LineSpacing: 1
4301 | m_Text: ' Client Logs:
4302 |
4303 | '
4304 | --- !u!222 &1854101315
4305 | CanvasRenderer:
4306 | m_ObjectHideFlags: 0
4307 | m_CorrespondingSourceObject: {fileID: 0}
4308 | m_PrefabInstance: {fileID: 0}
4309 | m_PrefabAsset: {fileID: 0}
4310 | m_GameObject: {fileID: 1854101311}
4311 | m_CullTransparentMesh: 0
4312 | --- !u!1 &1865169434
4313 | GameObject:
4314 | m_ObjectHideFlags: 0
4315 | m_CorrespondingSourceObject: {fileID: 0}
4316 | m_PrefabInstance: {fileID: 0}
4317 | m_PrefabAsset: {fileID: 0}
4318 | serializedVersion: 6
4319 | m_Component:
4320 | - component: {fileID: 1865169435}
4321 | m_Layer: 5
4322 | m_Name: Header
4323 | m_TagString: Untagged
4324 | m_Icon: {fileID: 0}
4325 | m_NavMeshLayer: 0
4326 | m_StaticEditorFlags: 0
4327 | m_IsActive: 1
4328 | --- !u!224 &1865169435
4329 | RectTransform:
4330 | m_ObjectHideFlags: 0
4331 | m_CorrespondingSourceObject: {fileID: 0}
4332 | m_PrefabInstance: {fileID: 0}
4333 | m_PrefabAsset: {fileID: 0}
4334 | m_GameObject: {fileID: 1865169434}
4335 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
4336 | m_LocalPosition: {x: 0, y: 0, z: 0}
4337 | m_LocalScale: {x: 1, y: 1, z: 1}
4338 | m_Children:
4339 | - {fileID: 300588219}
4340 | m_Father: {fileID: 1697541020}
4341 | m_RootOrder: 0
4342 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
4343 | m_AnchorMin: {x: 0, y: 0.92254853}
4344 | m_AnchorMax: {x: 1, y: 1}
4345 | m_AnchoredPosition: {x: 0, y: 0}
4346 | m_SizeDelta: {x: 0, y: 0}
4347 | m_Pivot: {x: 0.5, y: 0.5}
4348 | --- !u!1 &2089604400
4349 | GameObject:
4350 | m_ObjectHideFlags: 0
4351 | m_CorrespondingSourceObject: {fileID: 0}
4352 | m_PrefabInstance: {fileID: 0}
4353 | m_PrefabAsset: {fileID: 0}
4354 | serializedVersion: 6
4355 | m_Component:
4356 | - component: {fileID: 2089604401}
4357 | m_Layer: 5
4358 | m_Name: Sliding Area
4359 | m_TagString: Untagged
4360 | m_Icon: {fileID: 0}
4361 | m_NavMeshLayer: 0
4362 | m_StaticEditorFlags: 0
4363 | m_IsActive: 1
4364 | --- !u!224 &2089604401
4365 | RectTransform:
4366 | m_ObjectHideFlags: 0
4367 | m_CorrespondingSourceObject: {fileID: 0}
4368 | m_PrefabInstance: {fileID: 0}
4369 | m_PrefabAsset: {fileID: 0}
4370 | m_GameObject: {fileID: 2089604400}
4371 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
4372 | m_LocalPosition: {x: 0, y: 0, z: 0}
4373 | m_LocalScale: {x: 1, y: 1, z: 1}
4374 | m_Children:
4375 | - {fileID: 1387791854}
4376 | m_Father: {fileID: 93246476}
4377 | m_RootOrder: 0
4378 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
4379 | m_AnchorMin: {x: 0, y: 0}
4380 | m_AnchorMax: {x: 1, y: 1}
4381 | m_AnchoredPosition: {x: 0, y: 0}
4382 | m_SizeDelta: {x: -20, y: -20}
4383 | m_Pivot: {x: 0.5, y: 0.5}
4384 | --- !u!1 &2095598109
4385 | GameObject:
4386 | m_ObjectHideFlags: 0
4387 | m_CorrespondingSourceObject: {fileID: 0}
4388 | m_PrefabInstance: {fileID: 0}
4389 | m_PrefabAsset: {fileID: 0}
4390 | serializedVersion: 6
4391 | m_Component:
4392 | - component: {fileID: 2095598110}
4393 | m_Layer: 5
4394 | m_Name: SendClient
4395 | m_TagString: Untagged
4396 | m_Icon: {fileID: 0}
4397 | m_NavMeshLayer: 0
4398 | m_StaticEditorFlags: 0
4399 | m_IsActive: 1
4400 | --- !u!224 &2095598110
4401 | RectTransform:
4402 | m_ObjectHideFlags: 0
4403 | m_CorrespondingSourceObject: {fileID: 0}
4404 | m_PrefabInstance: {fileID: 0}
4405 | m_PrefabAsset: {fileID: 0}
4406 | m_GameObject: {fileID: 2095598109}
4407 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
4408 | m_LocalPosition: {x: 0, y: 0, z: 0}
4409 | m_LocalScale: {x: 1, y: 1, z: 1}
4410 | m_Children:
4411 | - {fileID: 898017723}
4412 | - {fileID: 2098098882}
4413 | m_Father: {fileID: 983091628}
4414 | m_RootOrder: 1
4415 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
4416 | m_AnchorMin: {x: 0, y: 0.3911422}
4417 | m_AnchorMax: {x: 0.9568198, y: 0.5922145}
4418 | m_AnchoredPosition: {x: 0, y: -0.49230957}
4419 | m_SizeDelta: {x: 0, y: 0}
4420 | m_Pivot: {x: 0, y: 0.5}
4421 | --- !u!1 &2098098881
4422 | GameObject:
4423 | m_ObjectHideFlags: 0
4424 | m_CorrespondingSourceObject: {fileID: 0}
4425 | m_PrefabInstance: {fileID: 0}
4426 | m_PrefabAsset: {fileID: 0}
4427 | serializedVersion: 6
4428 | m_Component:
4429 | - component: {fileID: 2098098882}
4430 | - component: {fileID: 2098098885}
4431 | - component: {fileID: 2098098884}
4432 | - component: {fileID: 2098098883}
4433 | m_Layer: 5
4434 | m_Name: InputField
4435 | m_TagString: Untagged
4436 | m_Icon: {fileID: 0}
4437 | m_NavMeshLayer: 0
4438 | m_StaticEditorFlags: 0
4439 | m_IsActive: 1
4440 | --- !u!224 &2098098882
4441 | RectTransform:
4442 | m_ObjectHideFlags: 0
4443 | m_CorrespondingSourceObject: {fileID: 0}
4444 | m_PrefabInstance: {fileID: 0}
4445 | m_PrefabAsset: {fileID: 0}
4446 | m_GameObject: {fileID: 2098098881}
4447 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
4448 | m_LocalPosition: {x: 0, y: 0, z: 0}
4449 | m_LocalScale: {x: 1, y: 1, z: 1}
4450 | m_Children:
4451 | - {fileID: 129645020}
4452 | - {fileID: 117483918}
4453 | m_Father: {fileID: 2095598110}
4454 | m_RootOrder: 1
4455 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
4456 | m_AnchorMin: {x: 0.665, y: 0}
4457 | m_AnchorMax: {x: 1, y: 1}
4458 | m_AnchoredPosition: {x: 0.23010254, y: 0}
4459 | m_SizeDelta: {x: -0.4610672, y: 0}
4460 | m_Pivot: {x: 0.5, y: 0.5}
4461 | --- !u!114 &2098098883
4462 | MonoBehaviour:
4463 | m_ObjectHideFlags: 0
4464 | m_CorrespondingSourceObject: {fileID: 0}
4465 | m_PrefabInstance: {fileID: 0}
4466 | m_PrefabAsset: {fileID: 0}
4467 | m_GameObject: {fileID: 2098098881}
4468 | m_Enabled: 1
4469 | m_EditorHideFlags: 0
4470 | m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
4471 | m_Name:
4472 | m_EditorClassIdentifier:
4473 | m_Navigation:
4474 | m_Mode: 3
4475 | m_SelectOnUp: {fileID: 0}
4476 | m_SelectOnDown: {fileID: 0}
4477 | m_SelectOnLeft: {fileID: 0}
4478 | m_SelectOnRight: {fileID: 0}
4479 | m_Transition: 1
4480 | m_Colors:
4481 | m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
4482 | m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
4483 | m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
4484 | m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
4485 | m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
4486 | m_ColorMultiplier: 1
4487 | m_FadeDuration: 0.1
4488 | m_SpriteState:
4489 | m_HighlightedSprite: {fileID: 0}
4490 | m_PressedSprite: {fileID: 0}
4491 | m_SelectedSprite: {fileID: 0}
4492 | m_DisabledSprite: {fileID: 0}
4493 | m_AnimationTriggers:
4494 | m_NormalTrigger: Normal
4495 | m_HighlightedTrigger: Highlighted
4496 | m_PressedTrigger: Pressed
4497 | m_SelectedTrigger: Selected
4498 | m_DisabledTrigger: Disabled
4499 | m_Interactable: 1
4500 | m_TargetGraphic: {fileID: 2098098884}
4501 | m_TextComponent: {fileID: 117483919}
4502 | m_Placeholder: {fileID: 129645021}
4503 | m_ContentType: 0
4504 | m_InputType: 0
4505 | m_AsteriskChar: 42
4506 | m_KeyboardType: 0
4507 | m_LineType: 0
4508 | m_HideMobileInput: 0
4509 | m_CharacterValidation: 0
4510 | m_CharacterLimit: 0
4511 | m_OnEndEdit:
4512 | m_PersistentCalls:
4513 | m_Calls: []
4514 | m_OnValueChanged:
4515 | m_PersistentCalls:
4516 | m_Calls: []
4517 | m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
4518 | m_CustomCaretColor: 0
4519 | m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
4520 | m_Text:
4521 | m_CaretBlinkRate: 0.85
4522 | m_CaretWidth: 1
4523 | m_ReadOnly: 0
4524 | --- !u!114 &2098098884
4525 | MonoBehaviour:
4526 | m_ObjectHideFlags: 0
4527 | m_CorrespondingSourceObject: {fileID: 0}
4528 | m_PrefabInstance: {fileID: 0}
4529 | m_PrefabAsset: {fileID: 0}
4530 | m_GameObject: {fileID: 2098098881}
4531 | m_Enabled: 1
4532 | m_EditorHideFlags: 0
4533 | m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
4534 | m_Name:
4535 | m_EditorClassIdentifier:
4536 | m_Material: {fileID: 0}
4537 | m_Color: {r: 1, g: 1, b: 1, a: 1}
4538 | m_RaycastTarget: 1
4539 | m_Maskable: 1
4540 | m_OnCullStateChanged:
4541 | m_PersistentCalls:
4542 | m_Calls: []
4543 | m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0}
4544 | m_Type: 1
4545 | m_PreserveAspect: 0
4546 | m_FillCenter: 1
4547 | m_FillMethod: 4
4548 | m_FillAmount: 1
4549 | m_FillClockwise: 1
4550 | m_FillOrigin: 0
4551 | m_UseSpriteMesh: 0
4552 | m_PixelsPerUnitMultiplier: 1
4553 | --- !u!222 &2098098885
4554 | CanvasRenderer:
4555 | m_ObjectHideFlags: 0
4556 | m_CorrespondingSourceObject: {fileID: 0}
4557 | m_PrefabInstance: {fileID: 0}
4558 | m_PrefabAsset: {fileID: 0}
4559 | m_GameObject: {fileID: 2098098881}
4560 | m_CullTransparentMesh: 0
4561 | --- !u!1 &2140781250
4562 | GameObject:
4563 | m_ObjectHideFlags: 0
4564 | m_CorrespondingSourceObject: {fileID: 0}
4565 | m_PrefabInstance: {fileID: 0}
4566 | m_PrefabAsset: {fileID: 0}
4567 | serializedVersion: 6
4568 | m_Component:
4569 | - component: {fileID: 2140781251}
4570 | - component: {fileID: 2140781252}
4571 | m_Layer: 5
4572 | m_Name: ServerLogger
4573 | m_TagString: Untagged
4574 | m_Icon: {fileID: 0}
4575 | m_NavMeshLayer: 0
4576 | m_StaticEditorFlags: 0
4577 | m_IsActive: 1
4578 | --- !u!224 &2140781251
4579 | RectTransform:
4580 | m_ObjectHideFlags: 0
4581 | m_CorrespondingSourceObject: {fileID: 0}
4582 | m_PrefabInstance: {fileID: 0}
4583 | m_PrefabAsset: {fileID: 0}
4584 | m_GameObject: {fileID: 2140781250}
4585 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
4586 | m_LocalPosition: {x: 0, y: 0, z: 0}
4587 | m_LocalScale: {x: 1, y: 1, z: 0}
4588 | m_Children:
4589 | - {fileID: 577058273}
4590 | - {fileID: 1636111363}
4591 | m_Father: {fileID: 1342787545}
4592 | m_RootOrder: 2
4593 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
4594 | m_AnchorMin: {x: 0, y: 0}
4595 | m_AnchorMax: {x: 1, y: 0.705105}
4596 | m_AnchoredPosition: {x: 0, y: -0.012451172}
4597 | m_SizeDelta: {x: 0.000030517578, y: 0.025024414}
4598 | m_Pivot: {x: 0.5, y: 0.5}
4599 | --- !u!222 &2140781252
4600 | CanvasRenderer:
4601 | m_ObjectHideFlags: 0
4602 | m_CorrespondingSourceObject: {fileID: 0}
4603 | m_PrefabInstance: {fileID: 0}
4604 | m_PrefabAsset: {fileID: 0}
4605 | m_GameObject: {fileID: 2140781250}
4606 | m_CullTransparentMesh: 0
4607 |
--------------------------------------------------------------------------------
/Assets/Main_SimpleTCP.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bcb74d7ddf2ee3e4cb480e9ea2d850db
3 | timeCreated: 1544011328
4 | licenseType: Free
5 | DefaultImporter:
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 249128b4da9d83f48ab8f9e89f43a696
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/Scripts/Client.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Net.Sockets;
4 | using System.Text;
5 | using UnityEngine;
6 |
7 | ///
8 | /// Client class shows how to implement and use TcpClient in Unity.
9 | ///
10 | public class Client : MonoBehaviour
11 | {
12 | #region Public Variables
13 | [Header("Network")]
14 | public string ipAdress = "127.0.0.1";
15 | public int port = 54010;
16 | public float waitingMessagesFrequency = 1;
17 | #endregion
18 |
19 | #region Private m_Variables
20 | private TcpClient m_Client;
21 | private NetworkStream m_NetStream = null;
22 | private byte[] m_Buffer = new byte[49152];
23 | private int m_BytesReceived = 0;
24 | private string m_ReceivedMessage = "";
25 | private IEnumerator m_ListenServerMsgsCoroutine = null;
26 |
27 | [Tooltip("This value should be >= to Server waitingMessagesFrequency")]
28 | [Min(0)] private float m_DelayedCloseTime = 0.5f;
29 | #endregion
30 |
31 | #region Delegate Variables
32 | protected Action OnClientStarted = null; //Delegate triggered when client start
33 | protected Action OnClientClosed = null; //Delegate triggered when client close
34 | #endregion
35 |
36 | //Start client and stablish connection with server
37 | protected void StartClient()
38 | {
39 | //Early out
40 | if (m_Client != null)
41 | {
42 | ClientLog($"There is already a runing client on {ipAdress}::{port}", Color.red);
43 | return;
44 | }
45 |
46 | try
47 | {
48 | //Create new client
49 | m_Client = new TcpClient();
50 | //Set and enable client
51 | m_Client.Connect(ipAdress, port);
52 | ClientLog($"Client Started on {ipAdress}::{port}", Color.green);
53 | OnClientStarted?.Invoke();
54 | m_ListenServerMsgsCoroutine = ListenServerMessages();
55 | StartCoroutine(m_ListenServerMsgsCoroutine);
56 | }
57 | catch (SocketException)
58 | {
59 | ClientLog("Socket Exception: Start Server first", Color.red);
60 | CloseClient();
61 | }
62 | }
63 |
64 | #region Communication Client<->Server
65 | //Coroutine waiting server messages
66 | private IEnumerator ListenServerMessages()
67 | {
68 | //early out if there is nothing connected
69 | if (!m_Client.Connected)
70 | yield break;
71 |
72 | //Stablish Client NetworkStream information
73 | m_NetStream = m_Client.GetStream();
74 |
75 | //Start Async Reading from Server and manage the response on MessageReceived function
76 | do
77 | {
78 | ClientLog("Client is listening server msg...", Color.yellow);
79 | //Start Async Reading from Server and manage the response on MessageReceived function
80 | m_NetStream.BeginRead(m_Buffer, 0, m_Buffer.Length, MessageReceived, null);
81 |
82 | if (m_BytesReceived > 0)
83 | {
84 | OnMessageReceived(m_ReceivedMessage);
85 | m_BytesReceived = 0;
86 | }
87 |
88 | yield return new WaitForSeconds(waitingMessagesFrequency);
89 |
90 | } while (m_BytesReceived >= 0 && m_NetStream != null && m_Client != null);
91 | //Communication is over
92 | }
93 |
94 | //What to do with the received message on client
95 | protected virtual void OnMessageReceived(string receivedMessage)
96 | {
97 | ClientLog($"Msg recived on Client: {receivedMessage}", Color.green);
98 | switch (receivedMessage)
99 | {
100 | case "Close":
101 | CloseClient();
102 | break;
103 | default:
104 | ClientLog($"Received message {receivedMessage}, has no special behaviuor", Color.red);
105 | break;
106 | }
107 | }
108 |
109 | //Send custom string msg to server
110 | protected virtual void SendMessageToServer(string messageToSend)
111 | {
112 | try
113 | {
114 | m_NetStream = m_Client.GetStream();
115 | }
116 | catch (Exception)
117 | {
118 | ClientLog("Non-Connected Socket exception", Color.red);
119 | CloseClient();
120 | return;
121 | }
122 |
123 | //early out if there is nothing connected
124 | if (!m_Client.Connected)
125 | {
126 | ClientLog("Socket Error: Stablish Server connection first", Color.red);
127 | return;
128 | }
129 |
130 | //Build message to server
131 | byte[] encodedMessage = Encoding.ASCII.GetBytes(messageToSend); //Encode message as bytes
132 |
133 | //Start Sync Writing
134 | m_NetStream.Write(encodedMessage, 0, encodedMessage.Length);
135 | ClientLog($"Msg sended to Server: {messageToSend}", Color.blue);
136 |
137 | //In case client informs the server that closes the connection
138 | if (messageToSend == "Close")
139 | {
140 | //Stop listening server messages
141 | StopCoroutine(m_ListenServerMsgsCoroutine);
142 | //It has to wait before closing, to ensure Close message is sended
143 | StartCoroutine(DelayedCloseClient(waitingMessagesFrequency + m_DelayedCloseTime));
144 | }
145 | }
146 |
147 | //AsyncCallback called when "BeginRead" is ended, waiting the message response from server
148 | private void MessageReceived(IAsyncResult result)
149 | {
150 | if (result.IsCompleted && m_Client.Connected)
151 | {
152 | //build message received from server
153 | m_BytesReceived = m_NetStream.EndRead(result);
154 | m_ReceivedMessage = Encoding.ASCII.GetString(m_Buffer, 0, m_BytesReceived);
155 | }
156 | }
157 | #endregion
158 |
159 | #region Close Client
160 | //Close client connection
161 | private void CloseClient()
162 | {
163 | ClientLog("Client Closed", Color.red);
164 |
165 | //Reset everything to defaults
166 | if (m_Client.Connected)
167 | m_Client.Close();
168 |
169 | if (m_Client != null)
170 | m_Client = null;
171 |
172 | OnClientClosed?.Invoke();
173 | }
174 | private IEnumerator DelayedCloseClient(float delayedTime)
175 | {
176 | yield return new WaitForSeconds(delayedTime);
177 | CloseClient();
178 | }
179 | #endregion
180 |
181 | #region ClientLog
182 | //Custom Client Log - With Text Color
183 | protected virtual void ClientLog(string msg, Color color)
184 | {
185 | Debug.Log($"Client: {msg}");
186 | }
187 | //Custom Client Log - Without Text Color
188 | protected virtual void ClientLog(string msg)
189 | {
190 | Debug.Log($"Client: {msg}");
191 | }
192 | #endregion
193 |
194 | }
--------------------------------------------------------------------------------
/Assets/Scripts/Client.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d93f2ed314ef3354eb55b9200bf57877
3 | timeCreated: 1544011308
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/Assets/Scripts/Server.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Net;
4 | using System.Net.Sockets;
5 | using System.Text;
6 | using UnityEngine;
7 |
8 | ///
9 | /// Server class shows how to implement and use TcpListener in Unity.
10 | ///
11 | public class Server : MonoBehaviour
12 | {
13 | #region Public Variables
14 | [Header("Network")]
15 | public string ipAdress = "127.0.0.1";
16 | public int port = 54010;
17 | [Min(0)] public float waitingMessagesFrequency = 1f;
18 | [Tooltip("0 means time out is disabled")]
19 | [Min(0)] public float receivingTimeOut = 0f;
20 | #endregion
21 |
22 | #region Private m_Variables
23 | private TcpListener m_Server = null;
24 | private TcpClient m_Client = null;
25 | private NetworkStream m_NetStream = null;
26 | private byte[] m_Buffer = new byte[49152];
27 | private int m_BytesReceived = 0;
28 | private float m_EllapsedTime = 0f;
29 | private bool m_TimeOutReached = false;
30 | //ToDo: Check if I can do the same without this property
31 | [SerializeField] [TextArea] private string m_ReceivedMessage = "";
32 | protected string ReceivedMessage
33 | {
34 | get { return m_ReceivedMessage; }
35 | set
36 | {
37 | m_ReceivedMessage = value;
38 | OnRecivedMessageChange();
39 | }
40 | }
41 | private IEnumerator m_ListenClientMsgsCoroutine = null;
42 |
43 | #endregion
44 |
45 | #region Delegate Variables
46 | protected Action OnServerStarted = null; //Delegate triggered when server start
47 | protected Action OnServerClosed = null; //Delegate triggered when server close
48 | protected Action OnClientConnected = null; //Delegate triggered when the server stablish connection with client
49 | protected Action OnClientDisconnected = null; //Delegate triggered when the server stablish connection with client
50 | protected Action OnUnsuccessfulStart = null; //Delegate triggered when the server fails the start
51 | #endregion
52 |
53 | protected virtual void OnRecivedMessageChange() { }
54 |
55 | //Start server and wait for clients
56 | protected virtual void StartServer()
57 | {
58 | try
59 | {
60 | //Set and enable Server
61 | IPAddress ip = IPAddress.Parse(ipAdress);
62 | m_Server = new TcpListener(ip, port);
63 | m_Server.Server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, 1);
64 | m_Server.Start();
65 | ServerLog($"Server Started on {ipAdress}::{port}", Color.green);
66 | //Wait for async client connection
67 | m_Server.BeginAcceptTcpClient(ClientConnected, null);
68 | OnServerStarted?.Invoke();
69 | }
70 | catch (Exception)
71 | {
72 | OnUnsuccessfulStart?.Invoke();
73 | ServerLog("Socket or Format Exception: Port or IP not available", Color.red);
74 | }
75 | }
76 |
77 | //Check if any client trys to connect
78 | protected virtual void Update()
79 | {
80 | //If some client stablish connection
81 | if (m_Client != null && m_ListenClientMsgsCoroutine == null)
82 | {
83 | //Start Listening Client Messages coroutine
84 | m_ListenClientMsgsCoroutine = ListenClientMessages();
85 | StartCoroutine(m_ListenClientMsgsCoroutine);
86 | }
87 | }
88 |
89 | //Callback called when "BeginAcceptTcpClient" detects new client connection
90 | private void ClientConnected(IAsyncResult res)
91 | {
92 | //set the client reference
93 | m_Client = m_Server.EndAcceptTcpClient(res);
94 | OnClientConnected?.Invoke();
95 | }
96 |
97 | #region Communication Server<->Client
98 | //Coroutine waiting client messages while client is connected to the server
99 | private IEnumerator ListenClientMessages()
100 | {
101 | //Restart values in case there are more than one client connections
102 | m_BytesReceived = 0;
103 | m_Buffer = new byte[49152];
104 |
105 | //Stablish Client NetworkStream information
106 | m_NetStream = m_Client.GetStream();
107 | m_EllapsedTime = 0f;
108 | m_TimeOutReached = false;
109 |
110 | //While there is a connection with the client, await for messages
111 | do
112 | {
113 | ServerLog("Server is listening client msg...", Color.yellow);
114 | //Start Async Reading from Client and manage the response on MessageReceived function
115 | m_NetStream.BeginRead(m_Buffer, 0, m_Buffer.Length, MessageReceived, m_NetStream);
116 |
117 | //If there is any msg, do something
118 | if (m_BytesReceived > 0)
119 | {
120 | OnMessageReceived(m_ReceivedMessage);
121 | m_BytesReceived = 0;
122 | }
123 |
124 | yield return new WaitForSeconds(waitingMessagesFrequency);
125 | //Check TimeOut
126 | m_EllapsedTime += waitingMessagesFrequency;
127 | if (m_EllapsedTime >= receivingTimeOut && receivingTimeOut != 0)
128 | {
129 | ServerLog("Receiving Messages TimeOut", Color.red);
130 | ServerLog("Remember to close Client!", Color.black);
131 | CloseClientConnection();
132 | m_TimeOutReached = true;
133 | }
134 | } while ((m_BytesReceived >= 0 && m_NetStream != null && m_Client != null) && (!m_TimeOutReached));
135 | //Communication is over
136 | }
137 |
138 | //What to do with the received message on server
139 | protected virtual void OnMessageReceived(string receivedMessage)
140 | {
141 | ServerLog($"Msg recived on Server: {receivedMessage}", Color.green);
142 | switch (receivedMessage)
143 | {
144 | case "Close":
145 | //Close client connection
146 | CloseClientConnection();
147 | break;
148 | default:
149 | ServerLog($"Received message {receivedMessage}, has no special behaviuor", Color.red);
150 | break;
151 | }
152 | }
153 |
154 | //Send custom string msg to client
155 | protected void SendMessageToClient(string messageToSend)
156 | {
157 | //early out if there is nothing connected
158 | if (m_NetStream == null)
159 | {
160 | ServerLog("Socket Error: Start at least one client first", Color.red);
161 | return;
162 | }
163 |
164 | //Build message to client
165 | byte[] encodedMessage = Encoding.ASCII.GetBytes(messageToSend); //Encode message as bytes
166 |
167 | //Start Sync Writing
168 | m_NetStream.Write(encodedMessage, 0, encodedMessage.Length);
169 | ServerLog($"Msg sended to Client: {messageToSend}", Color.blue);
170 | }
171 |
172 | //AsyncCallback called when "BeginRead" is ended, waiting the message response from client
173 | private void MessageReceived(IAsyncResult result)
174 | {
175 | if (result.IsCompleted && m_Client.Connected)
176 | {
177 | //build message received from client
178 | m_BytesReceived = m_NetStream.EndRead(result); //End async reading
179 | ReceivedMessage = Encoding.ASCII.GetString(m_Buffer, 0, m_BytesReceived); //De-encode message as string
180 | }
181 | }
182 | #endregion
183 |
184 | #region Close Server/ClientConnection
185 | //Close client connection and disables the server
186 | protected virtual void CloseServer()
187 | {
188 | ServerLog("Server Closed", Color.red);
189 | //Close client connection
190 | if (m_Client != null)
191 | {
192 | ServerLog("Remember to close Client!", Color.black);
193 | m_NetStream?.Close();
194 | m_NetStream = null;
195 | m_Client.Close();
196 | m_Client = null;
197 | OnClientDisconnected?.Invoke();
198 | }
199 | //Close server connection
200 | if (m_Server != null)
201 | {
202 | m_Server.Stop();
203 | m_Server = null;
204 | }
205 |
206 | if (m_ListenClientMsgsCoroutine != null)
207 | {
208 | StopCoroutine(m_ListenClientMsgsCoroutine);
209 | m_ListenClientMsgsCoroutine = null;
210 | }
211 |
212 | OnServerClosed?.Invoke();
213 | }
214 |
215 | //Close connection with the client
216 | protected virtual void CloseClientConnection()
217 | {
218 | ServerLog("Close Connection with Client", Color.red);
219 | //Reset everything to defaults
220 | if (m_ListenClientMsgsCoroutine != null)
221 | {
222 | StopCoroutine(m_ListenClientMsgsCoroutine);
223 | m_ListenClientMsgsCoroutine = null;
224 | }
225 |
226 | m_Client.Close();
227 | m_Client = null;
228 |
229 | OnClientDisconnected?.Invoke();
230 |
231 | //Waiting to Accept a new Client
232 | m_Server.BeginAcceptTcpClient(ClientConnected, null);
233 | }
234 | #endregion
235 |
236 | #region ServerLog
237 | //Custom Server Log - With Text Color
238 | protected virtual void ServerLog(string msg, Color color)
239 | {
240 | Debug.Log($"Server: {msg}");
241 | }
242 | //Custom Server Log - Without Text Color
243 | protected virtual void ServerLog(string msg)
244 | {
245 | Debug.Log($"Server: {msg}");
246 | }
247 | #endregion
248 |
249 | }
--------------------------------------------------------------------------------
/Assets/Scripts/Server.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 80f16ff733833af408de5a338ce97b78
3 | timeCreated: 1544011308
4 | licenseType: Free
5 | MonoImporter:
6 | serializedVersion: 2
7 | defaultReferences: []
8 | executionOrder: 0
9 | icon: {instanceID: 0}
10 | userData:
11 | assetBundleName:
12 | assetBundleVariant:
13 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Eric
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/Logs/Packages-Update.log:
--------------------------------------------------------------------------------
1 |
2 | === Thu Sep 19 12:08:09 2019
3 |
4 | Packages were changed.
5 | Update Mode: resetToDefaultDependencies
6 |
7 | The following packages were added:
8 | com.unity.analytics@3.3.2
9 | com.unity.purchasing@2.0.6
10 | com.unity.ads@2.0.8
11 | com.unity.textmeshpro@2.0.0
12 | com.unity.package-manager-ui@2.1.2
13 | com.unity.collab-proxy@1.2.16
14 | com.unity.timeline@1.0.0
15 | com.unity.modules.ai@1.0.0
16 | com.unity.modules.animation@1.0.0
17 | com.unity.modules.assetbundle@1.0.0
18 | com.unity.modules.audio@1.0.0
19 | com.unity.modules.cloth@1.0.0
20 | com.unity.modules.director@1.0.0
21 | com.unity.modules.imageconversion@1.0.0
22 | com.unity.modules.imgui@1.0.0
23 | com.unity.modules.jsonserialize@1.0.0
24 | com.unity.modules.particlesystem@1.0.0
25 | com.unity.modules.physics@1.0.0
26 | com.unity.modules.physics2d@1.0.0
27 | com.unity.modules.screencapture@1.0.0
28 | com.unity.modules.terrain@1.0.0
29 | com.unity.modules.terrainphysics@1.0.0
30 | com.unity.modules.tilemap@1.0.0
31 | com.unity.modules.ui@1.0.0
32 | com.unity.modules.uielements@1.0.0
33 | com.unity.modules.umbra@1.0.0
34 | com.unity.modules.unityanalytics@1.0.0
35 | com.unity.modules.unitywebrequest@1.0.0
36 | com.unity.modules.unitywebrequestassetbundle@1.0.0
37 | com.unity.modules.unitywebrequestaudio@1.0.0
38 | com.unity.modules.unitywebrequesttexture@1.0.0
39 | com.unity.modules.unitywebrequestwww@1.0.0
40 | com.unity.modules.vehicles@1.0.0
41 | com.unity.modules.video@1.0.0
42 | com.unity.modules.vr@1.0.0
43 | com.unity.modules.wind@1.0.0
44 | com.unity.modules.xr@1.0.0
45 |
46 | === Sat Jun 19 10:55:26 2021
47 |
48 | Packages were changed.
49 | Update Mode: updateDependencies
50 |
51 | The following packages were added:
52 | com.unity.2d.sprite@1.0.0
53 | com.unity.2d.tilemap@1.0.0
54 | com.unity.ide.rider@1.1.4
55 | com.unity.ide.vscode@1.2.0
56 | com.unity.modules.androidjni@1.0.0
57 | com.unity.test-framework@1.1.13
58 | com.unity.ugui@1.0.0
59 | The following packages were updated:
60 | com.unity.ads from version 2.0.8 to 3.4.4
61 | com.unity.analytics from version 3.3.2 to 3.3.5
62 | com.unity.textmeshpro from version 2.0.0 to 2.0.1
63 | com.unity.timeline from version 1.0.0 to 1.2.6
64 | The following packages were removed:
65 | com.unity.package-manager-ui@2.1.2
66 |
--------------------------------------------------------------------------------
/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.ads": "3.4.4",
6 | "com.unity.analytics": "3.3.5",
7 | "com.unity.collab-proxy": "1.2.16",
8 | "com.unity.ide.rider": "1.1.4",
9 | "com.unity.ide.vscode": "1.2.0",
10 | "com.unity.purchasing": "2.0.6",
11 | "com.unity.test-framework": "1.1.13",
12 | "com.unity.textmeshpro": "2.0.1",
13 | "com.unity.timeline": "1.2.6",
14 | "com.unity.ugui": "1.0.0",
15 | "com.unity.modules.ai": "1.0.0",
16 | "com.unity.modules.androidjni": "1.0.0",
17 | "com.unity.modules.animation": "1.0.0",
18 | "com.unity.modules.assetbundle": "1.0.0",
19 | "com.unity.modules.audio": "1.0.0",
20 | "com.unity.modules.cloth": "1.0.0",
21 | "com.unity.modules.director": "1.0.0",
22 | "com.unity.modules.imageconversion": "1.0.0",
23 | "com.unity.modules.imgui": "1.0.0",
24 | "com.unity.modules.jsonserialize": "1.0.0",
25 | "com.unity.modules.particlesystem": "1.0.0",
26 | "com.unity.modules.physics": "1.0.0",
27 | "com.unity.modules.physics2d": "1.0.0",
28 | "com.unity.modules.screencapture": "1.0.0",
29 | "com.unity.modules.terrain": "1.0.0",
30 | "com.unity.modules.terrainphysics": "1.0.0",
31 | "com.unity.modules.tilemap": "1.0.0",
32 | "com.unity.modules.ui": "1.0.0",
33 | "com.unity.modules.uielements": "1.0.0",
34 | "com.unity.modules.umbra": "1.0.0",
35 | "com.unity.modules.unityanalytics": "1.0.0",
36 | "com.unity.modules.unitywebrequest": "1.0.0",
37 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
38 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
39 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
40 | "com.unity.modules.unitywebrequestwww": "1.0.0",
41 | "com.unity.modules.vehicles": "1.0.0",
42 | "com.unity.modules.video": "1.0.0",
43 | "com.unity.modules.vr": "1.0.0",
44 | "com.unity.modules.wind": "1.0.0",
45 | "com.unity.modules.xr": "1.0.0"
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/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: 0
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: 3
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_EnablePCM: 1
18 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
19 | m_AutoSimulation: 1
20 |
--------------------------------------------------------------------------------
/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/Main_SimpleTCP.unity
10 | guid: bcb74d7ddf2ee3e4cb480e9ea2d850db
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: 4
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_DefaultBehaviorMode: 0
10 | m_SpritePackerMode: 0
11 | m_SpritePackerPaddingPower: 1
12 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd
13 | m_ProjectGenerationRootNamespace:
14 | m_UserGeneratedProjectSuffix:
15 | m_CollabEditorSettings:
16 | inProgressEnabled: 1
17 |
--------------------------------------------------------------------------------
/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: 13
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: 16000, guid: 0000000000000000f000000000000000, type: 0}
39 | - {fileID: 16001, 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 | m_AllowEnlightenSupportForUpgradedProject: 1
67 |
--------------------------------------------------------------------------------
/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 | m_SettingNames:
89 | - Humanoid
90 |
--------------------------------------------------------------------------------
/ProjectSettings/NetworkManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!149 &1
4 | NetworkManager:
5 | m_ObjectHideFlags: 0
6 | m_DebugLevel: 0
7 | m_Sendrate: 15
8 | m_AssetToPrefab: {}
9 |
--------------------------------------------------------------------------------
/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 3
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_AutoSimulation: 1
23 | m_QueriesHitTriggers: 1
24 | m_QueriesStartInColliders: 1
25 | m_ChangeStopsCallbacks: 0
26 | m_CallbacksOnDisable: 1
27 | m_AlwaysShowColliders: 0
28 | m_ShowColliderSleep: 1
29 | m_ShowColliderContacts: 0
30 | m_ShowColliderAABB: 0
31 | m_ContactArrowScale: 0.2
32 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
33 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
34 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
35 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
36 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
37 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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: 20
7 | productGUID: b02b6f56adcd3be4598d7684ea60352f
8 | AndroidProfiler: 0
9 | AndroidFilterTouchesWhenObscured: 0
10 | AndroidEnableSustainedPerformanceMode: 0
11 | defaultScreenOrientation: 4
12 | targetDevice: 2
13 | useOnDemandResources: 0
14 | accelerometerFrequency: 60
15 | companyName: Eric
16 | productName: SimpleTCP
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 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000
53 | iosShowActivityIndicatorOnLoading: -1
54 | androidShowActivityIndicatorOnLoading: -1
55 | iosUseCustomAppBackgroundBehavior: 0
56 | iosAllowHTTPDownload: 1
57 | allowedAutorotateToPortrait: 1
58 | allowedAutorotateToPortraitUpsideDown: 1
59 | allowedAutorotateToLandscapeRight: 1
60 | allowedAutorotateToLandscapeLeft: 1
61 | useOSAutorotation: 1
62 | use32BitDisplayBuffer: 1
63 | preserveFramebufferAlpha: 0
64 | disableDepthAndStencilBuffers: 0
65 | androidStartInFullscreen: 1
66 | androidRenderOutsideSafeArea: 1
67 | androidUseSwappy: 0
68 | androidBlitType: 0
69 | defaultIsNativeResolution: 1
70 | macRetinaSupport: 1
71 | runInBackground: 0
72 | captureSingleScreen: 0
73 | muteOtherAudioSources: 0
74 | Prepare IOS For Recording: 0
75 | Force IOS Speakers When Recording: 0
76 | deferSystemGesturesMode: 0
77 | hideHomeButton: 0
78 | submitAnalytics: 1
79 | usePlayerLog: 1
80 | bakeCollisionMeshes: 0
81 | forceSingleInstance: 0
82 | useFlipModelSwapchain: 1
83 | resizableWindow: 1
84 | useMacAppStoreValidation: 0
85 | macAppStoreCategory: public.app-category.games
86 | gpuSkinning: 0
87 | xboxPIXTextureCapture: 0
88 | xboxEnableAvatar: 0
89 | xboxEnableKinect: 0
90 | xboxEnableKinectAutoTracking: 0
91 | xboxEnableFitness: 0
92 | visibleInBackground: 1
93 | allowFullscreenSwitch: 1
94 | fullscreenMode: 3
95 | xboxSpeechDB: 0
96 | xboxEnableHeadOrientation: 0
97 | xboxEnableGuest: 0
98 | xboxEnablePIXSampling: 0
99 | metalFramebufferOnly: 0
100 | xboxOneResolution: 0
101 | xboxOneSResolution: 0
102 | xboxOneXResolution: 3
103 | xboxOneMonoLoggingLevel: 0
104 | xboxOneLoggingLevel: 1
105 | xboxOneDisableEsram: 0
106 | xboxOneEnableTypeOptimization: 0
107 | xboxOnePresentImmediateThreshold: 0
108 | switchQueueCommandMemory: 1048576
109 | switchQueueControlMemory: 16384
110 | switchQueueComputeMemory: 262144
111 | switchNVNShaderPoolsGranularity: 33554432
112 | switchNVNDefaultPoolsGranularity: 16777216
113 | switchNVNOtherPoolsGranularity: 16777216
114 | vulkanNumSwapchainBuffers: 3
115 | vulkanEnableSetSRGBWrite: 0
116 | m_SupportedAspectRatios:
117 | 4:3: 1
118 | 5:4: 1
119 | 16:10: 1
120 | 16:9: 1
121 | Others: 1
122 | bundleVersion: 1.0
123 | preloadedAssets: []
124 | metroInputSource: 0
125 | wsaTransparentSwapchain: 0
126 | m_HolographicPauseOnTrackingLoss: 1
127 | xboxOneDisableKinectGpuReservation: 0
128 | xboxOneEnable7thCore: 0
129 | vrSettings:
130 | cardboard:
131 | depthFormat: 0
132 | enableTransitionView: 0
133 | daydream:
134 | depthFormat: 0
135 | useSustainedPerformanceMode: 0
136 | enableVideoLayer: 0
137 | useProtectedVideoMemory: 0
138 | minimumSupportedHeadTracking: 0
139 | maximumSupportedHeadTracking: 1
140 | hololens:
141 | depthFormat: 1
142 | depthBufferSharingEnabled: 1
143 | lumin:
144 | depthFormat: 0
145 | frameTiming: 2
146 | enableGLCache: 0
147 | glCacheMaxBlobSize: 524288
148 | glCacheMaxFileSize: 8388608
149 | oculus:
150 | sharedDepthBuffer: 1
151 | dashSupport: 1
152 | lowOverheadMode: 0
153 | protectedContext: 0
154 | v2Signing: 1
155 | enable360StereoCapture: 0
156 | isWsaHolographicRemotingEnabled: 0
157 | enableFrameTimingStats: 0
158 | useHDRDisplay: 0
159 | D3DHDRBitDepth: 0
160 | m_ColorGamuts: 00000000
161 | targetPixelDensity: 30
162 | resolutionScalingMode: 0
163 | androidSupportedAspectRatio: 1
164 | androidMaxAspectRatio: 2.1
165 | applicationIdentifier: {}
166 | buildNumber: {}
167 | AndroidBundleVersionCode: 1
168 | AndroidMinSdkVersion: 19
169 | AndroidTargetSdkVersion: 0
170 | AndroidPreferredInstallLocation: 1
171 | aotOptions:
172 | stripEngineCode: 1
173 | iPhoneStrippingLevel: 0
174 | iPhoneScriptCallOptimization: 0
175 | ForceInternetPermission: 0
176 | ForceSDCardPermission: 0
177 | CreateWallpaper: 0
178 | APKExpansionFiles: 0
179 | keepLoadedShadersAlive: 0
180 | StripUnusedMeshComponents: 0
181 | VertexChannelCompressionMask: 214
182 | iPhoneSdkVersion: 988
183 | iOSTargetOSVersionString: 10.0
184 | tvOSSdkVersion: 0
185 | tvOSRequireExtendedGameController: 0
186 | tvOSTargetOSVersionString: 10.0
187 | uIPrerenderedIcon: 0
188 | uIRequiresPersistentWiFi: 0
189 | uIRequiresFullScreen: 1
190 | uIStatusBarHidden: 1
191 | uIExitOnSuspend: 0
192 | uIStatusBarStyle: 0
193 | iPhoneSplashScreen: {fileID: 0}
194 | iPhoneHighResSplashScreen: {fileID: 0}
195 | iPhoneTallHighResSplashScreen: {fileID: 0}
196 | iPhone47inSplashScreen: {fileID: 0}
197 | iPhone55inPortraitSplashScreen: {fileID: 0}
198 | iPhone55inLandscapeSplashScreen: {fileID: 0}
199 | iPhone58inPortraitSplashScreen: {fileID: 0}
200 | iPhone58inLandscapeSplashScreen: {fileID: 0}
201 | iPadPortraitSplashScreen: {fileID: 0}
202 | iPadHighResPortraitSplashScreen: {fileID: 0}
203 | iPadLandscapeSplashScreen: {fileID: 0}
204 | iPadHighResLandscapeSplashScreen: {fileID: 0}
205 | iPhone65inPortraitSplashScreen: {fileID: 0}
206 | iPhone65inLandscapeSplashScreen: {fileID: 0}
207 | iPhone61inPortraitSplashScreen: {fileID: 0}
208 | iPhone61inLandscapeSplashScreen: {fileID: 0}
209 | appleTVSplashScreen: {fileID: 0}
210 | appleTVSplashScreen2x: {fileID: 0}
211 | tvOSSmallIconLayers: []
212 | tvOSSmallIconLayers2x: []
213 | tvOSLargeIconLayers: []
214 | tvOSLargeIconLayers2x: []
215 | tvOSTopShelfImageLayers: []
216 | tvOSTopShelfImageLayers2x: []
217 | tvOSTopShelfImageWideLayers: []
218 | tvOSTopShelfImageWideLayers2x: []
219 | iOSLaunchScreenType: 0
220 | iOSLaunchScreenPortrait: {fileID: 0}
221 | iOSLaunchScreenLandscape: {fileID: 0}
222 | iOSLaunchScreenBackgroundColor:
223 | serializedVersion: 2
224 | rgba: 0
225 | iOSLaunchScreenFillPct: 100
226 | iOSLaunchScreenSize: 100
227 | iOSLaunchScreenCustomXibPath:
228 | iOSLaunchScreeniPadType: 0
229 | iOSLaunchScreeniPadImage: {fileID: 0}
230 | iOSLaunchScreeniPadBackgroundColor:
231 | serializedVersion: 2
232 | rgba: 0
233 | iOSLaunchScreeniPadFillPct: 100
234 | iOSLaunchScreeniPadSize: 100
235 | iOSLaunchScreeniPadCustomXibPath:
236 | iOSUseLaunchScreenStoryboard: 0
237 | iOSLaunchScreenCustomStoryboardPath:
238 | iOSDeviceRequirements: []
239 | iOSURLSchemes: []
240 | iOSBackgroundModes: 0
241 | iOSMetalForceHardShadows: 0
242 | metalEditorSupport: 1
243 | metalAPIValidation: 1
244 | iOSRenderExtraFrameOnPause: 0
245 | appleDeveloperTeamID:
246 | iOSManualSigningProvisioningProfileID:
247 | tvOSManualSigningProvisioningProfileID:
248 | iOSManualSigningProvisioningProfileType: 0
249 | tvOSManualSigningProvisioningProfileType: 0
250 | appleEnableAutomaticSigning: 0
251 | iOSRequireARKit: 0
252 | iOSAutomaticallyDetectAndAddCapabilities: 1
253 | appleEnableProMotion: 0
254 | clonedFromGUID: 00000000000000000000000000000000
255 | templatePackageId:
256 | templateDefaultScene:
257 | AndroidTargetArchitectures: 5
258 | AndroidSplashScreenScale: 0
259 | androidSplashScreen: {fileID: 0}
260 | AndroidKeystoreName: '{inproject}: '
261 | AndroidKeyaliasName:
262 | AndroidBuildApkPerCpuArchitecture: 0
263 | AndroidTVCompatibility: 1
264 | AndroidIsGame: 1
265 | AndroidEnableTango: 0
266 | androidEnableBanner: 1
267 | androidUseLowAccuracyLocation: 0
268 | androidUseCustomKeystore: 0
269 | m_AndroidBanners:
270 | - width: 320
271 | height: 180
272 | banner: {fileID: 0}
273 | androidGamepadSupportLevel: 0
274 | AndroidValidateAppBundleSize: 1
275 | AndroidAppBundleSizeToValidate: 150
276 | m_BuildTargetIcons: []
277 | m_BuildTargetPlatformIcons: []
278 | m_BuildTargetBatching: []
279 | m_BuildTargetGraphicsJobs:
280 | - m_BuildTarget: MacStandaloneSupport
281 | m_GraphicsJobs: 0
282 | - m_BuildTarget: Switch
283 | m_GraphicsJobs: 0
284 | - m_BuildTarget: MetroSupport
285 | m_GraphicsJobs: 0
286 | - m_BuildTarget: AppleTVSupport
287 | m_GraphicsJobs: 0
288 | - m_BuildTarget: BJMSupport
289 | m_GraphicsJobs: 0
290 | - m_BuildTarget: LinuxStandaloneSupport
291 | m_GraphicsJobs: 0
292 | - m_BuildTarget: PS4Player
293 | m_GraphicsJobs: 0
294 | - m_BuildTarget: iOSSupport
295 | m_GraphicsJobs: 0
296 | - m_BuildTarget: WindowsStandaloneSupport
297 | m_GraphicsJobs: 0
298 | - m_BuildTarget: XboxOnePlayer
299 | m_GraphicsJobs: 0
300 | - m_BuildTarget: LuminSupport
301 | m_GraphicsJobs: 0
302 | - m_BuildTarget: AndroidPlayer
303 | m_GraphicsJobs: 0
304 | - m_BuildTarget: WebGLSupport
305 | m_GraphicsJobs: 0
306 | m_BuildTargetGraphicsJobMode:
307 | - m_BuildTarget: PS4Player
308 | m_GraphicsJobMode: 0
309 | - m_BuildTarget: XboxOnePlayer
310 | m_GraphicsJobMode: 0
311 | m_BuildTargetGraphicsAPIs: []
312 | m_BuildTargetVRSettings: []
313 | openGLRequireES31: 0
314 | openGLRequireES31AEP: 0
315 | openGLRequireES32: 0
316 | m_TemplateCustomTags: {}
317 | mobileMTRendering:
318 | iPhone: 1
319 | tvOS: 1
320 | m_BuildTargetGroupLightmapEncodingQuality:
321 | - m_BuildTarget: Standalone
322 | m_EncodingQuality: 1
323 | - m_BuildTarget: XboxOne
324 | m_EncodingQuality: 1
325 | - m_BuildTarget: PS4
326 | m_EncodingQuality: 1
327 | m_BuildTargetGroupLightmapSettings: []
328 | playModeTestRunnerEnabled: 0
329 | runPlayModeTestAsEditModeTest: 0
330 | actionOnDotNetUnhandledException: 1
331 | enableInternalProfiler: 0
332 | logObjCUncaughtExceptions: 1
333 | enableCrashReportAPI: 0
334 | cameraUsageDescription:
335 | locationUsageDescription:
336 | microphoneUsageDescription:
337 | switchNetLibKey:
338 | switchSocketMemoryPoolSize: 6144
339 | switchSocketAllocatorPoolSize: 128
340 | switchSocketConcurrencyLimit: 14
341 | switchScreenResolutionBehavior: 2
342 | switchUseCPUProfiler: 0
343 | switchApplicationID: 0x01004b9000490000
344 | switchNSODependencies:
345 | switchTitleNames_0:
346 | switchTitleNames_1:
347 | switchTitleNames_2:
348 | switchTitleNames_3:
349 | switchTitleNames_4:
350 | switchTitleNames_5:
351 | switchTitleNames_6:
352 | switchTitleNames_7:
353 | switchTitleNames_8:
354 | switchTitleNames_9:
355 | switchTitleNames_10:
356 | switchTitleNames_11:
357 | switchTitleNames_12:
358 | switchTitleNames_13:
359 | switchTitleNames_14:
360 | switchPublisherNames_0:
361 | switchPublisherNames_1:
362 | switchPublisherNames_2:
363 | switchPublisherNames_3:
364 | switchPublisherNames_4:
365 | switchPublisherNames_5:
366 | switchPublisherNames_6:
367 | switchPublisherNames_7:
368 | switchPublisherNames_8:
369 | switchPublisherNames_9:
370 | switchPublisherNames_10:
371 | switchPublisherNames_11:
372 | switchPublisherNames_12:
373 | switchPublisherNames_13:
374 | switchPublisherNames_14:
375 | switchIcons_0: {fileID: 0}
376 | switchIcons_1: {fileID: 0}
377 | switchIcons_2: {fileID: 0}
378 | switchIcons_3: {fileID: 0}
379 | switchIcons_4: {fileID: 0}
380 | switchIcons_5: {fileID: 0}
381 | switchIcons_6: {fileID: 0}
382 | switchIcons_7: {fileID: 0}
383 | switchIcons_8: {fileID: 0}
384 | switchIcons_9: {fileID: 0}
385 | switchIcons_10: {fileID: 0}
386 | switchIcons_11: {fileID: 0}
387 | switchIcons_12: {fileID: 0}
388 | switchIcons_13: {fileID: 0}
389 | switchIcons_14: {fileID: 0}
390 | switchSmallIcons_0: {fileID: 0}
391 | switchSmallIcons_1: {fileID: 0}
392 | switchSmallIcons_2: {fileID: 0}
393 | switchSmallIcons_3: {fileID: 0}
394 | switchSmallIcons_4: {fileID: 0}
395 | switchSmallIcons_5: {fileID: 0}
396 | switchSmallIcons_6: {fileID: 0}
397 | switchSmallIcons_7: {fileID: 0}
398 | switchSmallIcons_8: {fileID: 0}
399 | switchSmallIcons_9: {fileID: 0}
400 | switchSmallIcons_10: {fileID: 0}
401 | switchSmallIcons_11: {fileID: 0}
402 | switchSmallIcons_12: {fileID: 0}
403 | switchSmallIcons_13: {fileID: 0}
404 | switchSmallIcons_14: {fileID: 0}
405 | switchManualHTML:
406 | switchAccessibleURLs:
407 | switchLegalInformation:
408 | switchMainThreadStackSize: 1048576
409 | switchPresenceGroupId:
410 | switchLogoHandling: 0
411 | switchReleaseVersion: 0
412 | switchDisplayVersion: 1.0.0
413 | switchStartupUserAccount: 0
414 | switchTouchScreenUsage: 0
415 | switchSupportedLanguagesMask: 0
416 | switchLogoType: 0
417 | switchApplicationErrorCodeCategory:
418 | switchUserAccountSaveDataSize: 0
419 | switchUserAccountSaveDataJournalSize: 0
420 | switchApplicationAttribute: 0
421 | switchCardSpecSize: -1
422 | switchCardSpecClock: -1
423 | switchRatingsMask: 0
424 | switchRatingsInt_0: 0
425 | switchRatingsInt_1: 0
426 | switchRatingsInt_2: 0
427 | switchRatingsInt_3: 0
428 | switchRatingsInt_4: 0
429 | switchRatingsInt_5: 0
430 | switchRatingsInt_6: 0
431 | switchRatingsInt_7: 0
432 | switchRatingsInt_8: 0
433 | switchRatingsInt_9: 0
434 | switchRatingsInt_10: 0
435 | switchRatingsInt_11: 0
436 | switchRatingsInt_12: 0
437 | switchLocalCommunicationIds_0:
438 | switchLocalCommunicationIds_1:
439 | switchLocalCommunicationIds_2:
440 | switchLocalCommunicationIds_3:
441 | switchLocalCommunicationIds_4:
442 | switchLocalCommunicationIds_5:
443 | switchLocalCommunicationIds_6:
444 | switchLocalCommunicationIds_7:
445 | switchParentalControl: 0
446 | switchAllowsScreenshot: 1
447 | switchAllowsVideoCapturing: 1
448 | switchAllowsRuntimeAddOnContentInstall: 0
449 | switchDataLossConfirmation: 0
450 | switchUserAccountLockEnabled: 0
451 | switchSystemResourceMemory: 16777216
452 | switchSupportedNpadStyles: 3
453 | switchNativeFsCacheSize: 32
454 | switchIsHoldTypeHorizontal: 0
455 | switchSupportedNpadCount: 8
456 | switchSocketConfigEnabled: 0
457 | switchTcpInitialSendBufferSize: 32
458 | switchTcpInitialReceiveBufferSize: 64
459 | switchTcpAutoSendBufferSizeMax: 256
460 | switchTcpAutoReceiveBufferSizeMax: 256
461 | switchUdpSendBufferSize: 9
462 | switchUdpReceiveBufferSize: 42
463 | switchSocketBufferEfficiency: 4
464 | switchSocketInitializeEnabled: 1
465 | switchNetworkInterfaceManagerInitializeEnabled: 1
466 | switchPlayerConnectionEnabled: 1
467 | ps4NPAgeRating: 12
468 | ps4NPTitleSecret:
469 | ps4NPTrophyPackPath:
470 | ps4ParentalLevel: 11
471 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000
472 | ps4Category: 0
473 | ps4MasterVersion: 01.00
474 | ps4AppVersion: 01.00
475 | ps4AppType: 0
476 | ps4ParamSfxPath:
477 | ps4VideoOutPixelFormat: 0
478 | ps4VideoOutInitialWidth: 1920
479 | ps4VideoOutBaseModeInitialWidth: 1920
480 | ps4VideoOutReprojectionRate: 120
481 | ps4PronunciationXMLPath:
482 | ps4PronunciationSIGPath:
483 | ps4BackgroundImagePath:
484 | ps4StartupImagePath:
485 | ps4StartupImagesFolder:
486 | ps4IconImagesFolder:
487 | ps4SaveDataImagePath:
488 | ps4SdkOverride:
489 | ps4BGMPath:
490 | ps4ShareFilePath:
491 | ps4ShareOverlayImagePath:
492 | ps4PrivacyGuardImagePath:
493 | ps4NPtitleDatPath:
494 | ps4RemotePlayKeyAssignment: -1
495 | ps4RemotePlayKeyMappingDir:
496 | ps4PlayTogetherPlayerCount: 0
497 | ps4EnterButtonAssignment: 1
498 | ps4ApplicationParam1: 0
499 | ps4ApplicationParam2: 0
500 | ps4ApplicationParam3: 0
501 | ps4ApplicationParam4: 0
502 | ps4DownloadDataSize: 0
503 | ps4GarlicHeapSize: 2048
504 | ps4ProGarlicHeapSize: 2560
505 | playerPrefsMaxSize: 32768
506 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
507 | ps4pnSessions: 1
508 | ps4pnPresence: 1
509 | ps4pnFriends: 1
510 | ps4pnGameCustomData: 1
511 | playerPrefsSupport: 0
512 | enableApplicationExit: 0
513 | resetTempFolder: 1
514 | restrictedAudioUsageRights: 0
515 | ps4UseResolutionFallback: 0
516 | ps4ReprojectionSupport: 0
517 | ps4UseAudio3dBackend: 0
518 | ps4UseLowGarlicFragmentationMode: 1
519 | ps4SocialScreenEnabled: 0
520 | ps4ScriptOptimizationLevel: 0
521 | ps4Audio3dVirtualSpeakerCount: 14
522 | ps4attribCpuUsage: 0
523 | ps4PatchPkgPath:
524 | ps4PatchLatestPkgPath:
525 | ps4PatchChangeinfoPath:
526 | ps4PatchDayOne: 0
527 | ps4attribUserManagement: 0
528 | ps4attribMoveSupport: 0
529 | ps4attrib3DSupport: 0
530 | ps4attribShareSupport: 0
531 | ps4attribExclusiveVR: 0
532 | ps4disableAutoHideSplash: 0
533 | ps4videoRecordingFeaturesUsed: 0
534 | ps4contentSearchFeaturesUsed: 0
535 | ps4attribEyeToEyeDistanceSettingVR: 0
536 | ps4IncludedModules: []
537 | ps4attribVROutputEnabled: 0
538 | monoEnv:
539 | splashScreenBackgroundSourceLandscape: {fileID: 0}
540 | splashScreenBackgroundSourcePortrait: {fileID: 0}
541 | blurSplashScreenBackground: 1
542 | spritePackerPolicy:
543 | webGLMemorySize: 256
544 | webGLExceptionSupport: 1
545 | webGLNameFilesAsHashes: 0
546 | webGLDataCaching: 0
547 | webGLDebugSymbols: 0
548 | webGLEmscriptenArgs:
549 | webGLModulesDirectory:
550 | webGLTemplate: APPLICATION:Default
551 | webGLAnalyzeBuildSize: 0
552 | webGLUseEmbeddedResources: 0
553 | webGLCompressionFormat: 1
554 | webGLLinkerTarget: 1
555 | webGLThreadsSupport: 0
556 | webGLWasmStreaming: 0
557 | scriptingDefineSymbols: {}
558 | platformArchitecture: {}
559 | scriptingBackend: {}
560 | il2cppCompilerConfiguration: {}
561 | managedStrippingLevel: {}
562 | incrementalIl2cppBuild: {}
563 | allowUnsafeCode: 0
564 | additionalIl2CppArgs:
565 | scriptingRuntimeVersion: 1
566 | gcIncremental: 0
567 | gcWBarrierValidation: 0
568 | apiCompatibilityLevelPerPlatform: {}
569 | m_RenderingPath: 1
570 | m_MobileRenderingPath: 1
571 | metroPackageName: SimpleTCP
572 | metroPackageVersion:
573 | metroCertificatePath:
574 | metroCertificatePassword:
575 | metroCertificateSubject:
576 | metroCertificateIssuer:
577 | metroCertificateNotAfter: 0000000000000000
578 | metroApplicationDescription: SimpleTCP
579 | wsaImages: {}
580 | metroTileShortName:
581 | metroTileShowName: 0
582 | metroMediumTileShowName: 0
583 | metroLargeTileShowName: 0
584 | metroWideTileShowName: 0
585 | metroSupportStreamingInstall: 0
586 | metroLastRequiredScene: 0
587 | metroDefaultTileSize: 1
588 | metroTileForegroundText: 2
589 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
590 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628,
591 | a: 1}
592 | metroSplashScreenUseBackgroundColor: 0
593 | platformCapabilities: {}
594 | metroTargetDeviceFamilies: {}
595 | metroFTAName:
596 | metroFTAFileTypes: []
597 | metroProtocolName:
598 | XboxOneProductId:
599 | XboxOneUpdateKey:
600 | XboxOneSandboxId:
601 | XboxOneContentId:
602 | XboxOneTitleId:
603 | XboxOneSCId:
604 | XboxOneGameOsOverridePath:
605 | XboxOnePackagingOverridePath:
606 | XboxOneAppManifestOverridePath:
607 | XboxOneVersion: 1.0.0.0
608 | XboxOnePackageEncryption: 0
609 | XboxOnePackageUpdateGranularity: 2
610 | XboxOneDescription:
611 | XboxOneLanguage:
612 | - enus
613 | XboxOneCapability: []
614 | XboxOneGameRating: {}
615 | XboxOneIsContentPackage: 0
616 | XboxOneEnableGPUVariability: 0
617 | XboxOneSockets: {}
618 | XboxOneSplashScreen: {fileID: 0}
619 | XboxOneAllowedProductIds: []
620 | XboxOnePersistentLocalStorageSize: 0
621 | XboxOneXTitleMemory: 8
622 | XboxOneOverrideIdentityName:
623 | XboxOneOverrideIdentityPublisher:
624 | vrEditorSettings:
625 | daydream:
626 | daydreamIconForeground: {fileID: 0}
627 | daydreamIconBackground: {fileID: 0}
628 | cloudServicesEnabled: {}
629 | luminIcon:
630 | m_Name:
631 | m_ModelFolderPath:
632 | m_PortalFolderPath:
633 | luminCert:
634 | m_CertPath:
635 | m_SignPackage: 1
636 | luminIsChannelApp: 0
637 | luminVersion:
638 | m_VersionCode: 1
639 | m_VersionName:
640 | apiCompatibilityLevel: 6
641 | cloudProjectId:
642 | framebufferDepthMemorylessMode: 0
643 | projectName:
644 | organizationId:
645 | cloudEnabled: 0
646 | enableNativePlatformBackendsForNewInputSystem: 0
647 | disableOldInputManagerSupport: 0
648 | legacyClampBlendShapeWeights: 1
649 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2019.3.13f1
2 | m_EditorVersionWithRevision: 2019.3.13f1 (d4ddf0d95db9)
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: 5
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Very Low
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | blendWeights: 1
22 | textureQuality: 1
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.3
31 | maximumLODLevel: 0
32 | particleRaycastBudget: 4
33 | asyncUploadTimeSlice: 2
34 | asyncUploadBufferSize: 4
35 | resolutionScalingFixedDPIFactor: 1
36 | excludedTargetPlatforms: []
37 | - serializedVersion: 2
38 | name: Low
39 | pixelLightCount: 0
40 | shadows: 0
41 | shadowResolution: 0
42 | shadowProjection: 1
43 | shadowCascades: 1
44 | shadowDistance: 20
45 | shadowNearPlaneOffset: 3
46 | shadowCascade2Split: 0.33333334
47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
48 | shadowmaskMode: 0
49 | blendWeights: 2
50 | textureQuality: 0
51 | anisotropicTextures: 0
52 | antiAliasing: 0
53 | softParticles: 0
54 | softVegetation: 0
55 | realtimeReflectionProbes: 0
56 | billboardsFaceCameraPosition: 0
57 | vSyncCount: 0
58 | lodBias: 0.4
59 | maximumLODLevel: 0
60 | particleRaycastBudget: 16
61 | asyncUploadTimeSlice: 2
62 | asyncUploadBufferSize: 4
63 | resolutionScalingFixedDPIFactor: 1
64 | excludedTargetPlatforms: []
65 | - serializedVersion: 2
66 | name: Medium
67 | pixelLightCount: 1
68 | shadows: 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: 4
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: 0
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: 4
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: 70
129 | shadowNearPlaneOffset: 3
130 | shadowCascade2Split: 0.33333334
131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
132 | shadowmaskMode: 1
133 | blendWeights: 4
134 | textureQuality: 0
135 | anisotropicTextures: 2
136 | antiAliasing: 2
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: 4
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: 2
164 | antiAliasing: 2
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: 4
175 | resolutionScalingFixedDPIFactor: 1
176 | excludedTargetPlatforms: []
177 | m_PerPlatformDefaultQuality:
178 | Android: 2
179 | Nintendo 3DS: 5
180 | Nintendo Switch: 5
181 | PS4: 5
182 | PSM: 5
183 | PSP2: 2
184 | Samsung TV: 2
185 | Standalone: 5
186 | Tizen: 2
187 | Web: 5
188 | WebGL: 3
189 | WiiU: 5
190 | Windows Store Apps: 5
191 | XboxOne: 5
192 | iPhone: 2
193 | tvOS: 2
194 |
--------------------------------------------------------------------------------
/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | -
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: 0.02
7 | Maximum Allowed Timestep: 0.33333334
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 | m_Enabled: 0
7 | m_TestMode: 0
8 | m_TestEventUrl:
9 | m_TestConfigUrl:
10 | m_TestInitMode: 0
11 | CrashReportingSettings:
12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes
13 | m_Enabled: 0
14 | m_CaptureEditorExceptions: 1
15 | UnityPurchasingSettings:
16 | m_Enabled: 0
17 | m_TestMode: 0
18 | UnityAnalyticsSettings:
19 | m_Enabled: 0
20 | m_InitializeOnStartup: 1
21 | m_TestMode: 0
22 | m_TestEventUrl:
23 | m_TestConfigUrl:
24 | UnityAdsSettings:
25 | m_Enabled: 0
26 | m_InitializeOnStartup: 1
27 | m_TestMode: 0
28 | m_EnabledPlatforms: 4294967295
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/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 | # SimpleUnityTCP 🖧
2 | *Created by Eric Batlle Clavero*
3 |
4 |
5 | A simple **demo-project** to show how **TCP** communication works on **Unity** environment, builded with **C#** and using [System.Net.Sockets](https://docs.microsoft.com/es-es/dotnet/api/system.net.sockets?view=netframework-4.7.2).
6 |
7 | The main porpouse of this repo is to show the TCP communication on runtime, but also to provide a pretty commented and clear code so everyone else that wants to implement that kind of communication will be able without wasting a lot of time.
8 |
9 | ## Video-Example 📲
10 |
11 |
12 |
13 |
14 |
15 | ## Donations are appreciated! 💸
16 | *Remember that are many ways to say thank you.*
17 |
18 | If this repository has been helpful remember to star it and consider buying me a coffee! 😀
19 |
20 |
21 |
22 |
23 | If you like my general work and contributions consider [sponsoring me on Github](https://github.com/sponsors/EricBatlle).
24 |
25 | But if you just want to donate straightforward, I also have [PayPal.me](https://paypal.me/EricBatlleClavero?locale.x=es_ES).
26 |
27 | ## How to Use 💻
28 | If you only want to see the app working, just run the ``SimpleTCP.exe`` which is located on the ``build`` directory.
29 |
30 | If you want to open the project, you will need to have **Unity** installed with the **version 2017 or higher**.
31 |
32 | If you only want to scratch the code, either inside the unity project or simply dragging the **.cs** classes on your editor, you have to watch on to this classes, which are located on ``Assets\Scripts``:
33 |
34 | * ``Server.cs``
35 | * ``Client.cs``
36 |
37 | ## More Explanations 📡
38 | **Note:** Unity do not allow the *save-use* of **Multi-Threading**, so the application is using **Co-routines** instead.
39 |
40 | The stablished communication and workflow stablished right now follows the next order:
41 |
42 | * **Start the Server** and let it waiting for client connections.
43 | * **Start the Client** and connect it to the server.
44 | * **Server/Client waits** for client/server messages...
45 | * **Client/Server sends** any type of message to the server/client.
46 | * **Server/Client sends** recives the message from the client/server.
47 | * **Server/Client waits** for new client/server messages...
48 |
49 | * **In Case Client sends "Close" to Server**
50 | * **Client sends "Close" to Server**, and waits a timeOut to disconnect from it.
51 | * **Server recives** that *Close* message and **closes the connection** with the client.
52 | * **Server** waits for new incoming client connections.
53 |
54 | * **Server shuts down** (Optional)
55 |
56 | Keep in mind that this "Close" system is not the typical four-way handshake used in TCP, but it's builded like this to keep it simple and understandable.
57 | You can learn more about TCP Connection termination [here](https://en.wikipedia.org/wiki/Transmission_Control_Protocol#:~:text=The%20connection%20termination%20phase%20uses,end%20acknowledges%20with%20an%20ACK.).
--------------------------------------------------------------------------------
/example_app.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/EricBatlle/SimpleUnityTCP/d62613d8e5faa4e3598ef188e443b175deaa93b6/example_app.gif
--------------------------------------------------------------------------------