public static IUnitTestElement ReadFromXml(XmlElement parent,
                                                   IUnitTestElement parentElement,
                                                   ISolution solution,
                                                   BehaviorFactory factory)
        {
            var projectId = parent.GetAttribute("projectId");
            var project   = ProjectUtil.FindProjectElementByPersistentID(solution, projectId) as IProject;

            if (project == null)
            {
                return(null);
            }

            var context = parentElement as ContextElement;

            if (context == null)
            {
                return(null);
            }

            var typeName   = parent.GetAttribute("typeName");
            var methodName = parent.GetAttribute("methodName");
            var isIgnored  = bool.Parse(parent.GetAttribute("isIgnored"));
            var fieldType  = parent.GetAttribute("fieldType");

            return(factory.GetOrCreateBehavior(context,
                                               new ClrTypeName(typeName),
                                               methodName,
                                               isIgnored,
                                               fieldType));
        }
Exemplo n.º 2
0
    public static void SelectDisplayObjectByOffset(Transform displayObject, int offset, bool selectAll = false)
    {
        int idx = GlobalData.CurrentDisplayObjects.FindIndex(element => element.name.Equals(displayObject.name));

        if (idx == -1)
        {
            return;
        }
        int targetIdx = idx + offset;

        if (targetIdx < 0 || targetIdx >= GlobalData.CurrentDisplayObjects.Count)
        {
            return;
        }
        List <string> addElements = new List <string>();
        int           startIdx    = Math.Min(targetIdx, selectAll ? idx : targetIdx);
        int           endIdx      = Math.Max(targetIdx, selectAll ? idx : targetIdx);

        for (int idx2 = startIdx; idx2 <= endIdx; ++idx2)
        {
            addElements.Add(GlobalData.CurrentDisplayObjects[idx2].name);
        }
        HistoryManager.Do(BehaviorFactory.GetUpdateSelectDisplayObjectBehavior(GlobalData.CurrentModule,
                                                                               addElements,
                                                                               selectAll ? null : new List <string> {
            displayObject.name
        }));
    }
    public AssemblyExplorer(TestProvider provider,
#if RESHARPER_61
                            IUnitTestElementManager manager,
                            PsiModuleManager psiModuleManager,
                            CacheManager cacheManager,
#endif
                            IMetadataAssembly assembly,
                            IProject project,
                            UnitTestElementConsumer consumer)
    {
      _assembly = assembly;
      _consumer = consumer;

      using (ReadLockCookie.Create())
      {
        var projectEnvoy = new ProjectModelElementEnvoy(project);

        var cache = new ContextCache();
#if RESHARPER_61
        _contextFactory = new ContextFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, _assembly.Location.FullPath, cache);
        _contextSpecificationFactory = new ContextSpecificationFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, cache);
        _behaviorFactory = new BehaviorFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, cache);
        _behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy);
#else
#if RESHARPER_6
        _contextFactory = new ContextFactory(provider, project, projectEnvoy, _assembly.Location.FullPath, cache);
#else
        _contextFactory = new ContextFactory(provider, project, projectEnvoy, _assembly.Location, cache);
#endif
        _contextSpecificationFactory = new ContextSpecificationFactory(provider, project, projectEnvoy, cache);
#endif
      }
    }
        public AssemblyExplorer(MSpecUnitTestProvider provider,
#if RESHARPER_61
                                IUnitTestElementManager manager,
                                PsiModuleManager psiModuleManager,
                                CacheManager cacheManager,
#endif
                                IMetadataAssembly assembly,
                                IProject project,
                                UnitTestElementConsumer consumer)
        {
            _assembly = assembly;
            _consumer = consumer;

            using (ReadLockCookie.Create())
            {
                var projectEnvoy = new ProjectModelElementEnvoy(project);

                var cache = new ContextCache();
#if RESHARPER_61
                _contextFactory = new ContextFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, _assembly.Location.FullPath, cache);
                _contextSpecificationFactory  = new ContextSpecificationFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, cache);
                _behaviorFactory              = new BehaviorFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, cache);
                _behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy);
#else
#if RESHARPER_6
                _contextFactory = new ContextFactory(provider, project, projectEnvoy, _assembly.Location.FullPath, cache);
