private static void HandleGraphTypeRegistered(UTinyRegistryEventType eventType, IRegistryObject obj)
        {
            if (!(obj is UTinyType) || null == obj.Registry)
            {
                return;
            }

            var type     = (UTinyType)obj;
            var registry = obj.Registry;

            var cellGraphType = obj.Registry.FindByName <UTinyType>("CellGraph");

            if (null != cellGraphType && type.Id.Equals(cellGraphType.Id))
            {
                AddBindings(registry, (UTinyType.Reference)type, t => new CellGraphBindings(t));
                return;
            }

            var cellGraphNodeType = obj.Registry.FindByName <UTinyType>("CellGraphNode");

            if (null != cellGraphNodeType && type.Id.Equals(cellGraphNodeType.Id))
            {
                AddBindings(registry, (UTinyType.Reference)type, t => new CellGraphNodeBindings(t));
            }
        }
        private static void HandleCoreTypeRegistered(UTinyRegistryEventType @event, IRegistryObject obj)
        {
            if (!(obj is UTinyType) || null == obj?.Registry)
            {
                return;
            }
            var type = (UTinyType)obj;

            UTinyEventDispatcher.AddListener <UTinyType.Reference, IEnumerable <UTinyEntity> >((UTinyType.Reference)type, ProcessDependency);
        }
Example #3
0
        private static void HandleCoreTypeRegistered(UTinyRegistryEventType eventType, IRegistryObject obj)
        {
            if (!(obj is UTinyType) || null == obj.Registry)
            {
                return;
            }

            var type = obj as UTinyType;

            List <AttributeBinder> binders;

            if (!s_Lookup.TryGetValue(obj.Id, out binders))
            {
                return;
            }
            foreach (var binder in binders)
            {
                binder(obj.Registry, (UTinyType.Reference)type);
            }
        }