Ejemplo n.º 1
0
        private void DuplicateEntities(List <EditorEntity> entities)
        {
            if (null == entities || !entities.Any())
            {
                return;
            }

            // work out a slot for each entity, and add it in turn
            // this should prevent generating the same ID for each member of the list
            var new_entities = new List <EditorEntity>();

            foreach (var entity in entities)
            {
                ushort slot         = getFreeSlot(entity.Entity);
                var    sceneEntity  = new SceneEntity(entity.Entity, slot);
                var    editorEntity = GenerateEditorEntity(sceneEntity);
                AddEntity(editorEntity);
                new_entities.Add(editorEntity);
            }

            if (new_entities.Count > 0)
            {
                LastAction = new Actions.ActionAddDeleteEntities(new_entities.ToList(), true, x => AddEntities(x), x => DeleteEntities(x));
            }
            Deselect();
            selectedEntities.AddRange(new_entities);
            foreach (var entity in new_entities)
            {
                entity.Selected = true;
            }
        }
Ejemplo n.º 2
0
        private void ResolveItem(BuildAction action, Profile.Stage stage, Profile.Item item)
        {
            if (stage == null || item == null)
            {
                return;
            }

            Actions.IAction resolvedAction = null;

            if (item.Type == Profile.ItemType.Solution || item.Type == Profile.ItemType.Project)
            {
                resolvedAction = new Actions.MSBuildAction(item.Path, action == BuildAction.Clean, _environment);
            }
            else if (item.Type == Profile.ItemType.BatchScript || item.Type == Profile.ItemType.ShellCommand)
            {
                resolvedAction = new Actions.ShellAction(item.Path);
            }
            else if (item.Type == Profile.ItemType.PowerShellScript)
            {
                resolvedAction = new Actions.PowerShellAction(item.Path);
            }

            if (resolvedAction == null)
            {
                throw new ApplicationException($"Don't know how to execute action of type {item.Type}");
            }

            _actions.Add(resolvedAction);
        }
Ejemplo n.º 3
0
 public void DeleteSelected()
 {
     if (selectedEntities.Count > 0)
     {
         LastAction = new Actions.ActionAddDeleteEntities(selectedEntities.ToList(), false, x => AddEntities(x), x => DeleteEntities(x));
     }
     DeleteEntities(selectedEntities);
     Deselect();
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Creates a new instance of the given SceneObject at the indicated position.
        /// </summary>
        /// <param name="sceneObject">Type of SceneObject to create an instance of.</param>
        /// <param name="position">Location to insert into the scene.</param>
        public void Add(RSDKv5.SceneObject sceneObject, RSDKv5.Position position)
        {
            var editorEntity = GenerateEditorEntity(new RSDKv5.SceneEntity(sceneObject, getFreeSlot(null)));

            editorEntity.Entity.Position = position;
            var newEntities = new List <EditorEntity> {
                editorEntity
            };

            LastAction = new Actions.ActionAddDeleteEntities(newEntities, true, x => AddEntities(x), x => DeleteEntities(x));
            AddEntities(newEntities);

            Deselect();
            editorEntity.Selected = true;
            selectedEntities.Add(editorEntity);
        }
Ejemplo n.º 5
0
        private void DuplicateEntities(List <EditorEntity> entities)
        {
            var new_entities = entities.Select(x => new EditorEntity(x.Entity.Copy())).ToList();

            if (new_entities.Count > 0)
            {
                LastAction = new Actions.ActionAddDeleteEntities(new_entities.ToList(), true, x => AddEntities(x), x => DeleteEntities(x));
            }
            AddEntities(new_entities);
            Deselect();
            selectedEntities.AddRange(new_entities);
            foreach (var entity in new_entities)
            {
                entity.Selected = true;
            }
        }
Ejemplo n.º 6
0
        private void DuplicateEntities(List <EditorEntity> entities)
        {
            if (null == entities || !entities.Any())
            {
                return;
            }

            var new_entities = entities.Select(x => GenerateEditorEntity(new RSDKv5.SceneEntity(x.Entity, getFreeSlot(x.Entity)))).ToList();

            if (new_entities.Count > 0)
            {
                LastAction = new Actions.ActionAddDeleteEntities(new_entities.ToList(), true, x => AddEntities(x), x => DeleteEntities(x));
            }
            AddEntities(new_entities);
            Deselect();
            selectedEntities.AddRange(new_entities);
            foreach (var entity in new_entities)
            {
                entity.Selected = true;
            }
        }
Ejemplo n.º 7
0
 public static ToDoREST.State.ApplicationState ReduceApplication(ToDoREST.State.ApplicationState previousState, Actions.IAction action)
 {
     return(new ToDoREST.State.ApplicationState
     {
         Todos = TodoReducers.Reduce(previousState.Todos, action)
     });
 }