Esempio n. 1
0
    public ILayoutSerializer GetLayoutSerializer(Type type)
    {
        ILayoutSerializer layoutSerializer = null;

        layoutSerializers.TryGetValue(type, out layoutSerializer);
        return(layoutSerializer);
    }
 public LayoutManager(IContentManager contentManager, ILayoutSerializer serializer, IElementDisplay elementDisplay, IElementManager elementManager)
 {
     _contentManager = contentManager;
     _serializer     = serializer;
     _elementDisplay = elementDisplay;
     _elementManager = elementManager;
 }
Esempio n. 3
0
 public FormService(
     ILayoutSerializer serializer,
     IClock clock,
     IRepository <Submission> submissionRepository,
     IFormElementEventHandler elementHandlers,
     IContentDefinitionManager contentDefinitionManager,
     IBindingManager bindingManager,
     IDynamicFormEventHandler formEventHandler,
     Lazy <IEnumerable <IElementValidator> > validators,
     IDateLocalizationServices dateLocalizationServices,
     IOrchardServices services,
     ICultureAccessor cultureAccessor)
 {
     _serializer               = serializer;
     _clock                    = clock;
     _submissionRepository     = submissionRepository;
     _elementHandlers          = elementHandlers;
     _contentManager           = services.ContentManager;
     _contentDefinitionManager = contentDefinitionManager;
     _bindingManager           = bindingManager;
     _formEventHandler         = formEventHandler;
     _validators               = validators;
     _dateLocalizationServices = dateLocalizationServices;
     _services                 = services;
     _cultureAccessor          = cultureAccessor;
 }
Esempio n. 4
0
    private void Serialize(ObjectData objectData, GameObject go, bool isRoot)
    {
        UIBehaviour[] layoutElements = go.GetComponents <UIBehaviour>();
        objectData.Name = go.name;
        objectData.ID   = go.GetInstanceID();

        foreach (UIBehaviour layoutElement in layoutElements)
        {
            ILayoutSerializer layoutSerializer = UIMirrorManager.Instance.GetLayoutSerializer(layoutElement.GetType());
            if (layoutSerializer != null)
            {
                ElementDataBase elementData = layoutSerializer.Serialize(layoutElement as UIBehaviour);
                objectData.elementsData.Add(elementData);
            }
        }

        objectData.transformData = UIMirrorManager.Instance.TransformSerializer.Serialize(go.GetComponent <RectTransform>());

        foreach (Transform child in go.transform)
        {
            ObjectData childData = new ObjectData();
            Serialize(childData, child.gameObject, false);
            objectData.childrenData.Add(childData);
        }
    }
Esempio n. 5
0
        public LayoutManager(
            IContentManager contentManager,
            ILayoutSerializer serializer,
            IElementDisplay elementDisplay,
            IElementManager elementManager) {

            _contentManager = contentManager;
            _serializer = serializer;
            _elementDisplay = elementDisplay;
            _elementManager = elementManager;
        }
Esempio n. 6
0
        public static void Deserialize(string fileFullName, ILayoutSerializer serializer)
        {
            var fileFullPath = Path.Combine(Layouts, fileFullName);
            var isoStore     = GetStorageFile();

            if (isoStore.FileExists(fileFullPath))
            {
                using (var stream = isoStore.OpenFile(fileFullPath, FileMode.Open))
                {
                    serializer.RestoreLayoutFromStream(stream);
                }
            }
        }
Esempio n. 7
0
        public static void Serialize(string fileFullName, ILayoutSerializer serializer)
        {
            var isoStore = GetStorageFile();

            if (!isoStore.DirectoryExists(Layouts))
            {
                isoStore.CreateDirectory(Layouts);
            }
            var fileFullPath = Path.Combine(Layouts, fileFullName);

            using (var stream = isoStore.OpenFile(fileFullPath, FileMode.Create))
            {
                serializer.SaveLayoutToStream(stream);
            }
        }
Esempio n. 8
0
    private void RegisterSerializers()
    {
        MetaType edb         = RuntimeTypeModel.Default.Add(typeof(ElementDataBase), true);
        var      serializers = new ILayoutSerializer[]
        {
            new ButtonSerializer(),
            new ImageSerializer(),
            new RawImageSerializer(),
            new SliderSerializer(),
            new TextMeshProSerializer(),
            new TextSerializer()
        };

        foreach (ILayoutSerializer serializer in serializers)
        {
            Register(serializer, edb);
        }
    }
