First commit, added everything

master
Benjamin Kraft 4 years ago
commit dc162ae68d
  1. 13
      .idea/.idea.GameClient/.idea/.gitignore
  2. 4
      .idea/.idea.GameClient/.idea/encodings.xml
  3. 28
      .idea/.idea.GameClient/.idea/indexLayout.xml
  4. 7
      .idea/.idea.GameClient/.idea/riderModule.iml
  5. 6
      .idea/.idea.GameClient/.idea/vcs.xml
  6. 78
      Assets/Materials/LocalPlayerMaterial.mat
  7. 8
      Assets/Materials/LocalPlayerMaterial.mat.meta
  8. 78
      Assets/Materials/PlayerMaterial.mat
  9. 8
      Assets/Materials/PlayerMaterial.mat.meta
  10. 122
      Assets/Prefabs/Color Button.prefab
  11. 7
      Assets/Prefabs/Color Button.prefab.meta
  12. 212
      Assets/Prefabs/EmptySlotItem.prefab
  13. 7
      Assets/Prefabs/EmptySlotItem.prefab.meta
  14. 45
      Assets/Prefabs/Player.prefab
  15. 7
      Assets/Prefabs/Player.prefab.meta
  16. 708
      Assets/Prefabs/PlayerSlotItem.prefab
  17. 7
      Assets/Prefabs/PlayerSlotItem.prefab.meta
  18. 938
      Assets/Prefabs/RoomItem.prefab
  19. 7
      Assets/Prefabs/RoomItem.prefab.meta
  20. BIN
      Assets/Resources/LEC Icon.png
  21. 108
      Assets/Resources/LEC Icon.png.meta
  22. BIN
      Assets/Resources/UEM_Logo_Head_White_Black.jpg
  23. 108
      Assets/Resources/UEM_Logo_Head_White_Black.jpg.meta
  24. 345
      Assets/Scenes/Game.unity
  25. 7
      Assets/Scenes/Game.unity.meta
  26. 7323
      Assets/Scenes/Main.unity
  27. 7
      Assets/Scenes/Main.unity.meta
  28. 3
      Assets/Scripts/Game.meta
  29. 34
      Assets/Scripts/Game/GameManager.cs
  30. 3
      Assets/Scripts/Game/GameManager.cs.meta
  31. 13
      Assets/Scripts/Game/PlayerManager.cs
  32. 3
      Assets/Scripts/Game/PlayerManager.cs.meta
  33. 3
      Assets/Scripts/Global.meta
  34. 39
      Assets/Scripts/Global/Loader.cs
  35. 11
      Assets/Scripts/Global/Loader.cs.meta
  36. 32
      Assets/Scripts/Global/Singleton.cs
  37. 3
      Assets/Scripts/Global/Singleton.cs.meta
  38. 8
      Assets/Scripts/Networking.meta
  39. 8
      Assets/Scripts/Networking/Architecture.meta
  40. 355
      Assets/Scripts/Networking/Architecture/Packet.cs
  41. 11
      Assets/Scripts/Networking/Architecture/Packet.cs.meta
  42. 173
      Assets/Scripts/Networking/Architecture/ProtocolManager.cs
  43. 3
      Assets/Scripts/Networking/Architecture/ProtocolManager.cs.meta
  44. 13
      Assets/Scripts/Networking/Architecture/SendData.cs
  45. 3
      Assets/Scripts/Networking/Architecture/SendData.cs.meta
  46. 41
      Assets/Scripts/Networking/Architecture/ThreadManager.cs
  47. 11
      Assets/Scripts/Networking/Architecture/ThreadManager.cs.meta
  48. 114
      Assets/Scripts/Networking/Client.cs
  49. 11
      Assets/Scripts/Networking/Client.cs.meta
  50. 41
      Assets/Scripts/Networking/ClientHandle.cs
  51. 11
      Assets/Scripts/Networking/ClientHandle.cs.meta
  52. 21
      Assets/Scripts/Networking/ClientSend.cs
  53. 11
      Assets/Scripts/Networking/ClientSend.cs.meta
  54. 3
      Assets/Scripts/Networking/PacketTypes.meta
  55. 5
      Assets/Scripts/Networking/PacketTypes/ClientDefaultPacket.cs
  56. 3
      Assets/Scripts/Networking/PacketTypes/ClientDefaultPacket.cs.meta
  57. 5
      Assets/Scripts/Networking/PacketTypes/ClientGamePacket.cs
  58. 3
      Assets/Scripts/Networking/PacketTypes/ClientGamePacket.cs.meta
  59. 13
      Assets/Scripts/Networking/PacketTypes/ClientRoomPacket.cs
  60. 3
      Assets/Scripts/Networking/PacketTypes/ClientRoomPacket.cs.meta
  61. 7
      Assets/Scripts/Networking/PacketTypes/PacketType.cs
  62. 3
      Assets/Scripts/Networking/PacketTypes/PacketType.cs.meta
  63. 5
      Assets/Scripts/Networking/PacketTypes/ServerDefaultPacket.cs
  64. 3
      Assets/Scripts/Networking/PacketTypes/ServerDefaultPacket.cs.meta
  65. 5
      Assets/Scripts/Networking/PacketTypes/ServerGamePacket.cs
  66. 3
      Assets/Scripts/Networking/PacketTypes/ServerGamePacket.cs.meta
  67. 14
      Assets/Scripts/Networking/PacketTypes/ServerRoomPacket.cs
  68. 3
      Assets/Scripts/Networking/PacketTypes/ServerRoomPacket.cs.meta
  69. 31
      Assets/Scripts/Networking/Room.cs
  70. 3
      Assets/Scripts/Networking/Room.cs.meta
  71. 65
      Assets/Scripts/Networking/RoomHandle.cs
  72. 3
      Assets/Scripts/Networking/RoomHandle.cs.meta
  73. 82
      Assets/Scripts/Networking/RoomSend.cs
  74. 3
      Assets/Scripts/Networking/RoomSend.cs.meta
  75. 3
      Assets/Scripts/Networking/UI.meta
  76. 54
      Assets/Scripts/Networking/UI/PlayerSlotItem.cs
  77. 3
      Assets/Scripts/Networking/UI/PlayerSlotItem.cs.meta
  78. 85
      Assets/Scripts/Networking/UI/RoomListCreateMenu.cs
  79. 3
      Assets/Scripts/Networking/UI/RoomListCreateMenu.cs.meta
  80. 51
      Assets/Scripts/Networking/UI/RoomListItem.cs
  81. 3
      Assets/Scripts/Networking/UI/RoomListItem.cs.meta
  82. 140
      Assets/Scripts/Networking/UI/RoomMenu.cs
  83. 3
      Assets/Scripts/Networking/UI/RoomMenu.cs.meta
  84. 24
      Assets/Scripts/Networking/UI/StartMenu.cs
  85. 3
      Assets/Scripts/Networking/UI/StartMenu.cs.meta
  86. 76
      Assets/Scripts/Networking/UI/UIManager.cs
  87. 3
      Assets/Scripts/Networking/UI/UIManager.cs.meta
  88. 8
      Assets/TextMesh Pro/Documentation.meta
  89. BIN
      Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf
  90. 7
      Assets/TextMesh Pro/Documentation/TextMesh Pro User Guide 2016.pdf.meta
  91. 8
      Assets/TextMesh Pro/Fonts.meta
  92. 46
      Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt
  93. 8
      Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt.meta
  94. BIN
      Assets/TextMesh Pro/Fonts/LiberationSans.ttf
  95. 19
      Assets/TextMesh Pro/Fonts/LiberationSans.ttf.meta
  96. 8
      Assets/TextMesh Pro/Resources.meta
  97. 9
      Assets/TextMesh Pro/Resources/Fonts & Materials.meta
  98. 106
      Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat
  99. 8
      Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Drop Shadow.mat.meta
  100. 561
      Assets/TextMesh Pro/Resources/Fonts & Materials/LiberationSans SDF - Fallback.asset
  101. Some files were not shown because too many files have changed in this diff Show More

@ -0,0 +1,13 @@
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/.idea.GameClient.iml
/modules.xml
/contentModel.xml
/projectSettingsUpdater.xml
# Datasource local storage ignored files
/../../../../../../../../../:\Dateien\Documents\Programming\Unity\GameClient\.idea\.idea.GameClient\.idea/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ContentModelUserStore">
<attachedFolders />
<explicitIncludes>
<Path>Library/PackageCache/com.unity.collab-proxy@1.3.9</Path>
<Path>Library/PackageCache/com.unity.ext.nunit@1.0.6</Path>
<Path>Library/PackageCache/com.unity.ide.rider@3.0.4</Path>
<Path>Library/PackageCache/com.unity.ide.visualstudio@2.0.5</Path>
<Path>Library/PackageCache/com.unity.ide.vscode@1.2.3</Path>
<Path>Library/PackageCache/com.unity.test-framework@1.1.20</Path>
<Path>Library/PackageCache/com.unity.textmeshpro@3.0.1</Path>
<Path>Library/PackageCache/com.unity.timeline@1.3.6</Path>
<Path>Packages</Path>
<Path>ProjectSettings</Path>
</explicitIncludes>
<explicitExcludes>
<Path>.git</Path>
<Path>.idea</Path>
<Path>Build</Path>
<Path>Library</Path>
<Path>Logs</Path>
<Path>Temp</Path>
<Path>UserSettings</Path>
<Path>obj</Path>
</explicitExcludes>
</component>
</project>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="RIDER_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$/../.." />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

