Showing
37 changed files
with
3692 additions
and
133 deletions
... | @@ -18,6 +18,17 @@ | ... | @@ -18,6 +18,17 @@ |
18 | # Visual Studio 2015 cache directory | 18 | # Visual Studio 2015 cache directory |
19 | /Basic Network Library/.vs/ | 19 | /Basic Network Library/.vs/ |
20 | 20 | ||
21 | +/Network Chatting/[Ll]ibrary/ | ||
22 | +/Network Chatting/[Tt]emp/ | ||
23 | +/Network Chatting/[Oo]bj/ | ||
24 | +/Network Chatting/[Bb]uild/ | ||
25 | +/Network Chatting/[Bb]uilds/ | ||
26 | +/Network Chatting/Assets/AssetStoreTools* | ||
27 | + | ||
28 | +# Visual Studio 2015 cache directory | ||
29 | +/Network Chatting/.vs/ | ||
30 | + | ||
31 | + | ||
21 | # Autogenerated VS/MD/Consulo solution and project files | 32 | # Autogenerated VS/MD/Consulo solution and project files |
22 | ExportedObj/ | 33 | ExportedObj/ |
23 | .consulo/ | 34 | .consulo/ | ... | ... |
1 | - | ||
2 | -// TCP로 통신할 때는 정의를 유효하게 하여 주십시오. | ||
3 | -#define USE_TRANSPORT_TCP | ||
4 | - | ||
5 | -using UnityEngine; | ||
6 | -using System.Collections; | ||
7 | -using System.Net; | ||
8 | - | ||
9 | - | ||
10 | -public class LibrarySample : MonoBehaviour { | ||
11 | - | ||
12 | - // 통신 모듈. | ||
13 | - public GameObject transportTcpPrefab; | ||
14 | - public GameObject transportUdpPrefab; | ||
15 | - | ||
16 | - // 통신용 변수. | ||
17 | -#if USE_TRANSPORT_TCP | ||
18 | - TransportTCP m_transport = null; | ||
19 | -#else | ||
20 | - TransportUDP m_transport = null; | ||
21 | -#endif | ||
22 | - | ||
23 | - // 접속할 IP 주소. | ||
24 | - private string m_strings = ""; | ||
25 | - | ||
26 | - // 접속할 포트 번호. | ||
27 | - private const int m_port = 50765; | ||
28 | - | ||
29 | - private const int m_mtu = 1400; | ||
30 | - | ||
31 | - private bool isSelected = false; | ||
32 | - | ||
33 | - | ||
34 | - // Use this for initialization | ||
35 | - void Start () | ||
36 | - { | ||
37 | - // Transport 클래스의 컴포넌트를 가져온다. | ||
38 | -#if USE_TRANSPORT_TCP | ||
39 | - GameObject obj = GameObject.Instantiate(transportTcpPrefab) as GameObject; | ||
40 | - m_transport = obj.GetComponent<TransportTCP>(); | ||
41 | -#else | ||
42 | - GameObject obj = GameObject.Instantiate(transportUdpPrefab) as GameObject; | ||
43 | - m_transport = obj.GetComponent<TransportUDP>(); | ||
44 | -#endif | ||
45 | - | ||
46 | - IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName()); | ||
47 | - System.Net.IPAddress hostAddress = hostEntry.AddressList[0]; | ||
48 | - Debug.Log(hostEntry.HostName); | ||
49 | - m_strings = hostAddress.ToString(); | ||
50 | - } | ||
51 | - | ||
52 | - // Update is called once per frame | ||
53 | - void Update () | ||
54 | - { | ||
55 | - if (m_transport != null && m_transport.isConnected == true) { | ||
56 | - byte[] buffer = new byte[m_mtu]; | ||
57 | - int recvSize = m_transport.Receive(ref buffer, buffer.Length); | ||
58 | - if (recvSize > 0) { | ||
59 | - string message = System.Text.Encoding.UTF8.GetString(buffer); | ||
60 | - Debug.Log(message); | ||
61 | - } | ||
62 | - } | ||
63 | - } | ||
64 | - | ||
65 | - void OnGUI() | ||
66 | - { | ||
67 | - if (isSelected == false) { | ||
68 | - OnGUISelectHost(); | ||
69 | - } | ||
70 | - else { | ||
71 | - if (m_transport.isServer == true) { | ||
72 | - OnGUIServer(); | ||
73 | - } | ||
74 | - else { | ||
75 | - OnGUIClient(); | ||
76 | - } | ||
77 | - } | ||
78 | - } | ||
79 | - | ||
80 | - void OnGUISelectHost() | ||
81 | - { | ||
82 | -#if USE_TRANSPORT_TCP | ||
83 | - if (GUI.Button (new Rect (20,40, 150,20), "Launch server.")) { | ||
84 | -#else | ||
85 | - if (GUI.Button (new Rect (20,40, 150,20), "Launch Listener.")) { | ||
86 | -#endif | ||
87 | - m_transport.StartServer(m_port, 1); | ||
88 | - isSelected = true; | ||
89 | - } | ||
90 | - | ||
91 | - // 클라이언트를 선택했을 때 접속할 서버 주소를 입력합니다. | ||
92 | - m_strings = GUI.TextField(new Rect(20, 100, 200, 20), m_strings); | ||
93 | -#if USE_TRANSPORT_TCP | ||
94 | - if (GUI.Button (new Rect (20,70,150,20), "Connect to server")) { | ||
95 | -#else | ||
96 | - if (GUI.Button (new Rect (20,70,150,20), "Connect to terminal")) { | ||
97 | -#endif | ||
98 | - m_transport.Connect(m_strings, m_port); | ||
99 | - isSelected = true; | ||
100 | - m_strings = ""; | ||
101 | - } | ||
102 | - } | ||
103 | - | ||
104 | - void OnGUIServer() | ||
105 | - { | ||
106 | -#if USE_TRANSPORT_TCP | ||
107 | - if (GUI.Button (new Rect (20,60, 150,20), "Stop server")) { | ||
108 | -#else | ||
109 | - if (GUI.Button (new Rect (20,60, 150,20), "Stop Listener")) { | ||
110 | -#endif | ||
111 | - m_transport.StopServer(); | ||
112 | - isSelected = false; | ||
113 | - m_strings = ""; | ||
114 | - } | ||
115 | - } | ||
116 | - | ||
117 | - | ||
118 | - void OnGUIClient() | ||
119 | - { | ||
120 | - // 클라이언트를 선택했을 때 접속할 서버의 주소를 입력합니다. | ||
121 | - if (GUI.Button (new Rect (20,70,150,20), "Send message")) { | ||
122 | - byte[] buffer = System.Text.Encoding.UTF8.GetBytes("Hellow, this is client."); | ||
123 | - m_transport.Send(buffer, buffer.Length); | ||
124 | - } | ||
125 | - | ||
126 | - if (GUI.Button (new Rect (20,100, 150,20), "Disconnect")) { | ||
127 | - m_transport.Disconnect(); | ||
128 | - isSelected = false; | ||
129 | - m_strings = ""; | ||
130 | - } | ||
131 | - } | ||
132 | - | ||
133 | -} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
Network Chatting/.vscode/settings.json
0 → 100644
1 | +{ | ||
2 | + "files.exclude": | ||
3 | + { | ||
4 | + "**/.DS_Store":true, | ||
5 | + "**/.git":true, | ||
6 | + "**/.gitignore":true, | ||
7 | + "**/.gitmodules":true, | ||
8 | + "**/*.booproj":true, | ||
9 | + "**/*.pidb":true, | ||
10 | + "**/*.suo":true, | ||
11 | + "**/*.user":true, | ||
12 | + "**/*.userprefs":true, | ||
13 | + "**/*.unityproj":true, | ||
14 | + "**/*.dll":true, | ||
15 | + "**/*.exe":true, | ||
16 | + "**/*.pdf":true, | ||
17 | + "**/*.mid":true, | ||
18 | + "**/*.midi":true, | ||
19 | + "**/*.wav":true, | ||
20 | + "**/*.gif":true, | ||
21 | + "**/*.ico":true, | ||
22 | + "**/*.jpg":true, | ||
23 | + "**/*.jpeg":true, | ||
24 | + "**/*.png":true, | ||
25 | + "**/*.psd":true, | ||
26 | + "**/*.tga":true, | ||
27 | + "**/*.tif":true, | ||
28 | + "**/*.tiff":true, | ||
29 | + "**/*.3ds":true, | ||
30 | + "**/*.3DS":true, | ||
31 | + "**/*.fbx":true, | ||
32 | + "**/*.FBX":true, | ||
33 | + "**/*.lxo":true, | ||
34 | + "**/*.LXO":true, | ||
35 | + "**/*.ma":true, | ||
36 | + "**/*.MA":true, | ||
37 | + "**/*.obj":true, | ||
38 | + "**/*.OBJ":true, | ||
39 | + "**/*.asset":true, | ||
40 | + "**/*.cubemap":true, | ||
41 | + "**/*.flare":true, | ||
42 | + "**/*.mat":true, | ||
43 | + "**/*.meta":true, | ||
44 | + "**/*.prefab":true, | ||
45 | + "**/*.unity":true, | ||
46 | + "build/":true, | ||
47 | + "Build/":true, | ||
48 | + "Library/":true, | ||
49 | + "library/":true, | ||
50 | + "obj/":true, | ||
51 | + "Obj/":true, | ||
52 | + "ProjectSettings/":true, | ||
53 | + "temp/":true, | ||
54 | + "Temp/":true | ||
55 | + } | ||
56 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
Network Chatting/Assets/Comment.prefab
0 → 100644
1 | +%YAML 1.1 | ||
2 | +%TAG !u! tag:unity3d.com,2011: | ||
3 | +--- !u!1001 &100100000 | ||
4 | +Prefab: | ||
5 | + m_ObjectHideFlags: 1 | ||
6 | + serializedVersion: 2 | ||
7 | + m_Modification: | ||
8 | + m_TransformParent: {fileID: 0} | ||
9 | + m_Modifications: [] | ||
10 | + m_RemovedComponents: [] | ||
11 | + m_ParentPrefab: {fileID: 0} | ||
12 | + m_RootGameObject: {fileID: 1351082387170804} | ||
13 | + m_IsPrefabParent: 1 | ||
14 | +--- !u!1 &1351082387170804 | ||
15 | +GameObject: | ||
16 | + m_ObjectHideFlags: 0 | ||
17 | + m_PrefabParentObject: {fileID: 0} | ||
18 | + m_PrefabInternal: {fileID: 100100000} | ||
19 | + serializedVersion: 5 | ||
20 | + m_Component: | ||
21 | + - component: {fileID: 224026180460817448} | ||
22 | + - component: {fileID: 222343435350097842} | ||
23 | + - component: {fileID: 114640140560748198} | ||
24 | + - component: {fileID: 114312857566104806} | ||
25 | + m_Layer: 5 | ||
26 | + m_Name: Comment | ||
27 | + m_TagString: Untagged | ||
28 | + m_Icon: {fileID: 0} | ||
29 | + m_NavMeshLayer: 0 | ||
30 | + m_StaticEditorFlags: 0 | ||
31 | + m_IsActive: 1 | ||
32 | +--- !u!1 &1889659296805252 | ||
33 | +GameObject: | ||
34 | + m_ObjectHideFlags: 0 | ||
35 | + m_PrefabParentObject: {fileID: 0} | ||
36 | + m_PrefabInternal: {fileID: 100100000} | ||
37 | + serializedVersion: 5 | ||
38 | + m_Component: | ||
39 | + - component: {fileID: 224999107880086880} | ||
40 | + - component: {fileID: 222081966344987208} | ||
41 | + - component: {fileID: 114206746021236310} | ||
42 | + m_Layer: 5 | ||
43 | + m_Name: Text | ||
44 | + m_TagString: Untagged | ||
45 | + m_Icon: {fileID: 0} | ||
46 | + m_NavMeshLayer: 0 | ||
47 | + m_StaticEditorFlags: 0 | ||
48 | + m_IsActive: 1 | ||
49 | +--- !u!114 &114206746021236310 | ||
50 | +MonoBehaviour: | ||
51 | + m_ObjectHideFlags: 1 | ||
52 | + m_PrefabParentObject: {fileID: 0} | ||
53 | + m_PrefabInternal: {fileID: 100100000} | ||
54 | + m_GameObject: {fileID: 1889659296805252} | ||
55 | + m_Enabled: 1 | ||
56 | + m_EditorHideFlags: 0 | ||
57 | + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
58 | + m_Name: | ||
59 | + m_EditorClassIdentifier: | ||
60 | + m_Material: {fileID: 0} | ||
61 | + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} | ||
62 | + m_RaycastTarget: 1 | ||
63 | + m_OnCullStateChanged: | ||
64 | + m_PersistentCalls: | ||
65 | + m_Calls: [] | ||
66 | + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, | ||
67 | + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | ||
68 | + m_FontData: | ||
69 | + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} | ||
70 | + m_FontSize: 14 | ||
71 | + m_FontStyle: 0 | ||
72 | + m_BestFit: 0 | ||
73 | + m_MinSize: 10 | ||
74 | + m_MaxSize: 40 | ||
75 | + m_Alignment: 0 | ||
76 | + m_AlignByGeometry: 0 | ||
77 | + m_RichText: 1 | ||
78 | + m_HorizontalOverflow: 0 | ||
79 | + m_VerticalOverflow: 0 | ||
80 | + m_LineSpacing: 1 | ||
81 | + m_Text: Sample Text | ||
82 | +--- !u!114 &114312857566104806 | ||
83 | +MonoBehaviour: | ||
84 | + m_ObjectHideFlags: 1 | ||
85 | + m_PrefabParentObject: {fileID: 0} | ||
86 | + m_PrefabInternal: {fileID: 100100000} | ||
87 | + m_GameObject: {fileID: 1351082387170804} | ||
88 | + m_Enabled: 1 | ||
89 | + m_EditorHideFlags: 0 | ||
90 | + m_Script: {fileID: 11500000, guid: e3c2e0a12ace649978c3c197ab4726a6, type: 3} | ||
91 | + m_Name: | ||
92 | + m_EditorClassIdentifier: | ||
93 | + commentText: {fileID: 114206746021236310} | ||
94 | +--- !u!114 &114640140560748198 | ||
95 | +MonoBehaviour: | ||
96 | + m_ObjectHideFlags: 1 | ||
97 | + m_PrefabParentObject: {fileID: 0} | ||
98 | + m_PrefabInternal: {fileID: 100100000} | ||
99 | + m_GameObject: {fileID: 1351082387170804} | ||
100 | + m_Enabled: 1 | ||
101 | + m_EditorHideFlags: 0 | ||
102 | + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
103 | + m_Name: | ||
104 | + m_EditorClassIdentifier: | ||
105 | + m_Material: {fileID: 0} | ||
106 | + m_Color: {r: 1, g: 1, b: 1, a: 1} | ||
107 | + m_RaycastTarget: 1 | ||
108 | + m_OnCullStateChanged: | ||
109 | + m_PersistentCalls: | ||
110 | + m_Calls: [] | ||
111 | + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, | ||
112 | + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | ||
113 | + m_Sprite: {fileID: 0} | ||
114 | + m_Type: 0 | ||
115 | + m_PreserveAspect: 0 | ||
116 | + m_FillCenter: 1 | ||
117 | + m_FillMethod: 4 | ||
118 | + m_FillAmount: 1 | ||
119 | + m_FillClockwise: 1 | ||
120 | + m_FillOrigin: 0 | ||
121 | +--- !u!222 &222081966344987208 | ||
122 | +CanvasRenderer: | ||
123 | + m_ObjectHideFlags: 1 | ||
124 | + m_PrefabParentObject: {fileID: 0} | ||
125 | + m_PrefabInternal: {fileID: 100100000} | ||
126 | + m_GameObject: {fileID: 1889659296805252} | ||
127 | +--- !u!222 &222343435350097842 | ||
128 | +CanvasRenderer: | ||
129 | + m_ObjectHideFlags: 1 | ||
130 | + m_PrefabParentObject: {fileID: 0} | ||
131 | + m_PrefabInternal: {fileID: 100100000} | ||
132 | + m_GameObject: {fileID: 1351082387170804} | ||
133 | +--- !u!224 &224026180460817448 | ||
134 | +RectTransform: | ||
135 | + m_ObjectHideFlags: 1 | ||
136 | + m_PrefabParentObject: {fileID: 0} | ||
137 | + m_PrefabInternal: {fileID: 100100000} | ||
138 | + m_GameObject: {fileID: 1351082387170804} | ||
139 | + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||
140 | + m_LocalPosition: {x: 0, y: 0, z: 0} | ||
141 | + m_LocalScale: {x: 1, y: 1, z: 1} | ||
142 | + m_Children: | ||
143 | + - {fileID: 224999107880086880} | ||
144 | + m_Father: {fileID: 0} | ||
145 | + m_RootOrder: 0 | ||
146 | + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||
147 | + m_AnchorMin: {x: 0, y: 0} | ||
148 | + m_AnchorMax: {x: 0, y: 0} | ||
149 | + m_AnchoredPosition: {x: 0, y: 0} | ||
150 | + m_SizeDelta: {x: 200, y: 50} | ||
151 | + m_Pivot: {x: 0.5, y: 0.5} | ||
152 | +--- !u!224 &224999107880086880 | ||
153 | +RectTransform: | ||
154 | + m_ObjectHideFlags: 1 | ||
155 | + m_PrefabParentObject: {fileID: 0} | ||
156 | + m_PrefabInternal: {fileID: 100100000} | ||
157 | + m_GameObject: {fileID: 1889659296805252} | ||
158 | + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||
159 | + m_LocalPosition: {x: 0, y: 0, z: 0} | ||
160 | + m_LocalScale: {x: 1, y: 1, z: 1} | ||
161 | + m_Children: [] | ||
162 | + m_Father: {fileID: 224026180460817448} | ||
163 | + m_RootOrder: 0 | ||
164 | + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||
165 | + m_AnchorMin: {x: 0, y: 0} | ||
166 | + m_AnchorMax: {x: 1, y: 1} | ||
167 | + m_AnchoredPosition: {x: 0, y: 0} | ||
168 | + m_SizeDelta: {x: 0, y: 0} | ||
169 | + m_Pivot: {x: 0.5, y: 0.5} |
Network Chatting/Assets/Comment.prefab.meta
0 → 100644
Network Chatting/Assets/Main.unity
0 → 100644
1 | +%YAML 1.1 | ||
2 | +%TAG !u! tag:unity3d.com,2011: | ||
3 | +--- !u!29 &1 | ||
4 | +OcclusionCullingSettings: | ||
5 | + m_ObjectHideFlags: 0 | ||
6 | + serializedVersion: 2 | ||
7 | + m_OcclusionBakeSettings: | ||
8 | + smallestOccluder: 5 | ||
9 | + smallestHole: 0.25 | ||
10 | + backfaceThreshold: 100 | ||
11 | + m_SceneGUID: 00000000000000000000000000000000 | ||
12 | + m_OcclusionCullingData: {fileID: 0} | ||
13 | +--- !u!104 &2 | ||
14 | +RenderSettings: | ||
15 | + m_ObjectHideFlags: 0 | ||
16 | + serializedVersion: 8 | ||
17 | + m_Fog: 0 | ||
18 | + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} | ||
19 | + m_FogMode: 3 | ||
20 | + m_FogDensity: 0.01 | ||
21 | + m_LinearFogStart: 0 | ||
22 | + m_LinearFogEnd: 300 | ||
23 | + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} | ||
24 | + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} | ||
25 | + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} | ||
26 | + m_AmbientIntensity: 1 | ||
27 | + m_AmbientMode: 0 | ||
28 | + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} | ||
29 | + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} | ||
30 | + m_HaloStrength: 0.5 | ||
31 | + m_FlareStrength: 1 | ||
32 | + m_FlareFadeSpeed: 3 | ||
33 | + m_HaloTexture: {fileID: 0} | ||
34 | + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} | ||
35 | + m_DefaultReflectionMode: 0 | ||
36 | + m_DefaultReflectionResolution: 128 | ||
37 | + m_ReflectionBounces: 1 | ||
38 | + m_ReflectionIntensity: 1 | ||
39 | + m_CustomReflection: {fileID: 0} | ||
40 | + m_Sun: {fileID: 0} | ||
41 | + m_IndirectSpecularColor: {r: 0.4465934, g: 0.49642956, b: 0.57482487, a: 1} | ||
42 | +--- !u!157 &3 | ||
43 | +LightmapSettings: | ||
44 | + m_ObjectHideFlags: 0 | ||
45 | + serializedVersion: 11 | ||
46 | + m_GIWorkflowMode: 0 | ||
47 | + m_GISettings: | ||
48 | + serializedVersion: 2 | ||
49 | + m_BounceScale: 1 | ||
50 | + m_IndirectOutputScale: 1 | ||
51 | + m_AlbedoBoost: 1 | ||
52 | + m_TemporalCoherenceThreshold: 1 | ||
53 | + m_EnvironmentLightingMode: 0 | ||
54 | + m_EnableBakedLightmaps: 1 | ||
55 | + m_EnableRealtimeLightmaps: 1 | ||
56 | + m_LightmapEditorSettings: | ||
57 | + serializedVersion: 9 | ||
58 | + m_Resolution: 2 | ||
59 | + m_BakeResolution: 40 | ||
60 | + m_TextureWidth: 1024 | ||
61 | + m_TextureHeight: 1024 | ||
62 | + m_AO: 0 | ||
63 | + m_AOMaxDistance: 1 | ||
64 | + m_CompAOExponent: 1 | ||
65 | + m_CompAOExponentDirect: 0 | ||
66 | + m_Padding: 2 | ||
67 | + m_LightmapParameters: {fileID: 0} | ||
68 | + m_LightmapsBakeMode: 1 | ||
69 | + m_TextureCompression: 1 | ||
70 | + m_FinalGather: 0 | ||
71 | + m_FinalGatherFiltering: 1 | ||
72 | + m_FinalGatherRayCount: 256 | ||
73 | + m_ReflectionCompression: 2 | ||
74 | + m_MixedBakeMode: 2 | ||
75 | + m_BakeBackend: 0 | ||
76 | + m_PVRSampling: 1 | ||
77 | + m_PVRDirectSampleCount: 32 | ||
78 | + m_PVRSampleCount: 500 | ||
79 | + m_PVRBounces: 2 | ||
80 | + m_PVRFilterTypeDirect: 0 | ||
81 | + m_PVRFilterTypeIndirect: 0 | ||
82 | + m_PVRFilterTypeAO: 0 | ||
83 | + m_PVRFilteringMode: 1 | ||
84 | + m_PVRCulling: 1 | ||
85 | + m_PVRFilteringGaussRadiusDirect: 1 | ||
86 | + m_PVRFilteringGaussRadiusIndirect: 5 | ||
87 | + m_PVRFilteringGaussRadiusAO: 2 | ||
88 | + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 | ||
89 | + m_PVRFilteringAtrousPositionSigmaIndirect: 2 | ||
90 | + m_PVRFilteringAtrousPositionSigmaAO: 1 | ||
91 | + m_ShowResolutionOverlay: 1 | ||
92 | + m_LightingDataAsset: {fileID: 0} | ||
93 | + m_UseShadowmask: 1 | ||
94 | +--- !u!196 &4 | ||
95 | +NavMeshSettings: | ||
96 | + serializedVersion: 2 | ||
97 | + m_ObjectHideFlags: 0 | ||
98 | + m_BuildSettings: | ||
99 | + serializedVersion: 2 | ||
100 | + agentTypeID: 0 | ||
101 | + agentRadius: 0.5 | ||
102 | + agentHeight: 2 | ||
103 | + agentSlope: 45 | ||
104 | + agentClimb: 0.4 | ||
105 | + ledgeDropHeight: 0 | ||
106 | + maxJumpAcrossDistance: 0 | ||
107 | + minRegionArea: 2 | ||
108 | + manualCellSize: 0 | ||
109 | + cellSize: 0.16666667 | ||
110 | + manualTileSize: 0 | ||
111 | + tileSize: 256 | ||
112 | + accuratePlacement: 0 | ||
113 | + debug: | ||
114 | + m_Flags: 0 | ||
115 | + m_NavMeshData: {fileID: 0} | ||
116 | +--- !u!1 &201183162 | ||
117 | +GameObject: | ||
118 | + m_ObjectHideFlags: 0 | ||
119 | + m_PrefabParentObject: {fileID: 0} | ||
120 | + m_PrefabInternal: {fileID: 0} | ||
121 | + serializedVersion: 5 | ||
122 | + m_Component: | ||
123 | + - component: {fileID: 201183164} | ||
124 | + - component: {fileID: 201183163} | ||
125 | + m_Layer: 0 | ||
126 | + m_Name: Directional Light | ||
127 | + m_TagString: Untagged | ||
128 | + m_Icon: {fileID: 0} | ||
129 | + m_NavMeshLayer: 0 | ||
130 | + m_StaticEditorFlags: 0 | ||
131 | + m_IsActive: 1 | ||
132 | +--- !u!108 &201183163 | ||
133 | +Light: | ||
134 | + m_ObjectHideFlags: 0 | ||
135 | + m_PrefabParentObject: {fileID: 0} | ||
136 | + m_PrefabInternal: {fileID: 0} | ||
137 | + m_GameObject: {fileID: 201183162} | ||
138 | + m_Enabled: 1 | ||
139 | + serializedVersion: 8 | ||
140 | + m_Type: 1 | ||
141 | + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} | ||
142 | + m_Intensity: 1 | ||
143 | + m_Range: 10 | ||
144 | + m_SpotAngle: 30 | ||
145 | + m_CookieSize: 10 | ||
146 | + m_Shadows: | ||
147 | + m_Type: 2 | ||
148 | + m_Resolution: -1 | ||
149 | + m_CustomResolution: -1 | ||
150 | + m_Strength: 1 | ||
151 | + m_Bias: 0.05 | ||
152 | + m_NormalBias: 0.4 | ||
153 | + m_NearPlane: 0.2 | ||
154 | + m_Cookie: {fileID: 0} | ||
155 | + m_DrawHalo: 0 | ||
156 | + m_Flare: {fileID: 0} | ||
157 | + m_RenderMode: 0 | ||
158 | + m_CullingMask: | ||
159 | + serializedVersion: 2 | ||
160 | + m_Bits: 4294967295 | ||
161 | + m_Lightmapping: 4 | ||
162 | + m_AreaSize: {x: 1, y: 1} | ||
163 | + m_BounceIntensity: 1 | ||
164 | + m_ColorTemperature: 6570 | ||
165 | + m_UseColorTemperature: 0 | ||
166 | + m_ShadowRadius: 0 | ||
167 | + m_ShadowAngle: 0 | ||
168 | +--- !u!4 &201183164 | ||
169 | +Transform: | ||
170 | + m_ObjectHideFlags: 0 | ||
171 | + m_PrefabParentObject: {fileID: 0} | ||
172 | + m_PrefabInternal: {fileID: 0} | ||
173 | + m_GameObject: {fileID: 201183162} | ||
174 | + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} | ||
175 | + m_LocalPosition: {x: 0, y: 3, z: 0} | ||
176 | + m_LocalScale: {x: 1, y: 1, z: 1} | ||
177 | + m_Children: [] | ||
178 | + m_Father: {fileID: 0} | ||
179 | + m_RootOrder: 1 | ||
180 | + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} | ||
181 | +--- !u!1 &351038151 | ||
182 | +GameObject: | ||
183 | + m_ObjectHideFlags: 0 | ||
184 | + m_PrefabParentObject: {fileID: 0} | ||
185 | + m_PrefabInternal: {fileID: 0} | ||
186 | + serializedVersion: 5 | ||
187 | + m_Component: | ||
188 | + - component: {fileID: 351038155} | ||
189 | + - component: {fileID: 351038154} | ||
190 | + - component: {fileID: 351038153} | ||
191 | + - component: {fileID: 351038152} | ||
192 | + m_Layer: 5 | ||
193 | + m_Name: Canvas | ||
194 | + m_TagString: Untagged | ||
195 | + m_Icon: {fileID: 0} | ||
196 | + m_NavMeshLayer: 0 | ||
197 | + m_StaticEditorFlags: 0 | ||
198 | + m_IsActive: 1 | ||
199 | +--- !u!114 &351038152 | ||
200 | +MonoBehaviour: | ||
201 | + m_ObjectHideFlags: 0 | ||
202 | + m_PrefabParentObject: {fileID: 0} | ||
203 | + m_PrefabInternal: {fileID: 0} | ||
204 | + m_GameObject: {fileID: 351038151} | ||
205 | + m_Enabled: 1 | ||
206 | + m_EditorHideFlags: 0 | ||
207 | + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
208 | + m_Name: | ||
209 | + m_EditorClassIdentifier: | ||
210 | + m_IgnoreReversedGraphics: 1 | ||
211 | + m_BlockingObjects: 0 | ||
212 | + m_BlockingMask: | ||
213 | + serializedVersion: 2 | ||
214 | + m_Bits: 4294967295 | ||
215 | +--- !u!114 &351038153 | ||
216 | +MonoBehaviour: | ||
217 | + m_ObjectHideFlags: 0 | ||
218 | + m_PrefabParentObject: {fileID: 0} | ||
219 | + m_PrefabInternal: {fileID: 0} | ||
220 | + m_GameObject: {fileID: 351038151} | ||
221 | + m_Enabled: 1 | ||
222 | + m_EditorHideFlags: 0 | ||
223 | + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
224 | + m_Name: | ||
225 | + m_EditorClassIdentifier: | ||
226 | + m_UiScaleMode: 0 | ||
227 | + m_ReferencePixelsPerUnit: 100 | ||
228 | + m_ScaleFactor: 1 | ||
229 | + m_ReferenceResolution: {x: 800, y: 600} | ||
230 | + m_ScreenMatchMode: 0 | ||
231 | + m_MatchWidthOrHeight: 0 | ||
232 | + m_PhysicalUnit: 3 | ||
233 | + m_FallbackScreenDPI: 96 | ||
234 | + m_DefaultSpriteDPI: 96 | ||
235 | + m_DynamicPixelsPerUnit: 1 | ||
236 | +--- !u!223 &351038154 | ||
237 | +Canvas: | ||
238 | + m_ObjectHideFlags: 0 | ||
239 | + m_PrefabParentObject: {fileID: 0} | ||
240 | + m_PrefabInternal: {fileID: 0} | ||
241 | + m_GameObject: {fileID: 351038151} | ||
242 | + m_Enabled: 1 | ||
243 | + serializedVersion: 3 | ||
244 | + m_RenderMode: 0 | ||
245 | + m_Camera: {fileID: 0} | ||
246 | + m_PlaneDistance: 100 | ||
247 | + m_PixelPerfect: 0 | ||
248 | + m_ReceivesEvents: 1 | ||
249 | + m_OverrideSorting: 0 | ||
250 | + m_OverridePixelPerfect: 0 | ||
251 | + m_SortingBucketNormalizedSize: 0 | ||
252 | + m_AdditionalShaderChannelsFlag: 0 | ||
253 | + m_SortingLayerID: 0 | ||
254 | + m_SortingOrder: 0 | ||
255 | + m_TargetDisplay: 0 | ||
256 | +--- !u!224 &351038155 | ||
257 | +RectTransform: | ||
258 | + m_ObjectHideFlags: 0 | ||
259 | + m_PrefabParentObject: {fileID: 0} | ||
260 | + m_PrefabInternal: {fileID: 0} | ||
261 | + m_GameObject: {fileID: 351038151} | ||
262 | + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||
263 | + m_LocalPosition: {x: 0, y: 0, z: 0} | ||
264 | + m_LocalScale: {x: 0, y: 0, z: 0} | ||
265 | + m_Children: | ||
266 | + - {fileID: 1443135693} | ||
267 | + - {fileID: 1763030733} | ||
268 | + - {fileID: 650336558} | ||
269 | + m_Father: {fileID: 0} | ||
270 | + m_RootOrder: 2 | ||
271 | + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||
272 | + m_AnchorMin: {x: 0, y: 0} | ||
273 | + m_AnchorMax: {x: 0, y: 0} | ||
274 | + m_AnchoredPosition: {x: 0, y: 0} | ||
275 | + m_SizeDelta: {x: 0, y: 0} | ||
276 | + m_Pivot: {x: 0, y: 0} | ||
277 | +--- !u!1 &650336557 | ||
278 | +GameObject: | ||
279 | + m_ObjectHideFlags: 0 | ||
280 | + m_PrefabParentObject: {fileID: 0} | ||
281 | + m_PrefabInternal: {fileID: 0} | ||
282 | + serializedVersion: 5 | ||
283 | + m_Component: | ||
284 | + - component: {fileID: 650336558} | ||
285 | + - component: {fileID: 650336561} | ||
286 | + - component: {fileID: 650336560} | ||
287 | + - component: {fileID: 650336559} | ||
288 | + m_Layer: 5 | ||
289 | + m_Name: Join Room | ||
290 | + m_TagString: Untagged | ||
291 | + m_Icon: {fileID: 0} | ||
292 | + m_NavMeshLayer: 0 | ||
293 | + m_StaticEditorFlags: 0 | ||
294 | + m_IsActive: 1 | ||
295 | +--- !u!224 &650336558 | ||
296 | +RectTransform: | ||
297 | + m_ObjectHideFlags: 0 | ||
298 | + m_PrefabParentObject: {fileID: 0} | ||
299 | + m_PrefabInternal: {fileID: 0} | ||
300 | + m_GameObject: {fileID: 650336557} | ||
301 | + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} | ||
302 | + m_LocalPosition: {x: 0, y: 0, z: 0} | ||
303 | + m_LocalScale: {x: 1, y: 1, z: 1} | ||
304 | + m_Children: | ||
305 | + - {fileID: 1464550524} | ||
306 | + m_Father: {fileID: 351038155} | ||
307 | + m_RootOrder: 2 | ||
308 | + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||
309 | + m_AnchorMin: {x: 0.5, y: 0.5} | ||
310 | + m_AnchorMax: {x: 0.5, y: 0.5} | ||
311 | + m_AnchoredPosition: {x: 181, y: -121} | ||
312 | + m_SizeDelta: {x: 160, y: 30} | ||
313 | + m_Pivot: {x: 0.5, y: 0.5} | ||
314 | +--- !u!114 &650336559 | ||
315 | +MonoBehaviour: | ||
316 | + m_ObjectHideFlags: 0 | ||
317 | + m_PrefabParentObject: {fileID: 0} | ||
318 | + m_PrefabInternal: {fileID: 0} | ||
319 | + m_GameObject: {fileID: 650336557} | ||
320 | + m_Enabled: 1 | ||
321 | + m_EditorHideFlags: 0 | ||
322 | + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
323 | + m_Name: | ||
324 | + m_EditorClassIdentifier: | ||
325 | + m_Navigation: | ||
326 | + m_Mode: 3 | ||
327 | + m_SelectOnUp: {fileID: 0} | ||
328 | + m_SelectOnDown: {fileID: 0} | ||
329 | + m_SelectOnLeft: {fileID: 0} | ||
330 | + m_SelectOnRight: {fileID: 0} | ||
331 | + m_Transition: 1 | ||
332 | + m_Colors: | ||
333 | + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} | ||
334 | + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} | ||
335 | + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} | ||
336 | + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} | ||
337 | + m_ColorMultiplier: 1 | ||
338 | + m_FadeDuration: 0.1 | ||
339 | + m_SpriteState: | ||
340 | + m_HighlightedSprite: {fileID: 0} | ||
341 | + m_PressedSprite: {fileID: 0} | ||
342 | + m_DisabledSprite: {fileID: 0} | ||
343 | + m_AnimationTriggers: | ||
344 | + m_NormalTrigger: Normal | ||
345 | + m_HighlightedTrigger: Highlighted | ||
346 | + m_PressedTrigger: Pressed | ||
347 | + m_DisabledTrigger: Disabled | ||
348 | + m_Interactable: 1 | ||
349 | + m_TargetGraphic: {fileID: 650336560} | ||
350 | + m_OnClick: | ||
351 | + m_PersistentCalls: | ||
352 | + m_Calls: | ||
353 | + - m_Target: {fileID: 2036355376} | ||
354 | + m_MethodName: JoinChatRoom | ||
355 | + m_Mode: 1 | ||
356 | + m_Arguments: | ||
357 | + m_ObjectArgument: {fileID: 0} | ||
358 | + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine | ||
359 | + m_IntArgument: 0 | ||
360 | + m_FloatArgument: 0 | ||
361 | + m_StringArgument: | ||
362 | + m_BoolArgument: 0 | ||
363 | + m_CallState: 2 | ||
364 | + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, | ||
365 | + Culture=neutral, PublicKeyToken=null | ||
366 | +--- !u!114 &650336560 | ||
367 | +MonoBehaviour: | ||
368 | + m_ObjectHideFlags: 0 | ||
369 | + m_PrefabParentObject: {fileID: 0} | ||
370 | + m_PrefabInternal: {fileID: 0} | ||
371 | + m_GameObject: {fileID: 650336557} | ||
372 | + m_Enabled: 1 | ||
373 | + m_EditorHideFlags: 0 | ||
374 | + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
375 | + m_Name: | ||
376 | + m_EditorClassIdentifier: | ||
377 | + m_Material: {fileID: 0} | ||
378 | + m_Color: {r: 1, g: 1, b: 1, a: 1} | ||
379 | + m_RaycastTarget: 1 | ||
380 | + m_OnCullStateChanged: | ||
381 | + m_PersistentCalls: | ||
382 | + m_Calls: [] | ||
383 | + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, | ||
384 | + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | ||
385 | + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} | ||
386 | + m_Type: 1 | ||
387 | + m_PreserveAspect: 0 | ||
388 | + m_FillCenter: 1 | ||
389 | + m_FillMethod: 4 | ||
390 | + m_FillAmount: 1 | ||
391 | + m_FillClockwise: 1 | ||
392 | + m_FillOrigin: 0 | ||
393 | +--- !u!222 &650336561 | ||
394 | +CanvasRenderer: | ||
395 | + m_ObjectHideFlags: 0 | ||
396 | + m_PrefabParentObject: {fileID: 0} | ||
397 | + m_PrefabInternal: {fileID: 0} | ||
398 | + m_GameObject: {fileID: 650336557} | ||
399 | +--- !u!1 &1297907495 | ||
400 | +GameObject: | ||
401 | + m_ObjectHideFlags: 0 | ||
402 | + m_PrefabParentObject: {fileID: 0} | ||
403 | + m_PrefabInternal: {fileID: 0} | ||
404 | + serializedVersion: 5 | ||
405 | + m_Component: | ||
406 | + - component: {fileID: 1297907498} | ||
407 | + - component: {fileID: 1297907497} | ||
408 | + - component: {fileID: 1297907496} | ||
409 | + m_Layer: 0 | ||
410 | + m_Name: EventSystem | ||
411 | + m_TagString: Untagged | ||
412 | + m_Icon: {fileID: 0} | ||
413 | + m_NavMeshLayer: 0 | ||
414 | + m_StaticEditorFlags: 0 | ||
415 | + m_IsActive: 1 | ||
416 | +--- !u!114 &1297907496 | ||
417 | +MonoBehaviour: | ||
418 | + m_ObjectHideFlags: 0 | ||
419 | + m_PrefabParentObject: {fileID: 0} | ||
420 | + m_PrefabInternal: {fileID: 0} | ||
421 | + m_GameObject: {fileID: 1297907495} | ||
422 | + m_Enabled: 1 | ||
423 | + m_EditorHideFlags: 0 | ||
424 | + m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
425 | + m_Name: | ||
426 | + m_EditorClassIdentifier: | ||
427 | + m_HorizontalAxis: Horizontal | ||
428 | + m_VerticalAxis: Vertical | ||
429 | + m_SubmitButton: Submit | ||
430 | + m_CancelButton: Cancel | ||
431 | + m_InputActionsPerSecond: 10 | ||
432 | + m_RepeatDelay: 0.5 | ||
433 | + m_ForceModuleActive: 0 | ||
434 | +--- !u!114 &1297907497 | ||
435 | +MonoBehaviour: | ||
436 | + m_ObjectHideFlags: 0 | ||
437 | + m_PrefabParentObject: {fileID: 0} | ||
438 | + m_PrefabInternal: {fileID: 0} | ||
439 | + m_GameObject: {fileID: 1297907495} | ||
440 | + m_Enabled: 1 | ||
441 | + m_EditorHideFlags: 0 | ||
442 | + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
443 | + m_Name: | ||
444 | + m_EditorClassIdentifier: | ||
445 | + m_FirstSelected: {fileID: 0} | ||
446 | + m_sendNavigationEvents: 1 | ||
447 | + m_DragThreshold: 5 | ||
448 | +--- !u!4 &1297907498 | ||
449 | +Transform: | ||
450 | + m_ObjectHideFlags: 0 | ||
451 | + m_PrefabParentObject: {fileID: 0} | ||
452 | + m_PrefabInternal: {fileID: 0} | ||
453 | + m_GameObject: {fileID: 1297907495} | ||
454 | + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||
455 | + m_LocalPosition: {x: 0, y: 0, z: 0} | ||
456 | + m_LocalScale: {x: 1, y: 1, z: 1} | ||
457 | + m_Children: [] | ||
458 | + m_Father: {fileID: 0} | ||
459 | + m_RootOrder: 3 | ||
460 | + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||
461 | +--- !u!1 &1350433203 | ||
462 | +GameObject: | ||
463 | + m_ObjectHideFlags: 0 | ||
464 | + m_PrefabParentObject: {fileID: 0} | ||
465 | + m_PrefabInternal: {fileID: 0} | ||
466 | + serializedVersion: 5 | ||
467 | + m_Component: | ||
468 | + - component: {fileID: 1350433204} | ||
469 | + - component: {fileID: 1350433206} | ||
470 | + - component: {fileID: 1350433205} | ||
471 | + m_Layer: 5 | ||
472 | + m_Name: Text | ||
473 | + m_TagString: Untagged | ||
474 | + m_Icon: {fileID: 0} | ||
475 | + m_NavMeshLayer: 0 | ||
476 | + m_StaticEditorFlags: 0 | ||
477 | + m_IsActive: 1 | ||
478 | +--- !u!224 &1350433204 | ||
479 | +RectTransform: | ||
480 | + m_ObjectHideFlags: 0 | ||
481 | + m_PrefabParentObject: {fileID: 0} | ||
482 | + m_PrefabInternal: {fileID: 0} | ||
483 | + m_GameObject: {fileID: 1350433203} | ||
484 | + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||
485 | + m_LocalPosition: {x: 0, y: 0, z: 0} | ||
486 | + m_LocalScale: {x: 1, y: 1, z: 1} | ||
487 | + m_Children: [] | ||
488 | + m_Father: {fileID: 1763030733} | ||
489 | + m_RootOrder: 0 | ||
490 | + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||
491 | + m_AnchorMin: {x: 0, y: 0} | ||
492 | + m_AnchorMax: {x: 1, y: 1} | ||
493 | + m_AnchoredPosition: {x: 0, y: 0} | ||
494 | + m_SizeDelta: {x: 0, y: 0} | ||
495 | + m_Pivot: {x: 0.5, y: 0.5} | ||
496 | +--- !u!114 &1350433205 | ||
497 | +MonoBehaviour: | ||
498 | + m_ObjectHideFlags: 0 | ||
499 | + m_PrefabParentObject: {fileID: 0} | ||
500 | + m_PrefabInternal: {fileID: 0} | ||
501 | + m_GameObject: {fileID: 1350433203} | ||
502 | + m_Enabled: 1 | ||
503 | + m_EditorHideFlags: 0 | ||
504 | + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
505 | + m_Name: | ||
506 | + m_EditorClassIdentifier: | ||
507 | + m_Material: {fileID: 0} | ||
508 | + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} | ||
509 | + m_RaycastTarget: 1 | ||
510 | + m_OnCullStateChanged: | ||
511 | + m_PersistentCalls: | ||
512 | + m_Calls: [] | ||
513 | + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, | ||
514 | + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | ||
515 | + m_FontData: | ||
516 | + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} | ||
517 | + m_FontSize: 14 | ||
518 | + m_FontStyle: 0 | ||
519 | + m_BestFit: 0 | ||
520 | + m_MinSize: 10 | ||
521 | + m_MaxSize: 40 | ||
522 | + m_Alignment: 4 | ||
523 | + m_AlignByGeometry: 0 | ||
524 | + m_RichText: 1 | ||
525 | + m_HorizontalOverflow: 0 | ||
526 | + m_VerticalOverflow: 0 | ||
527 | + m_LineSpacing: 1 | ||
528 | + m_Text: Button | ||
529 | +--- !u!222 &1350433206 | ||
530 | +CanvasRenderer: | ||
531 | + m_ObjectHideFlags: 0 | ||
532 | + m_PrefabParentObject: {fileID: 0} | ||
533 | + m_PrefabInternal: {fileID: 0} | ||
534 | + m_GameObject: {fileID: 1350433203} | ||
535 | +--- !u!1 &1443135692 | ||
536 | +GameObject: | ||
537 | + m_ObjectHideFlags: 0 | ||
538 | + m_PrefabParentObject: {fileID: 0} | ||
539 | + m_PrefabInternal: {fileID: 0} | ||
540 | + serializedVersion: 5 | ||
541 | + m_Component: | ||
542 | + - component: {fileID: 1443135693} | ||
543 | + - component: {fileID: 1443135696} | ||
544 | + - component: {fileID: 1443135695} | ||
545 | + - component: {fileID: 1443135694} | ||
546 | + m_Layer: 5 | ||
547 | + m_Name: Panel | ||
548 | + m_TagString: Untagged | ||
549 | + m_Icon: {fileID: 0} | ||
550 | + m_NavMeshLayer: 0 | ||
551 | + m_StaticEditorFlags: 0 | ||
552 | + m_IsActive: 1 | ||
553 | +--- !u!224 &1443135693 | ||
554 | +RectTransform: | ||
555 | + m_ObjectHideFlags: 0 | ||
556 | + m_PrefabParentObject: {fileID: 0} | ||
557 | + m_PrefabInternal: {fileID: 0} | ||
558 | + m_GameObject: {fileID: 1443135692} | ||
559 | + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||
560 | + m_LocalPosition: {x: 0, y: 0, z: 0} | ||
561 | + m_LocalScale: {x: 1, y: 1, z: 1} | ||
562 | + m_Children: [] | ||
563 | + m_Father: {fileID: 351038155} | ||
564 | + m_RootOrder: 0 | ||
565 | + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||
566 | + m_AnchorMin: {x: 0, y: 0} | ||
567 | + m_AnchorMax: {x: 1, y: 1} | ||
568 | + m_AnchoredPosition: {x: 0, y: 55.577103} | ||
569 | + m_SizeDelta: {x: 0, y: -111.2} | ||
570 | + m_Pivot: {x: 0.5, y: 0.5} | ||
571 | +--- !u!114 &1443135694 | ||
572 | +MonoBehaviour: | ||
573 | + m_ObjectHideFlags: 0 | ||
574 | + m_PrefabParentObject: {fileID: 0} | ||
575 | + m_PrefabInternal: {fileID: 0} | ||
576 | + m_GameObject: {fileID: 1443135692} | ||
577 | + m_Enabled: 1 | ||
578 | + m_EditorHideFlags: 0 | ||
579 | + m_Script: {fileID: 1297475563, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
580 | + m_Name: | ||
581 | + m_EditorClassIdentifier: | ||
582 | + m_Padding: | ||
583 | + m_Left: 0 | ||
584 | + m_Right: 0 | ||
585 | + m_Top: 0 | ||
586 | + m_Bottom: 0 | ||
587 | + m_ChildAlignment: 0 | ||
588 | + m_Spacing: 0 | ||
589 | + m_ChildForceExpandWidth: 0 | ||
590 | + m_ChildForceExpandHeight: 0 | ||
591 | + m_ChildControlWidth: 0 | ||
592 | + m_ChildControlHeight: 0 | ||
593 | +--- !u!114 &1443135695 | ||
594 | +MonoBehaviour: | ||
595 | + m_ObjectHideFlags: 0 | ||
596 | + m_PrefabParentObject: {fileID: 0} | ||
597 | + m_PrefabInternal: {fileID: 0} | ||
598 | + m_GameObject: {fileID: 1443135692} | ||
599 | + m_Enabled: 1 | ||
600 | + m_EditorHideFlags: 0 | ||
601 | + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
602 | + m_Name: | ||
603 | + m_EditorClassIdentifier: | ||
604 | + m_Material: {fileID: 0} | ||
605 | + m_Color: {r: 1, g: 1, b: 1, a: 0.392} | ||
606 | + m_RaycastTarget: 1 | ||
607 | + m_OnCullStateChanged: | ||
608 | + m_PersistentCalls: | ||
609 | + m_Calls: [] | ||
610 | + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, | ||
611 | + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | ||
612 | + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} | ||
613 | + m_Type: 1 | ||
614 | + m_PreserveAspect: 0 | ||
615 | + m_FillCenter: 1 | ||
616 | + m_FillMethod: 4 | ||
617 | + m_FillAmount: 1 | ||
618 | + m_FillClockwise: 1 | ||
619 | + m_FillOrigin: 0 | ||
620 | +--- !u!222 &1443135696 | ||
621 | +CanvasRenderer: | ||
622 | + m_ObjectHideFlags: 0 | ||
623 | + m_PrefabParentObject: {fileID: 0} | ||
624 | + m_PrefabInternal: {fileID: 0} | ||
625 | + m_GameObject: {fileID: 1443135692} | ||
626 | +--- !u!1 &1464550523 | ||
627 | +GameObject: | ||
628 | + m_ObjectHideFlags: 0 | ||
629 | + m_PrefabParentObject: {fileID: 0} | ||
630 | + m_PrefabInternal: {fileID: 0} | ||
631 | + serializedVersion: 5 | ||
632 | + m_Component: | ||
633 | + - component: {fileID: 1464550524} | ||
634 | + - component: {fileID: 1464550526} | ||
635 | + - component: {fileID: 1464550525} | ||
636 | + m_Layer: 5 | ||
637 | + m_Name: Text | ||
638 | + m_TagString: Untagged | ||
639 | + m_Icon: {fileID: 0} | ||
640 | + m_NavMeshLayer: 0 | ||
641 | + m_StaticEditorFlags: 0 | ||
642 | + m_IsActive: 1 | ||
643 | +--- !u!224 &1464550524 | ||
644 | +RectTransform: | ||
645 | + m_ObjectHideFlags: 0 | ||
646 | + m_PrefabParentObject: {fileID: 0} | ||
647 | + m_PrefabInternal: {fileID: 0} | ||
648 | + m_GameObject: {fileID: 1464550523} | ||
649 | + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||
650 | + m_LocalPosition: {x: 0, y: 0, z: 0} | ||
651 | + m_LocalScale: {x: 1, y: 1, z: 1} | ||
652 | + m_Children: [] | ||
653 | + m_Father: {fileID: 650336558} | ||
654 | + m_RootOrder: 0 | ||
655 | + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||
656 | + m_AnchorMin: {x: 0, y: 0} | ||
657 | + m_AnchorMax: {x: 1, y: 1} | ||
658 | + m_AnchoredPosition: {x: 0, y: 0} | ||
659 | + m_SizeDelta: {x: 0, y: 0} | ||
660 | + m_Pivot: {x: 0.5, y: 0.5} | ||
661 | +--- !u!114 &1464550525 | ||
662 | +MonoBehaviour: | ||
663 | + m_ObjectHideFlags: 0 | ||
664 | + m_PrefabParentObject: {fileID: 0} | ||
665 | + m_PrefabInternal: {fileID: 0} | ||
666 | + m_GameObject: {fileID: 1464550523} | ||
667 | + m_Enabled: 1 | ||
668 | + m_EditorHideFlags: 0 | ||
669 | + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
670 | + m_Name: | ||
671 | + m_EditorClassIdentifier: | ||
672 | + m_Material: {fileID: 0} | ||
673 | + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} | ||
674 | + m_RaycastTarget: 1 | ||
675 | + m_OnCullStateChanged: | ||
676 | + m_PersistentCalls: | ||
677 | + m_Calls: [] | ||
678 | + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, | ||
679 | + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | ||
680 | + m_FontData: | ||
681 | + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} | ||
682 | + m_FontSize: 14 | ||
683 | + m_FontStyle: 0 | ||
684 | + m_BestFit: 0 | ||
685 | + m_MinSize: 10 | ||
686 | + m_MaxSize: 40 | ||
687 | + m_Alignment: 4 | ||
688 | + m_AlignByGeometry: 0 | ||
689 | + m_RichText: 1 | ||
690 | + m_HorizontalOverflow: 0 | ||
691 | + m_VerticalOverflow: 0 | ||
692 | + m_LineSpacing: 1 | ||
693 | + m_Text: Button | ||
694 | +--- !u!222 &1464550526 | ||
695 | +CanvasRenderer: | ||
696 | + m_ObjectHideFlags: 0 | ||
697 | + m_PrefabParentObject: {fileID: 0} | ||
698 | + m_PrefabInternal: {fileID: 0} | ||
699 | + m_GameObject: {fileID: 1464550523} | ||
700 | +--- !u!1 &1622086368 | ||
701 | +GameObject: | ||
702 | + m_ObjectHideFlags: 0 | ||
703 | + m_PrefabParentObject: {fileID: 0} | ||
704 | + m_PrefabInternal: {fileID: 0} | ||
705 | + serializedVersion: 5 | ||
706 | + m_Component: | ||
707 | + - component: {fileID: 1622086372} | ||
708 | + - component: {fileID: 1622086371} | ||
709 | + - component: {fileID: 1622086370} | ||
710 | + - component: {fileID: 1622086369} | ||
711 | + m_Layer: 0 | ||
712 | + m_Name: Main Camera | ||
713 | + m_TagString: MainCamera | ||
714 | + m_Icon: {fileID: 0} | ||
715 | + m_NavMeshLayer: 0 | ||
716 | + m_StaticEditorFlags: 0 | ||
717 | + m_IsActive: 1 | ||
718 | +--- !u!81 &1622086369 | ||
719 | +AudioListener: | ||
720 | + m_ObjectHideFlags: 0 | ||
721 | + m_PrefabParentObject: {fileID: 0} | ||
722 | + m_PrefabInternal: {fileID: 0} | ||
723 | + m_GameObject: {fileID: 1622086368} | ||
724 | + m_Enabled: 1 | ||
725 | +--- !u!124 &1622086370 | ||
726 | +Behaviour: | ||
727 | + m_ObjectHideFlags: 0 | ||
728 | + m_PrefabParentObject: {fileID: 0} | ||
729 | + m_PrefabInternal: {fileID: 0} | ||
730 | + m_GameObject: {fileID: 1622086368} | ||
731 | + m_Enabled: 1 | ||
732 | +--- !u!20 &1622086371 | ||
733 | +Camera: | ||
734 | + m_ObjectHideFlags: 0 | ||
735 | + m_PrefabParentObject: {fileID: 0} | ||
736 | + m_PrefabInternal: {fileID: 0} | ||
737 | + m_GameObject: {fileID: 1622086368} | ||
738 | + m_Enabled: 1 | ||
739 | + serializedVersion: 2 | ||
740 | + m_ClearFlags: 1 | ||
741 | + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} | ||
742 | + m_NormalizedViewPortRect: | ||
743 | + serializedVersion: 2 | ||
744 | + x: 0 | ||
745 | + y: 0 | ||
746 | + width: 1 | ||
747 | + height: 1 | ||
748 | + near clip plane: 0.3 | ||
749 | + far clip plane: 1000 | ||
750 | + field of view: 60 | ||
751 | + orthographic: 0 | ||
752 | + orthographic size: 5 | ||
753 | + m_Depth: -1 | ||
754 | + m_CullingMask: | ||
755 | + serializedVersion: 2 | ||
756 | + m_Bits: 4294967295 | ||
757 | + m_RenderingPath: -1 | ||
758 | + m_TargetTexture: {fileID: 0} | ||
759 | + m_TargetDisplay: 0 | ||
760 | + m_TargetEye: 3 | ||
761 | + m_HDR: 1 | ||
762 | + m_AllowMSAA: 1 | ||
763 | + m_AllowDynamicResolution: 0 | ||
764 | + m_ForceIntoRT: 0 | ||
765 | + m_OcclusionCulling: 1 | ||
766 | + m_StereoConvergence: 10 | ||
767 | + m_StereoSeparation: 0.022 | ||
768 | +--- !u!4 &1622086372 | ||
769 | +Transform: | ||
770 | + m_ObjectHideFlags: 0 | ||
771 | + m_PrefabParentObject: {fileID: 0} | ||
772 | + m_PrefabInternal: {fileID: 0} | ||
773 | + m_GameObject: {fileID: 1622086368} | ||
774 | + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||
775 | + m_LocalPosition: {x: 0, y: 1, z: -10} | ||
776 | + m_LocalScale: {x: 1, y: 1, z: 1} | ||
777 | + m_Children: [] | ||
778 | + m_Father: {fileID: 0} | ||
779 | + m_RootOrder: 0 | ||
780 | + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||
781 | +--- !u!1 &1763030732 | ||
782 | +GameObject: | ||
783 | + m_ObjectHideFlags: 0 | ||
784 | + m_PrefabParentObject: {fileID: 0} | ||
785 | + m_PrefabInternal: {fileID: 0} | ||
786 | + serializedVersion: 5 | ||
787 | + m_Component: | ||
788 | + - component: {fileID: 1763030733} | ||
789 | + - component: {fileID: 1763030736} | ||
790 | + - component: {fileID: 1763030735} | ||
791 | + - component: {fileID: 1763030734} | ||
792 | + m_Layer: 5 | ||
793 | + m_Name: Create Room | ||
794 | + m_TagString: Untagged | ||
795 | + m_Icon: {fileID: 0} | ||
796 | + m_NavMeshLayer: 0 | ||
797 | + m_StaticEditorFlags: 0 | ||
798 | + m_IsActive: 1 | ||
799 | +--- !u!224 &1763030733 | ||
800 | +RectTransform: | ||
801 | + m_ObjectHideFlags: 0 | ||
802 | + m_PrefabParentObject: {fileID: 0} | ||
803 | + m_PrefabInternal: {fileID: 0} | ||
804 | + m_GameObject: {fileID: 1763030732} | ||
805 | + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||
806 | + m_LocalPosition: {x: 0, y: 0, z: 0} | ||
807 | + m_LocalScale: {x: 1, y: 1, z: 1} | ||
808 | + m_Children: | ||
809 | + - {fileID: 1350433204} | ||
810 | + m_Father: {fileID: 351038155} | ||
811 | + m_RootOrder: 1 | ||
812 | + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} | ||
813 | + m_AnchorMin: {x: 0.5, y: 0.5} | ||
814 | + m_AnchorMax: {x: 0.5, y: 0.5} | ||
815 | + m_AnchoredPosition: {x: -176, y: -121} | ||
816 | + m_SizeDelta: {x: 160, y: 30} | ||
817 | + m_Pivot: {x: 0.5, y: 0.5} | ||
818 | +--- !u!114 &1763030734 | ||
819 | +MonoBehaviour: | ||
820 | + m_ObjectHideFlags: 0 | ||
821 | + m_PrefabParentObject: {fileID: 0} | ||
822 | + m_PrefabInternal: {fileID: 0} | ||
823 | + m_GameObject: {fileID: 1763030732} | ||
824 | + m_Enabled: 1 | ||
825 | + m_EditorHideFlags: 0 | ||
826 | + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
827 | + m_Name: | ||
828 | + m_EditorClassIdentifier: | ||
829 | + m_Navigation: | ||
830 | + m_Mode: 3 | ||
831 | + m_SelectOnUp: {fileID: 0} | ||
832 | + m_SelectOnDown: {fileID: 0} | ||
833 | + m_SelectOnLeft: {fileID: 0} | ||
834 | + m_SelectOnRight: {fileID: 0} | ||
835 | + m_Transition: 1 | ||
836 | + m_Colors: | ||
837 | + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} | ||
838 | + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} | ||
839 | + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} | ||
840 | + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} | ||
841 | + m_ColorMultiplier: 1 | ||
842 | + m_FadeDuration: 0.1 | ||
843 | + m_SpriteState: | ||
844 | + m_HighlightedSprite: {fileID: 0} | ||
845 | + m_PressedSprite: {fileID: 0} | ||
846 | + m_DisabledSprite: {fileID: 0} | ||
847 | + m_AnimationTriggers: | ||
848 | + m_NormalTrigger: Normal | ||
849 | + m_HighlightedTrigger: Highlighted | ||
850 | + m_PressedTrigger: Pressed | ||
851 | + m_DisabledTrigger: Disabled | ||
852 | + m_Interactable: 1 | ||
853 | + m_TargetGraphic: {fileID: 1763030735} | ||
854 | + m_OnClick: | ||
855 | + m_PersistentCalls: | ||
856 | + m_Calls: | ||
857 | + - m_Target: {fileID: 2036355376} | ||
858 | + m_MethodName: CreateRoom | ||
859 | + m_Mode: 1 | ||
860 | + m_Arguments: | ||
861 | + m_ObjectArgument: {fileID: 0} | ||
862 | + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine | ||
863 | + m_IntArgument: 0 | ||
864 | + m_FloatArgument: 0 | ||
865 | + m_StringArgument: | ||
866 | + m_BoolArgument: 0 | ||
867 | + m_CallState: 2 | ||
868 | + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, | ||
869 | + Culture=neutral, PublicKeyToken=null | ||
870 | +--- !u!114 &1763030735 | ||
871 | +MonoBehaviour: | ||
872 | + m_ObjectHideFlags: 0 | ||
873 | + m_PrefabParentObject: {fileID: 0} | ||
874 | + m_PrefabInternal: {fileID: 0} | ||
875 | + m_GameObject: {fileID: 1763030732} | ||
876 | + m_Enabled: 1 | ||
877 | + m_EditorHideFlags: 0 | ||
878 | + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} | ||
879 | + m_Name: | ||
880 | + m_EditorClassIdentifier: | ||
881 | + m_Material: {fileID: 0} | ||
882 | + m_Color: {r: 1, g: 1, b: 1, a: 1} | ||
883 | + m_RaycastTarget: 1 | ||
884 | + m_OnCullStateChanged: | ||
885 | + m_PersistentCalls: | ||
886 | + m_Calls: [] | ||
887 | + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, | ||
888 | + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | ||
889 | + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} | ||
890 | + m_Type: 1 | ||
891 | + m_PreserveAspect: 0 | ||
892 | + m_FillCenter: 1 | ||
893 | + m_FillMethod: 4 | ||
894 | + m_FillAmount: 1 | ||
895 | + m_FillClockwise: 1 | ||
896 | + m_FillOrigin: 0 | ||
897 | +--- !u!222 &1763030736 | ||
898 | +CanvasRenderer: | ||
899 | + m_ObjectHideFlags: 0 | ||
900 | + m_PrefabParentObject: {fileID: 0} | ||
901 | + m_PrefabInternal: {fileID: 0} | ||
902 | + m_GameObject: {fileID: 1763030732} | ||
903 | +--- !u!1 &2036355374 | ||
904 | +GameObject: | ||
905 | + m_ObjectHideFlags: 0 | ||
906 | + m_PrefabParentObject: {fileID: 0} | ||
907 | + m_PrefabInternal: {fileID: 0} | ||
908 | + serializedVersion: 5 | ||
909 | + m_Component: | ||
910 | + - component: {fileID: 2036355377} | ||
911 | + - component: {fileID: 2036355376} | ||
912 | + - component: {fileID: 2036355375} | ||
913 | + m_Layer: 0 | ||
914 | + m_Name: GameObject | ||
915 | + m_TagString: Untagged | ||
916 | + m_Icon: {fileID: 0} | ||
917 | + m_NavMeshLayer: 0 | ||
918 | + m_StaticEditorFlags: 0 | ||
919 | + m_IsActive: 1 | ||
920 | +--- !u!114 &2036355375 | ||
921 | +MonoBehaviour: | ||
922 | + m_ObjectHideFlags: 0 | ||
923 | + m_PrefabParentObject: {fileID: 0} | ||
924 | + m_PrefabInternal: {fileID: 0} | ||
925 | + m_GameObject: {fileID: 2036355374} | ||
926 | + m_Enabled: 1 | ||
927 | + m_EditorHideFlags: 0 | ||
928 | + m_Script: {fileID: 11500000, guid: cd5fc2b6c1dde473792533471913965f, type: 3} | ||
929 | + m_Name: | ||
930 | + m_EditorClassIdentifier: | ||
931 | +--- !u!114 &2036355376 | ||
932 | +MonoBehaviour: | ||
933 | + m_ObjectHideFlags: 0 | ||
934 | + m_PrefabParentObject: {fileID: 0} | ||
935 | + m_PrefabInternal: {fileID: 0} | ||
936 | + m_GameObject: {fileID: 2036355374} | ||
937 | + m_Enabled: 1 | ||
938 | + m_EditorHideFlags: 0 | ||
939 | + m_Script: {fileID: 11500000, guid: 7d91d3622aead48008aca0d637d4ad9b, type: 3} | ||
940 | + m_Name: | ||
941 | + m_EditorClassIdentifier: | ||
942 | + m_transport: {fileID: 2036355375} | ||
943 | + commentTextPrefab: {fileID: 114312857566104806, guid: b4721aef43e524b91936d391647d3ae1, | ||
944 | + type: 2} | ||
945 | + commentHolder: {fileID: 1443135693} | ||
946 | +--- !u!4 &2036355377 | ||
947 | +Transform: | ||
948 | + m_ObjectHideFlags: 0 | ||
949 | + m_PrefabParentObject: {fileID: 0} | ||
950 | + m_PrefabInternal: {fileID: 0} | ||
951 | + m_GameObject: {fileID: 2036355374} | ||
952 | + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} | ||
953 | + m_LocalPosition: {x: 329.52545, y: 277.66443, z: 17.47392} | ||
954 | + m_LocalScale: {x: 1, y: 1, z: 1} | ||
955 | + m_Children: [] | ||
956 | + m_Father: {fileID: 0} | ||
957 | + m_RootOrder: 4 | ||
958 | + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
Network Chatting/Assets/Main.unity.meta
0 → 100644
Network Chatting/Assets/Scripts.meta
0 → 100644
Network Chatting/Assets/Scripts/Chat.cs
0 → 100644
1 | +using UnityEngine; | ||
2 | +using System; | ||
3 | +using System.Collections; | ||
4 | +using System.Collections.Generic; | ||
5 | +using System.Net; | ||
6 | + | ||
7 | +public class Chat : MonoBehaviour | ||
8 | +{ | ||
9 | + public TransportTCP m_transport; | ||
10 | + | ||
11 | + public ChatText commentTextPrefab; | ||
12 | + | ||
13 | + public Transform commentHolder; | ||
14 | + | ||
15 | + public string m_hostAddress {get; set;} | ||
16 | + | ||
17 | + private const int m_port = 50765; | ||
18 | + | ||
19 | + private bool m_isServer = false; | ||
20 | + | ||
21 | + | ||
22 | + // Use this for initialization | ||
23 | + void Start() | ||
24 | + { | ||
25 | + IPHostEntry hostEntry = Dns.GetHostEntry(Dns.GetHostName()); | ||
26 | + | ||
27 | + System.Net.IPAddress hostAddress = hostEntry.AddressList[0]; | ||
28 | + | ||
29 | + Debug.Log(hostEntry.HostName); | ||
30 | + | ||
31 | + m_hostAddress = hostAddress.ToString (); | ||
32 | + m_transport.onStateChanged += OnEventHandling; | ||
33 | + | ||
34 | + } | ||
35 | + | ||
36 | + | ||
37 | + IEnumerator UpdateChatting() | ||
38 | + { | ||
39 | + while(true) | ||
40 | + { | ||
41 | + byte[] buffer = new byte[1400]; | ||
42 | + | ||
43 | + int recvSize = m_transport.Receive(ref buffer, buffer.Length); | ||
44 | + if (recvSize > 0) { | ||
45 | + string message = System.Text.Encoding.UTF8.GetString(buffer); | ||
46 | + Debug.Log("Recv data:" + message ); | ||
47 | + | ||
48 | + AddComment(message); | ||
49 | + } | ||
50 | + | ||
51 | + yield return null; | ||
52 | + } | ||
53 | + } | ||
54 | + | ||
55 | + | ||
56 | + void Send(string message) | ||
57 | + { | ||
58 | + message = "[" + DateTime.Now.ToString("HH:mm:ss") + "] " + message; | ||
59 | + | ||
60 | + byte[] buffer = System.Text.Encoding.UTF8.GetBytes(message); | ||
61 | + | ||
62 | + m_transport.Send(buffer, buffer.Length); | ||
63 | + | ||
64 | + AddComment(message); | ||
65 | + } | ||
66 | + | ||
67 | + | ||
68 | + void AddComment(string message) | ||
69 | + { | ||
70 | + var newComment = Instantiate(commentTextPrefab,commentHolder); | ||
71 | + newComment.SetUp(message); | ||
72 | + } | ||
73 | + void OnApplicationQuit() { | ||
74 | + if (m_transport != null) { | ||
75 | + if(m_isServer) | ||
76 | + { | ||
77 | + m_transport.StopServer(); | ||
78 | + } | ||
79 | + else | ||
80 | + { | ||
81 | + m_transport.Disconnect(); | ||
82 | + } | ||
83 | + } | ||
84 | + } | ||
85 | + | ||
86 | + public void OnEventHandling(NetEventState state) | ||
87 | + { | ||
88 | + switch (state.type) { | ||
89 | + case NetEventType.Connect: | ||
90 | + AddComment("접속"); | ||
91 | + break; | ||
92 | + | ||
93 | + case NetEventType.Disconnect: | ||
94 | + AddComment("접속 종료"); | ||
95 | + break; | ||
96 | + } | ||
97 | + } | ||
98 | + | ||
99 | + | ||
100 | + public void CreateRoom() | ||
101 | + { | ||
102 | + m_transport.StartServer(m_port, 1); | ||
103 | + m_isServer = true; | ||
104 | + } | ||
105 | + | ||
106 | + public void JoinChatRoom() | ||
107 | + { | ||
108 | + bool ret = m_transport.Connect(m_hostAddress, m_port); | ||
109 | + | ||
110 | + if (ret) { | ||
111 | + StartCoroutine("UpdateChatting"); | ||
112 | + } | ||
113 | + else { | ||
114 | + Debug.LogError("Failed"); | ||
115 | + } | ||
116 | + } | ||
117 | + | ||
118 | + | ||
119 | + public void Leave() | ||
120 | + { | ||
121 | + if (m_isServer == true) { | ||
122 | + m_transport.StopServer(); | ||
123 | + } | ||
124 | + else { | ||
125 | + m_transport.Disconnect(); | ||
126 | + } | ||
127 | + | ||
128 | + StopCoroutine("UpdateChatting"); | ||
129 | + } | ||
130 | + | ||
131 | + | ||
132 | +} |
Network Chatting/Assets/Scripts/Chat.cs.meta
0 → 100644
1 | +fileFormatVersion: 2 | ||
2 | +guid: 7d91d3622aead48008aca0d637d4ad9b | ||
3 | +timeCreated: 1517219122 | ||
4 | +licenseType: Pro | ||
5 | +MonoImporter: | ||
6 | + externalObjects: {} | ||
7 | + serializedVersion: 2 | ||
8 | + defaultReferences: [] | ||
9 | + executionOrder: 0 | ||
10 | + icon: {instanceID: 0} | ||
11 | + userData: | ||
12 | + assetBundleName: | ||
13 | + assetBundleVariant: |
Network Chatting/Assets/Scripts/ChatText.cs
0 → 100644
1 | +fileFormatVersion: 2 | ||
2 | +guid: e3c2e0a12ace649978c3c197ab4726a6 | ||
3 | +timeCreated: 1517221132 | ||
4 | +licenseType: Pro | ||
5 | +MonoImporter: | ||
6 | + externalObjects: {} | ||
7 | + serializedVersion: 2 | ||
8 | + defaultReferences: [] | ||
9 | + executionOrder: 0 | ||
10 | + icon: {instanceID: 0} | ||
11 | + userData: | ||
12 | + assetBundleName: | ||
13 | + assetBundleVariant: |
1 | +// 이벤트 종류 | ||
2 | +public enum NetEventType | ||
3 | +{ | ||
4 | + Connect = 0, // 연결 이벤트 | ||
5 | + Disconnect, // 끊기 이벤트 | ||
6 | + SendError, // 송신 오류 | ||
7 | + ReceiveError, // 수신 오류 | ||
8 | +} | ||
9 | + | ||
10 | +// 이벤트 결과 | ||
11 | +public enum NetEventResult | ||
12 | +{ | ||
13 | + Failure = -1, // 실패 | ||
14 | + Success = 0, // 성공 | ||
15 | +} | ||
16 | + | ||
17 | +// 이벤트 상태 통지용 타입 | ||
18 | +public class NetEventState | ||
19 | +{ | ||
20 | + public NetEventType type; // 이벤트 타입 | ||
21 | + public NetEventResult result; // 이벤트 결과 | ||
22 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +fileFormatVersion: 2 | ||
2 | +guid: 7a68fdeeae9b0445992ea9d05f42454e | ||
3 | +timeCreated: 1517151676 | ||
4 | +licenseType: Pro | ||
5 | +MonoImporter: | ||
6 | + externalObjects: {} | ||
7 | + serializedVersion: 2 | ||
8 | + defaultReferences: [] | ||
9 | + executionOrder: 0 | ||
10 | + icon: {instanceID: 0} | ||
11 | + userData: | ||
12 | + assetBundleName: | ||
13 | + assetBundleVariant: |
1 | +using System; | ||
2 | +using System.Collections; | ||
3 | +using System.Collections.Generic; | ||
4 | +using System.IO; | ||
5 | +using System.Runtime.InteropServices; // https://msdn.microsoft.com/ko-kr/library/system.runtime.interopservices(v=vs.110).aspx | ||
6 | + | ||
7 | +// 이 타입의 목적: 물흐르듯이 패킷을 쌓고 꺼내올수 있는 큐 | ||
8 | +public class PacketQueue | ||
9 | +{ | ||
10 | + // 대응되는 패킷이 정확히 스트림에서 어디 인덱스에 존재하는지 지정 | ||
11 | + struct PacketInfo | ||
12 | + { | ||
13 | + public int offset; // 이 데이터가 기록되기 시작한 지점 | ||
14 | + public int size; // 이 데이터의 사이즈 | ||
15 | + } | ||
16 | + | ||
17 | + // MemoryStream 은 데이터를 연속적으로 쌓고 빼낼수 있는 스트림 버퍼 | ||
18 | + // MemoryStream 은 디스크나 네트워크 연결이 아니라 메모리 상에 데이터를 저장하는 스트림 버퍼 | ||
19 | + // 데이터의 끊김이 없으므로 패킷으로는 다룰수 없다 | ||
20 | + private MemoryStream m_streamBuffer; | ||
21 | + | ||
22 | + | ||
23 | + private List<PacketInfo> m_waitingPackets; // 아직 디큐하지 못하고 쌓인 패킷들 | ||
24 | + | ||
25 | + private int m_cursor = 0; // 버퍼가 채워져 커서가 밀려난 지점, 데이터를 채울때 여기서 부터 채우면 됨 | ||
26 | + | ||
27 | + private Object lockObj = new Object(); // 데드락 방지용 단순 참고자 | ||
28 | + | ||
29 | + // 초기화 | ||
30 | + public PacketQueue() | ||
31 | + { | ||
32 | + m_streamBuffer = new MemoryStream(); | ||
33 | + m_waitingPackets = new List<PacketInfo>(); | ||
34 | + } | ||
35 | + | ||
36 | + // 큐에 바이트 데이터 추가 | ||
37 | + public int Enqueue(byte[] data, int size) | ||
38 | + { | ||
39 | + PacketInfo info = new PacketInfo(); | ||
40 | + | ||
41 | + info.offset = m_cursor; // 스트림내에서 이 데이터를 찾으려면 어디서 부터 읽으면 되는지 기록 | ||
42 | + info.size = size; | ||
43 | + | ||
44 | + lock(lockObj) // 데드락 방지 | ||
45 | + { | ||
46 | + // 패킷 저장 정보를 보존 | ||
47 | + m_waitingPackets.Add(info); | ||
48 | + | ||
49 | + // 패킷 데이터를 추가 | ||
50 | + | ||
51 | + m_streamBuffer.Position = m_cursor; // 스트림의 위치를 마지막으로 갱신한 커서 위치로. | ||
52 | + m_streamBuffer.Write(data,0,size); // 현재 위치에서 사이즈만큼 버퍼를 쌓기 | ||
53 | + m_streamBuffer.Flush(); // 적용 | ||
54 | + | ||
55 | + m_cursor += size; // 커서를 방금 추가한 패킷 만큼 오른쪽으로 이동 | ||
56 | + } | ||
57 | + | ||
58 | + return size; // 추가된 데이터의 사이즈를 리턴 | ||
59 | + } | ||
60 | + | ||
61 | + // 버퍼를 맡기면 채워서 넘겨줌 | ||
62 | + public int Dequeue(ref byte[] buffer, int size) | ||
63 | + { | ||
64 | + // 패킷 리스트에 남아있는게 없다면 종료 | ||
65 | + if(m_waitingPackets.Count <= 0) | ||
66 | + { | ||
67 | + return -1; | ||
68 | + } | ||
69 | + | ||
70 | + int recvSize = 0; | ||
71 | + | ||
72 | + // 데드락 방지 | ||
73 | + lock(lockObj) { | ||
74 | + // 가장 마지막에 추가된 패킷부터 가져온다 | ||
75 | + PacketInfo info = m_waitingPackets[0]; | ||
76 | + | ||
77 | + // 저장된 패킷 이상의 사이즈를 긁어올순 없음 | ||
78 | + int dataSize = Math.Min(size, info.size); | ||
79 | + | ||
80 | + // 읽기 시작할 위치 | ||
81 | + m_streamBuffer.Position = info.offset; | ||
82 | + // 현재 커서 위치에서 dataSize 만큼 오른쪽만큼 이동한 지점까지를 영역으로 | ||
83 | + // 데이터를 긁어와 입력으로 들어온 buffer 를 채움 | ||
84 | + recvSize = m_streamBuffer.Read(buffer, 0, dataSize); | ||
85 | + | ||
86 | + // 패킷을 꺼냈으므로 꺼낸 패킷에 대한 패킷 기록을 리스트에서 삭제 | ||
87 | + if(recvSize > 0) | ||
88 | + { | ||
89 | + m_waitingPackets.RemoveAt(0); | ||
90 | + } | ||
91 | + | ||
92 | + // 모든 큐 데이터를 꺼냈을때는 스트림을 다시 제로포인트로 클리어해서 메모리를 절약 | ||
93 | + if(m_waitingPackets.Count == 0) | ||
94 | + { | ||
95 | + Clear(); | ||
96 | + m_cursor = 0; | ||
97 | + } | ||
98 | + | ||
99 | + } | ||
100 | + return recvSize; | ||
101 | + | ||
102 | + } | ||
103 | + | ||
104 | + // 스트림버퍼의 커서를 초기화. 큐와 메모리 클리어 | ||
105 | + public void Clear() | ||
106 | + { | ||
107 | + // 스트림 버퍼의 남은 데이터를 긁어서 | ||
108 | + byte[] buffer = m_streamBuffer.GetBuffer(); | ||
109 | + // 해당 데이터를 정렬함 | ||
110 | + Array.Clear(buffer,0,buffer.Length); | ||
111 | + | ||
112 | + // 스트림 버퍼의 커서와 길이를 제로로 되돌리기 | ||
113 | + m_streamBuffer.Position = 0; | ||
114 | + m_streamBuffer.SetLength(0); | ||
115 | + } | ||
116 | + | ||
117 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +fileFormatVersion: 2 | ||
2 | +guid: 6f23052345bf649c485f9d14c8d027ae | ||
3 | +timeCreated: 1517148877 | ||
4 | +licenseType: Pro | ||
5 | +MonoImporter: | ||
6 | + externalObjects: {} | ||
7 | + serializedVersion: 2 | ||
8 | + defaultReferences: [] | ||
9 | + executionOrder: 0 | ||
10 | + icon: {instanceID: 0} | ||
11 | + userData: | ||
12 | + assetBundleName: | ||
13 | + assetBundleVariant: |
1 | +using System.Collections; | ||
2 | +using System.Collections.Generic; | ||
3 | +using UnityEngine; | ||
4 | +using System.Net; | ||
5 | +using System.Net.Sockets; | ||
6 | +using System.Threading; | ||
7 | + | ||
8 | +public class TransportTCP : MonoBehaviour | ||
9 | +{ | ||
10 | + | ||
11 | + // 소켓 액세스 포인트들 | ||
12 | + | ||
13 | + // 리스닝 소켓 | ||
14 | + private Socket m_listner = null; | ||
15 | + | ||
16 | + // 클라이언트의 접속을 받을 소켓 | ||
17 | + private Socket m_socket = null; | ||
18 | + | ||
19 | + private PacketQueue m_sendQueue; // 송신 버퍼 | ||
20 | + | ||
21 | + private PacketQueue m_recvQueue; // 수신 버퍼 | ||
22 | + | ||
23 | + public bool isServer { get; private set;} // 서버 플래그 | ||
24 | + | ||
25 | + public bool isConnected {get; private set;} // 접속 플래그 | ||
26 | + | ||
27 | + | ||
28 | + // 이벤트 관련 | ||
29 | + | ||
30 | + // 이벤트 통지 델리게이트 타입 정의 | ||
31 | + public delegate void EventHandler(NetEventState state); | ||
32 | + // 이벤트 핸들러 | ||
33 | + public event EventHandler onStateChanged; | ||
34 | + | ||
35 | + | ||
36 | + // 스레드 관련 멤버 변수 | ||
37 | + | ||
38 | + // 스레드 실행 프래그 | ||
39 | + protected bool m_threadLoop = false; | ||
40 | + protected Thread m_thread = null; | ||
41 | + private static int s_mtu = 1400; // 한번에 읽을 데이터 | ||
42 | + | ||
43 | + | ||
44 | + // 초기화 페이즈: 큐 생성 | ||
45 | + void Awake() | ||
46 | + { | ||
47 | + m_sendQueue = new PacketQueue(); | ||
48 | + m_recvQueue = new PacketQueue(); | ||
49 | + } | ||
50 | + | ||
51 | + // 서버로서 가동 (대기) 시작 | ||
52 | + public bool StartServer(int port, int connectionNum) | ||
53 | + { | ||
54 | + | ||
55 | + Debug.Log("Initiate Server!"); | ||
56 | + | ||
57 | + try | ||
58 | + { | ||
59 | + m_listner = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); | ||
60 | + | ||
61 | + // 대응 대역폭 지정 | ||
62 | + m_listner.Bind(new IPEndPoint(IPAddress.Any, port)); | ||
63 | + | ||
64 | + m_listner.Listen(connectionNum); | ||
65 | + } | ||
66 | + catch | ||
67 | + { | ||
68 | + Debug.Log("Server Failed!"); | ||
69 | + | ||
70 | + return false; | ||
71 | + } | ||
72 | + | ||
73 | + isServer = true; | ||
74 | + | ||
75 | + bool success = LaunchThread(); | ||
76 | + | ||
77 | + return success; | ||
78 | + } | ||
79 | + | ||
80 | + // 서버로서 대기 종료 | ||
81 | + public void StopServer() | ||
82 | + { | ||
83 | + // 쓰레드 종료 | ||
84 | + m_threadLoop = false; | ||
85 | + | ||
86 | + if (m_thread != null) | ||
87 | + { | ||
88 | + m_thread.Join(); // https://msdn.microsoft.com/ko-kr/library/95hbf2ta(v=vs.110).aspx | ||
89 | + m_thread = null; | ||
90 | + } | ||
91 | + | ||
92 | + // 접속 종료 | ||
93 | + Disconnect(); | ||
94 | + | ||
95 | + if(m_listner != null) | ||
96 | + { | ||
97 | + m_listner.Close(); | ||
98 | + m_listner = null; | ||
99 | + } | ||
100 | + | ||
101 | + isServer = false; | ||
102 | + | ||
103 | + Debug.Log("Server Stopped"); | ||
104 | + } | ||
105 | + | ||
106 | + | ||
107 | + // 접속 | ||
108 | + public bool Connect(string address, int port) | ||
109 | + { | ||
110 | + Debug.Log("TransportTCP Connect Called"); | ||
111 | + | ||
112 | + // 이미 리스너 소켓이 선점되어 있다면 | ||
113 | + if (m_listner != null) { | ||
114 | + return false; | ||
115 | + } | ||
116 | + | ||
117 | + bool ret = false; | ||
118 | + | ||
119 | + try { | ||
120 | + m_socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp); | ||
121 | + | ||
122 | + m_socket.NoDelay = true; // 소켓 지연시간 없음 | ||
123 | + m_socket.SendBufferSize = 0; | ||
124 | + m_socket.Connect(address,port); // 소켓 연결 시작 | ||
125 | + | ||
126 | + // 커넥션 스레드 시작 | ||
127 | + ret = LaunchThread(); | ||
128 | + } catch { | ||
129 | + // 실패했다면 소켓 파괴 | ||
130 | + m_socket = null; | ||
131 | + } | ||
132 | + | ||
133 | + if(ret == true) | ||
134 | + { | ||
135 | + isConnected = true; | ||
136 | + Debug.Log("Connection Success"); | ||
137 | + } | ||
138 | + else | ||
139 | + { | ||
140 | + isConnected = false; | ||
141 | + Debug.Log("Connection Fail"); | ||
142 | + } | ||
143 | + | ||
144 | + // 리스너가 존재한다면 통지 | ||
145 | + if(onStateChanged != null) { | ||
146 | + NetEventState state = new NetEventState(); | ||
147 | + state.type = NetEventType.Connect; | ||
148 | + state.result = (isConnected == true) ? NetEventResult.Success : NetEventResult.Failure; | ||
149 | + | ||
150 | + Debug.Log("Event Handler Called"); | ||
151 | + } | ||
152 | + | ||
153 | + return isConnected; | ||
154 | + } | ||
155 | + | ||
156 | + // 접속 종료 | ||
157 | + public void Disconnect() | ||
158 | + { | ||
159 | + isConnected = false; | ||
160 | + | ||
161 | + if (m_socket != null) | ||
162 | + { | ||
163 | + m_socket.Shutdown(SocketShutdown.Both); // 쌍방향 소켓 연결 내리기 | ||
164 | + m_socket.Close(); // 소켓 종료 | ||
165 | + m_socket = null; // 소켓 파괴 | ||
166 | + } | ||
167 | + | ||
168 | + // 리스터가 존재한다면 접속 종료를 공지 | ||
169 | + if (onStateChanged != null) | ||
170 | + { | ||
171 | + // 새로운 네트워크 상태 정보 생성후 | ||
172 | + NetEventState state = new NetEventState(); | ||
173 | + state.type = NetEventType.Disconnect; | ||
174 | + state.result = NetEventResult.Success; | ||
175 | + | ||
176 | + // 이벤트로 공지 | ||
177 | + onStateChanged(state); | ||
178 | + } | ||
179 | + } | ||
180 | + | ||
181 | + // 송신 처리 | ||
182 | + // 큐에 데이터를 넣어놓으면 알아서 쓰레드가 빼가서 보내놓을거라능 ㅇㅅㅇ | ||
183 | + public int Send(byte[] data, int size) | ||
184 | + { | ||
185 | + // 세이프티 체크 | ||
186 | + if(m_sendQueue == null) | ||
187 | + { | ||
188 | + return 0; | ||
189 | + } | ||
190 | + | ||
191 | + return m_sendQueue.Enqueue(data,size); | ||
192 | + } | ||
193 | + | ||
194 | + | ||
195 | + // 수신 처리 | ||
196 | + // 큐에 데이터를 넣어놓으면 알아서 쓰레드가 빼가서 보내놓을거라능 ㅇㅅㅇ | ||
197 | + public int Receive(ref byte[] data, int size) | ||
198 | + { | ||
199 | + // 세이프티 체크 | ||
200 | + if(m_recvQueue == null) | ||
201 | + { | ||
202 | + return 0; | ||
203 | + } | ||
204 | + | ||
205 | + return m_recvQueue.Dequeue(ref data,size); | ||
206 | + } | ||
207 | + | ||
208 | + // 스레드 실행 함수. | ||
209 | + // 목적: 돌려 놓으면 알아서 Send Queue 에 쌓아놓은 데이터는 보내주고 | ||
210 | + // 온 데이터는 Recv Queue 에 쌓아놓아줌 | ||
211 | + bool LaunchThread() | ||
212 | + { | ||
213 | + try { | ||
214 | + // Dispatch용 스레드 시작. | ||
215 | + m_threadLoop = true; | ||
216 | + m_thread = new Thread(new ThreadStart(Dispatch)); | ||
217 | + m_thread.Start(); | ||
218 | + } | ||
219 | + catch { | ||
220 | + Debug.Log("Cannot launch thread."); | ||
221 | + return false; | ||
222 | + } | ||
223 | + | ||
224 | + return true; | ||
225 | + } | ||
226 | + | ||
227 | + | ||
228 | + // 스레드를 통해 송수신을 처리해주는 실제 패킷큐 처리부 | ||
229 | + public void Dispatch() | ||
230 | + { | ||
231 | + Debug.Log("Distpach thread started."); | ||
232 | + | ||
233 | + // 스레드 루프가 계속 돌아가는 동안 | ||
234 | + while(m_threadLoop) | ||
235 | + { | ||
236 | + //클라이언트의 접속을 기다림 | ||
237 | + | ||
238 | + AcceptClient(); | ||
239 | + | ||
240 | + | ||
241 | + if(m_socket != null && isConnected == true) | ||
242 | + { | ||
243 | + // 송신 | ||
244 | + DispatchSend(); | ||
245 | + | ||
246 | + // 수신 | ||
247 | + DispatchReceive(); | ||
248 | + } | ||
249 | + | ||
250 | + // 실행 간격 5밀리 세컨드 | ||
251 | + Thread.Sleep(5); | ||
252 | + } | ||
253 | + | ||
254 | + Debug.Log("Dispatch thread ended"); | ||
255 | + } | ||
256 | + | ||
257 | + void AcceptClient() | ||
258 | + { | ||
259 | + // 리스너가 클라이언트를 감지하고 준비됬다면 | ||
260 | + if(m_listner != null && m_listner.Poll(0, SelectMode.SelectRead)) | ||
261 | + { | ||
262 | + // 클라이언트로부터 통신 소켓 지정 | ||
263 | + m_socket = m_listner.Accept(); | ||
264 | + | ||
265 | + isConnected = true; | ||
266 | + Debug.Log("Connected from client"); | ||
267 | + } | ||
268 | + | ||
269 | + } | ||
270 | + | ||
271 | + void DispatchSend() | ||
272 | + { | ||
273 | + try{ | ||
274 | + // 데이터를 보낼 준비가 되있다면 | ||
275 | + if(m_socket.Poll(0,SelectMode.SelectWrite)) | ||
276 | + { | ||
277 | + // 바이트 배열 생성 | ||
278 | + byte[] buffer = new byte[s_mtu]; | ||
279 | + | ||
280 | + // 전송 대기큐로부터 데이터를 빼내어 가져옴 | ||
281 | + int sendSize = m_sendQueue.Dequeue(ref buffer, buffer.Length); | ||
282 | + | ||
283 | + // 보낼 데이터가 있는 동안 계속 송신-데이터 빼오기 반복 | ||
284 | + while(sendSize > 0) { | ||
285 | + m_socket.Send(buffer, sendSize, SocketFlags.None); | ||
286 | + sendSize = m_sendQueue.Dequeue(ref buffer, buffer.Length); | ||
287 | + } | ||
288 | + } | ||
289 | + } catch { | ||
290 | + return; | ||
291 | + } | ||
292 | + } | ||
293 | + | ||
294 | + void DispatchReceive() | ||
295 | + { | ||
296 | + try{ | ||
297 | + // 읽을 데이터가 있으면 | ||
298 | + while(m_socket.Poll(0,SelectMode.SelectRead)) { | ||
299 | + byte[] buffer = new byte[s_mtu]; | ||
300 | + | ||
301 | + int recvSize = m_socket.Receive(buffer,buffer.Length,SocketFlags.None); | ||
302 | + | ||
303 | + if(recvSize == 0) | ||
304 | + { | ||
305 | + // 더이상 가져올 데이터가 없다면 | ||
306 | + | ||
307 | + Debug.Log("Diconnect recv from client."); | ||
308 | + Disconnect(); | ||
309 | + } | ||
310 | + else if (recvSize > 0) { // 데이터를 가져왔다면 리시브 큐에 적재해둠 | ||
311 | + m_recvQueue.Enqueue(buffer,recvSize); | ||
312 | + | ||
313 | + } | ||
314 | + } | ||
315 | + } | ||
316 | + catch { | ||
317 | + return; | ||
318 | + } | ||
319 | + } | ||
320 | +} |
1 | +fileFormatVersion: 2 | ||
2 | +guid: cd5fc2b6c1dde473792533471913965f | ||
3 | +timeCreated: 1517148595 | ||
4 | +licenseType: Pro | ||
5 | +MonoImporter: | ||
6 | + externalObjects: {} | ||
7 | + serializedVersion: 2 | ||
8 | + defaultReferences: [] | ||
9 | + executionOrder: 0 | ||
10 | + icon: {instanceID: 0} | ||
11 | + userData: | ||
12 | + assetBundleName: | ||
13 | + assetBundleVariant: |
1 | +using System.Collections; | ||
2 | +using System.Collections.Generic; | ||
3 | +using UnityEngine; | ||
4 | +using System.Net; | ||
5 | +using System.Net.Sockets; | ||
6 | +using System.Threading; | ||
7 | + | ||
8 | +public class TransportUDP : MonoBehaviour | ||
9 | +{ | ||
10 | + | ||
11 | + // 소켓 액세스 포인트들 | ||
12 | + | ||
13 | + // 클라이언트의 접속을 받을 소켓 | ||
14 | + private Socket m_socket = null; | ||
15 | + | ||
16 | + private PacketQueue m_sendQueue; // 송신 버퍼 | ||
17 | + | ||
18 | + private PacketQueue m_recvQueue; // 수신 버퍼 | ||
19 | + | ||
20 | + public bool isServer { get; private set;} // 서버 플래그 | ||
21 | + | ||
22 | + public bool isConnected {get; private set;} // 접속 플래그 | ||
23 | + | ||
24 | + | ||
25 | + // 이벤트 관련 | ||
26 | + | ||
27 | + // 이벤트 통지 델리게이트 타입 정의 | ||
28 | + public delegate void EventHandler(NetEventState state); | ||
29 | + // 이벤트 핸들러 | ||
30 | + public event EventHandler onStateChanged; | ||
31 | + | ||
32 | + | ||
33 | + // 스레드 관련 멤버 변수 | ||
34 | + | ||
35 | + // 스레드 실행 프래그 | ||
36 | + protected bool m_threadLoop = false; | ||
37 | + protected Thread m_thread = null; | ||
38 | + private static int s_mtu = 1400; // 한번에 읽을 데이터 | ||
39 | + | ||
40 | + | ||
41 | + // 초기화 페이즈: 큐 생성 | ||
42 | + void Awake() | ||
43 | + { | ||
44 | + m_sendQueue = new PacketQueue(); | ||
45 | + m_recvQueue = new PacketQueue(); | ||
46 | + } | ||
47 | + | ||
48 | + // 서버로서 가동 (대기) 시작 | ||
49 | + public bool StartServer(int port, int connectionNum) | ||
50 | + { | ||
51 | + | ||
52 | + Debug.Log("Initiate Server!"); | ||
53 | + | ||
54 | + try | ||
55 | + { | ||
56 | + // 소켓 생성후 | ||
57 | + m_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Udp); | ||
58 | + | ||
59 | + // 대응 대역폭 지정 | ||
60 | + m_socket.Bind(new IPEndPoint(IPAddress.Any, port)); | ||
61 | + } | ||
62 | + catch | ||
63 | + { | ||
64 | + Debug.Log("Server Failed!"); | ||
65 | + | ||
66 | + return false; | ||
67 | + } | ||
68 | + | ||
69 | + isServer = true; | ||
70 | + | ||
71 | + bool success = LaunchThread(); | ||
72 | + | ||
73 | + return success; | ||
74 | + } | ||
75 | + | ||
76 | + // 서버로서 대기 종료 | ||
77 | + public void StopServer() | ||
78 | + { | ||
79 | + // 쓰레드 종료 | ||
80 | + m_threadLoop = false; | ||
81 | + | ||
82 | + if (m_thread != null) | ||
83 | + { | ||
84 | + m_thread.Join(); | ||
85 | + m_thread = null; | ||
86 | + } | ||
87 | + | ||
88 | + // 접속 종료 | ||
89 | + Disconnect(); | ||
90 | + | ||
91 | + isServer = false; | ||
92 | + | ||
93 | + Debug.Log("Server Stopped"); | ||
94 | + } | ||
95 | + | ||
96 | + public bool Connect(string address, int port) | ||
97 | + { | ||
98 | + Debug.Log("TransportUDP Connect Called"); | ||
99 | + | ||
100 | + // 이미 통신 소켓이 선점되어 있다면 | ||
101 | + if (m_socket != null) { | ||
102 | + return false; | ||
103 | + } | ||
104 | + | ||
105 | + bool ret = false; | ||
106 | + | ||
107 | + try { | ||
108 | + m_socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Udp); | ||
109 | + | ||
110 | + m_socket.NoDelay = true; // 소켓 지연시간 없음 | ||
111 | + m_socket.Connect(address,port); // 소켓 연결 시작 | ||
112 | + | ||
113 | + // 커넥션 스레드 시작 | ||
114 | + ret = LaunchThread(); | ||
115 | + } catch { | ||
116 | + // 실패했다면 소켓 파괴 | ||
117 | + m_socket = null; | ||
118 | + } | ||
119 | + | ||
120 | + if(ret == true) | ||
121 | + { | ||
122 | + isConnected = true; | ||
123 | + Debug.Log("Connection Success"); | ||
124 | + } | ||
125 | + else | ||
126 | + { | ||
127 | + isConnected = false; | ||
128 | + Debug.Log("Connection Fail"); | ||
129 | + } | ||
130 | + | ||
131 | + // 리스너가 존재한다면 통지 | ||
132 | + if(onStateChanged != null) { | ||
133 | + NetEventState state = new NetEventState(); | ||
134 | + state.type = NetEventType.Connect; | ||
135 | + state.result = (isConnected == true) ? NetEventResult.Success : NetEventResult.Failure; | ||
136 | + | ||
137 | + Debug.Log("Event Handler Called"); | ||
138 | + } | ||
139 | + | ||
140 | + return isConnected; | ||
141 | + } | ||
142 | + | ||
143 | + // 접속 종료 | ||
144 | + public void Disconnect() | ||
145 | + { | ||
146 | + isConnected = false; | ||
147 | + | ||
148 | + if (m_socket != null) | ||
149 | + { | ||
150 | + m_socket.Shutdown(SocketShutdown.Both); // 쌍방향 소켓 연결 내리기 | ||
151 | + m_socket.Close(); // 소켓 종료 | ||
152 | + m_socket = null; // 소켓 파괴 | ||
153 | + } | ||
154 | + | ||
155 | + // 리스터가 존재한다면 접속 종료를 공지 | ||
156 | + if (onStateChanged != null) | ||
157 | + { | ||
158 | + // 새로운 네트워크 상태 정보 생성후 | ||
159 | + NetEventState state = new NetEventState(); | ||
160 | + state.type = NetEventType.Disconnect; | ||
161 | + state.result = NetEventResult.Success; | ||
162 | + | ||
163 | + // 이벤트로 공지 | ||
164 | + onStateChanged(state); | ||
165 | + } | ||
166 | + } | ||
167 | + | ||
168 | + // 송신 처리 | ||
169 | + // 큐에 데이터를 넣어놓으면 알아서 쓰레드가 빼가서 보내놓을거라능 ㅇㅅㅇ | ||
170 | + public int Send(byte[] data, int size) | ||
171 | + { | ||
172 | + // 세이프티 체크 | ||
173 | + if(m_sendQueue == null) | ||
174 | + { | ||
175 | + return 0; | ||
176 | + } | ||
177 | + | ||
178 | + return m_sendQueue.Enqueue(data,size); | ||
179 | + } | ||
180 | + | ||
181 | + | ||
182 | + // 수신 처리 | ||
183 | + // 큐에 데이터를 넣어놓으면 알아서 쓰레드가 빼가서 보내놓을거라능 ㅇㅅㅇ | ||
184 | + public int Receive(ref byte[] data, int size) | ||
185 | + { | ||
186 | + // 세이프티 체크 | ||
187 | + if(m_recvQueue == null) | ||
188 | + { | ||
189 | + return 0; | ||
190 | + } | ||
191 | + | ||
192 | + return m_recvQueue.Dequeue(ref data,size); | ||
193 | + } | ||
194 | + | ||
195 | + // 스레드 실행 함수. | ||
196 | + // 목적: 돌려 놓으면 알아서 Send Queue 에 쌓아놓은 데이터는 보내주고 | ||
197 | + // 온 데이터는 Recv Queue 에 쌓아놓아줌 | ||
198 | + bool LaunchThread() | ||
199 | + { | ||
200 | + try { | ||
201 | + // Dispatch용 스레드 시작. | ||
202 | + m_threadLoop = true; | ||
203 | + m_thread = new Thread(new ThreadStart(Dispatch)); | ||
204 | + m_thread.Start(); | ||
205 | + } | ||
206 | + catch { | ||
207 | + Debug.Log("Cannot launch thread."); | ||
208 | + return false; | ||
209 | + } | ||
210 | + | ||
211 | + return true; | ||
212 | + } | ||
213 | + | ||
214 | + | ||
215 | + // 스레드를 통해 송수신을 처리해주는 실제 패킷큐 처리부 | ||
216 | + public void Dispatch() | ||
217 | + { | ||
218 | + Debug.Log("Distpach thread started."); | ||
219 | + | ||
220 | + // 스레드 루프가 계속 돌아가는 동안 | ||
221 | + while(m_threadLoop) | ||
222 | + { | ||
223 | + if(m_socket != null && isConnected == true) | ||
224 | + { | ||
225 | + // 송신 | ||
226 | + DispatchSend(); | ||
227 | + | ||
228 | + // 수신 | ||
229 | + DispatchReceive(); | ||
230 | + } | ||
231 | + | ||
232 | + // 실행 간격 5밀리 세컨드 | ||
233 | + Thread.Sleep(5); | ||
234 | + } | ||
235 | + | ||
236 | + Debug.Log("Dispatch thread ended"); | ||
237 | + } | ||
238 | + | ||
239 | + void DispatchSend() | ||
240 | + { | ||
241 | + try{ | ||
242 | + // 데이터를 보낼 준비가 되있다면 | ||
243 | + if(m_socket.Poll(0,SelectMode.SelectWrite)) | ||
244 | + { | ||
245 | + // 바이트 배열 생성 | ||
246 | + byte[] buffer = new byte[s_mtu]; | ||
247 | + | ||
248 | + // 전송 대기큐로부터 데이터를 빼내어 가져옴 | ||
249 | + int sendSize = m_sendQueue.Dequeue(ref buffer, buffer.Length); | ||
250 | + | ||
251 | + // 보낼 데이터가 있는 동안 계속 송신-데이터 빼오기 반복 | ||
252 | + while(sendSize > 0) { | ||
253 | + m_socket.Send(buffer, sendSize, SocketFlags.None); | ||
254 | + sendSize = m_sendQueue.Dequeue(ref buffer, buffer.Length); | ||
255 | + } | ||
256 | + } | ||
257 | + } catch { | ||
258 | + return; | ||
259 | + } | ||
260 | + } | ||
261 | + | ||
262 | + void DispatchReceive() | ||
263 | + { | ||
264 | + try{ | ||
265 | + // 읽을 데이터가 있으면 | ||
266 | + while(m_socket.Poll(0,SelectMode.SelectRead)) { | ||
267 | + byte[] buffer = new byte[s_mtu]; | ||
268 | + | ||
269 | + int recvSize = m_socket.Receive(buffer,buffer.Length,SocketFlags.None); | ||
270 | + | ||
271 | + if(recvSize == 0) | ||
272 | + { | ||
273 | + // 더이상 가져올 데이터가 없다면 | ||
274 | + | ||
275 | + Debug.Log("Diconnect recv from client."); | ||
276 | + Disconnect(); | ||
277 | + } | ||
278 | + else if (recvSize > 0) { // 데이터를 가져왔다면 리시브 큐에 적재해둠 | ||
279 | + m_recvQueue.Enqueue(buffer,recvSize); | ||
280 | + | ||
281 | + } | ||
282 | + } | ||
283 | + } | ||
284 | + catch { | ||
285 | + return; | ||
286 | + } | ||
287 | + } | ||
288 | +} |
1 | +fileFormatVersion: 2 | ||
2 | +guid: a9312813559bd41e9b935e2418917ad0 | ||
3 | +timeCreated: 1517148687 | ||
4 | +licenseType: Pro | ||
5 | +MonoImporter: | ||
6 | + externalObjects: {} | ||
7 | + serializedVersion: 2 | ||
8 | + defaultReferences: [] | ||
9 | + executionOrder: 0 | ||
10 | + icon: {instanceID: 0} | ||
11 | + userData: | ||
12 | + assetBundleName: | ||
13 | + assetBundleVariant: |
1 | +%YAML 1.1 | ||
2 | +%TAG !u! tag:unity3d.com,2011: | ||
3 | +--- !u!11 &1 | ||
4 | +AudioManager: | ||
5 | + m_ObjectHideFlags: 0 | ||
6 | + m_Volume: 1 | ||
7 | + Rolloff Scale: 1 | ||
8 | + Doppler Factor: 1 | ||
9 | + Default Speaker Mode: 2 | ||
10 | + m_SampleRate: 0 | ||
11 | + m_DSPBufferSize: 0 | ||
12 | + m_VirtualVoiceCount: 512 | ||
13 | + m_RealVoiceCount: 32 | ||
14 | + m_SpatializerPlugin: | ||
15 | + m_AmbisonicDecoderPlugin: | ||
16 | + m_DisableAudio: 0 | ||
17 | + m_VirtualizeEffects: 1 |
1 | +%YAML 1.1 | ||
2 | +%TAG !u! tag:unity3d.com,2011: | ||
3 | +--- !u!55 &1 | ||
4 | +PhysicsManager: | ||
5 | + m_ObjectHideFlags: 0 | ||
6 | + serializedVersion: 7 | ||
7 | + m_Gravity: {x: 0, y: -9.81, z: 0} | ||
8 | + m_DefaultMaterial: {fileID: 0} | ||
9 | + m_BounceThreshold: 2 | ||
10 | + m_SleepThreshold: 0.005 | ||
11 | + m_DefaultContactOffset: 0.01 | ||
12 | + m_DefaultSolverIterations: 6 | ||
13 | + m_DefaultSolverVelocityIterations: 1 | ||
14 | + m_QueriesHitBackfaces: 0 | ||
15 | + m_QueriesHitTriggers: 1 | ||
16 | + m_EnableAdaptiveForce: 0 | ||
17 | + m_ClothInterCollisionDistance: 0 | ||
18 | + m_ClothInterCollisionStiffness: 0 | ||
19 | + m_ContactsGeneration: 1 | ||
20 | + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff | ||
21 | + m_AutoSimulation: 1 | ||
22 | + m_AutoSyncTransforms: 1 | ||
23 | + m_ClothInterCollisionSettingsToggle: 0 | ||
24 | + m_ContactPairsMode: 0 | ||
25 | + m_BroadphaseType: 0 | ||
26 | + m_WorldBounds: | ||
27 | + m_Center: {x: 0, y: 0, z: 0} | ||
28 | + m_Extent: {x: 250, y: 250, z: 250} | ||
29 | + m_WorldSubdivisions: 8 |
1 | +%YAML 1.1 | ||
2 | +%TAG !u! tag:unity3d.com,2011: | ||
3 | +--- !u!159 &1 | ||
4 | +EditorSettings: | ||
5 | + m_ObjectHideFlags: 0 | ||
6 | + serializedVersion: 7 | ||
7 | + m_ExternalVersionControlSupport: Hidden Meta Files | ||
8 | + m_SerializationMode: 2 | ||
9 | + m_LineEndingsForNewScripts: 1 | ||
10 | + m_DefaultBehaviorMode: 0 | ||
11 | + m_SpritePackerMode: 0 | ||
12 | + m_SpritePackerPaddingPower: 1 | ||
13 | + m_EtcTextureCompressorBehavior: 1 | ||
14 | + m_EtcTextureFastCompressor: 1 | ||
15 | + m_EtcTextureNormalCompressor: 2 | ||
16 | + m_EtcTextureBestCompressor: 4 | ||
17 | + m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp | ||
18 | + m_ProjectGenerationRootNamespace: | ||
19 | + m_UserGeneratedProjectSuffix: | ||
20 | + m_CollabEditorSettings: | ||
21 | + inProgressEnabled: 1 |
1 | +%YAML 1.1 | ||
2 | +%TAG !u! tag:unity3d.com,2011: | ||
3 | +--- !u!30 &1 | ||
4 | +GraphicsSettings: | ||
5 | + m_ObjectHideFlags: 0 | ||
6 | + serializedVersion: 12 | ||
7 | + m_Deferred: | ||
8 | + m_Mode: 1 | ||
9 | + m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} | ||
10 | + m_DeferredReflections: | ||
11 | + m_Mode: 1 | ||
12 | + m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} | ||
13 | + m_ScreenSpaceShadows: | ||
14 | + m_Mode: 1 | ||
15 | + m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} | ||
16 | + m_LegacyDeferred: | ||
17 | + m_Mode: 1 | ||
18 | + m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} | ||
19 | + m_DepthNormals: | ||
20 | + m_Mode: 1 | ||
21 | + m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} | ||
22 | + m_MotionVectors: | ||
23 | + m_Mode: 1 | ||
24 | + m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} | ||
25 | + m_LightHalo: | ||
26 | + m_Mode: 1 | ||
27 | + m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} | ||
28 | + m_LensFlare: | ||
29 | + m_Mode: 1 | ||
30 | + m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} | ||
31 | + m_AlwaysIncludedShaders: | ||
32 | + - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} | ||
33 | + - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} | ||
34 | + - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} | ||
35 | + - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} | ||
36 | + - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} | ||
37 | + - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} | ||
38 | + - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} | ||
39 | + - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} | ||
40 | + - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0} | ||
41 | + m_PreloadedShaders: [] | ||
42 | + m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, | ||
43 | + type: 0} | ||
44 | + m_CustomRenderPipeline: {fileID: 0} | ||
45 | + m_TransparencySortMode: 0 | ||
46 | + m_TransparencySortAxis: {x: 0, y: 0, z: 1} | ||
47 | + m_DefaultRenderingPath: 1 | ||
48 | + m_DefaultMobileRenderingPath: 1 | ||
49 | + m_TierSettings: [] | ||
50 | + m_LightmapStripping: 0 | ||
51 | + m_FogStripping: 0 | ||
52 | + m_InstancingStripping: 0 | ||
53 | + m_LightmapKeepPlain: 1 | ||
54 | + m_LightmapKeepDirCombined: 1 | ||
55 | + m_LightmapKeepDynamicPlain: 1 | ||
56 | + m_LightmapKeepDynamicDirCombined: 1 | ||
57 | + m_LightmapKeepShadowMask: 1 | ||
58 | + m_LightmapKeepSubtractive: 1 | ||
59 | + m_FogKeepLinear: 1 | ||
60 | + m_FogKeepExp: 1 | ||
61 | + m_FogKeepExp2: 1 | ||
62 | + m_AlbedoSwatchInfos: [] | ||
63 | + m_LightsUseLinearIntensity: 0 | ||
64 | + m_LightsUseColorTemperature: 0 |
1 | +%YAML 1.1 | ||
2 | +%TAG !u! tag:unity3d.com,2011: | ||
3 | +--- !u!13 &1 | ||
4 | +InputManager: | ||
5 | + m_ObjectHideFlags: 0 | ||
6 | + serializedVersion: 2 | ||
7 | + m_Axes: | ||
8 | + - serializedVersion: 3 | ||
9 | + m_Name: Horizontal | ||
10 | + descriptiveName: | ||
11 | + descriptiveNegativeName: | ||
12 | + negativeButton: left | ||
13 | + positiveButton: right | ||
14 | + altNegativeButton: a | ||
15 | + altPositiveButton: d | ||
16 | + gravity: 3 | ||
17 | + dead: 0.001 | ||
18 | + sensitivity: 3 | ||
19 | + snap: 1 | ||
20 | + invert: 0 | ||
21 | + type: 0 | ||
22 | + axis: 0 | ||
23 | + joyNum: 0 | ||
24 | + - serializedVersion: 3 | ||
25 | + m_Name: Vertical | ||
26 | + descriptiveName: | ||
27 | + descriptiveNegativeName: | ||
28 | + negativeButton: down | ||
29 | + positiveButton: up | ||
30 | + altNegativeButton: s | ||
31 | + altPositiveButton: w | ||
32 | + gravity: 3 | ||
33 | + dead: 0.001 | ||
34 | + sensitivity: 3 | ||
35 | + snap: 1 | ||
36 | + invert: 0 | ||
37 | + type: 0 | ||
38 | + axis: 0 | ||
39 | + joyNum: 0 | ||
40 | + - serializedVersion: 3 | ||
41 | + m_Name: Fire1 | ||
42 | + descriptiveName: | ||
43 | + descriptiveNegativeName: | ||
44 | + negativeButton: | ||
45 | + positiveButton: left ctrl | ||
46 | + altNegativeButton: | ||
47 | + altPositiveButton: mouse 0 | ||
48 | + gravity: 1000 | ||
49 | + dead: 0.001 | ||
50 | + sensitivity: 1000 | ||
51 | + snap: 0 | ||
52 | + invert: 0 | ||
53 | + type: 0 | ||
54 | + axis: 0 | ||
55 | + joyNum: 0 | ||
56 | + - serializedVersion: 3 | ||
57 | + m_Name: Fire2 | ||
58 | + descriptiveName: | ||
59 | + descriptiveNegativeName: | ||
60 | + negativeButton: | ||
61 | + positiveButton: left alt | ||
62 | + altNegativeButton: | ||
63 | + altPositiveButton: mouse 1 | ||
64 | + gravity: 1000 | ||
65 | + dead: 0.001 | ||
66 | + sensitivity: 1000 | ||
67 | + snap: 0 | ||
68 | + invert: 0 | ||
69 | + type: 0 | ||
70 | + axis: 0 | ||
71 | + joyNum: 0 | ||
72 | + - serializedVersion: 3 | ||
73 | + m_Name: Fire3 | ||
74 | + descriptiveName: | ||
75 | + descriptiveNegativeName: | ||
76 | + negativeButton: | ||
77 | + positiveButton: left shift | ||
78 | + altNegativeButton: | ||
79 | + altPositiveButton: mouse 2 | ||
80 | + gravity: 1000 | ||
81 | + dead: 0.001 | ||
82 | + sensitivity: 1000 | ||
83 | + snap: 0 | ||
84 | + invert: 0 | ||
85 | + type: 0 | ||
86 | + axis: 0 | ||
87 | + joyNum: 0 | ||
88 | + - serializedVersion: 3 | ||
89 | + m_Name: Jump | ||
90 | + descriptiveName: | ||
91 | + descriptiveNegativeName: | ||
92 | + negativeButton: | ||
93 | + positiveButton: space | ||
94 | + altNegativeButton: | ||
95 | + altPositiveButton: | ||
96 | + gravity: 1000 | ||
97 | + dead: 0.001 | ||
98 | + sensitivity: 1000 | ||
99 | + snap: 0 | ||
100 | + invert: 0 | ||
101 | + type: 0 | ||
102 | + axis: 0 | ||
103 | + joyNum: 0 | ||
104 | + - serializedVersion: 3 | ||
105 | + m_Name: Mouse X | ||
106 | + descriptiveName: | ||
107 | + descriptiveNegativeName: | ||
108 | + negativeButton: | ||
109 | + positiveButton: | ||
110 | + altNegativeButton: | ||
111 | + altPositiveButton: | ||
112 | + gravity: 0 | ||
113 | + dead: 0 | ||
114 | + sensitivity: 0.1 | ||
115 | + snap: 0 | ||
116 | + invert: 0 | ||
117 | + type: 1 | ||
118 | + axis: 0 | ||
119 | + joyNum: 0 | ||
120 | + - serializedVersion: 3 | ||
121 | + m_Name: Mouse Y | ||
122 | + descriptiveName: | ||
123 | + descriptiveNegativeName: | ||
124 | + negativeButton: | ||
125 | + positiveButton: | ||
126 | + altNegativeButton: | ||
127 | + altPositiveButton: | ||
128 | + gravity: 0 | ||
129 | + dead: 0 | ||
130 | + sensitivity: 0.1 | ||
131 | + snap: 0 | ||
132 | + invert: 0 | ||
133 | + type: 1 | ||
134 | + axis: 1 | ||
135 | + joyNum: 0 | ||
136 | + - serializedVersion: 3 | ||
137 | + m_Name: Mouse ScrollWheel | ||
138 | + descriptiveName: | ||
139 | + descriptiveNegativeName: | ||
140 | + negativeButton: | ||
141 | + positiveButton: | ||
142 | + altNegativeButton: | ||
143 | + altPositiveButton: | ||
144 | + gravity: 0 | ||
145 | + dead: 0 | ||
146 | + sensitivity: 0.1 | ||
147 | + snap: 0 | ||
148 | + invert: 0 | ||
149 | + type: 1 | ||
150 | + axis: 2 | ||
151 | + joyNum: 0 | ||
152 | + - serializedVersion: 3 | ||
153 | + m_Name: Horizontal | ||
154 | + descriptiveName: | ||
155 | + descriptiveNegativeName: | ||
156 | + negativeButton: | ||
157 | + positiveButton: | ||
158 | + altNegativeButton: | ||
159 | + altPositiveButton: | ||
160 | + gravity: 0 | ||
161 | + dead: 0.19 | ||
162 | + sensitivity: 1 | ||
163 | + snap: 0 | ||
164 | + invert: 0 | ||
165 | + type: 2 | ||
166 | + axis: 0 | ||
167 | + joyNum: 0 | ||
168 | + - serializedVersion: 3 | ||
169 | + m_Name: Vertical | ||
170 | + descriptiveName: | ||
171 | + descriptiveNegativeName: | ||
172 | + negativeButton: | ||
173 | + positiveButton: | ||
174 | + altNegativeButton: | ||
175 | + altPositiveButton: | ||
176 | + gravity: 0 | ||
177 | + dead: 0.19 | ||
178 | + sensitivity: 1 | ||
179 | + snap: 0 | ||
180 | + invert: 1 | ||
181 | + type: 2 | ||
182 | + axis: 1 | ||
183 | + joyNum: 0 | ||
184 | + - serializedVersion: 3 | ||
185 | + m_Name: Fire1 | ||
186 | + descriptiveName: | ||
187 | + descriptiveNegativeName: | ||
188 | + negativeButton: | ||
189 | + positiveButton: joystick button 0 | ||
190 | + altNegativeButton: | ||
191 | + altPositiveButton: | ||
192 | + gravity: 1000 | ||
193 | + dead: 0.001 | ||
194 | + sensitivity: 1000 | ||
195 | + snap: 0 | ||
196 | + invert: 0 | ||
197 | + type: 0 | ||
198 | + axis: 0 | ||
199 | + joyNum: 0 | ||
200 | + - serializedVersion: 3 | ||
201 | + m_Name: Fire2 | ||
202 | + descriptiveName: | ||
203 | + descriptiveNegativeName: | ||
204 | + negativeButton: | ||
205 | + positiveButton: joystick button 1 | ||
206 | + altNegativeButton: | ||
207 | + altPositiveButton: | ||
208 | + gravity: 1000 | ||
209 | + dead: 0.001 | ||
210 | + sensitivity: 1000 | ||
211 | + snap: 0 | ||
212 | + invert: 0 | ||
213 | + type: 0 | ||
214 | + axis: 0 | ||
215 | + joyNum: 0 | ||
216 | + - serializedVersion: 3 | ||
217 | + m_Name: Fire3 | ||
218 | + descriptiveName: | ||
219 | + descriptiveNegativeName: | ||
220 | + negativeButton: | ||
221 | + positiveButton: joystick button 2 | ||
222 | + altNegativeButton: | ||
223 | + altPositiveButton: | ||
224 | + gravity: 1000 | ||
225 | + dead: 0.001 | ||
226 | + sensitivity: 1000 | ||
227 | + snap: 0 | ||
228 | + invert: 0 | ||
229 | + type: 0 | ||
230 | + axis: 0 | ||
231 | + joyNum: 0 | ||
232 | + - serializedVersion: 3 | ||
233 | + m_Name: Jump | ||
234 | + descriptiveName: | ||
235 | + descriptiveNegativeName: | ||
236 | + negativeButton: | ||
237 | + positiveButton: joystick button 3 | ||
238 | + altNegativeButton: | ||
239 | + altPositiveButton: | ||
240 | + gravity: 1000 | ||
241 | + dead: 0.001 | ||
242 | + sensitivity: 1000 | ||
243 | + snap: 0 | ||
244 | + invert: 0 | ||
245 | + type: 0 | ||
246 | + axis: 0 | ||
247 | + joyNum: 0 | ||
248 | + - serializedVersion: 3 | ||
249 | + m_Name: Submit | ||
250 | + descriptiveName: | ||
251 | + descriptiveNegativeName: | ||
252 | + negativeButton: | ||
253 | + positiveButton: return | ||
254 | + altNegativeButton: | ||
255 | + altPositiveButton: joystick button 0 | ||
256 | + gravity: 1000 | ||
257 | + dead: 0.001 | ||
258 | + sensitivity: 1000 | ||
259 | + snap: 0 | ||
260 | + invert: 0 | ||
261 | + type: 0 | ||
262 | + axis: 0 | ||
263 | + joyNum: 0 | ||
264 | + - serializedVersion: 3 | ||
265 | + m_Name: Submit | ||
266 | + descriptiveName: | ||
267 | + descriptiveNegativeName: | ||
268 | + negativeButton: | ||
269 | + positiveButton: enter | ||
270 | + altNegativeButton: | ||
271 | + altPositiveButton: space | ||
272 | + gravity: 1000 | ||
273 | + dead: 0.001 | ||
274 | + sensitivity: 1000 | ||
275 | + snap: 0 | ||
276 | + invert: 0 | ||
277 | + type: 0 | ||
278 | + axis: 0 | ||
279 | + joyNum: 0 | ||
280 | + - serializedVersion: 3 | ||
281 | + m_Name: Cancel | ||
282 | + descriptiveName: | ||
283 | + descriptiveNegativeName: | ||
284 | + negativeButton: | ||
285 | + positiveButton: escape | ||
286 | + altNegativeButton: | ||
287 | + altPositiveButton: joystick button 1 | ||
288 | + gravity: 1000 | ||
289 | + dead: 0.001 | ||
290 | + sensitivity: 1000 | ||
291 | + snap: 0 | ||
292 | + invert: 0 | ||
293 | + type: 0 | ||
294 | + axis: 0 | ||
295 | + joyNum: 0 |
1 | +%YAML 1.1 | ||
2 | +%TAG !u! tag:unity3d.com,2011: | ||
3 | +--- !u!126 &1 | ||
4 | +NavMeshProjectSettings: | ||
5 | + m_ObjectHideFlags: 0 | ||
6 | + serializedVersion: 2 | ||
7 | + areas: | ||
8 | + - name: Walkable | ||
9 | + cost: 1 | ||
10 | + - name: Not Walkable | ||
11 | + cost: 1 | ||
12 | + - name: Jump | ||
13 | + cost: 2 | ||
14 | + - name: | ||
15 | + cost: 1 | ||
16 | + - name: | ||
17 | + cost: 1 | ||
18 | + - name: | ||
19 | + cost: 1 | ||
20 | + - name: | ||
21 | + cost: 1 | ||
22 | + - name: | ||
23 | + cost: 1 | ||
24 | + - name: | ||
25 | + cost: 1 | ||
26 | + - name: | ||
27 | + cost: 1 | ||
28 | + - name: | ||
29 | + cost: 1 | ||
30 | + - name: | ||
31 | + cost: 1 | ||
32 | + - name: | ||
33 | + cost: 1 | ||
34 | + - name: | ||
35 | + cost: 1 | ||
36 | + - name: | ||
37 | + cost: 1 | ||
38 | + - name: | ||
39 | + cost: 1 | ||
40 | + - name: | ||
41 | + cost: 1 | ||
42 | + - name: | ||
43 | + cost: 1 | ||
44 | + - name: | ||
45 | + cost: 1 | ||
46 | + - name: | ||
47 | + cost: 1 | ||
48 | + - name: | ||
49 | + cost: 1 | ||
50 | + - name: | ||
51 | + cost: 1 | ||
52 | + - name: | ||
53 | + cost: 1 | ||
54 | + - name: | ||
55 | + cost: 1 | ||
56 | + - name: | ||
57 | + cost: 1 | ||
58 | + - name: | ||
59 | + cost: 1 | ||
60 | + - name: | ||
61 | + cost: 1 | ||
62 | + - name: | ||
63 | + cost: 1 | ||
64 | + - name: | ||
65 | + cost: 1 | ||
66 | + - name: | ||
67 | + cost: 1 | ||
68 | + - name: | ||
69 | + cost: 1 | ||
70 | + - name: | ||
71 | + cost: 1 | ||
72 | + m_LastAgentTypeID: -887442657 | ||
73 | + m_Settings: | ||
74 | + - serializedVersion: 2 | ||
75 | + agentTypeID: 0 | ||
76 | + agentRadius: 0.5 | ||
77 | + agentHeight: 2 | ||
78 | + agentSlope: 45 | ||
79 | + agentClimb: 0.75 | ||
80 | + ledgeDropHeight: 0 | ||
81 | + maxJumpAcrossDistance: 0 | ||
82 | + minRegionArea: 2 | ||
83 | + manualCellSize: 0 | ||
84 | + cellSize: 0.16666667 | ||
85 | + manualTileSize: 0 | ||
86 | + tileSize: 256 | ||
87 | + accuratePlacement: 0 | ||
88 | + debug: | ||
89 | + m_Flags: 0 | ||
90 | + m_SettingNames: | ||
91 | + - Humanoid |
1 | +%YAML 1.1 | ||
2 | +%TAG !u! tag:unity3d.com,2011: | ||
3 | +--- !u!19 &1 | ||
4 | +Physics2DSettings: | ||
5 | + m_ObjectHideFlags: 0 | ||
6 | + serializedVersion: 3 | ||
7 | + m_Gravity: {x: 0, y: -9.81} | ||
8 | + m_DefaultMaterial: {fileID: 0} | ||
9 | + m_VelocityIterations: 8 | ||
10 | + m_PositionIterations: 3 | ||
11 | + m_VelocityThreshold: 1 | ||
12 | + m_MaxLinearCorrection: 0.2 | ||
13 | + m_MaxAngularCorrection: 8 | ||
14 | + m_MaxTranslationSpeed: 100 | ||
15 | + m_MaxRotationSpeed: 360 | ||
16 | + m_BaumgarteScale: 0.2 | ||
17 | + m_BaumgarteTimeOfImpactScale: 0.75 | ||
18 | + m_TimeToSleep: 0.5 | ||
19 | + m_LinearSleepTolerance: 0.01 | ||
20 | + m_AngularSleepTolerance: 2 | ||
21 | + m_DefaultContactOffset: 0.01 | ||
22 | + m_AutoSimulation: 1 | ||
23 | + m_QueriesHitTriggers: 1 | ||
24 | + m_QueriesStartInColliders: 1 | ||
25 | + m_ChangeStopsCallbacks: 0 | ||
26 | + m_CallbacksOnDisable: 1 | ||
27 | + m_AutoSyncTransforms: 1 | ||
28 | + m_AlwaysShowColliders: 0 | ||
29 | + m_ShowColliderSleep: 1 | ||
30 | + m_ShowColliderContacts: 0 | ||
31 | + m_ShowColliderAABB: 0 | ||
32 | + m_ContactArrowScale: 0.2 | ||
33 | + m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} | ||
34 | + m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} | ||
35 | + m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} | ||
36 | + m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} | ||
37 | + m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff |
1 | +%YAML 1.1 | ||
2 | +%TAG !u! tag:unity3d.com,2011: | ||
3 | +--- !u!129 &1 | ||
4 | +PlayerSettings: | ||
5 | + m_ObjectHideFlags: 0 | ||
6 | + serializedVersion: 14 | ||
7 | + productGUID: 8b870f80a4ab64829baeff46f3c082cf | ||
8 | + AndroidProfiler: 0 | ||
9 | + AndroidFilterTouchesWhenObscured: 0 | ||
10 | + defaultScreenOrientation: 4 | ||
11 | + targetDevice: 2 | ||
12 | + useOnDemandResources: 0 | ||
13 | + accelerometerFrequency: 60 | ||
14 | + companyName: DefaultCompany | ||
15 | + productName: Basic Network Library | ||
16 | + defaultCursor: {fileID: 0} | ||
17 | + cursorHotspot: {x: 0, y: 0} | ||
18 | + m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} | ||
19 | + m_ShowUnitySplashScreen: 1 | ||
20 | + m_ShowUnitySplashLogo: 1 | ||
21 | + m_SplashScreenOverlayOpacity: 1 | ||
22 | + m_SplashScreenAnimation: 1 | ||
23 | + m_SplashScreenLogoStyle: 1 | ||
24 | + m_SplashScreenDrawMode: 0 | ||
25 | + m_SplashScreenBackgroundAnimationZoom: 1 | ||
26 | + m_SplashScreenLogoAnimationZoom: 1 | ||
27 | + m_SplashScreenBackgroundLandscapeAspect: 1 | ||
28 | + m_SplashScreenBackgroundPortraitAspect: 1 | ||
29 | + m_SplashScreenBackgroundLandscapeUvs: | ||
30 | + serializedVersion: 2 | ||
31 | + x: 0 | ||
32 | + y: 0 | ||
33 | + width: 1 | ||
34 | + height: 1 | ||
35 | + m_SplashScreenBackgroundPortraitUvs: | ||
36 | + serializedVersion: 2 | ||
37 | + x: 0 | ||
38 | + y: 0 | ||
39 | + width: 1 | ||
40 | + height: 1 | ||
41 | + m_SplashScreenLogos: [] | ||
42 | + m_VirtualRealitySplashScreen: {fileID: 0} | ||
43 | + m_HolographicTrackingLossScreen: {fileID: 0} | ||
44 | + defaultScreenWidth: 1024 | ||
45 | + defaultScreenHeight: 768 | ||
46 | + defaultScreenWidthWeb: 960 | ||
47 | + defaultScreenHeightWeb: 600 | ||
48 | + m_StereoRenderingPath: 0 | ||
49 | + m_ActiveColorSpace: 0 | ||
50 | + m_MTRendering: 1 | ||
51 | + m_StackTraceTypes: 010000000100000001000000010000000100000001000000 | ||
52 | + iosShowActivityIndicatorOnLoading: -1 | ||
53 | + androidShowActivityIndicatorOnLoading: -1 | ||
54 | + tizenShowActivityIndicatorOnLoading: -1 | ||
55 | + iosAppInBackgroundBehavior: 0 | ||
56 | + displayResolutionDialog: 1 | ||
57 | + iosAllowHTTPDownload: 1 | ||
58 | + allowedAutorotateToPortrait: 1 | ||
59 | + allowedAutorotateToPortraitUpsideDown: 1 | ||
60 | + allowedAutorotateToLandscapeRight: 1 | ||
61 | + allowedAutorotateToLandscapeLeft: 1 | ||
62 | + useOSAutorotation: 1 | ||
63 | + use32BitDisplayBuffer: 1 | ||
64 | + preserveFramebufferAlpha: 0 | ||
65 | + disableDepthAndStencilBuffers: 0 | ||
66 | + androidBlitType: 0 | ||
67 | + defaultIsFullScreen: 1 | ||
68 | + defaultIsNativeResolution: 1 | ||
69 | + macRetinaSupport: 1 | ||
70 | + runInBackground: 0 | ||
71 | + captureSingleScreen: 0 | ||
72 | + muteOtherAudioSources: 0 | ||
73 | + Prepare IOS For Recording: 0 | ||
74 | + Force IOS Speakers When Recording: 0 | ||
75 | + deferSystemGesturesMode: 0 | ||
76 | + hideHomeButton: 0 | ||
77 | + submitAnalytics: 1 | ||
78 | + usePlayerLog: 1 | ||
79 | + bakeCollisionMeshes: 0 | ||
80 | + forceSingleInstance: 0 | ||
81 | + resizableWindow: 0 | ||
82 | + useMacAppStoreValidation: 0 | ||
83 | + macAppStoreCategory: public.app-category.games | ||
84 | + gpuSkinning: 0 | ||
85 | + graphicsJobs: 0 | ||
86 | + xboxPIXTextureCapture: 0 | ||
87 | + xboxEnableAvatar: 0 | ||
88 | + xboxEnableKinect: 0 | ||
89 | + xboxEnableKinectAutoTracking: 0 | ||
90 | + xboxEnableFitness: 0 | ||
91 | + visibleInBackground: 1 | ||
92 | + allowFullscreenSwitch: 1 | ||
93 | + graphicsJobMode: 0 | ||
94 | + macFullscreenMode: 2 | ||
95 | + d3d11FullscreenMode: 1 | ||
96 | + xboxSpeechDB: 0 | ||
97 | + xboxEnableHeadOrientation: 0 | ||
98 | + xboxEnableGuest: 0 | ||
99 | + xboxEnablePIXSampling: 0 | ||
100 | + metalFramebufferOnly: 0 | ||
101 | + n3dsDisableStereoscopicView: 0 | ||
102 | + n3dsEnableSharedListOpt: 1 | ||
103 | + n3dsEnableVSync: 0 | ||
104 | + xboxOneResolution: 0 | ||
105 | + xboxOneSResolution: 0 | ||
106 | + xboxOneXResolution: 3 | ||
107 | + xboxOneMonoLoggingLevel: 0 | ||
108 | + xboxOneLoggingLevel: 1 | ||
109 | + xboxOneDisableEsram: 0 | ||
110 | + xboxOnePresentImmediateThreshold: 0 | ||
111 | + videoMemoryForVertexBuffers: 0 | ||
112 | + psp2PowerMode: 0 | ||
113 | + psp2AcquireBGM: 1 | ||
114 | + wiiUTVResolution: 0 | ||
115 | + wiiUGamePadMSAA: 1 | ||
116 | + wiiUSupportsNunchuk: 0 | ||
117 | + wiiUSupportsClassicController: 0 | ||
118 | + wiiUSupportsBalanceBoard: 0 | ||
119 | + wiiUSupportsMotionPlus: 0 | ||
120 | + wiiUSupportsProController: 0 | ||
121 | + wiiUAllowScreenCapture: 1 | ||
122 | + wiiUControllerCount: 0 | ||
123 | + m_SupportedAspectRatios: | ||
124 | + 4:3: 1 | ||
125 | + 5:4: 1 | ||
126 | + 16:10: 1 | ||
127 | + 16:9: 1 | ||
128 | + Others: 1 | ||
129 | + bundleVersion: 1.0 | ||
130 | + preloadedAssets: [] | ||
131 | + metroInputSource: 0 | ||
132 | + wsaTransparentSwapchain: 0 | ||
133 | + m_HolographicPauseOnTrackingLoss: 1 | ||
134 | + xboxOneDisableKinectGpuReservation: 0 | ||
135 | + xboxOneEnable7thCore: 0 | ||
136 | + vrSettings: | ||
137 | + cardboard: | ||
138 | + depthFormat: 0 | ||
139 | + enableTransitionView: 0 | ||
140 | + daydream: | ||
141 | + depthFormat: 0 | ||
142 | + useSustainedPerformanceMode: 0 | ||
143 | + enableVideoLayer: 0 | ||
144 | + useProtectedVideoMemory: 0 | ||
145 | + minimumSupportedHeadTracking: 0 | ||
146 | + maximumSupportedHeadTracking: 1 | ||
147 | + hololens: | ||
148 | + depthFormat: 1 | ||
149 | + depthBufferSharingEnabled: 0 | ||
150 | + oculus: | ||
151 | + sharedDepthBuffer: 0 | ||
152 | + dashSupport: 0 | ||
153 | + protectGraphicsMemory: 0 | ||
154 | + useHDRDisplay: 0 | ||
155 | + m_ColorGamuts: 00000000 | ||
156 | + targetPixelDensity: 30 | ||
157 | + resolutionScalingMode: 0 | ||
158 | + androidSupportedAspectRatio: 1 | ||
159 | + androidMaxAspectRatio: 2.1 | ||
160 | + applicationIdentifier: {} | ||
161 | + buildNumber: {} | ||
162 | + AndroidBundleVersionCode: 1 | ||
163 | + AndroidMinSdkVersion: 16 | ||
164 | + AndroidTargetSdkVersion: 0 | ||
165 | + AndroidPreferredInstallLocation: 1 | ||
166 | + aotOptions: | ||
167 | + stripEngineCode: 1 | ||
168 | + iPhoneStrippingLevel: 0 | ||
169 | + iPhoneScriptCallOptimization: 0 | ||
170 | + ForceInternetPermission: 0 | ||
171 | + ForceSDCardPermission: 0 | ||
172 | + CreateWallpaper: 0 | ||
173 | + APKExpansionFiles: 0 | ||
174 | + keepLoadedShadersAlive: 0 | ||
175 | + StripUnusedMeshComponents: 0 | ||
176 | + VertexChannelCompressionMask: | ||
177 | + serializedVersion: 2 | ||
178 | + m_Bits: 238 | ||
179 | + iPhoneSdkVersion: 988 | ||
180 | + iOSTargetOSVersionString: 7.0 | ||
181 | + tvOSSdkVersion: 0 | ||
182 | + tvOSRequireExtendedGameController: 0 | ||
183 | + tvOSTargetOSVersionString: 9.0 | ||
184 | + uIPrerenderedIcon: 0 | ||
185 | + uIRequiresPersistentWiFi: 0 | ||
186 | + uIRequiresFullScreen: 1 | ||
187 | + uIStatusBarHidden: 1 | ||
188 | + uIExitOnSuspend: 0 | ||
189 | + uIStatusBarStyle: 0 | ||
190 | + iPhoneSplashScreen: {fileID: 0} | ||
191 | + iPhoneHighResSplashScreen: {fileID: 0} | ||
192 | + iPhoneTallHighResSplashScreen: {fileID: 0} | ||
193 | + iPhone47inSplashScreen: {fileID: 0} | ||
194 | + iPhone55inPortraitSplashScreen: {fileID: 0} | ||
195 | + iPhone55inLandscapeSplashScreen: {fileID: 0} | ||
196 | + iPhone58inPortraitSplashScreen: {fileID: 0} | ||
197 | + iPhone58inLandscapeSplashScreen: {fileID: 0} | ||
198 | + iPadPortraitSplashScreen: {fileID: 0} | ||
199 | + iPadHighResPortraitSplashScreen: {fileID: 0} | ||
200 | + iPadLandscapeSplashScreen: {fileID: 0} | ||
201 | + iPadHighResLandscapeSplashScreen: {fileID: 0} | ||
202 | + appleTVSplashScreen: {fileID: 0} | ||
203 | + appleTVSplashScreen2x: {fileID: 0} | ||
204 | + tvOSSmallIconLayers: [] | ||
205 | + tvOSSmallIconLayers2x: [] | ||
206 | + tvOSLargeIconLayers: [] | ||
207 | + tvOSLargeIconLayers2x: [] | ||
208 | + tvOSTopShelfImageLayers: [] | ||
209 | + tvOSTopShelfImageLayers2x: [] | ||
210 | + tvOSTopShelfImageWideLayers: [] | ||
211 | + tvOSTopShelfImageWideLayers2x: [] | ||
212 | + iOSLaunchScreenType: 0 | ||
213 | + iOSLaunchScreenPortrait: {fileID: 0} | ||
214 | + iOSLaunchScreenLandscape: {fileID: 0} | ||
215 | + iOSLaunchScreenBackgroundColor: | ||
216 | + serializedVersion: 2 | ||
217 | + rgba: 0 | ||
218 | + iOSLaunchScreenFillPct: 100 | ||
219 | + iOSLaunchScreenSize: 100 | ||
220 | + iOSLaunchScreenCustomXibPath: | ||
221 | + iOSLaunchScreeniPadType: 0 | ||
222 | + iOSLaunchScreeniPadImage: {fileID: 0} | ||
223 | + iOSLaunchScreeniPadBackgroundColor: | ||
224 | + serializedVersion: 2 | ||
225 | + rgba: 0 | ||
226 | + iOSLaunchScreeniPadFillPct: 100 | ||
227 | + iOSLaunchScreeniPadSize: 100 | ||
228 | + iOSLaunchScreeniPadCustomXibPath: | ||
229 | + iOSUseLaunchScreenStoryboard: 0 | ||
230 | + iOSLaunchScreenCustomStoryboardPath: | ||
231 | + iOSDeviceRequirements: [] | ||
232 | + iOSURLSchemes: [] | ||
233 | + iOSBackgroundModes: 0 | ||
234 | + iOSMetalForceHardShadows: 0 | ||
235 | + metalEditorSupport: 0 | ||
236 | + metalAPIValidation: 1 | ||
237 | + iOSRenderExtraFrameOnPause: 0 | ||
238 | + appleDeveloperTeamID: | ||
239 | + iOSManualSigningProvisioningProfileID: | ||
240 | + tvOSManualSigningProvisioningProfileID: | ||
241 | + appleEnableAutomaticSigning: 0 | ||
242 | + clonedFromGUID: 00000000000000000000000000000000 | ||
243 | + AndroidTargetDevice: 0 | ||
244 | + AndroidSplashScreenScale: 0 | ||
245 | + androidSplashScreen: {fileID: 0} | ||
246 | + AndroidKeystoreName: | ||
247 | + AndroidKeyaliasName: | ||
248 | + AndroidTVCompatibility: 1 | ||
249 | + AndroidIsGame: 1 | ||
250 | + AndroidEnableTango: 0 | ||
251 | + androidEnableBanner: 1 | ||
252 | + androidUseLowAccuracyLocation: 0 | ||
253 | + m_AndroidBanners: | ||
254 | + - width: 320 | ||
255 | + height: 180 | ||
256 | + banner: {fileID: 0} | ||
257 | + androidGamepadSupportLevel: 0 | ||
258 | + resolutionDialogBanner: {fileID: 0} | ||
259 | + m_BuildTargetIcons: [] | ||
260 | + m_BuildTargetBatching: [] | ||
261 | + m_BuildTargetGraphicsAPIs: [] | ||
262 | + m_BuildTargetVRSettings: [] | ||
263 | + m_BuildTargetEnableVuforiaSettings: [] | ||
264 | + openGLRequireES31: 0 | ||
265 | + openGLRequireES31AEP: 0 | ||
266 | + m_TemplateCustomTags: {} | ||
267 | + mobileMTRendering: | ||
268 | + Android: 1 | ||
269 | + iPhone: 1 | ||
270 | + tvOS: 1 | ||
271 | + m_BuildTargetGroupLightmapEncodingQuality: [] | ||
272 | + wiiUTitleID: 0005000011000000 | ||
273 | + wiiUGroupID: 00010000 | ||
274 | + wiiUCommonSaveSize: 4096 | ||
275 | + wiiUAccountSaveSize: 2048 | ||
276 | + wiiUOlvAccessKey: 0 | ||
277 | + wiiUTinCode: 0 | ||
278 | + wiiUJoinGameId: 0 | ||
279 | + wiiUJoinGameModeMask: 0000000000000000 | ||
280 | + wiiUCommonBossSize: 0 | ||
281 | + wiiUAccountBossSize: 0 | ||
282 | + wiiUAddOnUniqueIDs: [] | ||
283 | + wiiUMainThreadStackSize: 3072 | ||
284 | + wiiULoaderThreadStackSize: 1024 | ||
285 | + wiiUSystemHeapSize: 128 | ||
286 | + wiiUTVStartupScreen: {fileID: 0} | ||
287 | + wiiUGamePadStartupScreen: {fileID: 0} | ||
288 | + wiiUDrcBufferDisabled: 0 | ||
289 | + wiiUProfilerLibPath: | ||
290 | + playModeTestRunnerEnabled: 0 | ||
291 | + actionOnDotNetUnhandledException: 1 | ||
292 | + enableInternalProfiler: 0 | ||
293 | + logObjCUncaughtExceptions: 1 | ||
294 | + enableCrashReportAPI: 0 | ||
295 | + cameraUsageDescription: | ||
296 | + locationUsageDescription: | ||
297 | + microphoneUsageDescription: | ||
298 | + switchNetLibKey: | ||
299 | + switchSocketMemoryPoolSize: 6144 | ||
300 | + switchSocketAllocatorPoolSize: 128 | ||
301 | + switchSocketConcurrencyLimit: 14 | ||
302 | + switchScreenResolutionBehavior: 2 | ||
303 | + switchUseCPUProfiler: 0 | ||
304 | + switchApplicationID: 0x01004b9000490000 | ||
305 | + switchNSODependencies: | ||
306 | + switchTitleNames_0: | ||
307 | + switchTitleNames_1: | ||
308 | + switchTitleNames_2: | ||
309 | + switchTitleNames_3: | ||
310 | + switchTitleNames_4: | ||
311 | + switchTitleNames_5: | ||
312 | + switchTitleNames_6: | ||
313 | + switchTitleNames_7: | ||
314 | + switchTitleNames_8: | ||
315 | + switchTitleNames_9: | ||
316 | + switchTitleNames_10: | ||
317 | + switchTitleNames_11: | ||
318 | + switchTitleNames_12: | ||
319 | + switchTitleNames_13: | ||
320 | + switchTitleNames_14: | ||
321 | + switchPublisherNames_0: | ||
322 | + switchPublisherNames_1: | ||
323 | + switchPublisherNames_2: | ||
324 | + switchPublisherNames_3: | ||
325 | + switchPublisherNames_4: | ||
326 | + switchPublisherNames_5: | ||
327 | + switchPublisherNames_6: | ||
328 | + switchPublisherNames_7: | ||
329 | + switchPublisherNames_8: | ||
330 | + switchPublisherNames_9: | ||
331 | + switchPublisherNames_10: | ||
332 | + switchPublisherNames_11: | ||
333 | + switchPublisherNames_12: | ||
334 | + switchPublisherNames_13: | ||
335 | + switchPublisherNames_14: | ||
336 | + switchIcons_0: {fileID: 0} | ||
337 | + switchIcons_1: {fileID: 0} | ||
338 | + switchIcons_2: {fileID: 0} | ||
339 | + switchIcons_3: {fileID: 0} | ||
340 | + switchIcons_4: {fileID: 0} | ||
341 | + switchIcons_5: {fileID: 0} | ||
342 | + switchIcons_6: {fileID: 0} | ||
343 | + switchIcons_7: {fileID: 0} | ||
344 | + switchIcons_8: {fileID: 0} | ||
345 | + switchIcons_9: {fileID: 0} | ||
346 | + switchIcons_10: {fileID: 0} | ||
347 | + switchIcons_11: {fileID: 0} | ||
348 | + switchIcons_12: {fileID: 0} | ||
349 | + switchIcons_13: {fileID: 0} | ||
350 | + switchIcons_14: {fileID: 0} | ||
351 | + switchSmallIcons_0: {fileID: 0} | ||
352 | + switchSmallIcons_1: {fileID: 0} | ||
353 | + switchSmallIcons_2: {fileID: 0} | ||
354 | + switchSmallIcons_3: {fileID: 0} | ||
355 | + switchSmallIcons_4: {fileID: 0} | ||
356 | + switchSmallIcons_5: {fileID: 0} | ||
357 | + switchSmallIcons_6: {fileID: 0} | ||
358 | + switchSmallIcons_7: {fileID: 0} | ||
359 | + switchSmallIcons_8: {fileID: 0} | ||
360 | + switchSmallIcons_9: {fileID: 0} | ||
361 | + switchSmallIcons_10: {fileID: 0} | ||
362 | + switchSmallIcons_11: {fileID: 0} | ||
363 | + switchSmallIcons_12: {fileID: 0} | ||
364 | + switchSmallIcons_13: {fileID: 0} | ||
365 | + switchSmallIcons_14: {fileID: 0} | ||
366 | + switchManualHTML: | ||
367 | + switchAccessibleURLs: | ||
368 | + switchLegalInformation: | ||
369 | + switchMainThreadStackSize: 1048576 | ||
370 | + switchPresenceGroupId: | ||
371 | + switchLogoHandling: 0 | ||
372 | + switchReleaseVersion: 0 | ||
373 | + switchDisplayVersion: 1.0.0 | ||
374 | + switchStartupUserAccount: 0 | ||
375 | + switchTouchScreenUsage: 0 | ||
376 | + switchSupportedLanguagesMask: 0 | ||
377 | + switchLogoType: 0 | ||
378 | + switchApplicationErrorCodeCategory: | ||
379 | + switchUserAccountSaveDataSize: 0 | ||
380 | + switchUserAccountSaveDataJournalSize: 0 | ||
381 | + switchApplicationAttribute: 0 | ||
382 | + switchCardSpecSize: -1 | ||
383 | + switchCardSpecClock: -1 | ||
384 | + switchRatingsMask: 0 | ||
385 | + switchRatingsInt_0: 0 | ||
386 | + switchRatingsInt_1: 0 | ||
387 | + switchRatingsInt_2: 0 | ||
388 | + switchRatingsInt_3: 0 | ||
389 | + switchRatingsInt_4: 0 | ||
390 | + switchRatingsInt_5: 0 | ||
391 | + switchRatingsInt_6: 0 | ||
392 | + switchRatingsInt_7: 0 | ||
393 | + switchRatingsInt_8: 0 | ||
394 | + switchRatingsInt_9: 0 | ||
395 | + switchRatingsInt_10: 0 | ||
396 | + switchRatingsInt_11: 0 | ||
397 | + switchLocalCommunicationIds_0: | ||
398 | + switchLocalCommunicationIds_1: | ||
399 | + switchLocalCommunicationIds_2: | ||
400 | + switchLocalCommunicationIds_3: | ||
401 | + switchLocalCommunicationIds_4: | ||
402 | + switchLocalCommunicationIds_5: | ||
403 | + switchLocalCommunicationIds_6: | ||
404 | + switchLocalCommunicationIds_7: | ||
405 | + switchParentalControl: 0 | ||
406 | + switchAllowsScreenshot: 1 | ||
407 | + switchAllowsVideoCapturing: 1 | ||
408 | + switchAllowsRuntimeAddOnContentInstall: 0 | ||
409 | + switchDataLossConfirmation: 0 | ||
410 | + switchSupportedNpadStyles: 3 | ||
411 | + switchSocketConfigEnabled: 0 | ||
412 | + switchTcpInitialSendBufferSize: 32 | ||
413 | + switchTcpInitialReceiveBufferSize: 64 | ||
414 | + switchTcpAutoSendBufferSizeMax: 256 | ||
415 | + switchTcpAutoReceiveBufferSizeMax: 256 | ||
416 | + switchUdpSendBufferSize: 9 | ||
417 | + switchUdpReceiveBufferSize: 42 | ||
418 | + switchSocketBufferEfficiency: 4 | ||
419 | + switchSocketInitializeEnabled: 1 | ||
420 | + switchNetworkInterfaceManagerInitializeEnabled: 1 | ||
421 | + switchPlayerConnectionEnabled: 1 | ||
422 | + ps4NPAgeRating: 12 | ||
423 | + ps4NPTitleSecret: | ||
424 | + ps4NPTrophyPackPath: | ||
425 | + ps4ParentalLevel: 11 | ||
426 | + ps4ContentID: ED1633-NPXX51362_00-0000000000000000 | ||
427 | + ps4Category: 0 | ||
428 | + ps4MasterVersion: 01.00 | ||
429 | + ps4AppVersion: 01.00 | ||
430 | + ps4AppType: 0 | ||
431 | + ps4ParamSfxPath: | ||
432 | + ps4VideoOutPixelFormat: 0 | ||
433 | + ps4VideoOutInitialWidth: 1920 | ||
434 | + ps4VideoOutBaseModeInitialWidth: 1920 | ||
435 | + ps4VideoOutReprojectionRate: 60 | ||
436 | + ps4PronunciationXMLPath: | ||
437 | + ps4PronunciationSIGPath: | ||
438 | + ps4BackgroundImagePath: | ||
439 | + ps4StartupImagePath: | ||
440 | + ps4StartupImagesFolder: | ||
441 | + ps4IconImagesFolder: | ||
442 | + ps4SaveDataImagePath: | ||
443 | + ps4SdkOverride: | ||
444 | + ps4BGMPath: | ||
445 | + ps4ShareFilePath: | ||
446 | + ps4ShareOverlayImagePath: | ||
447 | + ps4PrivacyGuardImagePath: | ||
448 | + ps4NPtitleDatPath: | ||
449 | + ps4RemotePlayKeyAssignment: -1 | ||
450 | + ps4RemotePlayKeyMappingDir: | ||
451 | + ps4PlayTogetherPlayerCount: 0 | ||
452 | + ps4EnterButtonAssignment: 1 | ||
453 | + ps4ApplicationParam1: 0 | ||
454 | + ps4ApplicationParam2: 0 | ||
455 | + ps4ApplicationParam3: 0 | ||
456 | + ps4ApplicationParam4: 0 | ||
457 | + ps4DownloadDataSize: 0 | ||
458 | + ps4GarlicHeapSize: 2048 | ||
459 | + ps4ProGarlicHeapSize: 2560 | ||
460 | + ps4Passcode: NMK66MuCV6GXi5xr84P2R391UXaLHbav | ||
461 | + ps4pnSessions: 1 | ||
462 | + ps4pnPresence: 1 | ||
463 | + ps4pnFriends: 1 | ||
464 | + ps4pnGameCustomData: 1 | ||
465 | + playerPrefsSupport: 0 | ||
466 | + restrictedAudioUsageRights: 0 | ||
467 | + ps4UseResolutionFallback: 0 | ||
468 | + ps4ReprojectionSupport: 0 | ||
469 | + ps4UseAudio3dBackend: 0 | ||
470 | + ps4SocialScreenEnabled: 0 | ||
471 | + ps4ScriptOptimizationLevel: 0 | ||
472 | + ps4Audio3dVirtualSpeakerCount: 14 | ||
473 | + ps4attribCpuUsage: 0 | ||
474 | + ps4PatchPkgPath: | ||
475 | + ps4PatchLatestPkgPath: | ||
476 | + ps4PatchChangeinfoPath: | ||
477 | + ps4PatchDayOne: 0 | ||
478 | + ps4attribUserManagement: 0 | ||
479 | + ps4attribMoveSupport: 0 | ||
480 | + ps4attrib3DSupport: 0 | ||
481 | + ps4attribShareSupport: 0 | ||
482 | + ps4attribExclusiveVR: 0 | ||
483 | + ps4disableAutoHideSplash: 0 | ||
484 | + ps4videoRecordingFeaturesUsed: 0 | ||
485 | + ps4contentSearchFeaturesUsed: 0 | ||
486 | + ps4attribEyeToEyeDistanceSettingVR: 0 | ||
487 | + ps4IncludedModules: [] | ||
488 | + monoEnv: | ||
489 | + psp2Splashimage: {fileID: 0} | ||
490 | + psp2NPTrophyPackPath: | ||
491 | + psp2NPSupportGBMorGJP: 0 | ||
492 | + psp2NPAgeRating: 12 | ||
493 | + psp2NPTitleDatPath: | ||
494 | + psp2NPCommsID: | ||
495 | + psp2NPCommunicationsID: | ||
496 | + psp2NPCommsPassphrase: | ||
497 | + psp2NPCommsSig: | ||
498 | + psp2ParamSfxPath: | ||
499 | + psp2ManualPath: | ||
500 | + psp2LiveAreaGatePath: | ||
501 | + psp2LiveAreaBackroundPath: | ||
502 | + psp2LiveAreaPath: | ||
503 | + psp2LiveAreaTrialPath: | ||
504 | + psp2PatchChangeInfoPath: | ||
505 | + psp2PatchOriginalPackage: | ||
506 | + psp2PackagePassword: JvFZGfO47XWS2qVOw5lxuBEBNue7b9PZ | ||
507 | + psp2KeystoneFile: | ||
508 | + psp2MemoryExpansionMode: 0 | ||
509 | + psp2DRMType: 0 | ||
510 | + psp2StorageType: 0 | ||
511 | + psp2MediaCapacity: 0 | ||
512 | + psp2DLCConfigPath: | ||
513 | + psp2ThumbnailPath: | ||
514 | + psp2BackgroundPath: | ||
515 | + psp2SoundPath: | ||
516 | + psp2TrophyCommId: | ||
517 | + psp2TrophyPackagePath: | ||
518 | + psp2PackagedResourcesPath: | ||
519 | + psp2SaveDataQuota: 10240 | ||
520 | + psp2ParentalLevel: 1 | ||
521 | + psp2ShortTitle: Not Set | ||
522 | + psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF | ||
523 | + psp2Category: 0 | ||
524 | + psp2MasterVersion: 01.00 | ||
525 | + psp2AppVersion: 01.00 | ||
526 | + psp2TVBootMode: 0 | ||
527 | + psp2EnterButtonAssignment: 2 | ||
528 | + psp2TVDisableEmu: 0 | ||
529 | + psp2AllowTwitterDialog: 1 | ||
530 | + psp2Upgradable: 0 | ||
531 | + psp2HealthWarning: 0 | ||
532 | + psp2UseLibLocation: 0 | ||
533 | + psp2InfoBarOnStartup: 0 | ||
534 | + psp2InfoBarColor: 0 | ||
535 | + psp2ScriptOptimizationLevel: 0 | ||
536 | + psmSplashimage: {fileID: 0} | ||
537 | + splashScreenBackgroundSourceLandscape: {fileID: 0} | ||
538 | + splashScreenBackgroundSourcePortrait: {fileID: 0} | ||
539 | + spritePackerPolicy: | ||
540 | + webGLMemorySize: 256 | ||
541 | + webGLExceptionSupport: 1 | ||
542 | + webGLNameFilesAsHashes: 0 | ||
543 | + webGLDataCaching: 0 | ||
544 | + webGLDebugSymbols: 0 | ||
545 | + webGLEmscriptenArgs: | ||
546 | + webGLModulesDirectory: | ||
547 | + webGLTemplate: APPLICATION:Default | ||
548 | + webGLAnalyzeBuildSize: 0 | ||
549 | + webGLUseEmbeddedResources: 0 | ||
550 | + webGLUseWasm: 0 | ||
551 | + webGLCompressionFormat: 1 | ||
552 | + scriptingDefineSymbols: {} | ||
553 | + platformArchitecture: {} | ||
554 | + scriptingBackend: {} | ||
555 | + incrementalIl2cppBuild: {} | ||
556 | + additionalIl2CppArgs: | ||
557 | + scriptingRuntimeVersion: 1 | ||
558 | + apiCompatibilityLevelPerPlatform: {} | ||
559 | + m_RenderingPath: 1 | ||
560 | + m_MobileRenderingPath: 1 | ||
561 | + metroPackageName: Basic Network Library | ||
562 | + metroPackageVersion: | ||
563 | + metroCertificatePath: | ||
564 | + metroCertificatePassword: | ||
565 | + metroCertificateSubject: | ||
566 | + metroCertificateIssuer: | ||
567 | + metroCertificateNotAfter: 0000000000000000 | ||
568 | + metroApplicationDescription: Basic Network Library | ||
569 | + wsaImages: {} | ||
570 | + metroTileShortName: | ||
571 | + metroCommandLineArgsFile: | ||
572 | + metroTileShowName: 0 | ||
573 | + metroMediumTileShowName: 0 | ||
574 | + metroLargeTileShowName: 0 | ||
575 | + metroWideTileShowName: 0 | ||
576 | + metroDefaultTileSize: 1 | ||
577 | + metroTileForegroundText: 2 | ||
578 | + metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} | ||
579 | + metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, | ||
580 | + a: 1} | ||
581 | + metroSplashScreenUseBackgroundColor: 0 | ||
582 | + platformCapabilities: {} | ||
583 | + metroFTAName: | ||
584 | + metroFTAFileTypes: [] | ||
585 | + metroProtocolName: | ||
586 | + metroCompilationOverrides: 1 | ||
587 | + tizenProductDescription: | ||
588 | + tizenProductURL: | ||
589 | + tizenSigningProfileName: | ||
590 | + tizenGPSPermissions: 0 | ||
591 | + tizenMicrophonePermissions: 0 | ||
592 | + tizenDeploymentTarget: | ||
593 | + tizenDeploymentTargetType: -1 | ||
594 | + tizenMinOSVersion: 1 | ||
595 | + n3dsUseExtSaveData: 0 | ||
596 | + n3dsCompressStaticMem: 1 | ||
597 | + n3dsExtSaveDataNumber: 0x12345 | ||
598 | + n3dsStackSize: 131072 | ||
599 | + n3dsTargetPlatform: 2 | ||
600 | + n3dsRegion: 7 | ||
601 | + n3dsMediaSize: 0 | ||
602 | + n3dsLogoStyle: 3 | ||
603 | + n3dsTitle: GameName | ||
604 | + n3dsProductCode: | ||
605 | + n3dsApplicationId: 0xFF3FF | ||
606 | + XboxOneProductId: | ||
607 | + XboxOneUpdateKey: | ||
608 | + XboxOneSandboxId: | ||
609 | + XboxOneContentId: | ||
610 | + XboxOneTitleId: | ||
611 | + XboxOneSCId: | ||
612 | + XboxOneGameOsOverridePath: | ||
613 | + XboxOnePackagingOverridePath: | ||
614 | + XboxOneAppManifestOverridePath: | ||
615 | + XboxOnePackageEncryption: 0 | ||
616 | + XboxOnePackageUpdateGranularity: 2 | ||
617 | + XboxOneDescription: | ||
618 | + XboxOneLanguage: | ||
619 | + - enus | ||
620 | + XboxOneCapability: [] | ||
621 | + XboxOneGameRating: {} | ||
622 | + XboxOneIsContentPackage: 0 | ||
623 | + XboxOneEnableGPUVariability: 0 | ||
624 | + XboxOneSockets: {} | ||
625 | + XboxOneSplashScreen: {fileID: 0} | ||
626 | + XboxOneAllowedProductIds: [] | ||
627 | + XboxOnePersistentLocalStorageSize: 0 | ||
628 | + xboxOneScriptCompiler: 0 | ||
629 | + vrEditorSettings: | ||
630 | + daydream: | ||
631 | + daydreamIconForeground: {fileID: 0} | ||
632 | + daydreamIconBackground: {fileID: 0} | ||
633 | + cloudServicesEnabled: {} | ||
634 | + facebookSdkVersion: 7.9.4 | ||
635 | + apiCompatibilityLevel: 3 | ||
636 | + cloudProjectId: | ||
637 | + projectName: | ||
638 | + organizationId: | ||
639 | + cloudEnabled: 0 | ||
640 | + enableNativePlatformBackendsForNewInputSystem: 0 | ||
641 | + disableOldInputManagerSupport: 0 |
1 | +m_EditorVersion: 2017.3.0p3 |
1 | +%YAML 1.1 | ||
2 | +%TAG !u! tag:unity3d.com,2011: | ||
3 | +--- !u!47 &1 | ||
4 | +QualitySettings: | ||
5 | + m_ObjectHideFlags: 0 | ||
6 | + serializedVersion: 5 | ||
7 | + m_CurrentQuality: 5 | ||
8 | + m_QualitySettings: | ||
9 | + - serializedVersion: 2 | ||
10 | + name: Very Low | ||
11 | + pixelLightCount: 0 | ||
12 | + shadows: 0 | ||
13 | + shadowResolution: 0 | ||
14 | + shadowProjection: 1 | ||
15 | + shadowCascades: 1 | ||
16 | + shadowDistance: 15 | ||
17 | + shadowNearPlaneOffset: 3 | ||
18 | + shadowCascade2Split: 0.33333334 | ||
19 | + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} | ||
20 | + shadowmaskMode: 0 | ||
21 | + blendWeights: 1 | ||
22 | + textureQuality: 1 | ||
23 | + anisotropicTextures: 0 | ||
24 | + antiAliasing: 0 | ||
25 | + softParticles: 0 | ||
26 | + softVegetation: 0 | ||
27 | + realtimeReflectionProbes: 0 | ||
28 | + billboardsFaceCameraPosition: 0 | ||
29 | + vSyncCount: 0 | ||
30 | + lodBias: 0.3 | ||
31 | + maximumLODLevel: 0 | ||
32 | + particleRaycastBudget: 4 | ||
33 | + asyncUploadTimeSlice: 2 | ||
34 | + asyncUploadBufferSize: 4 | ||
35 | + resolutionScalingFixedDPIFactor: 1 | ||
36 | + excludedTargetPlatforms: [] | ||
37 | + - serializedVersion: 2 | ||
38 | + name: Low | ||
39 | + pixelLightCount: 0 | ||
40 | + shadows: 0 | ||
41 | + shadowResolution: 0 | ||
42 | + shadowProjection: 1 | ||
43 | + shadowCascades: 1 | ||
44 | + shadowDistance: 20 | ||
45 | + shadowNearPlaneOffset: 3 | ||
46 | + shadowCascade2Split: 0.33333334 | ||
47 | + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} | ||
48 | + shadowmaskMode: 0 | ||
49 | + blendWeights: 2 | ||
50 | + textureQuality: 0 | ||
51 | + anisotropicTextures: 0 | ||
52 | + antiAliasing: 0 | ||
53 | + softParticles: 0 | ||
54 | + softVegetation: 0 | ||
55 | + realtimeReflectionProbes: 0 | ||
56 | + billboardsFaceCameraPosition: 0 | ||
57 | + vSyncCount: 0 | ||
58 | + lodBias: 0.4 | ||
59 | + maximumLODLevel: 0 | ||
60 | + particleRaycastBudget: 16 | ||
61 | + asyncUploadTimeSlice: 2 | ||
62 | + asyncUploadBufferSize: 4 | ||
63 | + resolutionScalingFixedDPIFactor: 1 | ||
64 | + excludedTargetPlatforms: [] | ||
65 | + - serializedVersion: 2 | ||
66 | + name: Medium | ||
67 | + pixelLightCount: 1 | ||
68 | + shadows: 1 | ||
69 | + shadowResolution: 0 | ||
70 | + shadowProjection: 1 | ||
71 | + shadowCascades: 1 | ||
72 | + shadowDistance: 20 | ||
73 | + shadowNearPlaneOffset: 3 | ||
74 | + shadowCascade2Split: 0.33333334 | ||
75 | + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} | ||
76 | + shadowmaskMode: 0 | ||
77 | + blendWeights: 2 | ||
78 | + textureQuality: 0 | ||
79 | + anisotropicTextures: 1 | ||
80 | + antiAliasing: 0 | ||
81 | + softParticles: 0 | ||
82 | + softVegetation: 0 | ||
83 | + realtimeReflectionProbes: 0 | ||
84 | + billboardsFaceCameraPosition: 0 | ||
85 | + vSyncCount: 1 | ||
86 | + lodBias: 0.7 | ||
87 | + maximumLODLevel: 0 | ||
88 | + particleRaycastBudget: 64 | ||
89 | + asyncUploadTimeSlice: 2 | ||
90 | + asyncUploadBufferSize: 4 | ||
91 | + resolutionScalingFixedDPIFactor: 1 | ||
92 | + excludedTargetPlatforms: [] | ||
93 | + - serializedVersion: 2 | ||
94 | + name: High | ||
95 | + pixelLightCount: 2 | ||
96 | + shadows: 2 | ||
97 | + shadowResolution: 1 | ||
98 | + shadowProjection: 1 | ||
99 | + shadowCascades: 2 | ||
100 | + shadowDistance: 40 | ||
101 | + shadowNearPlaneOffset: 3 | ||
102 | + shadowCascade2Split: 0.33333334 | ||
103 | + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} | ||
104 | + shadowmaskMode: 1 | ||
105 | + blendWeights: 2 | ||
106 | + textureQuality: 0 | ||
107 | + anisotropicTextures: 1 | ||
108 | + antiAliasing: 0 | ||
109 | + softParticles: 0 | ||
110 | + softVegetation: 1 | ||
111 | + realtimeReflectionProbes: 1 | ||
112 | + billboardsFaceCameraPosition: 1 | ||
113 | + vSyncCount: 1 | ||
114 | + lodBias: 1 | ||
115 | + maximumLODLevel: 0 | ||
116 | + particleRaycastBudget: 256 | ||
117 | + asyncUploadTimeSlice: 2 | ||
118 | + asyncUploadBufferSize: 4 | ||
119 | + resolutionScalingFixedDPIFactor: 1 | ||
120 | + excludedTargetPlatforms: [] | ||
121 | + - serializedVersion: 2 | ||
122 | + name: Very High | ||
123 | + pixelLightCount: 3 | ||
124 | + shadows: 2 | ||
125 | + shadowResolution: 2 | ||
126 | + shadowProjection: 1 | ||
127 | + shadowCascades: 2 | ||
128 | + shadowDistance: 70 | ||
129 | + shadowNearPlaneOffset: 3 | ||
130 | + shadowCascade2Split: 0.33333334 | ||
131 | + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} | ||
132 | + shadowmaskMode: 1 | ||
133 | + blendWeights: 4 | ||
134 | + textureQuality: 0 | ||
135 | + anisotropicTextures: 2 | ||
136 | + antiAliasing: 2 | ||
137 | + softParticles: 1 | ||
138 | + softVegetation: 1 | ||
139 | + realtimeReflectionProbes: 1 | ||
140 | + billboardsFaceCameraPosition: 1 | ||
141 | + vSyncCount: 1 | ||
142 | + lodBias: 1.5 | ||
143 | + maximumLODLevel: 0 | ||
144 | + particleRaycastBudget: 1024 | ||
145 | + asyncUploadTimeSlice: 2 | ||
146 | + asyncUploadBufferSize: 4 | ||
147 | + resolutionScalingFixedDPIFactor: 1 | ||
148 | + excludedTargetPlatforms: [] | ||
149 | + - serializedVersion: 2 | ||
150 | + name: Ultra | ||
151 | + pixelLightCount: 4 | ||
152 | + shadows: 2 | ||
153 | + shadowResolution: 2 | ||
154 | + shadowProjection: 1 | ||
155 | + shadowCascades: 4 | ||
156 | + shadowDistance: 150 | ||
157 | + shadowNearPlaneOffset: 3 | ||
158 | + shadowCascade2Split: 0.33333334 | ||
159 | + shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} | ||
160 | + shadowmaskMode: 1 | ||
161 | + blendWeights: 4 | ||
162 | + textureQuality: 0 | ||
163 | + anisotropicTextures: 2 | ||
164 | + antiAliasing: 2 | ||
165 | + softParticles: 1 | ||
166 | + softVegetation: 1 | ||
167 | + realtimeReflectionProbes: 1 | ||
168 | + billboardsFaceCameraPosition: 1 | ||
169 | + vSyncCount: 1 | ||
170 | + lodBias: 2 | ||
171 | + maximumLODLevel: 0 | ||
172 | + particleRaycastBudget: 4096 | ||
173 | + asyncUploadTimeSlice: 2 | ||
174 | + asyncUploadBufferSize: 4 | ||
175 | + resolutionScalingFixedDPIFactor: 1 | ||
176 | + excludedTargetPlatforms: [] | ||
177 | + m_PerPlatformDefaultQuality: | ||
178 | + Android: 2 | ||
179 | + Nintendo 3DS: 5 | ||
180 | + Nintendo Switch: 5 | ||
181 | + PS4: 5 | ||
182 | + PSM: 5 | ||
183 | + PSP2: 2 | ||
184 | + Standalone: 5 | ||
185 | + Tizen: 2 | ||
186 | + WebGL: 3 | ||
187 | + WiiU: 5 | ||
188 | + Windows Store Apps: 5 | ||
189 | + XboxOne: 5 | ||
190 | + iPhone: 2 | ||
191 | + tvOS: 2 |
1 | +%YAML 1.1 | ||
2 | +%TAG !u! tag:unity3d.com,2011: | ||
3 | +--- !u!78 &1 | ||
4 | +TagManager: | ||
5 | + serializedVersion: 2 | ||
6 | + tags: [] | ||
7 | + layers: | ||
8 | + - Default | ||
9 | + - TransparentFX | ||
10 | + - Ignore Raycast | ||
11 | + - | ||
12 | + - Water | ||
13 | + - UI | ||
14 | + - | ||
15 | + - | ||
16 | + - | ||
17 | + - | ||
18 | + - | ||
19 | + - | ||
20 | + - | ||
21 | + - | ||
22 | + - | ||
23 | + - | ||
24 | + - | ||
25 | + - | ||
26 | + - | ||
27 | + - | ||
28 | + - | ||
29 | + - | ||
30 | + - | ||
31 | + - | ||
32 | + - | ||
33 | + - | ||
34 | + - | ||
35 | + - | ||
36 | + - | ||
37 | + - | ||
38 | + - | ||
39 | + - | ||
40 | + m_SortingLayers: | ||
41 | + - name: Default | ||
42 | + uniqueID: 0 | ||
43 | + locked: 0 |
1 | +%YAML 1.1 | ||
2 | +%TAG !u! tag:unity3d.com,2011: | ||
3 | +--- !u!310 &1 | ||
4 | +UnityConnectSettings: | ||
5 | + m_ObjectHideFlags: 0 | ||
6 | + m_Enabled: 0 | ||
7 | + m_TestMode: 0 | ||
8 | + m_TestEventUrl: | ||
9 | + m_TestConfigUrl: | ||
10 | + m_TestInitMode: 0 | ||
11 | + CrashReportingSettings: | ||
12 | + m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes | ||
13 | + m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate | ||
14 | + m_Enabled: 0 | ||
15 | + m_CaptureEditorExceptions: 1 | ||
16 | + UnityPurchasingSettings: | ||
17 | + m_Enabled: 0 | ||
18 | + m_TestMode: 0 | ||
19 | + UnityAnalyticsSettings: | ||
20 | + m_Enabled: 0 | ||
21 | + m_InitializeOnStartup: 1 | ||
22 | + m_TestMode: 0 | ||
23 | + m_TestEventUrl: | ||
24 | + m_TestConfigUrl: | ||
25 | + UnityAdsSettings: | ||
26 | + m_Enabled: 0 | ||
27 | + m_InitializeOnStartup: 1 | ||
28 | + m_TestMode: 0 | ||
29 | + m_IosGameId: | ||
30 | + m_AndroidGameId: | ||
31 | + m_GameIds: {} | ||
32 | + m_GameId: | ||
33 | + PerformanceReportingSettings: | ||
34 | + m_Enabled: 0 |
-
Please register or login to post a comment