protected override void SelectionChanged(IList <int> selectedIds)
        {
            List <Engine.VPT.Material> selectedMats = new List <Engine.VPT.Material>();
            var rows = GetRows();

            foreach (var row in rows)
            {
                if (selectedIds.Contains(row.id))
                {
                    selectedMats.Add((row as RowData).Material);
                }
            }
            MaterialSelected?.Invoke(selectedMats);
        }
示例#2
0
        internal void RefreshModel(TEntityAction entityAction)
        {
            entityAction.ThrowNull();

            MaterialItemsSource.Clear();
            MaterialSelectionSelectedIndex = -1;

            // for gadget Material
            var gadgets = new Collection <TActionComponent> ();

            TActionConverter.Collection(TCategory.Material, gadgets, entityAction);

            foreach (var component in gadgets)
            {
                var gadgetMaterial = component.Models.GadgetMaterialModel;

                if (gadgetMaterial.Enabled)
                {
                    MaterialItemsSource.Add(gadgetMaterial);

                    foreach (var gadgetTarget in Targets)
                    {
                        // Node reverse here
                        if (gadgetTarget.MaterialId.Equals(gadgetMaterial.Id))
                        {
                            gadgetTarget.Material = gadgetMaterial.GadgetName;
                        }
                    }
                }
            }

            if (MaterialItemsSource.Any())
            {
                MaterialSelected.CopyFrom(MaterialItemsSource [0]);
                MaterialSelectionSelectedIndex = 0;
            }
        }