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();
        }
Example #2
0
        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);
                }
            }
        }