Skip to content
This repository was archived by the owner on Mar 24, 2019. It is now read-only.

Commit e0fa1d7

Browse files
committed
Updated to showcase syncvars and other features
1 parent 614b334 commit e0fa1d7

274 files changed

Lines changed: 40590 additions & 289 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
using MLAPI;
2+
using MLAPI.MonoBehaviours.Prototyping;
3+
using System;
4+
using UnityEditor;
5+
using UnityEditor.Animations;
6+
using UnityEngine;
7+
8+
[CustomEditor(typeof(NetworkedAnimator), true)]
9+
[CanEditMultipleObjects]
10+
public class NetworkAnimatorEditor : Editor
11+
{
12+
NetworkedAnimator m_AnimSync;
13+
[NonSerialized] bool m_Initialized;
14+
15+
SerializedProperty m_AnimatorProperty;
16+
GUIContent m_AnimatorLabel;
17+
18+
void Init()
19+
{
20+
if (m_Initialized)
21+
return;
22+
23+
m_Initialized = true;
24+
m_AnimSync = target as NetworkedAnimator;
25+
26+
m_AnimatorProperty = serializedObject.FindProperty("_animator");
27+
m_AnimatorLabel = new GUIContent("Animator", "The Animator component to synchronize.");
28+
}
29+
30+
public override void OnInspectorGUI()
31+
{
32+
Init();
33+
serializedObject.Update();
34+
DrawControls();
35+
serializedObject.ApplyModifiedProperties();
36+
}
37+
38+
void DrawControls()
39+
{
40+
EditorGUI.BeginChangeCheck();
41+
EditorGUILayout.PropertyField(m_AnimatorProperty, m_AnimatorLabel);
42+
if (EditorGUI.EndChangeCheck())
43+
{
44+
m_AnimSync.ResetParameterOptions();
45+
}
46+
47+
if (m_AnimSync.animator == null)
48+
return;
49+
50+
var controller = m_AnimSync.animator.runtimeAnimatorController as AnimatorController;
51+
if (controller != null)
52+
{
53+
var showWarning = false;
54+
EditorGUI.indentLevel += 1;
55+
int i = 0;
56+
57+
foreach (var p in controller.parameters)
58+
{
59+
if (i >= 32)
60+
{
61+
showWarning = true;
62+
break;
63+
}
64+
65+
bool oldSend = m_AnimSync.GetParameterAutoSend(i);
66+
bool send = EditorGUILayout.Toggle(p.name, oldSend);
67+
if (send != oldSend)
68+
{
69+
m_AnimSync.SetParameterAutoSend(i, send);
70+
EditorUtility.SetDirty(target);
71+
}
72+
i += 1;
73+
}
74+
75+
if (showWarning)
76+
{
77+
EditorGUILayout.HelpBox("NetworkAnimator can only select between the first 32 parameters in a mecanim controller", MessageType.Warning);
78+
}
79+
80+
EditorGUI.indentLevel -= 1;
81+
}
82+
83+
if (Application.isPlaying)
84+
{
85+
EditorGUILayout.Separator();
86+
if (m_AnimSync.param0 != "") EditorGUILayout.LabelField("Param 0", m_AnimSync.param0);
87+
if (m_AnimSync.param1 != "") EditorGUILayout.LabelField("Param 1", m_AnimSync.param1);
88+
if (m_AnimSync.param2 != "") EditorGUILayout.LabelField("Param 2", m_AnimSync.param2);
89+
if (m_AnimSync.param3 != "") EditorGUILayout.LabelField("Param 3", m_AnimSync.param3);
90+
if (m_AnimSync.param4 != "") EditorGUILayout.LabelField("Param 4", m_AnimSync.param4);
91+
}
92+
}
93+
}