#else
                _contextFactory = new ContextFactory(provider, project, projectEnvoy, _assembly.Location, cache);
#endif
                _contextSpecificationFactory  = new ContextSpecificationFactory(provider, project, projectEnvoy, cache);
                _behaviorFactory              = new BehaviorFactory(provider, project, projectEnvoy, cache);
                _behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, project, projectEnvoy);
#endif
            }
        }
Exemplo n.º 5
0
        public FileExplorer(IUnitTestProvider provider,
                            UnitTestElementLocationConsumer consumer,
                            IFile file,
                            CheckForInterrupt interrupted)
        {
            if (file == null)
            {
                throw new ArgumentNullException("file");
            }

            if (provider == null)
            {
                throw new ArgumentNullException("provider");
            }

            _consumer    = consumer;
            _file        = file;
            _interrupted = interrupted;

            IProject project      = file.ProjectFile.GetProject();
            string   assemblyPath = UnitTestManager.GetOutputAssemblyPath(project).FullPath;

            var cache          = new ContextCache();
            var contextFactory = new ContextFactory(provider, project, assemblyPath, cache);
            var contextSpecificationFactory  = new ContextSpecificationFactory(provider, project, cache);
            var behaviorFactory              = new BehaviorFactory(provider, project, cache);
            var behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, project);

            _elementHandlers = new List <IElementHandler>
            {
                new ContextElementHandler(contextFactory),
                new ContextSpecificationElementHandler(contextSpecificationFactory),
                new BehaviorElementHandler(behaviorFactory, behaviorSpecificationFactory)
            };
        }
Exemplo n.º 6
0
        private static void Main(string[] args)
        {
            Pokemon pokemon = PokemonFactory.CreateInstance(1);

            pokemon.attackBehavior = BehaviorFactory.CreateBehavior("魯夫橡膠戰斧");
            pokemon.Attack(pokemon);
        }
Exemplo n.º 7
0
    public void OnEndDrag(PointerEventData eventData)
    {
        _isDrag = false;
        if (transform.name.Equals(_copying))
        {
            _copying = null;
        }
        if (_alignInfo == null || KeyboardEventManager.GetControl())
        {
            _horizontalAlignLineManager.gameObject.SetActive(false);
            _verticalAlignLineManager.gameObject.SetActive(false);
            return;
        }

        Vector2 pos  = selfRect.anchoredPosition;
        Vector2 size = selfRect.sizeDelta;

        if (_verticalAlignLineManager.gameObject.activeSelf && _alignInfo.VerticalAlignLine != null)
        {
            pos.x = _alignInfo.VerticalAlignLine.Left;
            switch (_alignInfo.VerticalAlignType)
            {
            case AlignType.Right:
                pos.x -= size.x;
                break;

            case AlignType.VerticalCenter:
                pos.x -= size.x * 0.5f;
                break;
            }
            pos.x = Element.InvConvertX(pos.x);
            _verticalAlignLineManager.gameObject.SetActive(false);
        }

        if (_horizontalAlignLineManager.gameObject.activeSelf && _alignInfo.HorizontalAlignLine != null)
        {
            pos.y = _alignInfo.HorizontalAlignLine.Top;
            switch (_alignInfo.HorizontalAlignType)
            {
            case AlignType.Bottom:
                pos.y -= size.y;
                break;

            case AlignType.HorizontalCenter:
                pos.y -= size.y * 0.5f;
                break;
            }
            pos.y = Element.InvConvertY(pos.y);
            _horizontalAlignLineManager.gameObject.SetActive(false);
        }

        List <string> selectedDisplayObjects = new List <string> {
            transform.name
        };

        selectedDisplayObjects.AddRange(from pair in GlobalData.CurrentSelectDisplayObjectDic where pair.Value != transform select pair.Key);

        HistoryManager.Do(BehaviorFactory.GetUpdateDisplayObjectsPosBehavior(GlobalData.CurrentModule, selectedDisplayObjects, _startPos, pos));
    }
