两个页面接入完成

This commit is contained in:
2026-05-19 22:40:52 +08:00
parent 3daebf56ab
commit 369783939b
32 changed files with 1165 additions and 590 deletions

View File

@@ -34,8 +34,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -385.00012, y: 398.16003}
m_SizeDelta: {x: 300.0313, y: 56.7339}
m_AnchoredPosition: {x: -385.00012, y: 585.68945}
m_SizeDelta: {x: 300.0313, y: 66.9824}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &76389156919422466
GameObject:
@@ -1248,6 +1248,57 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_HorizontalFit: 0
m_VerticalFit: 2
--- !u!1 &1223661037426356579
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8993963496967448533}
- component: {fileID: 3867408576001128419}
m_Layer: 5
m_Name: Pool
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8993963496967448533
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1223661037426356579}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6018946838727076121}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &3867408576001128419
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1223661037426356579}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1970feb7fdb702645b753cd8ed1be4ea, type: 3}
m_Name:
m_EditorClassIdentifier:
prefab: {fileID: 8495991377958309690, guid: ac2316fabaf14dc409bee0e9c34cae94, type: 3}
preload: 10
parent: {fileID: 5467042597978700984}
--- !u!1 &1234321097565635725
GameObject:
m_ObjectHideFlags: 0
@@ -1280,10 +1331,10 @@ RectTransform:
- {fileID: 7887748350863980599}
m_Father: {fileID: 7783388917141737424}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 354, y: -164.105}
m_SizeDelta: {x: 156, y: 210}
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.5, y: 0.5}
--- !u!114 &381078819278503650
MonoBehaviour:
@@ -2130,10 +2181,10 @@ RectTransform:
- {fileID: 7567076343149667870}
m_Father: {fileID: 7783388917141737424}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 128, y: -164.105}
m_SizeDelta: {x: 156, y: 210}
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.5, y: 0.5}
--- !u!114 &6771289154184075696
MonoBehaviour:
@@ -2215,10 +2266,10 @@ RectTransform:
- {fileID: 7569461943991417744}
m_Father: {fileID: 7783388917141737424}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 1032, y: -164.105}
m_SizeDelta: {x: 156, y: 210}
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.5, y: 0.5}
--- !u!114 &4643204486437404849
MonoBehaviour:
@@ -2589,7 +2640,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &1900594475489427402
RectTransform:
m_ObjectHideFlags: 0
@@ -2829,7 +2880,7 @@ MonoBehaviour:
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
m_IsOn: 0
m_IsOn: 1
--- !u!1 &2796641872101883937
GameObject:
m_ObjectHideFlags: 0
@@ -2979,6 +3030,7 @@ RectTransform:
m_Children:
- {fileID: 7736829478231073769}
- {fileID: 4185591750585765269}
- {fileID: 8355750279128436905}
m_Father: {fileID: 1900594475489427402}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -3037,7 +3089,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Content: {fileID: 6975938451169501548}
m_Horizontal: 1
m_Horizontal: 0
m_Vertical: 1
m_MovementType: 1
m_Elasticity: 0.1
@@ -3467,10 +3519,10 @@ RectTransform:
- {fileID: 7618716810264438359}
m_Father: {fileID: 7783388917141737424}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 580, y: -164.105}
m_SizeDelta: {x: 156, y: 210}
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.5, y: 0.5}
--- !u!114 &5735189789950188702
MonoBehaviour:
@@ -3530,7 +3582,6 @@ GameObject:
m_Component:
- component: {fileID: 283013736425748328}
- component: {fileID: 4472867642736289490}
- component: {fileID: 6096871963572617331}
m_Layer: 5
m_Name: Tabs
m_TagString: Untagged
@@ -3573,18 +3624,6 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_AllowSwitchOff: 0
--- !u!114 &6096871963572617331
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3813444533319316158}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 261698e23772dc34c865d650af64eab7, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &3838866478687120565
GameObject:
m_ObjectHideFlags: 0
@@ -4492,7 +4531,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &5663845593964409399
RectTransform:
m_ObjectHideFlags: 0
@@ -4830,10 +4869,10 @@ RectTransform:
- {fileID: 9013449464081928509}
m_Father: {fileID: 7783388917141737424}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 806, y: -164.105}
m_SizeDelta: {x: 156, y: 210}
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.5, y: 0.5}
--- !u!114 &992032984322259916
MonoBehaviour:
@@ -5880,12 +5919,13 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3211075651667160076}
- {fileID: 8993963496967448533}
m_Father: {fileID: 6596158407599272745}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -0.00018310547, y: -144.34497}
m_SizeDelta: {x: 1170, y: 991.25}
m_AnchoredPosition: {x: -0.00018310547, y: -54.814575}
m_SizeDelta: {x: 1170, y: 1170.3108}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3507995815067925134
CanvasRenderer:
@@ -5938,7 +5978,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Content: {fileID: 5467042597978700984}
m_Horizontal: 1
m_Horizontal: 0
m_Vertical: 1
m_MovementType: 1
m_Elasticity: 0.1
@@ -6507,7 +6547,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!224 &6596158407599272745
RectTransform:
m_ObjectHideFlags: 0
@@ -8291,7 +8331,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &3030255444846982045
RectTransform:
m_ObjectHideFlags: 0
@@ -8454,14 +8494,13 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4467269273327852565}
m_Children: []
m_Father: {fileID: 3211075651667160076}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 204}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 1}
--- !u!114 &4242186254026826357
MonoBehaviour:
@@ -8580,6 +8619,57 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u4EA7\u54C1\u5B63\u5EA6\u4F1A\u8BAE"
--- !u!1 &9088937703334566193
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8355750279128436905}
- component: {fileID: 6825307973251409735}
m_Layer: 5
m_Name: Pool
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8355750279128436905
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9088937703334566193}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5961383426537816645}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &6825307973251409735
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9088937703334566193}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1970feb7fdb702645b753cd8ed1be4ea, type: 3}
m_Name:
m_EditorClassIdentifier:
prefab: {fileID: 3634656016516224787, guid: ad69af7e0b1064245a47eab7445ace67, type: 3}
preload: 10
parent: {fileID: 6975938451169501548}
--- !u!1 &9121101017434225283
GameObject:
m_ObjectHideFlags: 0
@@ -8659,130 +8749,6 @@ MonoBehaviour:
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u641C\u7D22\u53C2\u4F1A\u8005..."
--- !u!1001 &1203172456119935567
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 5467042597978700984}
m_Modifications:
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8495991377958309690, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
propertyPath: m_Name
value: ParticipantEntry
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: ac2316fabaf14dc409bee0e9c34cae94, type: 3}
--- !u!224 &4467269273327852565 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 3264101774741044826, guid: ac2316fabaf14dc409bee0e9c34cae94,
type: 3}
m_PrefabInstance: {fileID: 1203172456119935567}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &3580129933681160980
PrefabInstance:
m_ObjectHideFlags: 0

View File