@ -0,0 +1,78 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: LocalPlayerMaterial
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.013349922, g: 0.9433962, b: 0.030828824, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 944ff62a7cfedbb45a8120adbebafe30
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,78 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PlayerMaterial
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.9433962, g: 0.084549636, b: 0.084549636, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fbe5b0fd081b6cf4ca44f1f5dd02c7be
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,122 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &5870393896057832974
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1889812390763429069}
- component: {fileID: 4336082873478593435}
- component: {fileID: 830374434099032844}
- component: {fileID: 3286728770765143084}
m_Layer: 5
m_Name: Color Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1889812390763429069
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5870393896057832974}
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: 0
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.5, y: 0.5}
--- !u!222 &4336082873478593435
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5870393896057832974}
m_CullTransparentMesh: 1
--- !u!114 &830374434099032844
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5870393896057832974}
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: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &3286728770765143084
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5870393896057832974}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 830374434099032844}
m_OnClick:
m_PersistentCalls:
m_Calls: []

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e074418d62c82f1439a8dbe72d7ae1af
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,212 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1369093739657954866
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1369093739657954865}
- component: {fileID: 781502665628020444}
- component: {fileID: 7341691045671520613}
m_Layer: 5
m_Name: EmptySlotItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1369093739657954865
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1369093739657954866}
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: 1369093739824835018}
m_Father: {fileID: 0}
m_RootOrder: 0
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: 900, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &781502665628020444
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1369093739657954866}
m_CullTransparentMesh: 1
--- !u!114 &7341691045671520613
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1369093739657954866}
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.6415094, g: 0.6415094, b: 0.6415094, a: 0.392}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 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!1 &1369093739824835019
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1369093739824835018}
- component: {fileID: 1369093739824835016}
- component: {fileID: 1369093739824835017}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1369093739824835018
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1369093739824835019}
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: 1369093739657954865}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.25}
m_AnchorMax: {x: 0.5, y: 0.75}
m_AnchoredPosition: {x: -173, y: 0}
m_SizeDelta: {x: 471.64, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1369093739824835016
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1369093739824835019}
m_CullTransparentMesh: 1
--- !u!114 &1369093739824835017
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1369093739824835019}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Free Slot
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4278190080
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 44.75
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 2
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 1
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 2273d47ea911fc74081b2eb54170c7be
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,45 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6584617737646710206
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1809769108086625743}
- component: {fileID: 2115909457242292360}
m_Layer: 0
m_Name: Player
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1809769108086625743
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6584617737646710206}
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: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &2115909457242292360
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6584617737646710206}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7fa769e67a35409a94ee1bd80f1cf070, type: 3}
m_Name:
m_EditorClassIdentifier:

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 40499fd1bd75c924d99f489ce6df10eb
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,708 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1275352191767345670
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2332838465183461640}
- component: {fileID: 7288005060292573589}
- component: {fileID: 8988555880197985693}
- component: {fileID: 6817434879675342576}
m_Layer: 5
m_Name: Ready Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2332838465183461640
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1275352191767345670}
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: 1987459055306690807}
m_RootOrder: 2
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: -125, y: 0}
m_SizeDelta: {x: 50, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &7288005060292573589
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1275352191767345670}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 6817434879675342576}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1987459055306690806}
m_TargetAssemblyTypeName: Networking.PlayerSlotItem, Assembly-CSharp
m_MethodName: OnReadyButtonClicked
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!222 &8988555880197985693
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1275352191767345670}
m_CullTransparentMesh: 1
--- !u!114 &6817434879675342576
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1275352191767345670}
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: 0.392}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &1987459055306690804
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1987459055306690807}
- component: {fileID: 1987459055306690806}
- component: {fileID: 8728658863420628768}
- component: {fileID: 1997783135989422492}
m_Layer: 5
m_Name: PlayerSlotItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1987459055306690807
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1987459055306690804}
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: 1987459055484813068}
- {fileID: 641453297071036883}
- {fileID: 2332838465183461640}
- {fileID: 2835765422337932276}
- {fileID: 2819987969560616371}
m_Father: {fileID: 0}
m_RootOrder: 0
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: 900, y: 100}
m_Pivot: {x: 0.5, y: 1}
--- !u!114 &1987459055306690806
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1987459055306690804}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c5d2e9759aed47a48618672d4d04e368, type: 3}
m_Name:
m_EditorClassIdentifier:
nameText: {fileID: 1987459055484813071}
readySprite: {fileID: 21300000, guid: 904311ec462de7f468dbed78d598c062, type: 3}
notReadySprite: {fileID: 21300000, guid: 19704af276bc10c4eb99525a078b1b95, type: 3}
readyButtonImage: {fileID: 6817434879675342576}
leaveButton: {fileID: 4165201282178569393}
readyButton: {fileID: 7288005060292573589}
promoteButton: {fileID: 6918849911880626241}
colorImage: {fileID: 8254656021871366797}
--- !u!222 &8728658863420628768
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1987459055306690804}
m_CullTransparentMesh: 1
--- !u!114 &1997783135989422492
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1987459055306690804}
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: 0.392}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 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!1 &1987459055484813069
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1987459055484813068}
- component: {fileID: 1987459055484813070}
- component: {fileID: 1987459055484813071}
m_Layer: 5
m_Name: Name Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1987459055484813068
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1987459055484813069}
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: 1987459055306690807}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.25}
m_AnchorMax: {x: 0.5, y: 0.75}
m_AnchoredPosition: {x: 24.999975, y: 0}
m_SizeDelta: {x: -50.00005, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1987459055484813070
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1987459055484813069}
m_CullTransparentMesh: 1
--- !u!114 &1987459055484813071
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1987459055484813069}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Player Name
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4278190080
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 44.75
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 1
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &3883580307458085050
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 641453297071036883}
- component: {fileID: 4165201282178569393}
- component: {fileID: 385545516847941185}
- component: {fileID: 7862328588884052969}
m_Layer: 5
m_Name: Leave Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &641453297071036883
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3883580307458085050}
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: 1987459055306690807}
m_RootOrder: 1
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: -50, y: 0}
m_SizeDelta: {x: 50, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &4165201282178569393
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3883580307458085050}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 7862328588884052969}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1987459055306690806}
m_TargetAssemblyTypeName: Networking.PlayerListItem, Assembly-CSharp
m_MethodName: OnLeaveButtonClicked
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!222 &385545516847941185
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3883580307458085050}
m_CullTransparentMesh: 1
--- !u!114 &7862328588884052969
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3883580307458085050}
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: 0.392}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
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 &5818539278653182673
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2819987969560616371}
- component: {fileID: 2328295267532528567}
- component: {fileID: 8254656021871366797}
m_Layer: 5
m_Name: Color
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2819987969560616371
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5818539278653182673}
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: 1987459055306690807}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 15, y: 0}
m_SizeDelta: {x: 30, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2328295267532528567
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5818539278653182673}
m_CullTransparentMesh: 1
--- !u!114 &8254656021871366797
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5818539278653182673}
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: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 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!1 &6958367663015733582
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2835765422337932276}
- component: {fileID: 6918849911880626241}
- component: {fileID: 2379734813676772859}
- component: {fileID: 2386378071628661612}
m_Layer: 5
m_Name: Promote Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2835765422337932276
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6958367663015733582}
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: 1987459055306690807}
m_RootOrder: 3
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: -200, y: 0}
m_SizeDelta: {x: 50, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &6918849911880626241
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6958367663015733582}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 2386378071628661612}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 1987459055306690806}
m_TargetAssemblyTypeName: Networking.PlayerSlotItem, Assembly-CSharp
m_MethodName: OnPromoteButtonClicked
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!222 &2379734813676772859
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6958367663015733582}
m_CullTransparentMesh: 1
--- !u!114 &2386378071628661612
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6958367663015733582}
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: 0.392}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 285c37d95a179924f94ddded9651ed9c
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,938 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2122023317501539798
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2122023317501539799}
- component: {fileID: 2122023317501539797}
- component: {fileID: 2122023317501539796}
m_Layer: 5
m_Name: Slots
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2122023317501539799
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2122023317501539798}
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: 2122023318072298715}
m_RootOrder: 2
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: 309, y: 0}
m_SizeDelta: {x: 150, y: 60}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2122023317501539797
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2122023317501539798}
m_CullTransparentMesh: 0
--- !u!114 &2122023317501539796
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2122023317501539798}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: (10/10)
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4278190080
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 1
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &2122023318001652954
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2122023318001652955}
- component: {fileID: 2122023318001652953}
- component: {fileID: 2122023318001652952}
m_Layer: 5
m_Name: Name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2122023318001652955
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2122023318001652954}
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: 2122023318072298715}
m_RootOrder: 0
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: -225, y: 0}
m_SizeDelta: {x: 300, y: 60}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2122023318001652953
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2122023318001652954}
m_CullTransparentMesh: 0
--- !u!114 &2122023318001652952
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2122023318001652954}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Benjo's Room
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4278190080
m_fontColor: {r: 0, g: 0, b: 0, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 48.1
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 1
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &2122023318072298714
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2122023318072298715}
- component: {fileID: 2122023318072298713}
- component: {fileID: 2122023318072298712}
- component: {fileID: 2122023318072298694}
- component: {fileID: 2122023318072298695}
m_Layer: 5
m_Name: RoomItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2122023318072298715
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2122023318072298714}
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: 2122023318001652955}
- {fileID: 1012918604507149549}
- {fileID: 2122023317501539799}
m_Father: {fileID: 0}
m_RootOrder: 0
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: 800, y: 100}
m_Pivot: {x: 0.5, y: 1}
--- !u!222 &2122023318072298713
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2122023318072298714}
m_CullTransparentMesh: 0
--- !u!114 &2122023318072298712
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2122023318072298714}
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: 0.392}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 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!114 &2122023318072298694
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2122023318072298714}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 2122023318072298712}
m_OnClick:
m_PersistentCalls:
m_Calls:
- m_Target: {fileID: 2122023318072298695}
m_TargetAssemblyTypeName: Networking.RoomListItem, Assembly-CSharp
m_MethodName: OnClicked
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &2122023318072298695
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2122023318072298714}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ee2eb6e427bf443c9f5e2a77f23718fe, type: 3}
m_Name:
m_EditorClassIdentifier:
nameText: {fileID: 2122023318001652952}
slotsText: {fileID: 2122023317501539796}
passwordField: {fileID: 7021713213387267082}
mainItemButton: {fileID: 2122023318072298694}
--- !u!1 &2264473130403696042
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1012918604507149549}
- component: {fileID: 6854681194959319593}
- component: {fileID: 5768272456129821900}
- component: {fileID: 7021713213387267082}
m_Layer: 5
m_Name: PasswordInput
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1012918604507149549
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2264473130403696042}
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: 4056916117260368313}
m_Father: {fileID: 2122023318072298715}
m_RootOrder: 1
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: 80, y: 0}
m_SizeDelta: {x: 200, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6854681194959319593
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2264473130403696042}
m_CullTransparentMesh: 1
--- !u!114 &5768272456129821900
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2264473130403696042}
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: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 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!114 &7021713213387267082
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2264473130403696042}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, 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: 5768272456129821900}
m_TextViewport: {fileID: 4056916117260368313}
m_TextComponent: {fileID: 1096116746863081159}
m_Placeholder: {fileID: 6342740599333454962}
m_VerticalScrollbar: {fileID: 0}
m_VerticalScrollbarEventHandler: {fileID: 0}
m_LayoutGroup: {fileID: 0}
m_ScrollSensitivity: 1
m_ContentType: 0
m_InputType: 0
m_AsteriskChar: 42
m_KeyboardType: 0
m_LineType: 0
m_HideMobileInput: 0
m_HideSoftKeyboard: 0
m_CharacterValidation: 0
m_RegexValue:
m_GlobalPointSize: 14
m_CharacterLimit: 0
m_OnEndEdit:
m_PersistentCalls:
m_Calls: []
m_OnSubmit:
m_PersistentCalls:
m_Calls: []
m_OnSelect:
m_PersistentCalls:
m_Calls: []
m_OnDeselect:
m_PersistentCalls:
m_Calls: []
m_OnTextSelection:
m_PersistentCalls:
m_Calls: []
m_OnEndTextSelection:
m_PersistentCalls:
m_Calls: []
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
m_OnTouchScreenKeyboardStatusChanged:
m_PersistentCalls:
m_Calls: []
m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_CustomCaretColor: 0
m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412}
m_Text:
m_CaretBlinkRate: 0.85
m_CaretWidth: 1
m_ReadOnly: 0
m_RichText: 1
m_GlobalFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_OnFocusSelectAll: 1
m_ResetOnDeActivation: 1
m_RestoreOriginalTextOnEscape: 1
m_isRichTextEditingAllowed: 0
m_LineLimit: 0
m_InputValidator: {fileID: 0}
--- !u!1 &2887835952880659867
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1883278468328291840}
- component: {fileID: 4630852273493576573}
- component: {fileID: 1096116746863081159}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1883278468328291840
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2887835952880659867}
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: 4056916117260368313}
m_RootOrder: 1
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!222 &4630852273493576573
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2887835952880659867}
m_CullTransparentMesh: 1
--- !u!114 &1096116746863081159
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2887835952880659867}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u200B"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4281479730
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 72
m_fontSizeBase: 14
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 1
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 1
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &4142861323658121547
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6104793466973906757}
- component: {fileID: 8344658816532141}
- component: {fileID: 6342740599333454962}
- component: {fileID: 2910450627281030747}
m_Layer: 5
m_Name: Placeholder
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6104793466973906757
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4142861323658121547}
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: 4056916117260368313}
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!222 &8344658816532141
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4142861323658121547}
m_CullTransparentMesh: 1
--- !u!114 &6342740599333454962
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4142861323658121547}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Password...
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 2150773298
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 0.5}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24.15
m_fontSizeBase: 14
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 2
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 1
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 1
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &2910450627281030747
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4142861323658121547}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 1
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!1 &4504053729042426304
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4056916117260368313}
- component: {fileID: 7388040564230255686}
m_Layer: 5
m_Name: Text Area
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4056916117260368313
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4504053729042426304}
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: 6104793466973906757}
- {fileID: 1883278468328291840}
m_Father: {fileID: 1012918604507149549}
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.5}
m_SizeDelta: {x: -20, y: -13}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &7388040564230255686
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4504053729042426304}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding: {x: -8, y: -5, z: -8, w: -5}
m_Softness: {x: 0, y: 0}

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: cbaaf1731aa02864fb4fadf2c35097ad
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: 19704af276bc10c4eb99525a078b1b95
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 1
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 KiB