Exemplo n.º 8
0
 public void OnToggleTrigger(bool isOn)
 {
     if (GlobalData.FrameToggleModifyByUndo)
     {
         GlobalData.FrameToggleModifyByUndo = false;
         return;
     }
     HistoryManager.Do(BehaviorFactory.GetUpdateFrameVisibleBehavior(isOn));
 }
Exemplo n.º 9
0
        public override void Process(IEnumerable <Control> entities, State world)
        {
            foreach (Control e in entities)
            {
                Behavior <TestEntity> b = BehaviorFactory.GetTestBehavior(e.state);
                b.React((TestEntity)e, world);

                int input = b.GetInputFromEnvironment((TestEntity)e, world);
                e.state = test.GetNextState(e.state, input);
            }
        }
Exemplo n.º 10
0
        public FileExplorer(MSpecUnitTestProvider provider,
#if RESHARPER_61
                            IUnitTestElementManager manager,
                            PsiModuleManager psiModuleManager,
                            CacheManager cacheManager,
#endif
                            UnitTestElementLocationConsumer consumer,
                            IFile file,
                            CheckForInterrupt interrupted)
        {
            if (file == null)
            {
                throw new ArgumentNullException("file");
            }

            if (provider == null)
            {
                throw new ArgumentNullException("provider");
            }

            _consumer    = consumer;
            _file        = file;
            _interrupted = interrupted;

#if RESHARPER_6
            IProject project = file.GetSourceFile().ToProjectFile().GetProject();
#else
            IProject project = file.ProjectFile.GetProject();
#endif
            var    projectEnvoy = new ProjectModelElementEnvoy(project);
            string assemblyPath = UnitTestManager.GetOutputAssemblyPath(project).FullPath;

            var cache = new ContextCache();


#if RESHARPER_61
            var contextFactory = new ContextFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, assemblyPath, cache);
            var contextSpecificationFactory  = new ContextSpecificationFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, cache);
            var behaviorFactory              = new BehaviorFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, cache);
            var behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy);
#else
            var contextFactory = new ContextFactory(provider, project, projectEnvoy, assemblyPath, cache);
            var contextSpecificationFactory  = new ContextSpecificationFactory(provider, project, projectEnvoy, cache);
            var behaviorFactory              = new BehaviorFactory(provider, project, projectEnvoy, cache);
            var behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, project, projectEnvoy);
#endif

            _elementHandlers = new List <IElementHandler>
            {
                new ContextElementHandler(contextFactory),
                new ContextSpecificationElementHandler(contextSpecificationFactory),
                new BehaviorElementHandler(behaviorFactory, behaviorSpecificationFactory)
            };
        }
Exemplo n.º 11
0
    private static void RemoveAllModules(bool combineWithNextBehavior = false)
    {
        if (GlobalData.Modules.Count == 0)
        {
            return;
        }
        List <string> modules = new List <string>();

        modules.AddRange(GlobalData.Modules);
        HistoryManager.Do(BehaviorFactory.GetRemoveAllModuleBehavior(modules, combineWithNextBehavior));
    }
Exemplo n.º 12
0
        public static void Main()
        {
            IRepository           repository         = new Repository();
            IBehaviourFactory     behaviourFactory   = new BehaviorFactory();
            IAttackFactory        attackFactory      = new AttackFactory();
            ICommandInterpretable commandInterpreter =
                new CommandInterpreter(repository, behaviourFactory, attackFactory);
            IRunable engine = new Engine(commandInterpreter);

            engine.Run();
        }
Exemplo n.º 13
0
        public static void Main(string[] args)
        {
            IBlobFactory blobFactory = new BlobFactory();
            IAttackFactory attackFactory = new AttackFactory();
            IBehaviorFactory behaviorFactory = new BehaviorFactory();
            IInputReader reader = new ConsoleReader();
            IOutputWriter writer = new ConsoleWriter();

            IEngine engine = new Engine(blobFactory, attackFactory, behaviorFactory, reader, writer);
            engine.Run();
        }
