Beispiel #1
0
 public void RedoLastChange()
 {
     if (commandsManager.Redo())
     {
         uiManager.UpdateUI();
     }
 }
        public void TestRedo()
        {
            var redoCommand = new CommandMock();

            _redoStack.Push(redoCommand);
            int count = 0;

            _commandsManager.UndoRedoStacksChanged += () => count++;
            _commandsManager.Redo();
            Assert.AreEqual(_redoStack.Count, 0);
            Assert.AreSame(_undoStack.Pop(), redoCommand);
            Assert.IsTrue(redoCommand.IsCalledExecute);
            Assert.AreEqual(count, 1);
        }
Beispiel #3
0
        private void ShowHtml()
        {
            string uri = Settings.Instance().WebHost + "/mypad?lang=" + Settings.Instance().Language + "&scene_id=" + ProjectData.SceneId;

            //string uri = "http://192.168.33.91:8080" + "/mypad?lang=" + Settings.Instance().Language;

            Browser.LoadURL(uri, true);

            Browser.RegisterFunction("spawnObject",
                                     args =>
            {
                var logger          = LogManager.GetCurrentClassLogger();
                string objectString = args[0].AsJSON;

                PrefabObject prefabObject = objectString.JsonDeserialize <PrefabObject>();

                ObjectDto existedObject = ProjectData.ProjectStructure.Scenes.GetProjectScene(ProjectData.SceneId)
                                          .SceneObjects.Find(p => p.ObjectId == prefabObject.Id);


                Debug.Log("Object to spawn: " + prefabObject.Guid);
                int objectId = prefabObject.Id;

                if (GameStateData.GetPrefabGameObject(objectId) != null)
                {
                    Helper.SetSpawnedObject(objectId);
                    logger.Info("Spawn existed object: " + objectId);
                }
                else if (existedObject != null)
                {
                    logger.Info("Object " + prefabObject.Guid + " is already loading!");
                    HideMenu();

                    return;
                }
                else
                {
                    ProjectData.ProjectStructure.Objects.Add(prefabObject);
                    var po = new List <PrefabObject> {
                        prefabObject
                    };


                    void OnLoadObjects()
                    {
                        if (GameStateData.GetPrefabGameObject(objectId) != null && !BrowserWindow.activeSelf)
                        {
                            Helper.SetSpawnedObject(objectId);
                            logger.Info("New object spawned: " + objectId);
                        }

                        ObjectLoader.StopLoaderAnimation();
                        ProjectData.ObjectsLoaded -= OnLoadObjects;
                    }


                    LoaderAdapter.LoadPrefabObjects(po);
                    ProjectData.ObjectsLoaded += OnLoadObjects;
                    ObjectLoader.StartLoaderAnimation();
                }

                HideMenu();
            });

            Browser.RegisterFunction("undo", args => { CommandsManager.Undo(); });
            Browser.RegisterFunction("redo", args => { CommandsManager.Redo(); });
            Browser.RegisterFunction("switchMode", args => { SwitchGameMode(); });
            Browser.RegisterFunction("save", args => { Helper.SaveSceneObjects(); });

            SetRender();
            _htmlLoaded = true;
        }