@ -0,0 +1,108 @@
fileFormatVersion: 2
guid: 904311ec462de7f468dbed78d598c062
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: 1
wrapV: 1
wrapW: -1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 1
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,345 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.44657844, g: 0.49641222, b: 0.57481694, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 12
m_GIWorkflowMode: 1
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0
m_LightmapEditorSettings:
serializedVersion: 12
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAmbientOcclusion: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVRBounces: 2
m_PVREnvironmentSampleCount: 256
m_PVREnvironmentReferencePointCount: 2048
m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 1
m_PVRDenoiserTypeIndirect: 1
m_PVRDenoiserTypeAO: 1
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVREnvironmentMIS: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 0}
m_LightingSettings: {fileID: 0}
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &716911259
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 716911261}
- component: {fileID: 716911260}
m_Layer: 0
m_Name: GameManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &716911260
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 716911259}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a28d8b6ac57e472da89968a35e307d21, type: 3}
m_Name:
m_EditorClassIdentifier:
playerPrefab: {fileID: 2115909457242292360, guid: 40499fd1bd75c924d99f489ce6df10eb, type: 3}
--- !u!4 &716911261
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 716911259}
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: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &897985837
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 897985839}
- component: {fileID: 897985838}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &897985838
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 897985837}
m_Enabled: 1
serializedVersion: 10
m_Type: 1
m_Shape: 0
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_InnerSpotAngle: 21.80208
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
e01: 0
e02: 0
e03: 0
e10: 0
e11: 1
e12: 0
e13: 0
e20: 0
e21: 0
e22: 1
e23: 0
e30: 0
e31: 0
e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingLayerMask: 1
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
m_UseBoundingSphereOverride: 0
m_UseViewFrustumForShadowCasterCull: 1
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &897985839
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 897985837}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &1388499334
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1388499337}
- component: {fileID: 1388499336}
- component: {fileID: 1388499335}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &1388499335
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1388499334}
m_Enabled: 1
--- !u!20 &1388499336
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1388499334}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_GateFitMode: 2
m_FOVAxisMode: 0
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &1388499337
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1388499334}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

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

File diff suppressed because it is too large Load Diff

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

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d3f41d0234ad455389e2827be09eb532
timeCreated: 1613348295