Esempio n. 9
0
        public LayoutPartHandler(
            IRepository <LayoutPartRecord> repository,
            ILayoutManager layoutManager,
            IContentManager contentManager,
            IContentPartDisplay contentPartDisplay,
            IShapeDisplay shapeDisplay,
            ILayoutSerializer serializer)
        {
            _layoutManager      = layoutManager;
            _contentManager     = contentManager;
            _contentPartDisplay = contentPartDisplay;
            _shapeDisplay       = shapeDisplay;
            _serializer         = serializer;

            Filters.Add(StorageFilter.For(repository));
            OnPublished <LayoutPart>(UpdateTemplateClients);
            OnIndexing <LayoutPart>(IndexLayout);
        }
Esempio n. 10
0
        public LayoutPartHandler(
            IRepository<LayoutPartRecord> repository, 
            ILayoutManager layoutManager, 
            IContentManager contentManager, 
            IContentPartDisplay contentPartDisplay, 
            IShapeDisplay shapeDisplay, 
            ILayoutSerializer serializer) {

            _layoutManager = layoutManager;
            _contentManager = contentManager;
            _contentPartDisplay = contentPartDisplay;
            _shapeDisplay = shapeDisplay;
            _serializer = serializer;

            Filters.Add(StorageFilter.For(repository));
            OnPublished<LayoutPart>(UpdateTemplateClients);
            OnIndexing<LayoutPart>(IndexLayout);
        }
Esempio n. 11
0
 public LayoutPartDriver(
     ILayoutSerializer serializer,
     IElementDisplay elementDisplay,
     IElementManager elementManager,
     ILayoutManager layoutManager,
     Lazy <IContentPartDisplay> contentPartDisplay,
     IShapeDisplay shapeDisplay,
     ILayoutModelMapper mapper,
     ILayoutEditorFactory layoutEditorFactory)
 {
     _serializer          = serializer;
     _elementDisplay      = elementDisplay;
     _elementManager      = elementManager;
     _layoutManager       = layoutManager;
     _contentPartDisplay  = contentPartDisplay;
     _shapeDisplay        = shapeDisplay;
     _mapper              = mapper;
     _layoutEditorFactory = layoutEditorFactory;
 }
        public LayoutPartHandler(
            IRepository<LayoutPartRecord> repository, 
            ILayoutManager layoutManager, 
            IContentManager contentManager, 
            IContentPartDisplay contentPartDisplay, 
            IShapeDisplay shapeDisplay, 
            ILayoutSerializer serializer,
            IStaticHttpContextScopeFactory staticHttpContextScopeFactory,
            IAliasService aliasService) {

            _layoutManager = layoutManager;
            _contentManager = contentManager;
            _contentPartDisplay = contentPartDisplay;
            _shapeDisplay = shapeDisplay;
            _serializer = serializer;
            _staticHttpContextScopeFactory = staticHttpContextScopeFactory;
            _aliasService = aliasService;

            Filters.Add(StorageFilter.For(repository));
            OnPublished<LayoutPart>(UpdateTemplateClients);
            OnIndexing<LayoutPart>(IndexLayout);
        }
Esempio n. 13
0
        public LayoutPartDriver(
            ILayoutSerializer serializer,
            IElementDisplay elementDisplay,
            IElementManager elementManager,
            ILayoutManager layoutManager,
            Lazy <IContentPartDisplay> contentPartDisplay,
            IShapeDisplay shapeDisplay,
            ILayoutModelMapper mapper,
            ILayoutEditorFactory layoutEditorFactory)
        {
            _serializer          = serializer;
            _elementDisplay      = elementDisplay;
            _elementManager      = elementManager;
            _layoutManager       = layoutManager;
            _contentPartDisplay  = contentPartDisplay;
            _shapeDisplay        = shapeDisplay;
            _mapper              = mapper;
            _layoutEditorFactory = layoutEditorFactory;
            _stack = new HashSet <string>();

            Logger = NullLogger.Instance;
        }