Exemplo n.º 14
0
        public static void Main(string[] args)
        {
            IBlobFactory     blobFactory     = new BlobFactory();
            IAttackFactory   attackFactory   = new AttackFactory();
            IBehaviorFactory behaviorFactory = new BehaviorFactory();
            IReader          reader          = new ConsoleReader();
            IWriter          writer          = new ConsoleWriter();

            IEngine engine = new Engine(blobFactory, attackFactory, behaviorFactory, reader, writer);

            engine.Run();
        }
Exemplo n.º 15
0
    public static void RemoveSelectedDisplayObject()
    {
        int count = GlobalData.CurrentSelectDisplayObjectDic.Count;

        if (count == 0)
        {
            DialogManager.ShowInfo("请先选择要删除的对象");
            return;
        }

        HistoryManager.Do(BehaviorFactory.GetRemoveSelectedDisplayObjectBehavior(GlobalData.CurrentModule));
    }
Exemplo n.º 16
0
        public static void Main(string[] args)
        {
            IUserInterface userInterface = new ConsoleUserInterface();
            IBlobFactory blobFactory = new BlobFactory();
            IBehaviorFactory behaviorFactory = new BehaviorFactory();
            IAttackFactory attackFactory = new AttackFactory();
            IDatabase database = new Database();

            IEngine engine = new Engine(userInterface,attackFactory,blobFactory,behaviorFactory,database);

            engine.Run();
        }
Exemplo n.º 17
0
        public static void Main(string[] args)
        {
            IUserInterface   userInterface   = new ConsoleUserInterface();
            IBlobFactory     blobFactory     = new BlobFactory();
            IBehaviorFactory behaviorFactory = new BehaviorFactory();
            IAttackFactory   attackFactory   = new AttackFactory();
            IDatabase        database        = new Database();

            IEngine engine = new Engine(userInterface, attackFactory, blobFactory, behaviorFactory, database);

            engine.Run();
        }
Exemplo n.º 18
0
    public FileExplorer(TestProvider provider,
#if RESHARPER_61
                        IUnitTestElementManager manager,
                        PsiModuleManager psiModuleManager,
                        CacheManager cacheManager,
#endif
                        UnitTestElementLocationConsumer consumer,
                        IFile file,
                        CheckForInterrupt interrupted)
    {
      if (file == null)
      {
        throw new ArgumentNullException("file");
      }

      if (provider == null)
      {
        throw new ArgumentNullException("provider");
      }

      _consumer = consumer;
      _file = file;
      _interrupted = interrupted;

#if RESHARPER_6
      IProject project =  PsiSourceFileExtensions.ToProjectFile(file.GetSourceFile()).GetProject();
#else
      resharper::JetBrains.ProjectModel.IProject project = file.ProjectFile.GetProject();
#endif
      var projectEnvoy = new ProjectModelElementEnvoy(project);
      string assemblyPath = UnitTestManager.GetOutputAssemblyPath(project).FullPath;

      var cache = new ContextCache();


#if RESHARPER_61
      var contextFactory = new ContextFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, assemblyPath, cache);
      var contextSpecificationFactory = new ContextSpecificationFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, cache);
      var behaviorFactory = new BehaviorFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, cache);
      var behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy);
#else
      var contextFactory = new ContextFactory(provider, project, projectEnvoy, assemblyPath, cache);
      var contextSpecificationFactory = new ContextSpecificationFactory(provider, project, projectEnvoy, cache);
#endif

      _elementHandlers = new List<IElementHandler>
                         {
                           new ContextElementHandler(contextFactory),
                           new ContextSpecificationElementHandler(contextSpecificationFactory),
                         };
    }
