public static void MoveCriteriaModel(this ICriteriaModelContainer criteriaModelContainer, CriteriaModel criteriaModel, CriteriaModel targetCriteriaModel, bool insertAtEnd)
        {
            var index = criteriaModelContainer.IndexOfCriteriaModel(criteriaModel);

            if (index == -1)
            {
                throw new ArgumentOutOfRangeException(criteriaModel.ToString());
            }

            var targetIndex = criteriaModelContainer.IndexOfCriteriaModel(targetCriteriaModel);

            if (targetIndex > index && !insertAtEnd)
            {
                targetIndex -= 1;
            }
            if (targetIndex == -1)
            {
                throw new ArgumentOutOfRangeException(targetCriteriaModel.ToString());
            }

            Undo.RegisterCompleteObjectUndo(criteriaModelContainer.SerializableAsset, "Move Criteria Model");

            criteriaModelContainer.RemoveCriteriaModelNoUndo(criteriaModel);
            criteriaModelContainer.InsertCriteriaModelNoUndo(targetIndex, criteriaModel);
        }
Exemplo n.º 2
0
 public static void RemoveCriteriaModel(this ICriteriaModelContainer criteriaModelContainer, CriteriaModel criteriaModel)
 {
     if (criteriaModelContainer.CriteriaModels.Contains(criteriaModel))
     {
         Undo.RegisterCompleteObjectUndo(criteriaModelContainer.SerializableAsset, "Remove Criteria Model");
         criteriaModelContainer.RemoveCriteriaModelNoUndo(criteriaModel);
     }
 }
Exemplo n.º 3
0
        public RemoveCriteriaModelAction(ICriteriaModelContainer criteriaModelContainer,
                                         CriteriaModel criteriaModel)
        {
            Assert.IsNotNull(criteriaModelContainer);
            Assert.IsNotNull(criteriaModel);

            CriteriaModelContainer = criteriaModelContainer;
            CriteriaModel          = criteriaModel;
        }
        public static void RenameCriteriaModel(this ICriteriaModelContainer criteriaModelContainer, CriteriaModel criteriaModel, string newName)
        {
            if (!criteriaModelContainer.CriteriaModels.Contains(criteriaModel))
            {
                return;
            }

            Undo.RegisterCompleteObjectUndo(criteriaModelContainer.SerializableAsset, "Change Criteria Model name");
            criteriaModel.Name = newName;
        }
Exemplo n.º 5
0
        public RenameCriteriaModelAction(ICriteriaModelContainer criteriaModelContainer,
                                         CriteriaModel criteriaModel,
                                         string name)
        {
            Assert.IsNotNull(criteriaModelContainer);
            Assert.IsNotNull(criteriaModel);

            CriteriaModelContainer = criteriaModelContainer;
            CriteriaModel          = criteriaModel;
            Name = name;
        }
        public static void RemoveCriterion(this ICriteriaModelContainer criteriaModelContainer,
                                           CriteriaModel criteriaModel,
                                           Criterion criterion)
        {
            if (!criteriaModelContainer.CriteriaModels.Contains(criteriaModel))
            {
                return;
            }

            Undo.RegisterCompleteObjectUndo(criteriaModelContainer.SerializableAsset, "Remove Criterion From Criteria Model");
            criteriaModel.RemoveCriterion(criterion);
        }
        public static void AddCriteriaModel(this ICriteriaModelContainer criteriaModelContainer)
        {
            // Each new criteria model added is guaranteed a unique name, no check needed before action
            Undo.RegisterCompleteObjectUndo(criteriaModelContainer.SerializableAsset, "Add Criteria Model");
            var criteriaModel = ScriptableObject.CreateInstance <CriteriaModel>();

            criteriaModel.UniqueNameProvider = criteriaModelContainer;
            criteriaModel.ResetName();
            criteriaModel.GraphModel = criteriaModelContainer.GraphModel;
            criteriaModelContainer.AddCriteriaModelNoUndo(criteriaModel);
            Utility.SaveAssetIntoObject(criteriaModel, (Object)((VSGraphModel)criteriaModelContainer.GraphModel).AssetModel);
        }
Exemplo n.º 8
0
        public static void AddCriteriaModel(this ICriteriaModelContainer criteriaModelContainer)
        {
            // Each new criteria model added is guaranteed a unique name, no check needed before action
            Undo.RegisterCompleteObjectUndo(criteriaModelContainer.SerializableAsset, "Add Criteria Model");
            var criteriaModel = new CriteriaModel();

            criteriaModel.UniqueNameProvider = criteriaModelContainer;
            criteriaModel.AssignNewGuid();
            criteriaModel.ResetName();
            criteriaModel.GraphModel = criteriaModelContainer.GraphModel;
            criteriaModelContainer.AddCriteriaModelNoUndo(criteriaModel);
            EditorUtility.SetDirty((Object)(criteriaModelContainer.GraphModel).AssetModel);
        }
        public static void MoveCriterion(this ICriteriaModelContainer criteriaModelContainer,
                                         CriteriaModel criteriaModel,
                                         Criterion criterion,
                                         Criterion targetCriterion,
                                         bool insertAtEnd)
        {
            if (!criteriaModelContainer.CriteriaModels.Contains(criteriaModel))
            {
                return;
            }

            Undo.RegisterCompleteObjectUndo(criteriaModelContainer.SerializableAsset, "Move Criterion In Criteria Model");
            criteriaModel.ReorderCriterion(criterion, targetCriterion, insertAtEnd);
        }
        public static void AddCriterion(this ICriteriaModelContainer criteriaModelContainer,
                                        CriteriaModel criteriaModel,
                                        TypeHandle typeHandle,
                                        TypeMember typeMember,
                                        BinaryOperatorKind operatorKind)
        {
            if (!criteriaModelContainer.CriteriaModels.Contains(criteriaModel))
            {
                return;
            }

            Undo.RegisterCompleteObjectUndo(criteriaModelContainer.SerializableAsset, "Add Criterion To Criteria Model");
            criteriaModel.AddCriterion((VSGraphModel)criteriaModelContainer.GraphModel, typeHandle, typeMember, operatorKind);
        }
