public LayerStackPresenter(LayerStackViewData layerData, ContextMenuViewData contextMenuData, LayerStack stack) { Assert.NotNull(layerData, nameof(layerData)); Assert.NotNull(contextMenuData, nameof(contextMenuData)); Assert.NotNull(stack, nameof(stack)); this.layerData = layerData; this.contextMenuData = contextMenuData; this.stack = stack; layerData.createLayerButton.onClick.AddListener(() => stack.CreateLayer()); layerData.createAffectorButton.onClick.AddListener(() => { if (activeLayer != null) { AddAffector(activeLayer); } }); stack.OnLayerCreate += OnLayerCreate; stack.OnLayerDelete += OnLayerDelete; }