Exemplo n.º 19
0
        public Behavior AddBehavior(BehaviorType type)
        {
            LinkedListNode <Behavior> curNode = _ActiveBehaviorList.First;

            while (curNode != null)
            {
                Behavior b = curNode.Value;
                if (b.Type == type)
                {
                    if (b.IsInCallback)
                    {
                        b.ReActive = true;
                    }

                    return(b);
                }

                curNode = curNode.Next;
            }

            curNode = _InactiveBehaviorList.First;
            while (curNode != null)
            {
                Behavior b = curNode.Value;
                if (b.Type == type)
                {
                    _ActiveBehaviorList.AddLast(b);

                    if (b.Type == BehaviorType.Turn)
                    {
                        _ActiveTurnBehaviorList.Add(b);
                    }
                    _InactiveBehaviorList.Remove(b);
                    b.IsInCallback = false;
                    return(b);
                }
                curNode = curNode.Next;
            }

            Behavior newb = BehaviorFactory.CreateBehavior(type);

            newb.Init(gameObject.transform, ObjType);
            _ActiveBehaviorList.AddLast(newb);

            if (newb.Type == BehaviorType.Turn)
            {
                _ActiveTurnBehaviorList.Add(newb);
            }

            return(newb);
        }
 public MSpecUnitTestElementSerializer(ISolution solution,
                                       MSpecUnitTestProvider provider,
                                       ContextFactory contextFactory,
                                       ContextSpecificationFactory contextSpecificationFactory,
                                       BehaviorFactory behaviorFactory,
                                       BehaviorSpecificationFactory behaviorSpecificationFactory)
 {
     _solution       = solution;
     _provider       = provider;
     _contextFactory = contextFactory;
     _contextSpecificationFactory  = contextSpecificationFactory;
     _behaviorFactory              = behaviorFactory;
     _behaviorSpecificationFactory = behaviorSpecificationFactory;
 }
Exemplo n.º 21
0
        static void Main()
        {
            IInputController inputController = new ConsoleInputController();
            IRenderer        renderer        = new ConsoleRenderer();

            ICommandFactory  commandFactory  = new CommandFactory();
            IBlobFactory     blobFactory     = new BlobFactory();
            IAttackFactory   attackFactory   = new AttackFactory();
            IBehaviorFactory behaviorFactory = new BehaviorFactory();

            IEngine engine = new Engine(renderer, inputController, commandFactory, blobFactory, attackFactory,
                                        behaviorFactory);

            engine.Run();
        }
Exemplo n.º 22
0
        public static BehaviorNode CreateNormalAI()
        {
            var Root = BehaviorFactory.CreatePrioritySelectorNode("Root", null, null);

            var FindSkillNode       = BehaviorFactory.CreatePrioritySelectorNode("FindSkill", Root, new CombatPrecondition_TryFindSkill());
            var FindSkillTargetNode = BehaviorFactory.CreatePrioritySelectorNode("FindSkillTarget", FindSkillNode, new CombatPrecondition_TryFindSkillTarget());

            var NearTargetNode = BehaviorFactory.CreatePrioritySelectorNode("NearTarget", FindSkillTargetNode, new CombatPrecondition_IsNearTarget());
            var UseSkillNode   = BehaviorFactory.CreateTerminalNode <CombatTerminal_UseSkill>("UseSkill", NearTargetNode, null);

            var FarTargetNode = BehaviorFactory.CreatePrioritySelectorNode("FarTarget", FindSkillTargetNode, new CombatPrecondition_IsFarTarget());
            var MoveToTarget  = BehaviorFactory.CreateTerminalNode <CombatTerminal_MoveToTarget>("MoveToTarget", FarTargetNode, null);

            return(Root);
        }
Exemplo n.º 23
0
    private static void ImportModules(string filePath)
    {
        byte[] bytes   = Utils.ReadFile(filePath);
        string jsonStr = Encoding.UTF8.GetString(bytes);

        RemoveAllModules(true);
        Observable.Timer(TimeSpan.Zero)
        .Subscribe(_ => {
            try {
                List <Module> modules = JsonConvert.DeserializeObject <List <Module> >(jsonStr);
                HistoryManager.Do(BehaviorFactory.GetImportModulesBehavior(filePath, modules));
            } catch (Exception e) {
                DialogManager.ShowError($"导入失败({e})");
            }
        });
    }
Exemplo n.º 24
0
    public void OnPointerUp(PointerEventData eventData)
    {
        if (_isDrag || KeyboardEventManager.GetShift() || KeyboardEventManager.GetControl() || GlobalData.CurrentSelectDisplayObjectDic.Count <= 1)
        {
            return;
        }
        if (!GlobalData.CurrentSelectDisplayObjectDic.ContainsKey(transform.name))
        {
            return;
        }
        List <string> removeElements = GlobalData.CurrentSelectDisplayObjectDic
                                       .Where(pair => !pair.Key.Equals(transform.name))
                                       .Select(pair => pair.Key)
                                       .ToList();

        HistoryManager.Do(BehaviorFactory.GetUpdateSelectDisplayObjectBehavior(GlobalData.CurrentModule, null, removeElements));
    }