Assets/Editor/NetworkedAnimatorEditor.cs.meta

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Friction.physicMaterial

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
%YAML 1.1
2+
%TAG !u! tag:unity3d.com,2011:
3+
--- !u!134 &13400000
4+
PhysicMaterial:
5+
m_ObjectHideFlags: 0
6+
m_PrefabParentObject: {fileID: 0}
7+
m_PrefabInternal: {fileID: 0}
8+
m_Name: Friction
9+
dynamicFriction: 100
10+
staticFriction: 100
11+
bounciness: 0
12+
frictionCombine: 2
13+
bounceCombine: 2

Assets/Friction.physicMaterial.meta

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/MLAPI.dll

34.5 KB
Binary file not shown.

Assets/MLAPI.dll.mdb

31.3 KB
Binary file not shown.

Assets/MenuScene.unity

Lines changed: 165 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ RenderSettings:
3838
m_ReflectionIntensity: 1
3939
m_CustomReflection: {fileID: 0}
4040
m_Sun: {fileID: 0}
41-
m_IndirectSpecularColor: {r: 0.44657844, g: 0.49641222, b: 0.57481694, a: 1}
41+
m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
4242
--- !u!157 &3
4343
LightmapSettings:
4444
m_ObjectHideFlags: 0
@@ -113,6 +113,68 @@ NavMeshSettings:
113113
debug:
114114
m_Flags: 0
115115
m_NavMeshData: {fileID: 0}
116+
--- !u!1 &558106516
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: 558106519}
124+
- component: {fileID: 558106518}
125+
- component: {fileID: 558106517}
126+
m_Layer: 0
127+
m_Name: EventSystem
128+
m_TagString: Untagged
129+
m_Icon: {fileID: 0}
130+
m_NavMeshLayer: 0
131+
m_StaticEditorFlags: 0
132+
m_IsActive: 1
133+
--- !u!114 &558106517
134+
MonoBehaviour:
135+
m_ObjectHideFlags: 0
136+
m_PrefabParentObject: {fileID: 0}
137+
m_PrefabInternal: {fileID: 0}
138+
m_GameObject: {fileID: 558106516}
139+
m_Enabled: 1
140+
m_EditorHideFlags: 0
141+
m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3}
142+
m_Name:
143+
m_EditorClassIdentifier:
144+
m_HorizontalAxis: Horizontal
145+
m_VerticalAxis: Vertical
146+
m_SubmitButton: Submit
147+
m_CancelButton: Cancel
148+
m_InputActionsPerSecond: 10
149+
m_RepeatDelay: 0.5
150+
m_ForceModuleActive: 0
151+
--- !u!114 &558106518
152+
MonoBehaviour:
153+
m_ObjectHideFlags: 0
154+
m_PrefabParentObject: {fileID: 0}
155+
m_PrefabInternal: {fileID: 0}
156+
m_GameObject: {fileID: 558106516}
157+
m_Enabled: 1
158+
m_EditorHideFlags: 0
159+
m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3}
160+
m_Name:
161+
m_EditorClassIdentifier:
162+
m_FirstSelected: {fileID: 0}
163+
m_sendNavigationEvents: 1
164+
m_DragThreshold: 5
165+
--- !u!4 &558106519
166+
Transform:
167+
m_ObjectHideFlags: 0
168+
m_PrefabParentObject: {fileID: 0}
169+
m_PrefabInternal: {fileID: 0}
170+
m_GameObject: {fileID: 558106516}
171+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
172+
m_LocalPosition: {x: 0, y: 0, z: 0}
173+
m_LocalScale: {x: 1, y: 1, z: 1}
174+
m_Children: []
175+
m_Father: {fileID: 0}
176+
m_RootOrder: 5
177+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
116178
--- !u!1 &908282216
117179
GameObject:
118180
m_ObjectHideFlags: 0
@@ -153,6 +215,92 @@ MonoBehaviour:
153215
m_Script: {fileID: 11500000, guid: b43a4ab14ae6fc940ade8a63a9201778, type: 3}
154216
m_Name:
155217
m_EditorClassIdentifier:
218+
--- !u!1 &1051946412
219+
GameObject:
220+
m_ObjectHideFlags: 0
221+
m_PrefabParentObject: {fileID: 0}
222+
m_PrefabInternal: {fileID: 0}
223+
serializedVersion: 5
224+
m_Component:
225+
- component: {fileID: 1051946416}
226+
- component: {fileID: 1051946415}
227+
- component: {fileID: 1051946414}
228+
- component: {fileID: 1051946413}
229+
m_Layer: 0
230+
m_Name: Plane
231+
m_TagString: Untagged
232+
m_Icon: {fileID: 0}
233+
m_NavMeshLayer: 0
234+
m_StaticEditorFlags: 0
235+
m_IsActive: 1
236+
--- !u!23 &1051946413
237+
MeshRenderer:
238+
m_ObjectHideFlags: 0
239+
m_PrefabParentObject: {fileID: 0}
240+
m_PrefabInternal: {fileID: 0}
241+
m_GameObject: {fileID: 1051946412}
242+
m_Enabled: 1
243+
m_CastShadows: 1
244+
m_ReceiveShadows: 1
245+
m_DynamicOccludee: 1
246+
m_MotionVectors: 1
247+
m_LightProbeUsage: 1
248+
m_ReflectionProbeUsage: 1
249+
m_Materials:
250+
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
251+
m_StaticBatchInfo:
252+
firstSubMesh: 0
253+
subMeshCount: 0
254+
m_StaticBatchRoot: {fileID: 0}
255+
m_ProbeAnchor: {fileID: 0}
256+
m_LightProbeVolumeOverride: {fileID: 0}
257+
m_ScaleInLightmap: 1
258+
m_PreserveUVs: 1
259+
m_IgnoreNormalsForChartDetection: 0
260+
m_ImportantGI: 0
261+
m_StitchLightmapSeams: 0
262+
m_SelectedEditorRenderState: 3
263+
m_MinimumChartSize: 4
264+
m_AutoUVMaxDistance: 0.5
265+
m_AutoUVMaxAngle: 89
266+
m_LightmapParameters: {fileID: 0}
267+
m_SortingLayerID: 0
268+
m_SortingLayer: 0
269+
m_SortingOrder: 0
270+
--- !u!64 &1051946414
271+
MeshCollider:
272+
m_ObjectHideFlags: 0
273+
m_PrefabParentObject: {fileID: 0}
274+
m_PrefabInternal: {fileID: 0}
275+
m_GameObject: {fileID: 1051946412}
276+
m_Material: {fileID: 13400000, guid: 96f8ee953b5660d45a3c92595a37d2e4, type: 2}
277+
m_IsTrigger: 0
278+
m_Enabled: 1
279+
serializedVersion: 3
280+
m_Convex: 0
281+
m_CookingOptions: 14
282+
m_SkinWidth: 0.01
283+
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
284+
--- !u!33 &1051946415
285+
MeshFilter:
286+
m_ObjectHideFlags: 0
287+
m_PrefabParentObject: {fileID: 0}
288+
m_PrefabInternal: {fileID: 0}
289+
m_GameObject: {fileID: 1051946412}
290+
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
291+
--- !u!4 &1051946416
292+
Transform:
293+
m_ObjectHideFlags: 0
294+
m_PrefabParentObject: {fileID: 0}
295+
m_PrefabInternal: {fileID: 0}
296+
m_GameObject: {fileID: 1051946412}
297+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
298+
m_LocalPosition: {x: 0, y: 0, z: 0}
299+
m_LocalScale: {x: 10, y: 10, z: 10}
300+
m_Children: []
301+
m_Father: {fileID: 0}
302+
m_RootOrder: 4
303+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
156304
--- !u!1 &1248140278
157305
GameObject:
158306
m_ObjectHideFlags: 0
@@ -161,6 +309,7 @@ GameObject:
161309
serializedVersion: 5
162310
m_Component:
163311
- component: {fileID: 1248140279}
312+
- component: {fileID: 1248140281}
164313
- component: {fileID: 1248140280}
165314
m_Layer: 0
166315
m_Name: NetworkManager
@@ -190,15 +339,26 @@ MonoBehaviour:
190339
m_GameObject: {fileID: 1248140278}
191340
m_Enabled: 1
192341
m_EditorHideFlags: 0
193-
m_Script: {fileID: 1682170820, guid: 60e03929ed5d1314497fcab23ef2f3a5, type: 3}
342+
m_Script: {fileID: 1682170820, guid: 1e8708ab61930764caf7a38dd98a6365, type: 3}
194343
m_Name:
195344
m_EditorClassIdentifier:
345+
DontDestroy: 1
346+
RunInBackground: 1
196347
SpawnablePrefabs: []
197-
DefaultPlayerPrefab: {fileID: 1816572993451638, guid: 33fa2bcf91cc5004da3525a6a48f48d2,
348+
DefaultPlayerPrefab: {fileID: 1329915689972608, guid: e76e7324100b55b4884126b83418ebab,
198349
type: 2}
199350
MyClientId: 0
200-
PlaySceneIndex: 1
201-
MenuSceneIndex: 0
351+
--- !u!114 &1248140281
352+
MonoBehaviour:
353+
m_ObjectHideFlags: 0
354+
m_PrefabParentObject: {fileID: 0}
355+
m_PrefabInternal: {fileID: 0}
356+
m_GameObject: {fileID: 1248140278}
357+
m_Enabled: 1
358+
m_EditorHideFlags: 0
359+
m_Script: {fileID: 11500000, guid: b43a4ab14ae6fc940ade8a63a9201778, type: 3}
360+
m_Name:
361+
m_EditorClassIdentifier:
202362
--- !u!1 &1569011444
203363
GameObject:
204364
m_ObjectHideFlags: 0

Assets/NetManagerHud.cs

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ private void OnGUI()
1414
Address = "127.0.0.1",
1515
Port = 7777,
1616
};
17-
config.Channels.Add("PositionUpdates", QosType.Reliable);
18-
config.MessageTypes.Add("PositionUpdate");
19-
config.MessageTypes.Add("SetClientPosition");
17+
config.RegisteredScenes = new System.Collections.Generic.List<string>();
18+
config.RegisteredScenes.Add("MenuScene");
19+
config.RegisteredScenes.Add("PlayScene");
20+
config.EnableSceneSwitching = false;
2021
NetworkingManager.singleton.StartClient(config);
2122
}
2223

