private void DrawGameObjectTitle() { EditorGUILayout.BeginHorizontal(new GUILayoutOption[0]); EditorGUILayout.BeginVertical(new GUILayoutOption[0]); bool flag = EditorGUILayout.ToggleLeft("Enabled", this.m_components.Value.m_enabled, new GUILayoutOption[0]); if (flag != this.m_components.Value.m_enabled) { rdtTcpMessageComponents components = this.m_components.Value; components.m_enabled = flag; this.m_components = new rdtTcpMessageComponents?(components); rdtGuiTree <rdtTcpMessageGameObjects.Gob> .Node node = this.m_tree.FindNode(this.m_selected.Value); if (node != null) { node.Enabled = flag; } this.OnGameObjectChanged(); } EditorGUILayout.BeginHorizontal(new GUILayoutOption[0]); EditorGUILayout.LabelField("Tag", new GUILayoutOption[] { GUILayout.Width(30f) }); string str = EditorGUILayout.TagField(GUIContent.none, this.m_components.Value.m_tag, new GUILayoutOption[] { GUILayout.MinWidth(50f) }); if (str != this.m_components.Value.m_tag) { rdtTcpMessageComponents components2 = this.m_components.Value; components2.m_tag = str; this.m_components = new rdtTcpMessageComponents?(components2); this.OnGameObjectChanged(); } EditorGUILayout.LabelField("Layer", new GUILayoutOption[] { GUILayout.Width(40f) }); int num = EditorGUILayout.LayerField(GUIContent.none, this.m_components.Value.m_layer, new GUILayoutOption[] { GUILayout.MinWidth(50f) }); if (num != this.m_components.Value.m_layer) { rdtTcpMessageComponents components3 = this.m_components.Value; components3.m_layer = num; this.m_components = new rdtTcpMessageComponents?(components3); this.OnGameObjectChanged(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); EditorGUILayout.EndHorizontal(); }
private void OnRequestGameObjectComponents(rdtTcpMessage message) { rdtTcpMessageGetComponents components = (rdtTcpMessageGetComponents)message; if (components.m_instanceId != 0) { GameObject obj2 = this.FindGameObject(components.m_instanceId); if (obj2 != null) { rdtTcpMessageComponents components2 = new rdtTcpMessageComponents(); components2.m_instanceId = components.m_instanceId; components2.m_components = new List <rdtTcpMessageComponents.Component>(); components2.m_layer = obj2.layer; components2.m_tag = obj2.tag; components2.m_enabled = obj2.activeSelf; this.m_components.Clear(); obj2.GetComponents <UnityEngine.Component>(this.m_unityComponents); if (this.m_unityComponents.Count > this.m_components.Capacity) { this.m_components.Capacity = this.m_unityComponents.Count; } for (int i = 0; i < this.m_unityComponents.Count; i++) { UnityEngine.Component owner = this.m_unityComponents[i]; if (owner == null) { rdtDebug.Debug(this, "Component is null, skipping", new object[0]); } else { List <rdtTcpMessageComponents.Property> list = this.m_server.SerializerRegistry.ReadAllFields(owner); if (list == null) { rdtDebug.Debug(this, "Properties are null, skipping", new object[0]); } else { rdtTcpMessageComponents.Component item = new rdtTcpMessageComponents.Component(); if (owner is Behaviour) { item.m_canBeDisabled = true; item.m_enabled = ((Behaviour)owner).enabled; } else if (owner is Renderer) { item.m_canBeDisabled = true; item.m_enabled = ((Renderer)owner).enabled; } else if (owner is Collider) { item.m_canBeDisabled = true; item.m_enabled = ((Collider)owner).enabled; } else { item.m_canBeDisabled = false; item.m_enabled = true; } System.Type type = owner.GetType(); item.m_name = type.Name; item.m_assemblyName = type.AssemblyQualifiedName; item.m_instanceId = owner.GetInstanceID(); item.m_properties = list; this.m_components.Add(item); } } } components2.m_components = this.m_components; this.m_unityComponents.Clear(); this.m_server.EnqueueMessage(components2); } } }