Exemplo n.º 25
0
        public AssemblyExplorer(MSpecUnitTestProvider provider,
                                IMetadataAssembly assembly,
                                IProject project,
                                UnitTestElementConsumer consumer)
        {
            _provider = provider;
            _assembly = assembly;
            _project  = project;
            _consumer = consumer;

            var cache = new ContextCache();

            _contextFactory = new ContextFactory(_provider, _project, _assembly.Location, cache);
            _contextSpecificationFactory  = new ContextSpecificationFactory(_provider, _project, cache);
            _behaviorFactory              = new BehaviorFactory(_provider, _project, cache);
            _behaviorSpecificationFactory = new BehaviorSpecificationFactory(_provider, _project);
        }
Exemplo n.º 26
0
        static void Main(string[] args)
        {
            Console.ReadKey();
            BehaviorFactory duckBehaviorFactory = new BehaviorFactory();
            Flock           flock = new Flock();

            Duck mallard    = new Mallard(flock, duckBehaviorFactory);
            Duck sicklyDuck = new SicklyDuck(flock, duckBehaviorFactory);
            Duck rubberDuck = new RubberDuck(flock, duckBehaviorFactory);

            flock.Attach(mallard);
            flock.Attach(sicklyDuck);
            flock.Attach(rubberDuck);

            DuckStory(flock, rubberDuck, sicklyDuck, duckBehaviorFactory);

            Console.WriteLine("\r\n" + "Thanks for learning!" + "\r\n");
            Console.ReadLine();
        }
Exemplo n.º 27
0
        public AssemblyExplorer(MSpecUnitTestProvider provider,
                                IMetadataAssembly assembly,
                                IProject project,
                                UnitTestElementConsumer consumer)
        {
            _assembly = assembly;
            _consumer = consumer;

            using (ReadLockCookie.Create())
            {
                var projectEnvoy = new ProjectModelElementEnvoy(project);

                var cache = new ContextCache();
                _contextFactory = new ContextFactory(provider, projectEnvoy, _assembly.Location, cache);
                _contextSpecificationFactory  = new ContextSpecificationFactory(provider, projectEnvoy, cache);
                _behaviorFactory              = new BehaviorFactory(provider, projectEnvoy, cache);
                _behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, projectEnvoy);
            }
        }
Exemplo n.º 28
0
    public void OnPointerDown(PointerEventData eventData)
    {
        if (Input.GetMouseButton(2))
        {
            return;
        }
        Transform self     = transform;
        bool      isSelect = GlobalData.CurrentSelectDisplayObjectDic.ContainsKey(self.name);

        if (isSelect)
        {
            if (KeyboardEventManager.GetControl())
            {
                HistoryManager.Do(BehaviorFactory.GetUpdateSelectDisplayObjectBehavior(GlobalData.CurrentModule, null, new List <string> {
                    self.name
                }));
            }
        }
        else
        {
            List <string> removeElements = null;
            if (!KeyboardEventManager.GetShift())
            {
                removeElements = GlobalData.CurrentSelectDisplayObjectDic.KeyList();
            }
            HistoryManager.Do(BehaviorFactory.GetUpdateSelectDisplayObjectBehavior(GlobalData.CurrentModule, new List <string> {
                self.name
            }, removeElements));
        }

        Vector2 mousePos = eventData.position;
        bool    isRect   = RectTransformUtility.ScreenPointToLocalPointInRectangle(selfRect, mousePos, eventData.enterEventCamera, out Vector2 offset);

        if (isRect)
        {
            _offset = offset;
        }
        if (_selfElement == null)
        {
            _selfElement = GlobalData.GetElement(self.name);
        }
    }