@@ -27,9 +28,10 @@ private void OnGUI()
2728
Address = "127.0.0.1",
2829
Port = 7777,
2930
};
30-
config.Channels.Add("PositionUpdates", QosType.Reliable);
31-
config.MessageTypes.Add("PositionUpdate");
32-
config.MessageTypes.Add("SetClientPosition");
31+
config.RegisteredScenes = new System.Collections.Generic.List<string>();
32+
config.RegisteredScenes.Add("MenuScene");
33+
config.RegisteredScenes.Add("PlayScene");
34+
config.EnableSceneSwitching = false;
3335
NetworkingManager.singleton.StartServer(config);
3436
}
3537

@@ -40,9 +42,10 @@ private void OnGUI()
4042
Address = "127.0.0.1",
4143
Port = 7777,
4244
};
43-
config.Channels.Add("PositionUpdates", QosType.Reliable);
44-
config.MessageTypes.Add("PositionUpdate");
45-
config.MessageTypes.Add("SetClientPosition");
45+
config.RegisteredScenes = new System.Collections.Generic.List<string>();
46+
config.RegisteredScenes.Add("MenuScene");
47+
config.RegisteredScenes.Add("PlayScene");
48+
config.EnableSceneSwitching = false;
4649
NetworkingManager.singleton.StartHost(config);
4750
}
4851
}

0 commit comments

Comments
 (0)