Beispiel #1
0
 public BundleItem(string virtualPath, IEnumerable <IItemTransform> transforms)
 {
     VirtualPath = virtualPath;
     if (transforms != null)
     {
         Transforms.AddRange(transforms);
     }
 }
        // TODO: Call this every x secs in order to find new Transforms
        private void LookupTransforms()
        {
            Transforms.AddRange(FindObjectsOfType <Transform>().Where(t => t.gameObject.GetComponent <ContinuousFloatingOriginBehaviour>() == null && t.parent == null));

            foreach (var t in Transforms)
            {
                t.parent = RootTransform;
            }

            Debug.Log($"Lookup {Transforms.Count} transforms without parent and without the {nameof(ContinuousFloatingOriginBehaviour)} component!");
        }
Beispiel #3
0
        public PatternSet(XElement node)
            : this()
        {
            // Migrate old versions
            #region Upgrade PatternSet
            {
                // Add a null version if not found
                if (node.Element(XmlTag.Version) == null)
                {
                    node.Add(new XElement(XmlTag.Version, string.Empty));
                }

                for (string version; (version = node.Element(XmlTag.Version).Value) != Constants.PatternSetVersion;)
                {
                    switch (version)
                    {
                    default:
                        throw new Exception($"Version {version} Pattern Set is not supported");

                    case "v1.0":
                        // Latest
                        break;
                    }
                }
            }
            #endregion

            var highlights_node = node.Element(XmlTag.Highlights);
            if (highlights_node != null)
            {
                Highlights.AddRange(highlights_node.Elements(XmlTag.Highlight).Select(x => x.As <Highlight>()));
            }

            var filters_node = node.Element(XmlTag.Filters);
            if (filters_node != null)
            {
                Filters.AddRange(filters_node.Elements(XmlTag.Filter).Select(x => x.As <Filter>()));
            }

            var transforms_node = node.Element(XmlTag.Transforms);
            if (transforms_node != null)
            {
                Transforms.AddRange(transforms_node.Elements(XmlTag.Transform).Select(x => x.As <Transform>()));
            }

            var actions_node = node.Element(XmlTag.ClkActions);
            if (actions_node != null)
            {
                Actions.AddRange(actions_node.Elements(XmlTag.ClkAction).Select(x => x.As <ClkAction>()));
            }
        }