Exemplo n.º 29
0
    public static void CreateModule()
    {
        DialogManager.ShowGetValue("请输入 module 名:",
                                   "module",
                                   txt => {
            if (string.IsNullOrWhiteSpace(txt))
            {
                QuickTipManager.ShowQuickTip("请输入正确的 module");
                return;
            }

            if (GlobalData.ModuleDic.ContainsKey(txt))
            {
                QuickTipManager.ShowQuickTip("module 已存在");
                return;
            }

            HistoryManager.Do(BehaviorFactory.GetCreateModuleBehavior(txt));
        });
    }
        public static IUnitTestElement ReadFromXml(XmlElement parent,
                                                   IUnitTestElement parentElement,
                                                   MSpecUnitTestProvider provider,
                                                   ISolution solution,
                                                   IUnitTestElementManager manager,
                                                   PsiModuleManager psiModuleManager,
                                                   CacheManager cacheManager
                                                   )
        {
            var projectId = parent.GetAttribute("projectId");
            var project   = ProjectUtil.FindProjectElementByPersistentID(solution, projectId) as IProject;

            if (project == null)
            {
                return(null);
            }

            var context = parentElement as ContextElement;

            if (context == null)
            {
                return(null);
            }

            var typeName   = parent.GetAttribute("typeName");
            var methodName = parent.GetAttribute("methodName");
            var isIgnored  = bool.Parse(parent.GetAttribute("isIgnored"));
            var fieldType  = parent.GetAttribute("fieldType");

            return(BehaviorFactory.GetOrCreateBehavior(provider,
                                                       manager,
                                                       psiModuleManager,
                                                       cacheManager,
                                                       project,
                                                       ProjectModelElementEnvoy.Create(project),
                                                       context,
                                                       new ClrTypeName(typeName),
                                                       methodName,
                                                       isIgnored,
                                                       fieldType));
        }
Exemplo n.º 31
0
    public static void CopySelectDisplayObjectsBehavior(string moduleName, List <Element> copiedElements, bool needSelect = true)
    {
        if (string.IsNullOrWhiteSpace(moduleName) || !GlobalData.CurrentModule.Equals(moduleName))
        {
            return;
        }
        if (copiedElements == null || copiedElements.Count == 0)
        {
            return;
        }
        AddDisplayObjectsBehavior(moduleName, copiedElements);
        if (!needSelect)
        {
            return;
        }
        List <string> removeElements = GlobalData.CurrentSelectDisplayObjectDic.KeyList();

        HistoryManager.Do(BehaviorFactory.GetUpdateSelectDisplayObjectBehavior(moduleName,
                                                                               copiedElements.Select(element => element.Name).ToList(),
                                                                               removeElements));
    }
Exemplo n.º 32
0
    public void PasteDisplayObjects()
    {
        if (GlobalData.CurrentCopyDisplayObjects.Count == 0)
        {
            return;
        }
        List <Element> sourceList = GlobalData.CurrentCopyDisplayObjects;
        Vector2        leftTop    = DisplayObjectUtil.GetCopyDisplayObjectsLeftTop(sourceList);
        Vector2        mousePos   = Vector2.zero;

        if (Utils.IsPointOverGameObject(containerScrollView))
        {
            mousePos = Utils.GetRealPosition(Input.mousePosition);
        }
        Vector2        delta          = mousePos - leftTop;
        int            count          = sourceList.Count;
        string         moduleName     = GlobalData.CurrentModule;
        List <Element> copiedElements = new List <Element>();

        for (int idx = 0; idx < count; ++idx)
        {
            Element sourceElement = sourceList[idx];
            string  imageUrl      = DisplayObjectUtil.GetImageUrl(moduleName, sourceElement.Name);
            string  elementName   = DisplayObjectUtil.GetCanUseElementName(sourceElement.Name, imageUrl);
            Vector2 pos           = new Vector2(sourceElement.X + delta.x, sourceElement.Y + delta.y);
            Vector2 size          = new Vector2(sourceElement.Width, sourceElement.Height);
            Element element       = new Element {
                Name    = elementName,
                X       = pos.x,
                Y       = pos.y,
                Width   = size.x,
                Height  = size.y,
                Visible = true
            };
            DisplayObjectUtil.AddDisplayObjectBehavior(moduleName, element, imageUrl);
            copiedElements.Add(element);
        }

        HistoryManager.Do(BehaviorFactory.GetCopyDisplayObjectsBehavior(moduleName, copiedElements), true);
    }