Esempio n. 14
0
        public LayoutPartHandler(
            IRepository <LayoutPartRecord> repository,
            ILayoutManager layoutManager,
            IContentManager contentManager,
            IContentPartDisplay contentPartDisplay,
            IShapeDisplay shapeDisplay,
            ILayoutSerializer serializer,
            IStaticHttpContextScopeFactory staticHttpContextScopeFactory,
            IAliasService aliasService)
        {
            _layoutManager                 = layoutManager;
            _contentManager                = contentManager;
            _contentPartDisplay            = contentPartDisplay;
            _shapeDisplay                  = shapeDisplay;
            _serializer                    = serializer;
            _staticHttpContextScopeFactory = staticHttpContextScopeFactory;
            _aliasService                  = aliasService;

            Filters.Add(StorageFilter.For(repository));
            OnPublished <LayoutPart>(UpdateTemplateClients);
            OnIndexing <LayoutPart>(IndexLayout);
        }
Esempio n. 15
0
 public LayoutSettingsHooks(ILayoutSerializer serializer, ILayoutManager layoutManager) {
     _serializer = serializer;
     _layoutManager = layoutManager;
 }
        public CompoundElementService(IContentManager contentManager, ILayoutSerializer layoutSerializer, ISignals signals)
        {
            _contentManager = contentManager;
            _signals = signals;

        }
Esempio n. 17
0
 public void Register(ILayoutSerializer buttonSerializer, MetaType edb)
 {
     layoutSerializers[buttonSerializer.LayoutElementType] = buttonSerializer;
     edb.AddSubType(layoutSerializers.Count, buttonSerializer.LayoutDataType);
 }
Esempio n. 18
0
    private Node Deserialize(ObjectData objectData, Node node, Transform parent)
    {
        // node exists but it doesn't match the current object, destroy it.
        if (node != null && objectData.ID != node.ID)
        {
            Destroy(node?.gameObject);
        }

        // No object? Destroy corresponding node game object if it exists
        if (objectData == null)
        {
            return(null);
        }

        if (node == null)
        {
            node            = new Node();
            node.ID         = objectData.ID;
            node.gameObject = new GameObject();
            node.gameObject.AddComponent <RectTransform>();
            node.gameObject.transform.SetParent(parent);
            node.gameObject.name = objectData.Name;
        }


        List <ElementDataBase> elementsData = objectData.elementsData;

        foreach (ElementDataBase elementData in elementsData)
        {
            Component layoutElement = elementData.GetLayoutComponentFromObject(node.gameObject);
            if (!layoutElement)
            {
                layoutElement = elementData.AddLayoutComponentToObject(node.gameObject);
            }

            if (layoutElement)
            {
                ILayoutSerializer serializer = UIMirrorManager.Instance.GetLayoutSerializer(layoutElement.GetType());
                serializer.Deserialize(networkManager, elementData, layoutElement as UIBehaviour);
            }
        }

        UIMirrorManager.Instance.TransformSerializer.Deserialize(objectData.transformData, node.gameObject.GetComponent <RectTransform>());

        foreach (Node childNode in node.children.Values)
        {
            childNode.IsValid = false;
        }

        foreach (ObjectData childData in objectData.childrenData)
        {
            int id = childData.ID;
            node.children.TryGetValue(id, out Node childNode);
            childNode = Deserialize(childData, childNode, node.gameObject.transform);
            if (childNode != null)
            {
                node.children[id] = childNode;
                ObjectCache.Add(id, childNode.gameObject);
                childNode.IsValid = true;
            }
        }

        List <Node> children = node.children.Values.ToList();

        foreach (Node child in children)
        {
            if (!child.IsValid)
            {
                Destroy(child.gameObject);
                node.children.Remove(child.ID);
                ObjectCache.Remove(child.ID);
            }
        }

        return(node);
    }
 public LayoutTypePartSettingsHooks(ILayoutSerializer serializer, ILayoutManager layoutManager)
 {
     _serializer    = serializer;
     _layoutManager = layoutManager;
 }
 public LayoutModelMapper(ILayoutSerializer serializer, IElementManager elementManager, Lazy <IEnumerable <ILayoutModelMap> > maps)
 {
     _serializer     = serializer;
     _elementManager = elementManager;
     _maps           = maps;
 }
Esempio n. 21
0
 public LayoutModelMapper(ILayoutSerializer serializer, IElementManager elementManager, Lazy<IEnumerable<ILayoutModelMap>> maps) {
     _serializer = serializer;
     _elementManager = elementManager;
     _maps = maps;
 }