void OnEnable() { if (target == null) { Debug.LogWarning("NetworkBehaviourInspector had no target object"); return; } // If target's base class is changed from NetworkBehaviour to MonoBehaviour // then Unity temporarily keep using this Inspector causing things to break if (!(target is NetworkBehaviour)) { return; } Type scriptClass = target.GetType(); syncVarNames = new List <string>(); foreach (FieldInfo field in InspectorHelper.GetAllFields(scriptClass, typeof(NetworkBehaviour))) { if (field.IsSyncVar() && field.IsVisibleField()) { syncVarNames.Add(field.Name); } } syncListDrawer = new SyncListDrawer(serializedObject.targetObject); syncsAnything = SyncsAnything(scriptClass); }
void OnEnable() { if (target == null) { Debug.LogWarning("NetworkBehaviourInspector had no target object", serializedObject.context); return; } Type scriptClass = target.GetType(); syncVarNames = new List <string>(); foreach (FieldInfo field in InspectorHelper.GetAllFields(scriptClass, typeof(NetworkBehaviour))) { if (field.IsSyncVar() && field.IsVisibleField()) { syncVarNames.Add(field.Name); } } syncListDrawer = new SyncListDrawer(serializedObject.targetObject); syncsAnything = SyncsAnything(scriptClass); }