Exemplo n.º 33
0
    public static void SelectDisplayObjectsInDisplayObject(Rectangle selectRect)
    {
        if (string.IsNullOrWhiteSpace(GlobalData.CurrentModule))
        {
            return;
        }
        bool          isControlDown = KeyboardEventManager.GetControl();
        List <string> addElements = null, removeElements = null;

        if (isControlDown)
        {
            removeElements = new List <string>();
        }
        else
        {
            addElements = new List <string>();
        }
        List <Element> elements = GlobalData.ModuleDic[GlobalData.CurrentModule];

        foreach (Element element in elements.Where(rect => rect.IsCrossing(selectRect)))
        {
            if (isControlDown)
            {
                removeElements.Add(element.Name);
            }
            else
            {
                addElements.Add(element.Name);
            }
        }
        if (isControlDown && removeElements.Count == 0)
        {
            return;
        }
        if (!isControlDown && addElements.Count == 0)
        {
            return;
        }
        HistoryManager.Do(BehaviorFactory.GetUpdateSelectDisplayObjectBehavior(GlobalData.CurrentModule, addElements, removeElements));
    }
Exemplo n.º 34
0
 void IBeginDragHandler.OnBeginDrag(PointerEventData eventData)
 {
     _isDrag = true;
     if (KeyboardEventManager.GetAlt() && _copying == null)
     {
         List <string>  removeElements   = GlobalData.CurrentSelectDisplayObjectDic.KeyList();
         List <Element> copiedElements   = new List <Element>();
         List <string>  addElements      = new List <string>();
         List <Element> selectedElements = GlobalData.ModuleDic[GlobalData.CurrentModule]
                                           .Where(element => GlobalData.CurrentSelectDisplayObjectDic.ContainsKey(element.Name))
                                           .ToList();
         GameObject selfReplisome = null;
         int        count         = selectedElements.Count;
         for (int idx = 0; idx < count; ++idx)
         {
             Element element = selectedElements[idx];
             if (element == null)
             {
                 continue;
             }
             string    key               = $"{GlobalData.CurrentModule}_{element.Name}";
             string    imageUrl          = GlobalData.DisplayObjectPathDic.ContainsKey(element.Name) ? imageUrl = GlobalData.DisplayObjectPathDic[key] : null;
             Vector2   pos               = new Vector2(element.X, element.Y) + Element.InvConvertTo(GlobalData.OriginPoint);
             Vector2   size              = new Vector2(element.Width, element.Height);
             Transform copyDisplayObject = DisplayObjectUtil.AddDisplayObject(imageUrl,
                                                                              pos,
                                                                              size,
                                                                              element.Name + "_copy",
                                                                              false,
                                                                              false);
             if (copyDisplayObject == null)
             {
                 continue;
             }
             copiedElements.Add(new Element {
                 Name    = copyDisplayObject.name,
                 X       = pos.x,
                 Y       = pos.y,
                 Width   = size.x,
                 Height  = size.y,
                 Visible = true
             });
             addElements.Add(copyDisplayObject.name);
             if (!element.Name.Equals(transform.name))
             {
                 continue;
             }
             selfReplisome = copyDisplayObject.gameObject;
             DisplayObjectManager dom = copyDisplayObject.GetComponent <DisplayObjectManager>();
             if (dom)
             {
                 dom._offset = _offset;
             }
         }
         HistoryManager.Do(BehaviorFactory.GetCopyDisplayObjectsBehavior(GlobalData.CurrentModule, copiedElements, false, CombineType.Next), true);
         HistoryManager.Do(BehaviorFactory.GetUpdateSelectDisplayObjectBehavior(GlobalData.CurrentModule, addElements, removeElements, CombineType.Next));
         ExecuteEvents.Execute(gameObject, eventData, ExecuteEvents.endDragHandler);
         if (selfReplisome == null)
         {
             return;
         }
         eventData.pointerDrag = selfReplisome;
     }
     else
     {
         _startPos = selfRect.anchoredPosition;
     }
 }