Exemplo n.º 11
0
        public MoveCriteriaModelAction(ICriteriaModelContainer criteriaModelContainer,
                                       CriteriaModel criteriaModel,
                                       CriteriaModel targetCriteriaModel,
                                       bool insertAtEnd)
        {
            Assert.IsNotNull(criteriaModelContainer);
            Assert.IsNotNull(criteriaModel);
            Assert.IsNotNull(targetCriteriaModel);

            CriteriaModelContainer = criteriaModelContainer;
            CriteriaModel          = criteriaModel;
            TargetCriteriaModel    = targetCriteriaModel;
            InsertAtEnd            = insertAtEnd;
        }
Exemplo n.º 12
0
        public AddCriterionAction(ICriteriaModelContainer criteriaModelContainer,
                                  CriteriaModel criteriaModel,
                                  TypeHandle typeHandle,
                                  TypeMember typeMember,
                                  BinaryOperatorKind operatorKind)
        {
            Assert.IsNotNull(criteriaModelContainer);
            Assert.IsNotNull(criteriaModel);

            CriteriaModelContainer = criteriaModelContainer;
            CriteriaModel          = criteriaModel;
            TypeHandle             = typeHandle;
            TypeMember             = typeMember;
            OperatorKind           = operatorKind;
        }
        public static void DuplicateCriterion(this ICriteriaModelContainer criteriaModelContainer,
                                              CriteriaModel criteriaModel,
                                              Criterion criterion,
                                              IGraphElementModel targetGraphElementModel,
                                              CriteriaModel targetCriteriaModel,
                                              Criterion targetCriterion,
                                              bool insertAtEnd)
        {
            if (!criteriaModelContainer.CriteriaModels.Contains(criteriaModel))
            {
                return;
            }

            Undo.RegisterCompleteObjectUndo(targetCriteriaModel, "Duplicate Criterion In Criteria Model");
            criteriaModel.DuplicateCriterion(criterion, targetCriteriaModel, targetCriterion, insertAtEnd);
        }
        public static CriteriaModel DuplicateCriteriaModel(this ICriteriaModelContainer criteriaModelContainer,
                                                           CriteriaModel criteriaModel,
                                                           ICriteriaModelContainer targetCriteriaModelContainer,
                                                           CriteriaModel targetCriteriaModel,
                                                           bool insertAtEnd)
        {
            Assert.AreNotEqual(criteriaModelContainer, targetCriteriaModelContainer);

            var index = criteriaModelContainer.IndexOfCriteriaModel(criteriaModel);

            if (index == -1)
            {
                throw new ArgumentOutOfRangeException(criteriaModel.ToString());
            }

            Undo.RegisterCompleteObjectUndo(targetCriteriaModelContainer.SerializableAsset, "Duplicate Criteria Model");
            CriteriaModel clone = criteriaModel.Clone();

            foreach (var criterion in clone.Criteria)
            {
                Utility.SaveAssetIntoObject(criterion.Value.NodeAssetReference, (Object)clone.GraphModel.AssetModel);
            }
            clone.GraphModel         = targetCriteriaModelContainer.GraphModel;
            clone.UniqueNameProvider = targetCriteriaModelContainer;
            clone.SetUniqueName(clone.Name);

            if (insertAtEnd)
            {
                targetCriteriaModelContainer.AddCriteriaModelNoUndo(clone);
            }
            else
            {
                var targetIndex = targetCriteriaModelContainer.IndexOfCriteriaModel(targetCriteriaModel);
                if (targetIndex == -1)
                {
                    throw new ArgumentOutOfRangeException(targetCriteriaModel.ToString());
                }

                targetCriteriaModelContainer.InsertCriteriaModelNoUndo(targetIndex, clone);
            }

            Utility.SaveAssetIntoObject(clone, (Object)((VSGraphModel)clone.GraphModel).AssetModel);

            return(clone);
        }
Exemplo n.º 15
0
        public DuplicateCriterionAction(ICriteriaModelContainer criteriaModelContainer,
                                        CriteriaModel criteriaModel,
                                        Criterion criterion,
                                        ICriteriaModelContainer targetCriteriaModelContainer,
                                        CriteriaModel targetCriteriaModel,
                                        Criterion targetCriterion,
                                        bool insertAtEnd)
        {
            Assert.IsNotNull(criteriaModelContainer);
            Assert.IsNotNull(criteriaModel);
            Assert.IsNotNull(criterion);
            Assert.IsNotNull(targetCriteriaModelContainer);
            Assert.IsNotNull(targetCriteriaModel);

            CriteriaModelContainer = criteriaModelContainer;
            CriteriaModel          = criteriaModel;
            Criterion = criterion;
            TargetCriteriaModelContainer = targetCriteriaModelContainer;
            TargetCriteriaModel          = targetCriteriaModel;
            TargetCriterion = targetCriterion;
            InsertAtEnd     = insertAtEnd;
        }
Exemplo n.º 16
0
 public void AddCriteriaModel(ICriteriaModelContainer criteriaModelContainer)
 {
     Store.Dispatch(new AddCriteriaModelAction(criteriaModelContainer));
 }
Exemplo n.º 17
0
        public AddCriteriaModelAction(ICriteriaModelContainer criteriaModelContainer)
        {
            Assert.IsNotNull(criteriaModelContainer);

            CriteriaModelContainer = criteriaModelContainer;
        }