internal void DispatchEvent(DataSourceEventArgs eventArgs)
        {
            switch (eventArgs.Type)
            {
            case "dataadded":
                OnDataAdded?.Invoke(eventArgs.Shapes);
                break;

            case "dataremoved":
                OnDataRemoved?.Invoke(eventArgs.Shapes);
                break;

            case "datasourceupdated":
                OnDataSourceUpdated?.Invoke();
                break;

            case "sourceadded":
                OnSourceAdded?.Invoke();
                break;

            case "sourceremoved":
                OnSourceRemoved?.Invoke();
                break;
            }
        }
Esempio n. 2
0
        public void AddDataSource(ISourceTree source)
        {
            _dataSources.Add(source);
            var treeElement = Instantiate(TreeElementPrefab, SourceTreeView).GetComponent <SourceTreeElement>();

            _roots.Add(treeElement);
            treeElement.Node = source;
            if (_roots.Count == 1)
            {
                treeElement.ChangeState();
            }

            if (source is IRemovable r)
            {
                r.OnRemoved += () =>
                {
                    _dataSources.Remove(source);
                    Destroy(treeElement.gameObject);
                };
            }

            // ReSharper disable once LocalVariableHidesMember
            foreach (var renderer in _renderers)
            {
                source.SetRenderer(renderer);
            }

            OnSourceAdded?.Invoke(source);
        }
 public void AddSource(object source)
 {
     if (!_sources.Contains(source))
     {
         _sources.Add(source);
         OnSourceAdded?.Invoke(source);
     }
 }
 protected void SourceAdded(IInputSource source)
 {
     OnSourceAdded?.Invoke(source);
 }