コード例 #1
0
        private static void Main(string[] args)
        {
            var employees = new List <Employee>()
            {
                new Employee()
                {
                    Name = "Razali", Position = "Software Engineer", Salary = 8000
                },
                new Employee()
                {
                    Name = "Damian", Position = "UX Engineer", Salary = 6500
                },
                new Employee()
                {
                    Name = "Zana", Position = "Manager", Salary = 13000
                },
            };

            IChainGroup <Employee> salaryChainGroup = new ChainGroup <Employee>()
                                                      .AddChainGroupLink(new EngineerSalaryChanger())
                                                      .AddChainGroupLink(new ManagerSalaryChanger());

            employees.ForEach(employee => salaryChainGroup.Process(employee));

            employees.ForEach(employee => Console.WriteLine($"Position: {employee.Position}, Salary: {employee.Salary}"));
        }
コード例 #2
0
        public void Destroy()
        {
            Group = null;

            GraphicRaycasterVA.Instance.RemoveCanvas(GetComponent <Canvas>());
            DestroyImmediate(gameObject);
        }
コード例 #3
0
        private void HandleGroupGroupRemoved(ChainGroup group, bool isTransfer)
        {
            if (isTransfer)
            {
                return;
            }

            RemoveChainGroupView(group, true);
        }
コード例 #4
0
        private void HandleGroupGroupAdded(ChainGroup group, bool isTransfer)
        {
            // If it's a transfer, we'll be getting the existing view sent over soon.
            if (isTransfer)
            {
                return;
            }

            AddChainGroupView(group);
        }
コード例 #5
0
        private void RemoveChainGroupView(ChainGroup group, bool destroy)
        {
            var view = GroupViews.FirstOrDefault(nv => nv.Group == group);

            if (view == null)
            {
                return;
            }

            RemoveChainGroupView(view, destroy);
        }
コード例 #6
0
ファイル: ItemDeletes.cs プロジェクト: voidALPHA/cgc_viz
        public GroupDelete(ChainGroup group)
        {
            var myGroup = ChainView.Instance.RootGroupView.RecursiveGroupViewsEnumerable.First(
                cgv => cgv.Group == group);
            var parentGroup = ChainView.Instance.RootGroupView.RecursiveGroupViewsEnumerable.First(
                cgv => cgv.Group.Groups.Contains(group));

            groupDragId     = myGroup.BackgroundPanel.Draggable.DragID;
            parentDragId    = parentGroup.BackgroundPanel.Draggable.DragID;
            initialLocation = myGroup.ChildAttachmentPoint.position;

            groupComment = group.Comment;
            groupOrigin  = myGroup.LoadedPackagePath;
        }
コード例 #7
0
        private void AddChainGroupView(ChainGroup group)
        {
            var viewGo = Instantiate(ChainView.GroupViewPrefab);
            var view   = viewGo.GetComponent <ChainGroupView>();

            view.RectTransform.position = Vector3.zero;

            view.Group = group;

            AddChainGroupView(view);

            if (!group.SuppressUndo)
            {
                UndoLord.Instance.Push(new GroupAdd(view, this, NewNodePosition));
            }
        }
コード例 #8
0
        public override void DoRedo()
        {
            var group = new ChainGroup()
            {
                SuppressUndo = true
            };
            var parentGroupView =
                ChainView.Instance.RootGroupView.RecursiveGroupViewsEnumerable.First(
                    cgv => cgv.BackgroundPanel.Draggable.DragID == parentDragId);
            var parentGroup = parentGroupView.Group;

            parentGroup.AddGroup(group);

            var groupView = ChainView.Instance.RootGroupView.RecursiveGroupViewsEnumerable.First(cgv => cgv.Group == group);

            groupView.transform.localPosition = Vector2.zero;
            groupView.SetVisiblePosition(initialLocation, false);
            groupView.BackgroundPanel.Draggable.DragID = groupDragId;
            group.SuppressUndo = false;
        }