@@ -29,8 +29,7 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1922033105638727959}
m_Children: []
m_Father: {fileID: 1022034222613649090}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -66,7 +65,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 548f76c1354bdd340b73a44d10fa7ec8, type: 3}
m_Sprite: {fileID: 21300000, guid: 9c3253ab3e6f4d14f9a409244e9255b2, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -88,7 +87,7 @@ GameObject:
- component: {fileID: 4885975967744018774}
- component: {fileID: 318755610375601900}
m_Layer: 5
m_Name: head
m_Name: headBackground
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -182,7 +181,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7296151022948854578}
m_Father: {fileID: 1022034222613649090}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@@ -217,7 +216,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 9c3253ab3e6f4d14f9a409244e9255b2, type: 3}
m_Sprite: {fileID: 21300000, guid: 548f76c1354bdd340b73a44d10fa7ec8, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -256,8 +255,7 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 8163492004135260869}
m_Children: []
m_Father: {fileID: 4610203345383352256}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -293,7 +291,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 5fdf324e6938a8f449bbee6cea8920cb, type: 3}
m_Sprite: {fileID: 21300000, guid: 0033fc0d2aa90b149aa1ed0e8b3f6d57, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -333,7 +331,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 757586850795909645}
m_Father: {fileID: 4610203345383352256}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@@ -368,7 +366,82 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 0033fc0d2aa90b149aa1ed0e8b3f6d57, type: 3}
m_Sprite: {fileID: 21300000, guid: 5fdf324e6938a8f449bbee6cea8920cb, type: 3}
m_Type: 0
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!1 &4739859237297857464
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7665980405106851627}
- component: {fileID: 1019279085122856306}
- component: {fileID: 139326789324414219}
m_Layer: 5
m_Name: participant
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7665980405106851627
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4739859237297857464}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1672782084920589660}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 55.4833, y: 31.5242}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1019279085122856306
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4739859237297857464}
m_CullTransparentMesh: 1
--- !u!114 &139326789324414219
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4739859237297857464}
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: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 2a26bf668c86c4043bfb8fd8d492c940, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
@@ -389,6 +462,7 @@ GameObject:
- component: {fileID: 7817507198164269022}
- component: {fileID: 1831895488343463390}
- component: {fileID: 3335632304834843896}
- component: {fileID: 6586336428962111101}
m_Layer: 5
m_Name: Name
m_TagString: Untagged
@@ -407,14 +481,15 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Children:
- {fileID: 1672782084920589660}
m_Father: {fileID: 3264101774741044826}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -36.026123, y: 24.44}
m_SizeDelta: {x: 542.9478, y: 48.88}
m_Pivot: {x: 0.5, y: 0.5}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 217.49997, y: 24.44}
m_SizeDelta: {x: 0, y: 48.88}
m_Pivot: {x: 0, y: 0.5}
--- !u!222 &1831895488343463390
CanvasRenderer:
m_ObjectHideFlags: 0
@@ -456,7 +531,58 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text:
m_Text: "\u5218\u601D\u8FDC"
--- !u!114 &6586336428962111101
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5403355985615421996}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
m_Name:
m_EditorClassIdentifier:
m_HorizontalFit: 2
m_VerticalFit: 0
--- !u!1 &5693294826494135633
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1672782084920589660}
m_Layer: 5
m_Name: state
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1672782084920589660
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5693294826494135633}
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_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1025351308642854355}
- {fileID: 7665980405106851627}
m_Father: {fileID: 7817507198164269022}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: 64.9, y: 0}
m_SizeDelta: {x: 55.483307, y: 31.5242}
m_Pivot: {x: 1, y: 0.5}
--- !u!1 &5766900628480037522
GameObject:
m_ObjectHideFlags: 0
@@ -466,7 +592,6 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 4610203345383352256}
- component: {fileID: 6220005451762363738}
m_Layer: 5
m_Name: video
m_TagString: Untagged
@@ -487,6 +612,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 757586850795909645}
- {fileID: 8163492004135260869}
m_Father: {fileID: 3264101774741044826}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -494,54 +620,81 @@ RectTransform:
m_AnchoredPosition: {x: 449.7, y: -4.9}
m_SizeDelta: {x: 54, y: 54}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &6220005451762363738
--- !u!1 &6640401078305146185
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1025351308642854355}
- component: {fileID: 5687961422670754782}
- component: {fileID: 5094725571041931729}
m_Layer: 5
m_Name: host
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1025351308642854355
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6640401078305146185}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1672782084920589660}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 55.4833, y: 31.5242}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5687961422670754782
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6640401078305146185}
m_CullTransparentMesh: 1
--- !u!114 &5094725571041931729
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5766900628480037522}
m_GameObject: {fileID: 6640401078305146185}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1782511614723193822}
toggleTransition: 1
graphic: {fileID: 8252224053455684066}
m_Group: {fileID: 0}
onValueChanged:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_IsOn: 1
m_Sprite: {fileID: 21300000, guid: fd41c7c6d497f1140852d29cf8277f46, type: 3}
m_Type: 0
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!1 &6786315577703863397
GameObject:
m_ObjectHideFlags: 0
@@ -710,7 +863,6 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1022034222613649090}
- component: {fileID: 7287399434478677823}
m_Layer: 5
m_Name: mic
m_TagString: Untagged
@@ -731,6 +883,7 @@ RectTransform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7296151022948854578}
- {fileID: 1922033105638727959}
m_Father: {fileID: 3264101774741044826}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -738,54 +891,6 @@ RectTransform:
m_AnchoredPosition: {x: 372.6, y: -4.9}
m_SizeDelta: {x: 54, y: 54}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &7287399434478677823
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8939452585440184455}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9085046f02f69544eb97fd06b6048fe2, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 944645690185913706}
toggleTransition: 1
graphic: {fileID: 2964558486975454614}
m_Group: {fileID: 0}
onValueChanged:
m_PersistentCalls:
m_Calls: []
m_IsOn: 1
--- !u!1 &9111532744260510836
GameObject:
m_ObjectHideFlags: 0

View File

@@ -279,7 +279,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u70B9\u51FB\u8BBE\u7F6E\u4F1A\u8BAE\u5934\u50CF"
m_Text: "\u70B9\u51FB\u8BBE\u7F6E\u5934\u50CF"
--- !u!1 &440411132961667607
GameObject:
m_ObjectHideFlags: 0

View File

