Exemple #1
0
        public void GetComponentsFrom(GameObject gameObject)
        {
            foreach (var component in gameObject.GetComponents <Widget>())
            {
                if (component is MaterialWidget)
                {
                    ((MaterialWidget)component).UpdateWidgetState();
                }
                else if (component is LightWidget)
                {
                    ((LightWidget)component).UpdateWidget();
                }
                else if (component is ParticleWidget)
                {
                    ((ParticleWidget)component).UpdateWidget();
                }

                if (string.IsNullOrEmpty(component.InstanceID))
                {
                    component.GenerateInstanceID();
                }

                var widget = new NodeWidget(component);

                if (widget.NeedsReferenceSerialization())
                {
                    NodeReferenceMap.AddNodeWidget(widget);
                }

                widget.Serialize();

                NodeReferenceMap.AddReference(component, widget);
                widgetMap.Add(widget);
            }
        }
Exemple #2
0
        public static Object GetObject(NodeWidget widget)
        {
            if (s_nodeMap == null)
            {
                return(null);
            }

            return(s_nodeMap.Keys.Where(obj => s_nodeMap[obj].type == NodeReference.Type.Widget).FirstOrDefault(obj => s_nodeMap[obj].widget.InstanceID == widget.InstanceID));
        }
Exemple #3
0
        public static void AddNodeWidget(NodeWidget nodeWidget)
        {
            if (s_nodeWidgetReferenceList == null)
            {
                s_nodeWidgetReferenceList = new List <NodeWidget>();
            }

            if (!s_nodeWidgetReferenceList.Contains(nodeWidget))
            {
                s_nodeWidgetReferenceList.Add(nodeWidget);
            }
        }
Exemple #4
0
        public static void AddReference(Object objectRef, NodeWidget widget)
        {
            if (s_nodeMap == null)
            {
                s_nodeMap = new Dictionary <Object, NodeReference>();
            }

            if (s_nodeMap.ContainsKey(objectRef))
            {
                s_nodeMap[objectRef] = new NodeReference(widget);
            }
            else
            {
                s_nodeMap.Add(objectRef, new NodeReference(widget));
            }
        }
Exemple #5
0
 public NodeReference(NodeWidget widget)
 {
     this.type   = Type.Widget;
     this.widget = widget;
 }