@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using Global;
using Networking;
namespace Game {
public class GameManager : Singleton<GameManager> {
public PlayerManager playerPrefab;
private Dictionary<int, PlayerManager> Players { get; } = new Dictionary<int, PlayerManager>();
private void Start() {
Loader.Instance.gameObject.SetActive(false);
CreatePlayers();
}
private void CreatePlayers() {
var room = Client.Instance.GameRoom;
var clientPropertiesMap = Client.Instance.GameProperties;
var colors = Client.Instance.colors;
foreach (var kvp in room.Players) {
var player = Instantiate(playerPrefab);
player.Id = kvp.Key;
player.Name = kvp.Value;
player.Color = colors[clientPropertiesMap[player.Id].ColorId];
Players.Add(player.Id, player);
}
}
private void Update() { }
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a28d8b6ac57e472da89968a35e307d21
timeCreated: 1612979146

@ -0,0 +1,13 @@
using UnityEngine;
namespace Game {
public class PlayerManager : MonoBehaviour {
public int Id { get; set; }
public string Name { get; set; }
public Color Color { get; set; }
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7fa769e67a35409a94ee1bd80f1cf070
timeCreated: 1612979880

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ac2ee0ebac144dd0b57175002920b586
timeCreated: 1613348191

@ -0,0 +1,39 @@
using System;
using System.Collections;
using Game;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
namespace Global {
public class Loader : PersistentSingleton<Loader> {
public Slider progressSlider;
private void Start() {
ResetUI();
}
private void ResetUI() {
progressSlider.gameObject.SetActive(false);
progressSlider.value = 0;
}
public void StartLoad() {
progressSlider.gameObject.SetActive(true);
StartCoroutine(Load("Game"));
}
private IEnumerator Load(string sceneName) {
var operation = SceneManager.LoadSceneAsync(sceneName);
while (!operation.isDone) {
float progress = Mathf.Clamp01(operation.progress / .9f);
progressSlider.value = progress;
yield return null;
}
}
}
}

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

@ -0,0 +1,32 @@
using UnityEngine;
namespace Global {
public class Singleton<T> : MonoBehaviour where T : MonoBehaviour {
public static T Instance;
private void Awake() {
if (Instance == null) {
Instance = this as T;
} else if (Instance != this) {
Debug.Log("Instance already exists, destroying object!");
Destroy(this);
}
}
}
public class PersistentSingleton<T> : MonoBehaviour where T : MonoBehaviour {
public static T Instance;
private void Awake() {
if (Instance == null) {
Instance = this as T;
DontDestroyOnLoad(this);
} else if (Instance != this) {
Debug.Log("Instance already exists, destroying object!");
Destroy(this);
}
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: aad5e33efee24ff7bdff24242958cbae
timeCreated: 1613075986

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

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

@ -0,0 +1,355 @@
using System;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
namespace Networking.Architecture {
public class Packet : IDisposable {
private List<byte> _buffer;
private bool _disposed;
private byte[] _readableBuffer;
private int _readPos;
/// <summary>Creates a new empty packet (without an ID).</summary>
public Packet() {
_buffer = new List<byte>(); // Initialize buffer
_readPos = 0; // Set readPos to 0
}
/// <summary>Creates a new packet with a given ID. Used for sending.</summary>
/// <param name="packetTypeId">The packetType ID.</param>
/// <param name="packetActionId">The packetAction ID.</param>
public Packet(int packetTypeId, int packetActionId) {
_buffer = new List<byte>(); // Initialize buffer
_readPos = 0; // Set readPos to 0
Write(packetTypeId); // Write packet ids to the buffer
Write(packetActionId);
}
/// <summary>Creates a packet from which data can be read. Used for receiving.</summary>
/// <param name="data">The bytes to add to the packet.</param>
public Packet(byte[] data) {
_buffer = new List<byte>(); // Initialize buffer
_readPos = 0; // Set readPos to 0
SetBytes(data);
}
public void Dispose() {
Dispose(true);
GC.SuppressFinalize(this);
}
private void Dispose(bool disposing) {
if (_disposed)
return;
if (disposing) {
_buffer = null;
_readableBuffer = null;
_readPos = 0;
}
_disposed = true;
}
#region Functions
/// <summary>Sets the packet's content and prepares it to be read.</summary>
/// <param name="data">The bytes to add to the packet.</param>
public void SetBytes(byte[] data) {
Write(data);
_readableBuffer = _buffer.ToArray();
}
/// <summary>Inserts the length of the packet's content at the start of the buffer.</summary>
public void WriteLength() {
_buffer.InsertRange(0, BitConverter.GetBytes(_buffer.Count)); // Insert the byte length of the packet at the very beginning
}
/// <summary>Inserts the given int at the start of the buffer.</summary>
/// <param name="value">The int to insert.</param>
public void InsertInt(int value) {
_buffer.InsertRange(0, BitConverter.GetBytes(value)); // Insert the int at the start of the buffer
}
/// <summary>Gets the packet's content in array form.</summary>
public byte[] ToArray() {
_readableBuffer = _buffer.ToArray();
return _readableBuffer;
}
/// <summary>Gets the length of the packet's content.</summary>
public int Length() {
return _buffer.Count; // Return the length of buffer
}
/// <summary>Gets the length of the unread data contained in the packet.</summary>
public int UnreadLength() {
return Length() - _readPos; // Return the remaining length (unread)
}
/// <summary>Resets the packet instance to allow it to be reused.</summary>
/// <param name="shouldReset">Whether or not to reset the packet.</param>
public void Reset(bool shouldReset = true) {
if (shouldReset) {
_buffer.Clear(); // Clear buffer
_readableBuffer = null;
_readPos = 0; // Reset readPos
} else {
_readPos -= 4; // "Unread" the last read int
}
}
#endregion
#region Write Data
/// <summary>Adds a byte to the packet.</summary>
/// <param name="value">The byte to add.</param>
public void Write(byte value) {
_buffer.Add(value);
}
/// <summary>Adds an array of bytes to the packet.</summary>
/// <param name="value">The byte array to add.</param>
public void Write(IEnumerable<byte> value) {
_buffer.AddRange(value);
}
/// <summary>Adds a short to the packet.</summary>
/// <param name="value">The short to add.</param>
public void Write(short value) {
_buffer.AddRange(BitConverter.GetBytes(value));
}
/// <summary>Adds an int to the packet.</summary>
/// <param name="value">The int to add.</param>
public void Write(int value) {
_buffer.AddRange(BitConverter.GetBytes(value));
}
/// <summary>Adds a long to the packet.</summary>
/// <param name="value">The long to add.</param>
public void Write(long value) {
_buffer.AddRange(BitConverter.GetBytes(value));
}
/// <summary>Adds a float to the packet.</summary>
/// <param name="value">The float to add.</param>
public void Write(float value) {
_buffer.AddRange(BitConverter.GetBytes(value));
}
/// <summary>Adds a bool to the packet.</summary>
/// <param name="value">The bool to add.</param>
public void Write(bool value) {
_buffer.AddRange(BitConverter.GetBytes(value));
}
/// <summary>Adds a string to the packet.</summary>
/// <param name="value">The string to add.</param>
public void Write(string value) {
Write(value.Length); // Add the length of the string to the packet
_buffer.AddRange(Encoding.ASCII.GetBytes(value)); // Add the string itself
}
/// <summary>Adds a Vector3 to the packet.</summary>
/// <param name="value">The Vector3 to add.</param>
public void Write(Vector3 value) {
Write(value.x);
Write(value.y);
Write(value.z);
}
/// <summary>Adds a Quaternion to the packet.</summary>
/// <param name="value">The Quaternion to add.</param>
public void Write(Quaternion value) {
Write(value.x);
Write(value.y);
Write(value.z);
Write(value.w);
}
#endregion
//#region Read Data
/// <summary>Reads a byte from the packet.</summary>
/// <param name="moveReadPos">Whether or not to move the buffer's read position.</param>
public byte ReadByte(bool moveReadPos = true) {
if (_buffer.Count > _readPos) {
// If there are unread bytes
var value = _readableBuffer[_readPos]; // Get the byte at readPos' position
if (moveReadPos)
// If _moveReadPos is true
_readPos += 1; // Increase readPos by 1
return value; // Return the byte
}
throw new Exception("Could not read value of type 'byte'!");
}
/// <summary>Reads an array of bytes from the packet.</summary>
/// <param name="length">The length of the byte array.</param>
/// <param name="moveReadPos">Whether or not to move the buffer's read position.</param>
public byte[] ReadBytes(int length, bool moveReadPos = true) {
if (_buffer.Count > _readPos) {
// If there are unread bytes
var value = _buffer.GetRange(_readPos, length).ToArray(); // Get the bytes at readPos' position with a range of _length
if (moveReadPos)
// If _moveReadPos is true
_readPos += length; // Increase readPos by _length
return value; // Return the bytes
}
throw new Exception("Could not read value of type 'byte[]'!");
}
/// <summary>Reads a short from the packet.</summary>
/// <param name="moveReadPos">Whether or not to move the buffer's read position.</param>
public short ReadShort(bool moveReadPos = true) {
if (_buffer.Count > _readPos) {
// If there are unread bytes
var value = BitConverter.ToInt16(_readableBuffer, _readPos); // Convert the bytes to a short
if (moveReadPos)
// If _moveReadPos is true and there are unread bytes
_readPos += 2; // Increase readPos by 2
return value; // Return the short
}
throw new Exception("Could not read value of type 'short'!");
}
/// <summary>Reads an int from the packet.</summary>
/// <param name="moveReadPos">Whether or not to move the buffer's read position.</param>
public int ReadInt(bool moveReadPos = true) {
if (_buffer.Count > _readPos) {
// If there are unread bytes
var value = BitConverter.ToInt32(_readableBuffer, _readPos); // Convert the bytes to an int
if (moveReadPos)
// If _moveReadPos is true
_readPos += 4; // Increase readPos by 4
return value; // Return the int
}
throw new Exception("Could not read value of type 'int'!");
}
/// <summary>Reads a long from the packet.</summary>
/// <param name="moveReadPos">Whether or not to move the buffer's read position.</param>
public long ReadLong(bool moveReadPos = true) {
if (_buffer.Count > _readPos) {
// If there are unread bytes
var value = BitConverter.ToInt64(_readableBuffer, _readPos); // Convert the bytes to a long
if (moveReadPos)
// If _moveReadPos is true
_readPos += 8; // Increase readPos by 8
return value; // Return the long
}
throw new Exception("Could not read value of type 'long'!");
}
/// <summary>Reads a float from the packet.</summary>
/// <param name="moveReadPos">Whether or not to move the buffer's read position.</param>
public float ReadFloat(bool moveReadPos = true) {
if (_buffer.Count > _readPos) {
// If there are unread bytes
var value = BitConverter.ToSingle(_readableBuffer, _readPos); // Convert the bytes to a float
if (moveReadPos)
// If _moveReadPos is true
_readPos += 4; // Increase readPos by 4
return value; // Return the float
}
throw new Exception("Could not read value of type 'float'!");
}
/// <summary>Reads a bool from the packet.</summary>
/// <param name="moveReadPos">Whether or not to move the buffer's read position.</param>
public bool ReadBool(bool moveReadPos = true) {
if (_buffer.Count > _readPos) {
// If there are unread bytes
var value = BitConverter.ToBoolean(_readableBuffer, _readPos); // Convert the bytes to a bool
if (moveReadPos)
// If _moveReadPos is true
_readPos += 1; // Increase readPos by 1
return value; // Return the bool
}
throw new Exception("Could not read value of type 'bool'!");
}
/// <summary>Reads a string from the packet.</summary>
/// <param name="moveReadPos">Whether or not to move the buffer's read position.</param>
public string ReadString(bool moveReadPos = true) {
try {
var length = ReadInt(); // Get the length of the string
var value = Encoding.ASCII.GetString(_readableBuffer, _readPos, length); // Convert the bytes to a string
if (moveReadPos && value.Length > 0)
// If _moveReadPos is true string is not empty
_readPos += length; // Increase readPos by the length of the string
return value; // Return the string
} catch {
throw new Exception("Could not read value of type 'string'!");
}
}
/// <summary>Reads a Vector3 from the packet.</summary>
/// <param name="moveReadPos">Whether or not to move the buffer's read position.</param>
public Vector3 ReadVector3(bool moveReadPos = true) {
return new Vector3(ReadFloat(moveReadPos), ReadFloat(moveReadPos), ReadFloat(moveReadPos));
}
/// <summary>Reads a Quaternion from the packet.</summary>
/// <param name="moveReadPos">Whether or not to move the buffer's read position.</param>
public Quaternion ReadQuaternion(bool moveReadPos = true) {
return new Quaternion(ReadFloat(moveReadPos), ReadFloat(moveReadPos), ReadFloat(moveReadPos), ReadFloat(moveReadPos));
}
/// <summary>Reads a Room from the packet.</summary>
/// <param name="moveReadPos">Whether or not to move the buffer's read position.</param>
public Room ReadRoom(bool moveReadPos = true) {
var id = ReadString(moveReadPos);
var name = ReadString(moveReadPos);
var isLocked = ReadBool(moveReadPos);
var leaderId = ReadInt(moveReadPos);
var maxPlayers = ReadInt(moveReadPos);
var currentPlayers = ReadInt(moveReadPos);
var players = new Dictionary<int, string>();
for (var i = 0; i < currentPlayers; i++) {
var clientId = ReadInt(moveReadPos);
var clientName = ReadString(moveReadPos);
players.Add(clientId, clientName);
}
return new Room(id, name, leaderId, maxPlayers) {
IsLocked = isLocked,
Players = players
};
}
/// <summary>Reads ClientProperties from the packet.</summary>
/// <param name="moveReadPos">Whether or not to move the buffer's read position.</param>
public Dictionary<int, Room.ClientProperties> ReadClientProperties(bool moveReadPos = true) {
var clientPropertiesMap = new Dictionary<int, Room.ClientProperties>();
int propCount = ReadInt(moveReadPos);
for (int i = 0; i < propCount; i++) {
var clientId = ReadInt(moveReadPos);
var isLeader = ReadBool(moveReadPos);
var isReady = ReadBool(moveReadPos);
var colorId = ReadInt(moveReadPos);
clientPropertiesMap.Add(clientId, new Room.ClientProperties {
IsLeader = isLeader,
IsReady = isReady,
ColorId = colorId
});
}
return clientPropertiesMap;
}
//#endregion
}
}

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

@ -0,0 +1,173 @@
using System;
using System.Net;
using System.Net.Sockets;
using UnityEngine;
namespace Networking.Architecture {
public class TcpManager {
private const int DataBufferSize = 4096;
private byte[] _receiveBuffer;
private Packet _receivedData;
private NetworkStream _stream;
public TcpClient Socket;
public bool IsConnected => Socket != null;
public void Connect() {
Socket = new TcpClient {
ReceiveBufferSize = DataBufferSize,
SendBufferSize = DataBufferSize
};
_receiveBuffer = new byte[DataBufferSize];
Socket.BeginConnect(Client.Instance.ip, Client.Instance.port, ConnectCallback, Socket);
}
private void ConnectCallback(IAsyncResult result) {
Socket.EndConnect(result);
if (!Socket.Connected)
return;
_stream = Socket.GetStream();
_receivedData = new Packet();
_stream.BeginRead(_receiveBuffer, 0, DataBufferSize, ReceiveCallback, null);
} // ReSharper disable Unity.PerformanceAnalysis
public void SendData(Packet packet) {
try {
if (Socket != null)
_stream.BeginWrite(packet.ToArray(), 0, packet.Length(), null, null);
} catch (Exception ex) {
Debug.Log($"Error sending data to server via TCP: {ex}");
}
}
private void ReceiveCallback(IAsyncResult result) {
try {
var byteLength = _stream.EndRead(result);
if (byteLength <= 0) {
Client.Instance.Disconnect();
return;
}
var data = new byte[byteLength];
Array.Copy(_receiveBuffer, data, byteLength);
_receivedData.Reset(HandleData(data));
_stream.BeginRead(_receiveBuffer, 0, DataBufferSize, ReceiveCallback, null);
} catch {
Disconnect();
}
}
private bool HandleData(byte[] data) {
var packetLength = 0;
_receivedData.SetBytes(data);
if (_receivedData.UnreadLength() >= 4) {
packetLength = _receivedData.ReadInt();
if (packetLength <= 0)
return true;
}
while (packetLength > 0 && packetLength <= _receivedData.UnreadLength()) {
var packetBytes = _receivedData.ReadBytes(packetLength);
ThreadManager.ExecuteOnMainThread(() => ReadPacket.Read(packetBytes));
packetLength = 0;
if (_receivedData.UnreadLength() < 4)
continue;
packetLength = _receivedData.ReadInt();
if (packetLength <= 0)
return true;
}
return packetLength <= 1;
}
private void Disconnect() {
Client.Instance.Disconnect();
_stream = null;
_receivedData = null;
_receiveBuffer = null;
Socket = null;
}
}
public class UdpManager {
private IPEndPoint _endPoint;
public UdpClient Socket;
public UdpManager() {
_endPoint = new IPEndPoint(IPAddress.Parse(Client.Instance.ip), Client.Instance.port);
}
public void Connect(int localPort) {
Socket = new UdpClient(localPort);
Socket.Connect(_endPoint);
Socket.BeginReceive(ReceiveCallback, null);
using var packet = new Packet();
SendData(packet);
}
public void SendData(Packet packet) {
try {
packet.InsertInt(Client.Instance.Id);
Socket?.BeginSend(packet.ToArray(), packet.Length(), null, null);
} catch (Exception ex) {
Debug.Log($"Error sending data to server via UDP: {ex}");
}
}
private void ReceiveCallback(IAsyncResult result) {
try {
var data = Socket.EndReceive(result, ref _endPoint);
Socket.BeginReceive(ReceiveCallback, null);
if (data.Length < 4) {
Client.Instance.Disconnect();
return;
}
HandleData(data);
} catch {
Disconnect();
}
}
private static void HandleData(byte[] data) {
using (var packet = new Packet(data)) {
var packetLength = packet.ReadInt();
data = packet.ReadBytes(packetLength);
}
ThreadManager.ExecuteOnMainThread(() => ReadPacket.Read(data));
}
private void Disconnect() {
Client.Instance.Disconnect();
Socket = null;
_endPoint = null;
}
}
internal static class ReadPacket {
public static void Read(byte[] data){
using var packet = new Packet(data);
var packetTypeId = packet.ReadInt();
var packetActionId = packet.ReadInt();
Client.PacketHandlers[packetTypeId][packetActionId](packet);
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 987839c71429483784e5bf0a70d73e6b
timeCreated: 1613138614

@ -0,0 +1,13 @@
namespace Networking.Architecture {
public static class SendData {
public static void SendTcpData(Packet packet) {
packet.WriteLength();
Client.Instance.Tcp.SendData(packet);
}
public static void SendUdpData(Packet packet) {
packet.WriteLength();
Client.Instance.Udp.SendData(packet);
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d8c39e6122884e2a9e34a27e63254e36
timeCreated: 1613139160

@ -0,0 +1,41 @@
using System;
using System.Collections.Generic;
using UnityEngine;
namespace Networking.Architecture {
public static class ThreadManager {
private static readonly List<Action> ToExecuteOnMainThread = new List<Action>();
private static readonly List<Action> ExecuteCopiedOnMainThread = new List<Action>();
private static bool _actionToExecuteOnMainThread;
/// <summary>Sets an action to be executed on the main thread.</summary>
/// <param name="action">The action to be executed on the main thread.</param>
public static void ExecuteOnMainThread(Action action) {
if (action == null) {
Debug.Log("No action to execute on main thread!");
return;
}
lock (ToExecuteOnMainThread) {
ToExecuteOnMainThread.Add(action);
_actionToExecuteOnMainThread = true;
}
}
/// <summary>Executes all code meant to run on the main thread. NOTE: Call this ONLY from the main thread.</summary>
public static void UpdateMain() {
if (!_actionToExecuteOnMainThread)
return;
ExecuteCopiedOnMainThread.Clear();
lock (ToExecuteOnMainThread) {
ExecuteCopiedOnMainThread.AddRange(ToExecuteOnMainThread);
ToExecuteOnMainThread.Clear();
_actionToExecuteOnMainThread = false;
}
foreach (var t in ExecuteCopiedOnMainThread)
t();
}
}
}

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

@ -0,0 +1,114 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using Global;
using Networking.Architecture;
using Networking.PacketTypes;
using Networking.UI;
using UnityEngine;
using UnityEngine.SceneManagement;
namespace Networking {
public class Client : PersistentSingleton<Client> {
public delegate void PacketHandler(Packet packet);
public static Dictionary<int, Dictionary<int, PacketHandler>> PacketHandlers;
public string ip;
public int port;
public List<Color> colors;
public Color ColorFromId(int id) {
return colors[id];
}
public Room GameRoom { get; set; }
public Dictionary<int, Room.ClientProperties> GameProperties { get; set; }
private bool _isConnected;
public TcpManager Tcp;
public UdpManager Udp;
public int Id { get; private set; }
public string Name { get; private set; }
private void Start() {
SceneManager.sceneLoaded += (scene, mode) => {
Debug.Log($"Loaded Scene {scene} with mode {mode}.");
};
}
private void Update() {
ThreadManager.UpdateMain();
}
private void OnApplicationQuit() {
Disconnect();
}
public void ConnectToServer() {
UIManager.Instance.startMenu.ConnectToServer();
Tcp = new TcpManager();
Udp = new UdpManager();
InitializeClientData();
Tcp.Connect();
}
public void OnConnected(int clientId, string message) {
_isConnected = true;
Id = clientId;
Name = UIManager.Instance.startMenu.usernameField.text;
Udp.Connect(((IPEndPoint)Tcp.Socket.Client.LocalEndPoint).Port);
ClientSend.WelcomeReceived();
RoomSend.List();
UIManager.Instance.OnConnectSuccess();
UIManager.Instance.roomListCreateMenu.OnRoomListRequest();
Debug.Log("Connected successfully to " +
$"{Instance.Tcp.Socket.Client.RemoteEndPoint} : " +
$"{message}"
);
}
private static void InitializeClientData() {
PacketHandlers = new Dictionary<int, Dictionary<int, PacketHandler>> {
{(int)PacketType.Default, new Dictionary<int, PacketHandler> {
{(int)ServerDefaultPacket.Welcome, ClientHandle.Welcome}
}},
{(int)PacketType.Room, new Dictionary<int, PacketHandler> {
{(int)ServerRoomPacket.RList, RoomHandle.List},
{(int)ServerRoomPacket.RCreated, RoomHandle.Created},
{(int)ServerRoomPacket.RJoined, RoomHandle.Joined},
{(int)ServerRoomPacket.RLeft, RoomHandle.Left},
{(int)ServerRoomPacket.RCreateFailed, ClientHandle.CreateFailed},
{(int)ServerRoomPacket.RJoinFailed, ClientHandle.JoinFailed},
{(int)ServerRoomPacket.RLeaveFailed, ClientHandle.LeaveFailed},
{(int)ServerRoomPacket.RKickFailed, ClientHandle.KickFailed},
{(int)ServerRoomPacket.RStart, RoomHandle.Start},
{(int)ServerRoomPacket.RProperties, RoomHandle.Properties},
}}
};
}
public void Disconnect() {
if (!_isConnected)
return;
_isConnected = false;
ThreadManager.ExecuteOnMainThread(UIManager.Instance.OnDisconnect);
Tcp.Socket.Close();
Udp.Socket.Close();
Debug.Log("Disconnected from server.");
}
}
}

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

@ -0,0 +1,41 @@
using Networking.Architecture;
using Networking.UI;
using UnityEngine;
namespace Networking {
public static class ClientHandle {
public static void Welcome(Packet packet) {
var msg = packet.ReadString();
var id = packet.ReadInt();
Client.Instance.OnConnected(id, msg);
}
public static void CreateFailed(Packet packet) {
string message = packet.ReadString();
UIManager.Instance.roomListCreateMenu.createRoomButton.interactable = true;
Debug.Log(message);
}
public static void JoinFailed(Packet packet) {
string roomId = packet.ReadString();
string message = packet.ReadString();
UIManager.Instance.roomListCreateMenu.OnJoinFailed(roomId);
Debug.Log(message);
}
public static void LeaveFailed(Packet packet) {
string message = packet.ReadString();
Debug.Log(message);
}
public static void KickFailed(Packet packet) {
string message = packet.ReadString();
Debug.Log(message);
}
}
}

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

@ -0,0 +1,21 @@
using Networking.Architecture;
using Networking.PacketTypes;
using static Networking.Architecture.SendData;
using static Networking.PacketTypes.ClientDefaultPacket;
namespace Networking {
public static class ClientSend {
private static Packet CreatePacket(ClientDefaultPacket type) {
return new Packet((int)PacketType.Default, (int)type);
}
public static void WelcomeReceived() {
using var packet = CreatePacket(DWelcomeReceived);
packet.Write(Client.Instance.Name);
SendTcpData(packet);
}
}
}

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

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: e6c40359a58f4da0ba431cb5864c13e6
timeCreated: 1613521681

@ -0,0 +1,5 @@
namespace Networking.PacketTypes {
public enum ClientDefaultPacket {
DWelcomeReceived = 1,
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: a06c88fc210044b282f7c59f9586b31d
timeCreated: 1613521777

@ -0,0 +1,5 @@
namespace Networking.PacketTypes {
public enum ClientGamePacket {
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 175d7d9dd40941699eb07a804b3c78c5
timeCreated: 1613521884

@ -0,0 +1,13 @@
namespace Networking.PacketTypes {
public enum ClientRoomPacket {
RList = 1,
RCreate,
RJoin,
RLeave,
RKick,
RReady,
RColor,
RLeader,
RStart,
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7398ed33676f4591a92474e486050c94
timeCreated: 1613521812

@ -0,0 +1,7 @@
namespace Networking.PacketTypes {
public enum PacketType {
Default = 1,
Room,
Game
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 3308d2752cd042b0bb1e440c7483399d
timeCreated: 1613521690

@ -0,0 +1,5 @@
namespace Networking.PacketTypes {
public enum ServerDefaultPacket {
Welcome = 1,
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 6a3b6c73f2d641eaa4738942ec201f8b
timeCreated: 1613521732

@ -0,0 +1,5 @@
namespace Networking.PacketTypes {
public enum ServerGamePacket {
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ede7bd8bf24c4bcfbf84476a1661d16c
timeCreated: 1613521870

@ -0,0 +1,14 @@
namespace Networking.PacketTypes {
public enum ServerRoomPacket {
RList = 1,
RCreated,
RJoined,
RLeft,
RStart,
RCreateFailed,
RJoinFailed,
RLeaveFailed,
RKickFailed,
RProperties,
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 3e99734f348c42e384eec1851bf36744
timeCreated: 1613521757

@ -0,0 +1,31 @@
using System.Collections.Generic;
namespace Networking {
public class Room {
public struct ClientProperties {
public bool IsLeader;
public bool IsReady;
public int ColorId;
}
public Room(string id, string name, int leaderId, int maxPlayers) {
Id = id;
Name = name;
LeaderId = leaderId;
MaxPlayers = maxPlayers;
}
public string Id { get; }
public string Name { get; }
public bool IsLocked { get; set; }
public int LeaderId { get; }
public int MaxPlayers { get; }
public Dictionary<int, string> Players { get; set; }
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 735af992b384496f83e06a2e6ae8aab6
timeCreated: 1613235523

@ -0,0 +1,65 @@
using System.Collections.Generic;
using System.Linq;
using Networking.Architecture;
using Networking.UI;
namespace Networking {
public static class RoomHandle {
public static void List(Packet packet) {
var rooms = new List<Room>();
var roomCount = packet.ReadInt();
for (var i = 0; i < roomCount; i++)
rooms.Add(packet.ReadRoom());
UIManager.Instance.roomListCreateMenu.OnRoomListReceived(rooms);
}
public static void Created(Packet packet) {
var room = packet.ReadRoom();
UIManager.Instance.OnSelfRoomJoined(room);
Properties(packet);
}
public static void Joined(Packet packet) {
var room = packet.ReadRoom();
var clientId = packet.ReadInt();
if (clientId.Equals(Client.Instance.Id))
UIManager.Instance.OnSelfRoomJoined(room);
else
UIManager.Instance.roomMenu.OnOtherJoined(clientId, room);
Properties(packet);
}
public static void Left(Packet packet) {
int clientId = packet.ReadInt();
if (clientId.Equals(Client.Instance.Id)) {
UIManager.Instance.OnSelfRoomLeft();
} else {
UIManager.Instance.roomMenu.OnOtherLeft(clientId);
Properties(packet);
}
}
public static void Properties(Packet packet) {
var clientPropertiesMap = packet.ReadClientProperties();
var leaderId = clientPropertiesMap.Single(pair => pair.Value.IsLeader).Key;
UIManager.Instance.roomMenu.OnClientPropertiesUpdate(clientPropertiesMap, leaderId);
}
public static void Start(Packet packet) {
var startTimeTicks = packet.ReadLong();
var room = packet.ReadRoom();
var clientPropertiesMap = packet.ReadClientProperties();
UIManager.Instance.roomMenu.StartCountdown(startTimeTicks);
Client.Instance.GameRoom = room;
Client.Instance.GameProperties = clientPropertiesMap;
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 0aec658741ec457691b00d1070639be2
timeCreated: 1613308184

@ -0,0 +1,82 @@
using Networking.Architecture;
using Networking.PacketTypes;
using static Networking.Architecture.SendData;
using static Networking.PacketTypes.ClientRoomPacket;
namespace Networking {
public static class RoomSend {
private static Packet CreatePacket(ClientRoomPacket type) {
return new Packet((int)PacketType.Room, (int)type);
}
public static void List() {
using var packet = CreatePacket(RList);
SendTcpData(packet);
}
public static void Create(string name, string password, int maxPlayers) {
using var packet = CreatePacket(RCreate);
packet.Write(name);
packet.Write(password);
packet.Write(maxPlayers);
SendTcpData(packet);
}
public static void Join(string roomId, string password) {
using var packet = CreatePacket(RJoin);
packet.Write(roomId);
packet.Write(password);
SendTcpData(packet);
}
public static void Leave() {
using var packet = CreatePacket(RLeave);
SendTcpData(packet);
}
public static void Kick(int clientId) {
using var packet = CreatePacket(RKick);
packet.Write(clientId);
SendTcpData(packet);
}
public static void Leader(int nextLeaderId) {
using var packet = CreatePacket(RLeader);
packet.Write(nextLeaderId);
SendTcpData(packet);
}
public static void Color(int colorId) {
using var packet = CreatePacket(RColor);
packet.Write(colorId);
SendTcpData(packet);
}
public static void Ready(bool isReady) {
using var packet = CreatePacket(RReady);
packet.Write(isReady);
SendTcpData(packet);
}
public static void Start() {
using var packet = CreatePacket(RStart);
SendTcpData(packet);
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 6897877d6f194663ae3cb1e9f929fab1
timeCreated: 1613350142

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7bef4f6998f0485eb4cacf8f1ce166c2
timeCreated: 1613595459

@ -0,0 +1,54 @@
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace Networking.UI {
public class PlayerSlotItem : MonoBehaviour {
public TextMeshProUGUI nameText;
public Sprite readySprite;
public Sprite notReadySprite;
public Image readyButtonImage;
public Button leaveButton;
public Button readyButton;
public Button promoteButton;
public Image colorImage;
public bool IsReady { get; set; }
public int ClientId { get; set; }
public bool IsLeader { get; set; }
public int ColorId { get; set; }
public void OnLeaveButtonClicked() {
if (ClientId.Equals(Client.Instance.Id))
RoomSend.Leave();
else
RoomSend.Kick(ClientId);
}
public void OnReadyButtonClicked() {
RoomSend.Ready(!IsReady);
}
public void OnPromoteButtonClicked() {
RoomSend.Leader(ClientId);
}
public void UpdateUI(int leaderId) {
int myClientId = Client.Instance.Id;
readyButtonImage.sprite = IsReady ? readySprite : notReadySprite;
readyButton.interactable = ClientId.Equals(myClientId);
promoteButton.interactable = leaderId.Equals(myClientId);
promoteButton.gameObject.SetActive(!ClientId.Equals(leaderId));
leaveButton.interactable = ClientId.Equals(myClientId) || leaderId.Equals(myClientId);
colorImage.color = Client.Instance.ColorFromId(ColorId);
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: c5d2e9759aed47a48618672d4d04e368
timeCreated: 1613315147

@ -0,0 +1,85 @@
using System.Collections.Generic;
using System.Linq;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace Networking.UI {
public class RoomListCreateMenu : MonoBehaviour {
[Header("Room List Menu")]
public Transform roomListContainer;
public RoomListItem roomListItemPrefab;
public GameObject listLoadIndicator;
[Header("Room Create Menu")]
public TMP_InputField roomNameInputField;
public TMP_InputField roomPasswordInputField;
public Slider maxPlayersSlider;
public TextMeshProUGUI maxPlayersText;
public Button createRoomButton;
public GameObject createLoadIndicator;
public void OnRoomListRequest() {
listLoadIndicator.SetActive(true);
}
public void OnRoomListReceived(IEnumerable<Room> rooms) {
listLoadIndicator.SetActive(false);
for (var i = 0; i < roomListContainer.childCount; i++)
Destroy(roomListContainer.GetChild(i).gameObject);
foreach (var room in rooms) {
var roomListItem = Instantiate(roomListItemPrefab, roomListContainer);
roomListItem.Name = room.Name;
roomListItem.Id = room.Id;
roomListItem.IsLocked = room.IsLocked;
roomListItem.MaxPlayers = room.MaxPlayers;
roomListItem.CurrentPlayers = room.Players.Count;
}
}
public void OnMaxPlayersSliderChanged(float value) {
maxPlayersText.text = ((int)value).ToString();
}
public void OnCreateButtonClicked() {
createRoomButton.interactable = false;
createLoadIndicator.SetActive(true);
RoomSend.Create(
roomNameInputField.text,
roomPasswordInputField.text,
(int)maxPlayersSlider.value
);
}
public void OnTryJoinRoom(string id, string password) {
listLoadIndicator.SetActive(true);
RoomSend.Join(id, password);
}
public void OnJoinFailed(string roomId) {
listLoadIndicator.SetActive(false);
roomListContainer.GetComponentsInChildren<RoomListItem>().
Single(item => item.Id.Equals(roomId)).
GetComponent<Button>().interactable = true;
}
public void ResetUI() {
for (var i = 0; i < roomListContainer.childCount; i++)
Destroy(roomListContainer.GetChild(i).gameObject);
roomNameInputField.text = $"{Client.Instance.Name}'s room";
roomPasswordInputField.text = "";
maxPlayersSlider.value = 4;
maxPlayersText.text = "4";
createRoomButton.interactable = true;
createLoadIndicator.SetActive(false);
listLoadIndicator.SetActive(false);
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 6275e2fd79de400abaeba33aca1e3af9
timeCreated: 1613351111

@ -0,0 +1,51 @@
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace Networking.UI {
public class RoomListItem : MonoBehaviour {
public TextMeshProUGUI nameText;
public TextMeshProUGUI slotsText;
public TMP_InputField passwordField;
public Button mainItemButton;
public string Id { get; set; }
public string Name {
set => nameText.text = value;
}
private int _maxPlayers;
public int MaxPlayers {
get => _maxPlayers;
set {
_maxPlayers = value;
UpdateSlotsText();
}
}
private int _currentPlayers;
public int CurrentPlayers {
get => _currentPlayers;
set {
_currentPlayers = value;
UpdateSlotsText();
}
}
public bool IsLocked {
set => mainItemButton.interactable = !value;
}
private void UpdateSlotsText() {
slotsText.text = $"{CurrentPlayers} / {MaxPlayers}";
}
public void OnClicked() {
mainItemButton.interactable = false;
UIManager.Instance.roomListCreateMenu.OnTryJoinRoom(Id, passwordField.text);
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: ee2eb6e427bf443c9f5e2a77f23718fe
timeCreated: 1613222297

@ -0,0 +1,140 @@
using System;
using System.Collections.Generic;
using System.Linq;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace Networking.UI {
public class RoomMenu : MonoBehaviour {
public TextMeshProUGUI roomNameText;
public GameObject roomPlayerList;
public PlayerSlotItem playerSlotItemPrefab;
public RectTransform emptySlotItemPrefab;
public Button startGameButton;
public TextMeshProUGUI countdownText;
public Transform colorList;
public Button colorButtonPrefab;
private IEnumerable<PlayerSlotItem> PlayerItems => GetComponentsInChildren<PlayerSlotItem>();
private PlayerSlotItem GetPlayerItem(int clientId) {
return PlayerItems.Single(item => item.ClientId.Equals(clientId));
}
private bool IsCountingDown { get; set; }
private DateTime StartTime { get; set; }
public void OnStartGameButtonClicked() {
startGameButton.interactable = false;
RoomSend.Start();
}
private void Start() {
foreach (var color in Client.Instance.colors) {
var button = Instantiate(colorButtonPrefab, colorList);
button.onClick.AddListener(
() => RoomSend.Color(button.transform.GetSiblingIndex())
);
button.GetComponent<Image>().color = color;
}
}
private void Update() {
if (!IsCountingDown)
return;
var timeLeft = StartTime - DateTime.Now;
var totalSeconds = (int)timeLeft.TotalSeconds;
var deciSeconds = timeLeft.Milliseconds / 100;
countdownText.text = $"{totalSeconds}.{deciSeconds}";
if (timeLeft.Ticks > 0)
return;
StopCountdown();
UIManager.Instance.StartGame();
}
public void StartCountdown(long startTimeTicks) {
IsCountingDown = true;
StartTime = new DateTime(startTimeTicks);
countdownText.gameObject.SetActive(true);
}
private void StopCountdown() {
IsCountingDown = false;
countdownText.gameObject.SetActive(false);
}
public void ResetUI() {
StopCountdown();
startGameButton.interactable = false;
for (var i = 0; i < roomPlayerList.transform.childCount; i++)
Destroy(roomPlayerList.transform.GetChild(i).gameObject);
//TODO Apply default Game settings
}
public void OnSelfJoined(Room room) {
roomNameText.text = room.Name;
foreach (var kvp in room.Players) {
var playerItem = Instantiate(playerSlotItemPrefab, roomPlayerList.transform);
playerItem.nameText.text = kvp.Value;
playerItem.ClientId = kvp.Key;
if (playerItem.ClientId.Equals(Client.Instance.Id))
playerItem.nameText.fontStyle = FontStyles.Bold;
}
for (var i = 0; i < room.MaxPlayers - room.Players.Count; i++)
Instantiate(emptySlotItemPrefab, roomPlayerList.transform);
//TODO Display Game settings
}
public void OnOtherJoined(int clientId, Room room) {
StopCountdown();
var slotIndex = room.Players.Count - 1;
Destroy(roomPlayerList.transform.GetChild(slotIndex).gameObject);
var playerItem = Instantiate(playerSlotItemPrefab, roomPlayerList.transform);
playerItem.transform.SetSiblingIndex(slotIndex);
playerItem.nameText.text = room.Players[clientId];
playerItem.ClientId = clientId;
}
public void OnOtherLeft(int clientId) {
StopCountdown();
var slotIndex = GetPlayerItem(clientId).transform.GetSiblingIndex();
Destroy(roomPlayerList.transform.GetChild(slotIndex).gameObject);
Instantiate(emptySlotItemPrefab, roomPlayerList.transform);
}
public void OnClientPropertiesUpdate(Dictionary<int, Room.ClientProperties> props, int leaderId) {
var usedColorIds = new List<int>();
foreach (var kvp in props) {
var item = GetPlayerItem(kvp.Key);
item.IsReady = kvp.Value.IsReady;
item.IsLeader = kvp.Value.IsLeader;
item.ColorId = kvp.Value.ColorId;
item.UpdateUI(leaderId);
usedColorIds.Add(item.ColorId);
}
for (int i = 0; i < colorList.childCount; i++) {
colorList.GetChild(i).GetComponent<Button>().interactable = !usedColorIds.Contains(i);
}
startGameButton.interactable =
Client.Instance.Id.Equals(leaderId) &&
PlayerItems.All(item => item.IsReady);
}
public void OnGameSettingsUpdate() {
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 48fbec8507ed4f369a19ee9873b9b0ab
timeCreated: 1613351455

@ -0,0 +1,24 @@
using UnityEngine;
using UnityEngine.UI;
namespace Networking.UI {
public class StartMenu : MonoBehaviour {
[Header("Start Menu")]
public InputField usernameField;
public Button connectButton;
public GameObject connectingIndicator;
public void ConnectToServer() {
usernameField.interactable = false;
connectButton.interactable = false;
connectingIndicator.SetActive(true);
}
public void ResetUI() {
usernameField.interactable = true;
connectButton.interactable = true;
connectingIndicator.SetActive(false);
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 1be3f45538874fc0ba0feddc7b644f51
timeCreated: 1613351391

@ -0,0 +1,76 @@
using System.Collections;
using Global;
using UnityEngine;
namespace Networking.UI {
public class UIManager : Singleton<UIManager> {
public StartMenu startMenu;
public RoomListCreateMenu roomListCreateMenu;
public RoomMenu roomMenu;
public CanvasGroup canvasGroup;
public float fadeOutDuration;
private void Start() {
startMenu.ResetUI();
roomListCreateMenu.ResetUI();
roomMenu.ResetUI();
roomListCreateMenu.gameObject.SetActive(false);
roomMenu.gameObject.SetActive(false);
startMenu.gameObject.SetActive(true);
}
public void OnConnectSuccess() {
startMenu.gameObject.SetActive(false);
startMenu.ResetUI();
roomListCreateMenu.roomNameInputField.text = $"{Client.Instance.Name}'s room";
roomListCreateMenu.gameObject.SetActive(true);
}
public void OnSelfRoomJoined(Room room) {
roomListCreateMenu.gameObject.SetActive(false);
roomListCreateMenu.ResetUI();
roomMenu.OnSelfJoined(room);
roomMenu.gameObject.SetActive(true);
}
public void OnSelfRoomLeft() {
roomMenu.gameObject.SetActive(false);
roomMenu.ResetUI();
roomListCreateMenu.gameObject.SetActive(true);
}
public void OnDisconnect() {
roomMenu.gameObject.SetActive(false);
roomListCreateMenu.gameObject.SetActive(false);
roomMenu.ResetUI();
roomListCreateMenu.ResetUI();
startMenu.gameObject.SetActive(true);
}
public void StartGame() {
canvasGroup.interactable = false;
StartCoroutine(FadeOut(fadeOutDuration));
}
private IEnumerator FadeOut(float secondsDuration) {
const float updatesPerSecond = 60;
while (canvasGroup.alpha > 0) {
canvasGroup.alpha -= 1 / (secondsDuration * updatesPerSecond);
yield return new WaitForSeconds(1 / updatesPerSecond);
}
Loader.Instance.StartLoad();
}
}
}

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: fb792e8196244ef68b0b16c8c6bdc434
timeCreated: 1612989066

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

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

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

@ -0,0 +1,46 @@
Digitized data copyright (c) 2010 Google Corporation
with Reserved Font Arimo, Tinos and Cousine.
Copyright (c) 2012 Red Hat, Inc.
with Reserved Font Name Liberation.
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6e59c59b81ab47f9b6ec5781fa725d2c
timeCreated: 1484171296
licenseType: Pro
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,19 @@
fileFormatVersion: 2
guid: e3265ab4bf004d28a9537516768c1c75
timeCreated: 1484171297
licenseType: Pro
TrueTypeFontImporter:
serializedVersion: 2
fontSize: 16
forceTextureCase: -2
characterSpacing: 1
characterPadding: 0
includeFontData: 1
use2xBehaviour: 0
fontNames: []
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
userData:
assetBundleName:
assetBundleVariant:

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

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 731f1baa9d144a9897cb1d341c2092b8
folderAsset: yes
timeCreated: 1442040525
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

@ -0,0 +1,106 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: LiberationSans SDF - Drop Shadow
m_Shader: {fileID: 4800000, guid: fe393ace9b354375a9cb14cdbbc28be4, type: 3}
m_ShaderKeywords: OUTLINE_ON UNDERLAY_ON
m_LightmapFlags: 5
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Cube:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _FaceTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 28684132378477856, guid: 8f586378b4e144a9851e7b34d9b748ee,
type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OutlineTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _Ambient: 0.5
- _Bevel: 0.5
- _BevelClamp: 0
- _BevelOffset: 0
- _BevelRoundness: 0
- _BevelWidth: 0
- _BumpFace: 0
- _BumpOutline: 0
- _ColorMask: 15
- _Diffuse: 0.5
- _DiffusePower: 1
- _FaceDilate: 0.1
- _FaceUVSpeedX: 0
- _FaceUVSpeedY: 0
- _GlowInner: 0.05
- _GlowOffset: 0
- _GlowOuter: 0.05
- _GlowPower: 0.75
- _GradientScale: 10
- _LightAngle: 3.1416
- _MaskSoftnessX: 0
- _MaskSoftnessY: 0
- _OutlineSoftness: 0
- _OutlineUVSpeedX: 0
- _OutlineUVSpeedY: 0
- _OutlineWidth: 0.1
- _PerspectiveFilter: 0.875
- _Reflectivity: 10
- _ScaleRatioA: 0.9
- _ScaleRatioB: 0.73125
- _ScaleRatioC: 0.64125
- _ScaleX: 1
- _ScaleY: 1
- _ShaderFlags: 0
- _Sharpness: 0
- _SpecularPower: 2
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _TextureHeight: 1024
- _TextureWidth: 1024
- _UnderlayDilate: 0
- _UnderlayOffsetX: 0.5
- _UnderlayOffsetY: -0.5
- _UnderlaySoftness: 0.05
- _VertexOffsetX: 0
- _VertexOffsetY: 0
- _WeightBold: 0.75
- _WeightNormal: 0
m_Colors:
- _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0}
- _FaceColor: {r: 1, g: 1, b: 1, a: 1}
- _GlowColor: {r: 0, g: 1, b: 0, a: 0.5}
- _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767}
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1}
- _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5}

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e73a58f6e2794ae7b1b7e50b7fb811b0
timeCreated: 1484172806
licenseType: Pro
NativeFormatImporter:
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save