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); }
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); } }