@@ -1399,6 +1399,12 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!224 &465361218 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 5467042597978700984, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
m_PrefabInstance: {fileID: 3718681616507437211}
m_PrefabAsset: {fileID: 0}
--- !u!1 &474040020
GameObject:
m_ObjectHideFlags: 0
@@ -1589,6 +1595,57 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &584576337
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 584576338}
- component: {fileID: 584576339}
m_Layer: 5
m_Name: Pool
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &584576338
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 584576337}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 739619257}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &584576339
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 584576337}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1970feb7fdb702645b753cd8ed1be4ea, type: 3}
m_Name:
m_EditorClassIdentifier:
prefab: {fileID: 3634656016516224787, guid: ad69af7e0b1064245a47eab7445ace67, type: 3}
preload: 20
parent: {fileID: 696458140}
--- !u!1 &640709220
GameObject:
m_ObjectHideFlags: 0
@@ -1743,6 +1800,12 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 678698531}
m_CullTransparentMesh: 0
--- !u!224 &696458140 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 6975938451169501548, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
m_PrefabInstance: {fileID: 3718681616507437211}
m_PrefabAsset: {fileID: 0}
--- !u!1 &707600074
GameObject:
m_ObjectHideFlags: 0
@@ -1959,6 +2022,12 @@ MonoBehaviour:
m_MipBias: 0
m_VarianceClampScale: 0.9
m_ContrastAdaptiveSharpening: 0
--- !u!224 &739619257 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 5961383426537816645, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
m_PrefabInstance: {fileID: 3718681616507437211}
m_PrefabAsset: {fileID: 0}
--- !u!1 &848285179
GameObject:
m_ObjectHideFlags: 0
@@ -3258,6 +3327,12 @@ AudioSource:
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!224 &1231091067 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 6018946838727076121, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
m_PrefabInstance: {fileID: 3718681616507437211}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1258234879
GameObject:
m_ObjectHideFlags: 0
@@ -4993,6 +5068,57 @@ MonoBehaviour:
min: 8
max: 208
m_Loopback: 0
--- !u!1 &1959284014
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1959284015}
- component: {fileID: 1959284016}
m_Layer: 5
m_Name: Pool
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1959284015
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1959284014}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1231091067}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1959284016
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1959284014}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1970feb7fdb702645b753cd8ed1be4ea, type: 3}
m_Name:
m_EditorClassIdentifier:
prefab: {fileID: 8495991377958309690, guid: ac2316fabaf14dc409bee0e9c34cae94, type: 3}
preload: 20
parent: {fileID: 465361218}
--- !u!1 &2028247179
GameObject:
m_ObjectHideFlags: 0
@@ -5712,91 +5838,41 @@ PrefabInstance:
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 554749590477148033, guid: 11ac2a591441d5940b0b146f6dd3025e,
- target: {fileID: 674764666495542323, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 554749590477148033, guid: 11ac2a591441d5940b0b146f6dd3025e,
- target: {fileID: 674764666495542323, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 554749590477148033, guid: 11ac2a591441d5940b0b146f6dd3025e,
- target: {fileID: 674764666495542323, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 554749590477148033, guid: 11ac2a591441d5940b0b146f6dd3025e,
- target: {fileID: 674764666495542323, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 554749590477148033, guid: 11ac2a591441d5940b0b146f6dd3025e,
- target: {fileID: 674764666495542323, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 554749590477148033, guid: 11ac2a591441d5940b0b146f6dd3025e,
- target: {fileID: 674764666495542323, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 674764666495542323, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 674764666495542323, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 674764666495542323, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.x
value: 156
objectReference: {fileID: 0}
- target: {fileID: 674764666495542323, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.y
value: 210
objectReference: {fileID: 0}
- target: {fileID: 674764666495542323, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 354
objectReference: {fileID: 0}
- target: {fileID: 674764666495542323, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -164.105
objectReference: {fileID: 0}
- target: {fileID: 979448543686126123, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_Name
value: MainPanel
objectReference: {fileID: 0}
- target: {fileID: 979448543686126123, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1275723802016005422, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_Name
value: id
objectReference: {fileID: 0}
- target: {fileID: 1314532366135138860, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1715958553176323171, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_Name
value: leaveMessage
objectReference: {fileID: 0}
- target: {fileID: 2137318455400373245, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMax.y
@@ -5827,11 +5903,6 @@ PrefabInstance:
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2392396435560639756, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_Interactable
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2574769142839816776, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_IsActive
@@ -5840,37 +5911,32 @@ PrefabInstance:
- target: {fileID: 2828042130342588004, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2828042130342588004, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2828042130342588004, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.x
value: 156
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2828042130342588004, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.y
value: 210
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2828042130342588004, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 1032
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2828042130342588004, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -164.105
objectReference: {fileID: 0}
- target: {fileID: 2899577293863285940, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_IsActive
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 3608820285885576044, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
@@ -6032,149 +6098,69 @@ PrefabInstance:
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4467269273327852565, guid: 11ac2a591441d5940b0b146f6dd3025e,
- target: {fileID: 4595042593999019917, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4467269273327852565, guid: 11ac2a591441d5940b0b146f6dd3025e,
- target: {fileID: 4595042593999019917, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4467269273327852565, guid: 11ac2a591441d5940b0b146f6dd3025e,
- target: {fileID: 4595042593999019917, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4467269273327852565, guid: 11ac2a591441d5940b0b146f6dd3025e,
- target: {fileID: 4595042593999019917, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4467269273327852565, guid: 11ac2a591441d5940b0b146f6dd3025e,
- target: {fileID: 4595042593999019917, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4467269273327852565, guid: 11ac2a591441d5940b0b146f6dd3025e,
- target: {fileID: 4595042593999019917, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4595042593999019917, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4595042593999019917, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4595042593999019917, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.x
value: 156
objectReference: {fileID: 0}
- target: {fileID: 4595042593999019917, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.y
value: 210
objectReference: {fileID: 0}
- target: {fileID: 4595042593999019917, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 806
objectReference: {fileID: 0}
- target: {fileID: 4595042593999019917, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -164.105
objectReference: {fileID: 0}
- target: {fileID: 4649949924903219849, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 5467042597978700984, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.y
value: 204
objectReference: {fileID: 0}
- target: {fileID: 5745363551227600454, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMax.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5745363551227600454, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMin.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5745363551227600454, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5745363551227600454, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5745363551227600454, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 5745363551227600454, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6289408088348100223, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6289408088348100223, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6289408088348100223, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.x
value: 156
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6289408088348100223, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.y
value: 210
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6289408088348100223, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 128
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6289408088348100223, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -164.105
objectReference: {fileID: 0}
- target: {fileID: 6500757347537243115, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6975938451169501548, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7059412103549008782, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7500051454580514407, guid: 11ac2a591441d5940b0b146f6dd3025e,
@@ -6210,43 +6196,33 @@ PrefabInstance:
- target: {fileID: 7853531429736316437, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7853531429736316437, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7853531429736316437, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.x
value: 156
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7853531429736316437, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_SizeDelta.y
value: 210
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7853531429736316437, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 580
value: 0
objectReference: {fileID: 0}
- target: {fileID: 7853531429736316437, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -164.105
objectReference: {fileID: 0}
- target: {fileID: 8196966834453392309, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_Enabled
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8423585343164055005, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_IsActive
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8664609903398085411, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
propertyPath: m_AnchorMax.y
@@ -6279,7 +6255,15 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedGameObjects:
- targetCorrespondingSourceObject: {fileID: 6018946838727076121, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
insertIndex: -1
addedObject: {fileID: 1959284015}
- targetCorrespondingSourceObject: {fileID: 5961383426537816645, guid: 11ac2a591441d5940b0b146f6dd3025e,
type: 3}
insertIndex: -1
addedObject: {fileID: 584576338}
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 11ac2a591441d5940b0b146f6dd3025e, type: 3}
--- !u!1001 &8688613702723117685

View File

@@ -2,6 +2,7 @@ using System.Threading;
using Cysharp.Threading.Tasks;
using Stary.Evo;
using UnityEngine;
using UnityEngine.UI;
public interface IGlobalConfigSystem : ISystem
{
@@ -12,7 +13,7 @@ public interface IGlobalConfigSystem : ISystem
public string GetConnectionName();
public void SetConnectionName(string connectionName);
public UniTaskVoid StartConnectionTime();
public UniTaskVoid StartConnectionTime(Text updateText);
public string GetConnectionTime();
public void StopConnectionTime();
@@ -20,8 +21,8 @@ public interface IGlobalConfigSystem : ISystem
public int GetConnectionTimeType();
public void SetConnectionTimeType(int connectionTimeType);
public Texture2D GetConnectionTexture();
public void SetConnectionTexture(Texture2D connectionTexture);
public string GetConnectionTexture();
public void SetConnectionTexture(string connectionTexture);
public string GetUserId();
public void SetUserId(string userId);
@@ -29,6 +30,11 @@ public interface IGlobalConfigSystem : ISystem
public class GlobalConfigSystem : AbstractSystem, IGlobalConfigSystem
{
/// <summary>
/// 连接图标
/// </summary>
private string _connectionAvatar;
/// <summary>
/// 连接ID
/// </summary>
@@ -39,11 +45,6 @@ public class GlobalConfigSystem : AbstractSystem, IGlobalConfigSystem
/// </summary>
private string _connectionName;
/// <summary>
/// 连接图标
/// </summary>
private Texture2D _connectionTexture;
/// <summary>
/// 连接时间
/// </summary>
@@ -68,7 +69,7 @@ public class GlobalConfigSystem : AbstractSystem, IGlobalConfigSystem
}
public string IP => "http://127.0.0.1:8080";
public string IP => "https://192.168.31.16:8080";
public string GetConnectionId()
{
@@ -102,13 +103,14 @@ public class GlobalConfigSystem : AbstractSystem, IGlobalConfigSystem
_connectionName = connectionName;
}
public async UniTaskVoid StartConnectionTime()
public async UniTaskVoid StartConnectionTime(Text updateText)
{
_cts = new CancellationTokenSource();
_connectionTime = 0;
while (!_cts.IsCancellationRequested)
{
_connectionTime += Time.deltaTime;
updateText.text = GetConnectionTime();
await UniTask.Yield(_cts.Token); // 等一帧,等价于 Update
}
}
@@ -139,20 +141,15 @@ public class GlobalConfigSystem : AbstractSystem, IGlobalConfigSystem
_connectionTimeType = connectionTimeType;
}
public Texture2D GetConnectionTexture()
public string GetConnectionTexture()
{
if (_connectionTexture == null)
if (string.IsNullOrEmpty(_connectionAvatar))
{
Debug.LogWarning("GlobalConfigSystem: GetConnectionTexture not set");
return null;
}
return _connectionTexture;
}
public void SetConnectionTexture(Texture2D connectionTexture)
{
_connectionTexture = connectionTexture;
return _connectionAvatar;
}
public string GetUserId()
@@ -171,6 +168,11 @@ public class GlobalConfigSystem : AbstractSystem, IGlobalConfigSystem
_userId = userId;
}
public void SetConnectionTexture(string connectionTexture)
{
_connectionAvatar = connectionTexture;
}
protected override void OnInit()
{
}

View File

@@ -9,11 +9,6 @@ public class Main : MonoBehaviour, IController
{
private void Start()
{
ServicePointManager.ServerCertificateValidationCallback =
(sender, certificate, chain, sslPolicyErrors) =>
{
return true; // 信任所有证书,仅开发环境使用
};
this.GetSystem<IPanelSystem>().PushQueue<StartPanel>();
}

View File

@@ -2,10 +2,10 @@ using System;
using System.Collections;
using System.IO;
using RenderStreaming;
using Script.Util;
using Stary.Evo;
using UnityEngine;
using UnityEngine.UI;
using Random = UnityEngine.Random;
namespace Script
{
@@ -20,7 +20,7 @@ namespace Script
private MeetingContacts _meetingContacts;
private Transform _messageText;
private Transform _nameText;
private MeetingContacts.UsersItem _usersItem;
private MainPanel.UsersItem _usersItem;
private void OnDestroy()
{
@@ -33,14 +33,14 @@ namespace Script
return MainArchitecture.Interface;
}
public void SetData(MeetingContacts.UsersItem item, MeetingContacts meetingContactsController)
public void SetData(MainPanel.UsersItem item, MeetingContacts meetingContactsController)
{
_usersItem = item;
_meetingContacts = meetingContactsController;
///头像赋值
if (string.IsNullOrEmpty(item.avatar))
{
var randomColor = GetRandomColor();
var randomColor = WebRTCUtil.GetRandomColor();
_background = transform.Find("headBackground");
if (_background != null)
{
@@ -62,7 +62,7 @@ namespace Script
if (_background != null)
{
var imageComponent = _background.GetComponent<Image>();
if (imageComponent != null) DownloadAndSetAvatar(item.avatar, imageComponent);
if (imageComponent != null) WebRTCUtil.DownloadAndSetAvatar(item.avatar, imageComponent);
}
_backgroundName = _background.transform.Find("Name");
@@ -161,41 +161,5 @@ namespace Script
_confirmButton.interactable = true;
_confirmBtnTime.gameObject.SetActive(false);
}
private Color GetRandomColor()
{
return new Color(
Random.Range(0.2f, 0.8f),
Random.Range(0.2f, 0.8f),
Random.Range(0.2f, 0.8f),
1f
);
}
private async void DownloadAndSetAvatar(string avatarUrl, Image targetImage)
{
try
{
var tempPath = Path.Combine(Application.temporaryCachePath, $"avatar_{Guid.NewGuid()}.png");
var result = await WebRequestSystem.GetFile(avatarUrl, tempPath);
if (result.code == 200)
{
var bytes = File.ReadAllBytes(tempPath);
var texture = new Texture2D(2, 2);
texture.LoadImage(bytes);
var sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height),
Vector2.one * 0.5f);
targetImage.sprite = sprite;
File.Delete(tempPath);
}
}
catch (Exception e)
{
Debug.LogError($"下载头像失败: {e.Message}");
}
}
}
}

View File

@@ -1,4 +1,6 @@
using System;
using System.Collections.Generic;
using Stary.Evo;
using Stary.Evo.UIFarme;
using UnityEngine;
using UnityEngine.UI;
@@ -12,13 +14,30 @@ namespace Script
/// </summary>
private Button _arrowLeft;
private Toggle _chatTog;
private Toggle _contactsTog;
private Toggle _meetingOrganizersTog;
/// <summary>
/// 房间ID
/// </summary>
private Text _idText;
/// <summary>
/// 会议联系人类和面板
/// </summary>
private MeetingContacts _meetingContacts;
/// <summary>
/// 会议参与者列表和面板
/// </summary>
private MeetingInfoList _meetingInfoList;
/// <summary>
/// 会议聊天面板
/// </summary>
private MeetingChat _meetingChat;
/// <summary>
/// 房间人数
/// </summary>
@@ -46,15 +65,30 @@ namespace Script
_arrowLeft = panelGo.transform.Find("Header/arrow-left").GetComponent<Button>();
_idText = panelGo.transform.Find("MeetingInfoCard/meeting/id").GetComponent<Text>();
_roomPeopleNumText = panelGo.transform.Find("MeetingInfoCard/numberOfPeople/number").GetComponent<Text>();
_chatTog = panelGo.transform.Find("Tabs/Chat").GetComponent<Toggle>();
_contactsTog = panelGo.transform.Find("Tabs/Contacts").GetComponent<Toggle>();
_meetingOrganizersTog = panelGo.transform.Find("Tabs/MeetingOrganizers").GetComponent<Toggle>();
_meetingContacts = new MeetingContacts();
_meetingContacts.Initialize(panelGo.transform.Find("MeetingContacts").gameObject);
_meetingInfoList = new MeetingInfoList();
_meetingInfoList.Initialize(panelGo.transform.Find("MeetingInfoList").gameObject);
_meetingChat = new MeetingChat();
_meetingChat.Initialize(panelGo.transform.Find("MeetingChat").gameObject);
}
public override void OnEnter(Action complete = null)
{
base.OnEnter(complete);
_meetingContacts.OnEnter();
_meetingInfoList.OnEnter();
_titleText.text = this.GetSystem<IGlobalConfigSystem>().GetConnectionName();
this.GetSystem<IGlobalConfigSystem>().StartConnectionTime(_timeText);
_arrowLeft.onClick.AddListener(OnArrowLeftClick);
_chatTog.onValueChanged.AddListener(OnChatTog);
_contactsTog.onValueChanged.AddListener(OnContactsTog);
_meetingOrganizersTog.onValueChanged.AddListener(OnMeetingOrganizersTog);
}
@@ -62,7 +96,27 @@ namespace Script
{
base.OnExit(delay);
_meetingContacts.OnExit();
_meetingInfoList.OnExit();
_arrowLeft.onClick.RemoveListener(OnArrowLeftClick);
_chatTog.onValueChanged.RemoveListener(OnChatTog);
_contactsTog.onValueChanged.RemoveListener(OnContactsTog);
_meetingOrganizersTog.onValueChanged.RemoveListener(OnMeetingOrganizersTog);
}
private void OnMeetingOrganizersTog(bool value)
{
_meetingInfoList.PanelGo.SetActive(value);
}
private void OnContactsTog(bool value)
{
_meetingContacts.PanelGo.SetActive(value);
if (value) _meetingContacts.OnEnter();
}
private void OnChatTog(bool value)
{
_meetingChat.PanelGo.SetActive(value);
}
private void OnArrowLeftClick()
@@ -73,5 +127,49 @@ namespace Script
{
base.OnDestroy();
}
[Serializable]
public class ResponseUsers
{
/// <summary>
/// </summary>
public List<UsersItem> users { get; set; }
/// <summary>
/// </summary>
public int totalCount { get; set; }
}
[Serializable]
public class UsersItem
{
/// <summary>
/// </summary>
public string socketId { get; set; }
/// <summary>
/// </summary>
public string connectionId { get; set; }
/// <summary>
/// </summary>
public string participantId { get; set; }
/// <summary>
/// </summary>
public string role { get; set; }
/// <summary>
/// </summary>
public string userId { get; set; }
/// <summary>
/// </summary>
public string name { get; set; }
/// <summary>
/// </summary>
public string avatar { get; set; }
}
}
}

View File

@@ -0,0 +1,29 @@
using RenderStreaming;
using Stary.Evo;
using UnityEngine;
namespace Script
{
public class MeetingChat : IController
{
public GameObject PanelGo;
public void Initialize(GameObject panelGo)
{
PanelGo = panelGo;
}
public async void OnEnter()
{
}
public async void OnExit()
{
}
public IArchitecture GetArchitecture()
{
return MainArchitecture.Interface;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: c6a093f6facf40398f5a84d8c2c2e13f
timeCreated: 1779162068

View File

@@ -16,7 +16,7 @@ namespace Script
/// Key: 参与者ID
/// Value: 联系人列表项实例
/// </summary>
private readonly Dictionary<GameObject, ContactEntryController> _contactEntries = new();
private readonly List<ContactEntryController> _contactEntries = new();
private Image _avatarImage;
private Button _cancelButton;
@@ -39,10 +39,12 @@ namespace Script
private Text _messageText;
private Text _nameText;
private GameObject _panelGo;
public GameObject PanelGo;
public ContactEntryController CurrentEntry { get; set; }
private GameObjectPool _objectPool;
public IArchitecture GetArchitecture()
{
return MainArchitecture.Interface;
@@ -50,12 +52,12 @@ namespace Script
public void Initialize(GameObject panelGo)
{
_panelGo = panelGo;
PanelGo = panelGo;
_contactEntryPrefab = Resources.Load<GameObject>("ContactEntry");
_content = _panelGo.transform.Find("MeetingGrid/Viewport/Content");
_content = PanelGo.transform.Find("MeetingGrid/Viewport/Content");
//邀请界面
_confirmingPop = _panelGo.transform.Find("MeetingGrid/ConfirmingPop").gameObject;
_confirmingPop = PanelGo.transform.Find("MeetingGrid/ConfirmingPop").gameObject;
_confirmingPop.SetActive(false);
//确认邀请
_idText = _confirmingPop.transform.Find("bg/id").GetComponent<Text>();
@@ -66,21 +68,28 @@ namespace Script
_avatarImage = _confirmingPop.transform.Find("ParticipantEntry/head").GetComponent<Image>();
_nameText = _confirmingPop.transform.Find("ParticipantEntry/Name").GetComponent<Text>();
_messageText = _confirmingPop.transform.Find("ParticipantEntry/Message").GetComponent<Text>();
_objectPool = PanelGo.transform.Find("MeetingGrid/Pool").GetComponent<GameObjectPool>();
}
public async void OnEnter()
{
foreach (var entry in _contactEntries)
_objectPool.Release(entry.gameObject);
_contactEntries.Clear();
var response =
await WebRequestSystem.Get<ResponseUsers>(this.GetSystem<IGlobalConfigSystem>().IP, "/signaling/users");
await WebRequestSystem.Get<MainPanel.ResponseUsers>(this.GetSystem<IGlobalConfigSystem>().IP,
"/signaling/users");
if (response != null && response.totalCount > 0)
for (var i = 0; i < response.totalCount; i++)
{
var item = response.users[i];
if (string.IsNullOrEmpty(item.name) ||
string.IsNullOrEmpty(item.userId)) continue;
var entry = GameObject.Instantiate(_contactEntryPrefab, _content);
var entry = _objectPool.Get();
var contactEntryController = entry.GetOrAddComponent<ContactEntryController>();
contactEntryController.SetData(item, this);
_contactEntries.Add(contactEntryController);
}
}
@@ -89,7 +98,7 @@ namespace Script
{
}
public void ClickContactEntry(Sprite avatarImage, string name, UsersItem item)
public void ClickContactEntry(Sprite avatarImage, string name, MainPanel.UsersItem item)
{
_confirmingPop.SetActive(true);
@@ -119,7 +128,8 @@ namespace Script
inviterName = this.GetSystem<IGlobalConfigSystem>().GetConnectionName(),
inviterAvatar =
$"{this.GetSystem<IGlobalConfigSystem>().IP}/images/head/" +
$"{this.GetSystem<IGlobalConfigSystem>().GetConnectionTexture().name}.png"
$"{this.GetSystem<IGlobalConfigSystem>().GetConnectionTexture()}.png",
applyReason = _leaveMessage.text
}
};
SignalingMessageHelper.SendMessage(JsonConvert.SerializeObject(userInfo));
@@ -130,59 +140,5 @@ namespace Script
CurrentEntry = null;
});
}
public class ContactEntryData
{
public string avatar;
public GameObject entry;
public Toggle invitationTog;
public string name;
public string participantId;
public string role;
}
[Serializable]
public class ResponseUsers
{
/// <summary>
/// </summary>
public List<UsersItem> users { get; set; }
/// <summary>
/// </summary>
public int totalCount { get; set; }
}
[Serializable]
public class UsersItem
{
/// <summary>
/// </summary>
public string socketId { get; set; }
/// <summary>
/// </summary>
public string connectionId { get; set; }
/// <summary>
/// </summary>
public string participantId { get; set; }
/// <summary>
/// </summary>
public string role { get; set; }
/// <summary>
/// </summary>
public string userId { get; set; }
/// <summary>
/// </summary>
public string name { get; set; }
/// <summary>
/// </summary>
public string avatar { get; set; }
}
}
}

View File

@@ -0,0 +1,244 @@
using System.Collections.Generic;
using RenderStreaming;
using Script.Util;
using Stary.Evo;
using Unity.RenderStreaming;
using UnityEngine;
using UnityEngine.UI;
namespace Script
{
public class MeetingInfoList : IController
{
public GameObject PanelGo;
/// <summary>
/// 联系人列表项预制体
/// </summary>
private GameObject _contactEntryPrefab;
/// <summary>
/// 全部联系人列表容器
/// </summary>
private Transform _content;
private Text _meetingNum;
private Dictionary<string, MessageRecordInfo> _meetingList = new();
private GameObjectPool _objectPool;
public void Initialize(GameObject panelGo)
{
PanelGo = panelGo;
_contactEntryPrefab = Resources.Load<GameObject>("ParticipantEntry");
_content = panelGo.transform.Find("MeetingGrid/Viewport/Content");
_meetingNum = panelGo.transform.Find("MeetingNum/Num").GetComponent<Text>();
_objectPool = PanelGo.transform.Find("MeetingGrid/Pool").GetComponent<GameObjectPool>();
}
public void OnEnter()
{
LoadUsers();
GameObject.FindObjectOfType<MessageChannel>().OnMediaStateChangeReceived += OnMediaStateChangeReceived;
GameObject.FindObjectOfType<MessageChannel>().OnUserInfoMessageReceived += OnUserInfoMessageReceived;
GameObject.FindObjectOfType<HostConnection>().OnParticipantDisconnected += OnParticipantDisconnected;
}
/// <summary>
/// 当有用户断开连接时调用
/// </summary>
/// <param name="id"></param>
private void OnParticipantDisconnected(string id)
{
var userId = "";
foreach (var value in _meetingList.Values)
if (value.item.participantId == id)
{
_objectPool.Release(value.participant);
userId = value.item.userId;
break;
}
_meetingList.Remove(userId);
}
/// <summary>
/// 当有用户加入会议时调用
/// </summary>
/// <param name="arg1"></param>
/// <param name="arg2"></param>
private void OnUserInfoMessageReceived(string arg1, UserInfo arg2)
{
foreach (var info in _meetingList.Values) _objectPool.Release(info.participant);
_meetingList.Clear();
LoadUsers();
}
/// <summary>
/// 当有用户媒体状态改变时调用
/// </summary>
/// <param name="connectionId"></param>
/// <param name="message"></param>
private async void OnMediaStateChangeReceived(string connectionId, MediaStateChange message)
{
Debug.Log($"OnMediaStateChangeReceived: {message}");
if (_meetingList.ContainsKey(message.userId))
{
var info = _meetingList[message.userId];
SetMediaStateMic(info.participant, message.audio);
SetMediaStateVideo(info.participant, message.video);
}
}
private async void LoadUsers()
{
var response =
await WebRequestSystem.Get<MainPanel.ResponseUsers>(this.GetSystem<IGlobalConfigSystem>().IP,
$"/signaling/users?connectionId={this.GetSystem<IGlobalConfigSystem>().GetConnectionId()}");
if (response != null && response.totalCount > 0)
{
_meetingNum.text = response.totalCount.ToString();
for (var i = 0; i < response.totalCount; i++)
{
var item = response.users[i];
if (string.IsNullOrEmpty(item.name) ||
string.IsNullOrEmpty(item.userId)) continue;
var entry = _objectPool.Get();
SetData(entry, item);
}
}
}
public void SetData(GameObject entry, MainPanel.UsersItem item)
{
var transform = entry.transform;
///头像赋值
var background = transform.Find("headBackground");
var backgroundName = background.transform.Find("Name");
if (string.IsNullOrEmpty(item.avatar))
{
var randomColor = WebRTCUtil.GetRandomColor();
if (background != null)
{
var image = background.GetComponent<Image>();
if (image != null) image.color = randomColor;
}
if (backgroundName != null)
{
var textComponent = backgroundName.GetComponent<Text>();
if (textComponent != null && !string.IsNullOrEmpty(item.name))
textComponent.text = item.name.Substring(0, 1);
}
}
else
{
background = transform.Find("headBackground");
if (background != null)
{
var imageComponent = background.GetComponent<Image>();
if (imageComponent != null) WebRTCUtil.DownloadAndSetAvatar(item.avatar, imageComponent);
}
if (backgroundName != null) backgroundName.GetComponent<Text>().text = "";
}
if (!string.IsNullOrEmpty(item.name))
{
var nameText = transform.Find("Name");
if (nameText != null)
{
var textComponent = nameText.GetComponent<Text>();
if (textComponent != null) textComponent.text = item.name;
}
}
if (!string.IsNullOrEmpty(item.userId))
{
var messageText = transform.Find("Message");
if (messageText != null)
{
var textComponent = messageText.GetComponent<Text>();
if (textComponent != null) textComponent.text = item.userId;
}
}
if (!string.IsNullOrEmpty(item.role))
{
var role = item.role;
var participant = transform.Find("Name/state/participant");
var host = transform.Find("Name/state/host");
if (role.Equals("host"))
{
host.gameObject.SetActive(true);
participant.gameObject.SetActive(false);
SetMediaStateMic(entry, true);
SetMediaStateVideo(entry, true);
}
else if (role.Equals("participant"))
{
participant.gameObject.SetActive(true);
host.gameObject.SetActive(false);
SetMediaStateMic(entry, false);
SetMediaStateVideo(entry, true);
}
}
_meetingList.Add(item.userId, new MessageRecordInfo(item, entry));
}
private void SetMediaStateMic(GameObject entry, bool isAudio)
{
var mic = entry.transform.Find("mic");
var micBackground = mic.transform.Find("Background");
var micCheckmark = mic.transform.Find("Checkmark");
micCheckmark.gameObject.SetActive(isAudio);
micBackground.gameObject.SetActive(!isAudio);
}
private void SetMediaStateVideo(GameObject entry, bool isVideo)
{
var video = entry.transform.Find("video");
var videoBackground = video.transform.Find("Background");
var videoCheckmark = video.transform.Find("Checkmark");
videoCheckmark.gameObject.SetActive(isVideo);
videoBackground.gameObject.SetActive(!isVideo);
}
public async void OnExit()
{
GameObject.FindObjectOfType<MessageChannel>().OnMediaStateChangeReceived -= OnMediaStateChangeReceived;
GameObject.FindObjectOfType<MessageChannel>().OnUserInfoMessageReceived -= OnUserInfoMessageReceived;
GameObject.FindObjectOfType<HostConnection>().OnParticipantDisconnected -= OnParticipantDisconnected;
}
public class MessageRecordInfo
{
public MainPanel.UsersItem item;
public GameObject participant;
public MessageRecordInfo(MainPanel.UsersItem item, GameObject participant)
{
this.item = item;
this.participant = participant;
}
}
public IArchitecture GetArchitecture()
{
return MainArchitecture.Interface;
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 808f780c6849419d8c7235091a0295e7
timeCreated: 1779162087

8
Assets/Script/Pool.meta Normal file
View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a2be89955a7639d44a282c31c15fb36c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,37 @@
using UnityEngine;
using System.Collections.Generic;
public class GameObjectPool : MonoBehaviour
{
[Tooltip("预制体")] public GameObject prefab;
[Tooltip("初始预加载数量")] public int preload = 10;
private Stack<GameObject> _pool = new();
public Transform parent;
private void Start()
{
for (var i = 0; i < preload; i++)
{
var go = Instantiate(prefab, transform);
go.SetActive(false);
_pool.Push(go);
}
}
public GameObject Get()
{
var go = _pool.Count > 0 ? _pool.Pop() : Instantiate(prefab, parent);
go.transform.parent = parent;
go.SetActive(true);
return go;
}
public void Release(GameObject go)
{
if (go == null) return;
go.SetActive(false);
go.transform.SetParent(transform, false);
_pool.Push(go);
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 1970feb7fdb702645b753cd8ed1be4ea
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,28 @@
using UnityEngine;
using UnityEngine.Networking;
using System.IO;
using System.Security.Cryptography.X509Certificates;
/// <summary>
/// 信任指定自签名证书
/// </summary>
public class SelfSignedCertHandler : CertificateHandler
{
// 受信任的证书数据(从 StreamingAssets 加载)
private X509Certificate2 _trustedCert;
public SelfSignedCertHandler(byte[] certData)
{
_trustedCert = new X509Certificate2(certData);
}
protected override bool ValidateCertificate(byte[] certificateData)
{
// 方法1严格匹配整本证书推荐
var remoteCert = new X509Certificate2(certificateData);
return remoteCert.Thumbprint == _trustedCert.Thumbprint;
// 方法2宽松模式 - 只要证书能解析就信任(调试用,危险)
// return true;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: ae01fb0d54ce6934b8b553302876daaa
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -170,7 +170,8 @@ namespace Unity.RenderStreaming
{
if (_profileSprites == null || _profileSprites.Length == 0) return;
_profileImage.sprite = _profileSprites[_profileSpriteIndex];
this.GetSystem<IGlobalConfigSystem>().SetConnectionTexture(_profileSprites[_profileSpriteIndex].texture);
var avatar = _profileSprites[_profileSpriteIndex].name.Replace("(Clone)", "");
this.GetSystem<IGlobalConfigSystem>().SetConnectionTexture(avatar);
_profileSpriteIndex = (_profileSpriteIndex + 1) % _profileSprites.Length;
}
@@ -197,7 +198,6 @@ namespace Unity.RenderStreaming
this.GetSystem<IGlobalConfigSystem>().SetConnectionId(_meetingId.text);
hostConnection.RoomConnectionId = this.GetSystem<IGlobalConfigSystem>().GetConnectionId();
this.GetSystem<IGlobalConfigSystem>().SetConnectionName(_meetingNameInput.text);
this.GetSystem<IGlobalConfigSystem>().SetConnectionTexture(_profileImage.sprite.texture);
if (!SignalingMessageHelper.IsReady())
{
Debug.LogError("Signaling 未就绪");
@@ -210,7 +210,6 @@ namespace Unity.RenderStreaming
type = "host-userInfo",
data = new
{
connectionId = hostConnection.RoomConnectionId,
id = this.GetSystem<IGlobalConfigSystem>().GetUserId(),
name = _meetingNameInput.text,
avatar = $"{this.GetSystem<IGlobalConfigSystem>().IP}/images/head/{avatar}.png"

3
Assets/Script/Util.meta Normal file
View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: de21338fb2a746fc9d2ffc968c7c9204
timeCreated: 1779180350

View File

@@ -0,0 +1,48 @@
using System;
using System.IO;
using Stary.Evo;
using UnityEngine;
using UnityEngine.UI;
using Random = UnityEngine.Random;
namespace Script.Util
{
public static class WebRTCUtil
{
public static Color GetRandomColor()
{
return new Color(
Random.Range(0.2f, 0.8f),
Random.Range(0.2f, 0.8f),
Random.Range(0.2f, 0.8f),
1f
);
}
public static async void DownloadAndSetAvatar(string avatarUrl, Image targetImage)
{
try
{
var tempPath = Path.Combine(Application.temporaryCachePath, $"avatar_{Guid.NewGuid()}.png");
var result = await WebRequestSystem.GetFile(avatarUrl, tempPath);
if (result.code == 200)
{
var bytes = File.ReadAllBytes(tempPath);
var texture = new Texture2D(2, 2);
texture.LoadImage(bytes);
var sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height),
Vector2.one * 0.5f);
targetImage.sprite = sprite;
File.Delete(tempPath);
}
}
catch (Exception e)
{
Debug.LogError($"下载头像失败: {e.Message}");
}
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 4decb134134b44de9674419f4b392d6e
timeCreated: 1779180377

View File

@@ -13,6 +13,7 @@ namespace Stary.Evo
public static class WebRequestSystem
{
private static string authorization;
private static byte[] certificateData;
static WebRequestSystem()
{
@@ -21,6 +22,8 @@ namespace Stary.Evo
#else
authorization = CustomPlayerPrefs.GetString("Authorization");
#endif
var certPath = Path.Combine(Application.streamingAssetsPath, "server.crt");
certificateData = File.ReadAllBytes(certPath);
}
public static async Task<bool> Login(string url, string username, string password)
@@ -220,6 +223,8 @@ namespace Stary.Evo
{
using var webRequest = UnityWebRequest.Get(url);
webRequest.downloadHandler = new DownloadHandlerFile(tempPath);
webRequest.certificateHandler = new SelfSignedCertHandler(certificateData);
if (authorization != null)
webRequest.SetRequestHeader("Authorization", authorization); // 修正请求头名称规范
@@ -279,6 +284,7 @@ namespace Stary.Evo
var fullUrl = url.TrimEnd('/') + "/" + path.TrimStart('/');
using var webRequest = new UnityWebRequest(fullUrl, UnityWebRequest.kHttpVerbGET);
webRequest.downloadHandler = new DownloadHandlerBuffer();
webRequest.certificateHandler = new SelfSignedCertHandler(certificateData);
if (authorization != null)
webRequest.SetRequestHeader("Authorization", authorization); // 修正请求头名称规范

View File

@@ -30,6 +30,7 @@ namespace Unity.RenderStreaming
public event Action<string, UserInfo> OnUserInfoMessageReceived;
public event Action<string, MediaStateChange> OnMediaStateChangeReceived;
public override void OnMessage(string message)
{
try

View File

@@ -1,5 +1,7 @@
// Assets/Script/WebRtc/MessageTypes.cs
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using UnityEngine;
@@ -10,7 +12,7 @@ namespace Unity.RenderStreaming
public const string Chat = "chat";
public const string UserInfo = "user-info";
public const string MediaStateChange = "media-state-changed";
public const string Image = "image";
public const string ParticipantsSync = "participants-sync";
}
[Serializable]
@@ -37,7 +39,6 @@ namespace Unity.RenderStreaming
public bool audio;
public bool video;
public bool screenShare;
public bool recording;
public bool isSpeaking;
}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4f335d2bcfb8fab478b7f9a138a389e7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDVDCCAjygAwIBAgIUE5mlja619YjK+0XdOLLC1fbWUT8wDQYJKoZIhvcNAQEL
BQAwOTELMAkGA1UEBhMCQ04xEjAQBgNVBAoMCU15Q29tcGFueTEWMBQGA1UEAwwN
MTkyLjE2OC4zMS4xNjAeFw0yNjA1MTkxMDU4MjRaFw0yNzA1MTkxMDU4MjRaMDkx
CzAJBgNVBAYTAkNOMRIwEAYDVQQKDAlNeUNvbXBhbnkxFjAUBgNVBAMMDTE5Mi4x
NjguMzEuMTYwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3JrMbxVoi
KGOZrWZ42VSPRe79j34lI/8m+cwwhT6pO7hDA6leaTW2/udq8UmINm0N89Z99EwS
BSuQr8lSl/e2lT79hYOTg5R6Qb4LLM8oiaqhm8yj7/wCF1mX5Nl44JwFaTiOvqWN
aP9VecUKv5bH5tn1sGLIILYy8M57+VfG1VFrTzlNmQoMzYu7wHk5KF08WPfj5Qpd
zOBnrfnHJlWm4M3DN10Z3ElljVZ0Ls18Oyj8vq4XIX3/vJOEu+jIRRu+t/ELd513
gZ+qB/Cbf7A1DcgaH7tTACnEk9Rls5eyc3FnTWjUu8R8pvLhqN4yeHJSBEi7C7NA
/X++i3S6LZ+DAgMBAAGjVDBSMB0GA1UdDgQWBBRbH+2EH6TTqY77tYiRdwWOQxV5
5zAPBgNVHRMBAf8EBTADAQH/MCAGA1UdEQQZMBeHBMCoHxCHBH8AAAGCCWxvY2Fs
aG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAaGGboBOV/05jA13C9UwF48Fp2r6MSZIW
Hl7256BP7S6j8xIX07IogFs0dBDXA5BWBnDLli23D9hNKClcjbp0OscAzESVJiTr
HeIa3C4VaBKJ13Dskfn0qWVw/QSsIKVWfP42oHI3AW6xkAiVLwRTKqtH8A6VPqHO
2dAXiGugeOXGJfkwnQucg0+7M2H2rzxFRmRtnIW6xUXwb9wTRJN1koFAiZA6/RN0
mXOSy9DC+nXkH3XC120EdfanPMxVmoHjeQRaB3+0QbliI9VelafUPxBxCvmR3TRQ
mXW4K2mMdXbIVcHSyBBhtoqmmwGquOgvPPR9a3H34npaVzflDjDSXQ==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 149176ebeca1df2418c221b480e6d60b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC3JrMbxVoiKGOZ
rWZ42VSPRe79j34lI/8m+cwwhT6pO7hDA6leaTW2/udq8UmINm0N89Z99EwSBSuQ
r8lSl/e2lT79hYOTg5R6Qb4LLM8oiaqhm8yj7/wCF1mX5Nl44JwFaTiOvqWNaP9V
ecUKv5bH5tn1sGLIILYy8M57+VfG1VFrTzlNmQoMzYu7wHk5KF08WPfj5QpdzOBn
rfnHJlWm4M3DN10Z3ElljVZ0Ls18Oyj8vq4XIX3/vJOEu+jIRRu+t/ELd513gZ+q
B/Cbf7A1DcgaH7tTACnEk9Rls5eyc3FnTWjUu8R8pvLhqN4yeHJSBEi7C7NA/X++
i3S6LZ+DAgMBAAECggEACe0QgZ2hWWmRSv0L/oUKIVZbx0/gDnjpdVN4yVu8qM+s
7auEod0XhVVCSy2hhmmAto6zs2bVOpgfeNDLcJeo3AiG/ewe/z8p1whkxCvyXD2T
IFLBH/9mdoyNFVTYo8WfNGcz9/8wGhO0huLkbBqJvEgazEcky2ODzGCi/YgRcEam
5PaQigwsYQkNTI8VfFvnEN7v9bM5h2C0MG5VqIoiSOhAyDB3up4EIsXgkx8F3ipY
sp04Aub/eb/PvuOvZ6BjLZ6lbMC2yX9gr2luUYzJ+e9sBbN9kLZObtsG5ovl4LkD
+SvFntSsjy2Hen+bQEaoRzoZv6Wbvd0DsJLZrVdMEQKBgQDeMtGS0rAr78wkeje3
SOqRpzokxh28ljniTmiE9rwzoEajZ9/TDF2N7l+kMtaNMv3wox4w43XNukO3K8nZ
FjlgYDdS+yVde/O+Y6h1VvcaLiBr89nNEuKMV3gY0pyYwQXD2DD9/BcslRuA97HN
2KQElI5J03wIagysiqiSlIUukwKBgQDTAz31n3Xpnkov/Xq5QekyMr/LGyWAgFW5
PrNmpfoj67ozjPKp3i8SF2a7IfX6Hnuio+UJKeRJ4eQlOat3WoNeAcQWv9bLN5fc
fCs/Cbx6fXZtL7z31XovdqMeuJh5DeHD7+DvIiOAjPm7sXOqEoF3Rj6t+FEpdEZm
FgtMtXlxUQKBgQCylmG/Aju6dJe9UcXqOF7gBmpDGEDaTFvlumNjSvRlAhMETv6k
oDGpW8ffL0UmY6+ac2BWptsOKQE3/afUJXqkLXEJ7vVPN8rmYS8KcIVWs3A3k9yg
aOdRKRRLzysx0yIREHgAC1eM66MZevubmN3rGINsbuAn2ySooSFv/pM0pQKBgCq/
pGTHal7q14LDaoJvjOvDhkGCfWV8GmHOBxBLndJ7JhzdeCfbwFN89C4DIk8Kr+dy
Jqtllj81iT/VYBxs9OItn2kwcjZ3S8e6TBSYR1vVYRGbsz/OOtO0yDUoFpOnsU49
oacwllqrtMhGmfUhjKL6UyZxgRfR25VA8AcZWMIRAoGBAJFmDScCrXqLXfiPCAZf
s+aFZw2j6A6kiRTnUsy5Alo57oq1GS8L9LhCn69PS9YHTLK4rPmlpqHis7VJDyrv
EwlS+T3qL6lY7UiffMkbwhsCkgIdkrvVdeQxiQzJeQDBh0zbJeQ2YR3UH6u/97rh
TLURWq46IlErSQ49LfV938Vs
-----END PRIVATE KEY-----

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 792e240dd2654e7488d345277a56d2e8
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -21,7 +21,7 @@ MonoBehaviour:
- rid: 236153504754827269
type: {class: WebSocketSignalingSettings, ns: Unity.RenderStreaming, asm: Unity.RenderStreaming}
data:
m_url: ws://192.168.31.16:8080
m_url: wss://192.168.31.16:8080
m_iceServers:
- m_urls:
- stun:stun.l.google.com:19302