From e40cf7275789bbc755a7ac501f5f25c63f020b4c Mon Sep 17 00:00:00 2001
From: Derek S <44935661+Derek-R-S@users.noreply.github.com>
Date: Sat, 10 Apr 2021 02:10:02 -0500
Subject: [PATCH] Made server list recache if room was updated
---
.../LRM/RelayHandler/RelayHandlerCallbacks.cs | 16 +-
UnityProject/Assets/LRMFunctionTest.cs | 53 ++
UnityProject/Assets/LRMFunctionTest.cs.meta | 11 +
UnityProject/Assets/LRMFunctionTester.unity | 485 ++++++++++++++++++
4 files changed, 556 insertions(+), 9 deletions(-)
create mode 100644 UnityProject/Assets/LRMFunctionTest.cs
create mode 100644 UnityProject/Assets/LRMFunctionTest.cs.meta
diff --git a/ServerProject-DONT-IMPORT-INTO-UNITY/LRM/RelayHandler/RelayHandlerCallbacks.cs b/ServerProject-DONT-IMPORT-INTO-UNITY/LRM/RelayHandler/RelayHandlerCallbacks.cs
index e8a6ef3..2bfe4a2 100644
--- a/ServerProject-DONT-IMPORT-INTO-UNITY/LRM/RelayHandler/RelayHandlerCallbacks.cs
+++ b/ServerProject-DONT-IMPORT-INTO-UNITY/LRM/RelayHandler/RelayHandlerCallbacks.cs
@@ -1,4 +1,5 @@
-using System;
+using LightReflectiveMirror.Endpoints;
+using System;
namespace LightReflectiveMirror
{
@@ -81,22 +82,19 @@ namespace LightReflectiveMirror
if (plyRoom == null || plyRoom.hostId != clientId)
return;
- bool newName = data.ReadBool(ref pos);
- if (newName)
+ if (data.ReadBool(ref pos))
plyRoom.serverName = data.ReadString(ref pos);
- bool newData = data.ReadBool(ref pos);
- if (newData)
+ if (data.ReadBool(ref pos))
plyRoom.serverData = data.ReadString(ref pos);
- bool newPublicStatus = data.ReadBool(ref pos);
- if (newPublicStatus)
+ if (data.ReadBool(ref pos))
plyRoom.isPublic = data.ReadBool(ref pos);
- bool newPlayerCap = data.ReadBool(ref pos);
- if (newPlayerCap)
+ if (data.ReadBool(ref pos))
plyRoom.maxPlayers = data.ReadInt(ref pos);
+ Endpoint.RoomsModified();
break;
}
}
diff --git a/UnityProject/Assets/LRMFunctionTest.cs b/UnityProject/Assets/LRMFunctionTest.cs
new file mode 100644
index 0000000..0d4141f
--- /dev/null
+++ b/UnityProject/Assets/LRMFunctionTest.cs
@@ -0,0 +1,53 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using LightReflectiveMirror;
+using Mirror;
+
+public class LRMFunctionTest : MonoBehaviour
+{
+ public Text functionDisplay;
+ private LightReflectiveMirrorTransport _LRM;
+ private bool _serverListUpdated = false;
+
+ void Start()
+ {
+ _LRM = (LightReflectiveMirrorTransport)Transport.activeTransport;
+ _LRM.serverListUpdated.AddListener(ServerListUpdated);
+ StartCoroutine(TestLRM());
+ }
+
+ void ServerListUpdated() => _serverListUpdated = true;
+
+ IEnumerator TestLRM()
+ {
+ DisplayText("Waiting for LRM to authenticate...");
+ yield return new WaitUntil(() => _LRM.IsAuthenticated());
+ DisplayText("Authenticated!");
+
+ DisplayText("Attempting hosting a room...");
+ _LRM.serverName = "Default Server Name";
+ _LRM.extraServerData = "Default Server Data";
+ _LRM.maxServerPlayers = 5;
+ _LRM.isPublicServer = true;
+ NetworkManager.singleton.StartHost();
+ yield return new WaitUntil(() => _LRM.serverId.Length > 4);
+ DisplayText($"Room created! ID: {_LRM.serverId}");
+ DisplayText("Requesting Server Data Change...");
+ _LRM.UpdateRoomName("Updated Server Name");
+ _LRM.UpdateRoomData("Updated Server Data");
+ _LRM.UpdateRoomPlayerCount(10);
+ yield return new WaitForSeconds(1); // Give LRM time to process
+ DisplayText("Requesting Server List...");
+ _LRM.RequestServerList();
+ yield return new WaitUntil(() => _serverListUpdated);
+ foreach (var server in _LRM.relayServerList)
+ DisplayText($"Got Server: {server.serverName}, {server.serverData}, {server.maxPlayers}");
+ }
+
+ void DisplayText(string msg)
+ {
+ functionDisplay.text += $"\n{msg}";
+ }
+}
diff --git a/UnityProject/Assets/LRMFunctionTest.cs.meta b/UnityProject/Assets/LRMFunctionTest.cs.meta
new file mode 100644
index 0000000..cdd109d
--- /dev/null
+++ b/UnityProject/Assets/LRMFunctionTest.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 47cd5d0f1866f5145a5a8c3f037c752c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/UnityProject/Assets/LRMFunctionTester.unity b/UnityProject/Assets/LRMFunctionTester.unity
index ec64527..7c384cd 100644
--- a/UnityProject/Assets/LRMFunctionTester.unity
+++ b/UnityProject/Assets/LRMFunctionTester.unity
@@ -204,6 +204,84 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &278665274
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 278665275}
+ - component: {fileID: 278665277}
+ - component: {fileID: 278665276}
+ m_Layer: 5
+ m_Name: Text
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &278665275
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 278665274}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1172724429}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &278665276
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 278665274}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_FontData:
+ m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
+ m_FontSize: 25
+ m_FontStyle: 0
+ m_BestFit: 0
+ m_MinSize: 2
+ m_MaxSize: 40
+ m_Alignment: 4
+ m_AlignByGeometry: 0
+ m_RichText: 1
+ m_HorizontalOverflow: 0
+ m_VerticalOverflow: 0
+ m_LineSpacing: 1
+ m_Text: LRM Function Tester v1.0
+--- !u!222 &278665277
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 278665274}
+ m_CullTransparentMesh: 0
--- !u!1 &539119551
GameObject:
m_ObjectHideFlags: 0
@@ -296,3 +374,410 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &578018563
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 578018566}
+ - component: {fileID: 578018565}
+ - component: {fileID: 578018564}
+ m_Layer: 0
+ m_Name: EventSystem
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &578018564
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 578018563}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_HorizontalAxis: Horizontal
+ m_VerticalAxis: Vertical
+ m_SubmitButton: Submit
+ m_CancelButton: Cancel
+ m_InputActionsPerSecond: 10
+ m_RepeatDelay: 0.5
+ m_ForceModuleActive: 0
+--- !u!114 &578018565
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 578018563}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_FirstSelected: {fileID: 0}
+ m_sendNavigationEvents: 1
+ m_DragThreshold: 10
+--- !u!4 &578018566
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 578018563}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 4
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &978065552
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 978065554}
+ - component: {fileID: 978065553}
+ m_Layer: 0
+ m_Name: LRM - Connector
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &978065553
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 978065552}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 6b0fecffa3f624585964b0d0eb21b18e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ Port: 7777
+ NoDelay: 1
+ Interval: 10
+ FastResend: 2
+ CongestionWindow: 0
+ SendWindowSize: 4096
+ ReceiveWindowSize: 4096
+ debugLog: 0
+ statisticsGUI: 0
+ statisticsLog: 0
+--- !u!4 &978065554
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 978065552}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0.2683339, y: 0.5533862, z: -0.71634865}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 1013063541}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1013063538
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1013063541}
+ - component: {fileID: 1013063540}
+ - component: {fileID: 1013063539}
+ m_Layer: 0
+ m_Name: NetMan
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1013063539
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1013063538}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7064b1b1d0671194baf55fa8d5f564d6, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ clientToServerTransport: {fileID: 978065553}
+ serverIP: 127.0.0.1
+ endpointServerPort: 8080
+ heartBeatInterval: 3
+ connectOnAwake: 1
+ authenticationKey: Secret Auth Key
+ diconnectedFromRelay:
+ m_PersistentCalls:
+ m_Calls: []
+ useNATPunch: 0
+ NATPunchtroughPort: 1
+ useLoadBalancer: 0
+ loadBalancerPort: 7070
+ loadBalancerAddress: 127.0.0.1
+ serverName: My awesome server!
+ extraServerData: Map 1
+ maxServerPlayers: 10
+ isPublicServer: 1
+ serverListUpdated:
+ m_PersistentCalls:
+ m_Calls: []
+ serverStatus: Not Started.
+ serverId:
+ region: 1
+--- !u!114 &1013063540
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1013063538}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8aab4c8111b7c411b9b92cf3dbc5bd4e, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ dontDestroyOnLoad: 1
+ PersistNetworkManagerToOfflineScene: 0
+ runInBackground: 1
+ autoStartServerBuild: 1
+ serverTickRate: 30
+ serverBatching: 1
+ serverBatchInterval: 0
+ offlineScene:
+ onlineScene:
+ transport: {fileID: 1013063539}
+ networkAddress: localhost
+ maxConnections: 100
+ disconnectInactiveConnections: 0
+ disconnectInactiveTimeout: 60
+ authenticator: {fileID: 0}
+ playerPrefab: {fileID: 0}
+ autoCreatePlayer: 1
+ playerSpawnMethod: 0
+ spawnPrefabs: []
+--- !u!4 &1013063541
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1013063538}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -0.2683339, y: -0.5533862, z: 0.71634865}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 978065554}
+ m_Father: {fileID: 0}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1172724428
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1172724429}
+ - component: {fileID: 1172724431}
+ - component: {fileID: 1172724430}
+ m_Layer: 5
+ m_Name: Panel
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1172724429
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1172724428}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children:
+ - {fileID: 278665275}
+ m_Father: {fileID: 1251691190}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1172724430
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1172724428}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
+ m_RaycastTarget: 1
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1172724431
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1172724428}
+ m_CullTransparentMesh: 0
+--- !u!1 &1251691186
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1251691190}
+ - component: {fileID: 1251691189}
+ - component: {fileID: 1251691188}
+ - component: {fileID: 1251691187}
+ - component: {fileID: 1251691191}
+ m_Layer: 5
+ m_Name: Canvas
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!114 &1251691187
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251691186}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreReversedGraphics: 1
+ m_BlockingObjects: 0
+ m_BlockingMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+--- !u!114 &1251691188
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251691186}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_UiScaleMode: 1
+ m_ReferencePixelsPerUnit: 100
+ m_ScaleFactor: 1
+ m_ReferenceResolution: {x: 800, y: 600}
+ m_ScreenMatchMode: 0
+ m_MatchWidthOrHeight: 0.5
+ m_PhysicalUnit: 3
+ m_FallbackScreenDPI: 96
+ m_DefaultSpriteDPI: 96
+ m_DynamicPixelsPerUnit: 1
+--- !u!223 &1251691189
+Canvas:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251691186}
+ m_Enabled: 1
+ serializedVersion: 3
+ m_RenderMode: 0
+ m_Camera: {fileID: 0}
+ m_PlaneDistance: 100
+ m_PixelPerfect: 0
+ m_ReceivesEvents: 1
+ m_OverrideSorting: 0
+ m_OverridePixelPerfect: 0
+ m_SortingBucketNormalizedSize: 0
+ m_AdditionalShaderChannelsFlag: 0
+ m_SortingLayerID: 0
+ m_SortingOrder: 0
+ m_TargetDisplay: 0
+--- !u!224 &1251691190
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251691186}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 0, y: 0, z: 0}
+ m_Children:
+ - {fileID: 1172724429}
+ m_Father: {fileID: 0}
+ m_RootOrder: 3
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 0}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0, y: 0}
+--- !u!114 &1251691191
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1251691186}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 47cd5d0f1866f5145a5a8c3f037c752c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ functionDisplay: {fileID: 278665276}