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);
        }
示例#2
0
        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);
        }