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