コード例 #1
0
        public EditorViewModel()
        {
            this.DeleteScriptBrickCommand = new RelayCommand<DataObject>(this.DeleteScriptBrickAction);
              this.CopyScriptBrickCommand = new RelayCommand<DataObject>(this.CopyScriptBrickAction);
              this.StartAddBroadcastMessageCommand = new RelayCommand<DataObject>(this.AddBroadcastMessageAction);

              this.DeleteSoundCommand = new RelayCommand<Sound>(this.DeleteSoundAction);
              this.DeleteSpriteCommand = new RelayCommand<Sprite>(this.DeleteSpriteAction);
              this.DeleteCostumeCommand = new RelayCommand<Costume>(this.DeleteCostumeAction);
              this.CopyCostumeCommand = new RelayCommand<Costume>(this.CopyCostumeAction);
              this.UndoCommand = new RelayCommand(this.UndoAction);
              this.RedoCommand = new RelayCommand(this.RedoAction);

              this.NothingItemHackCommand = new RelayCommand<object>(NothingItemHackAction);

              if (IsInDesignMode)
              {
            catrobatContext = new CatrobatContextDesign();
            selectedSprite = catrobatContext.CurrentProject.SpriteList.Sprites[0];
              }
              else
              {
            catrobatContext = CatrobatContext.Instance;
              }

              scriptBricks = new ScriptBrickCollection();
        }
コード例 #2
0
        public void ScriptBrickCollectionAddTest()
        {
            var project = SampleLoader.LoadSampleXML("simple");

              Sprite sprite = project.SpriteList.Sprites[1];
              ScriptBrickCollection collection = new ScriptBrickCollection();
              collection.Update(sprite);

              Script newScript1 = new BroadcastScript(sprite);
              collection.Add(newScript1);

              Brick newBrick1 = new ChangeGhostEffectBrick(sprite);
              collection.Add(newBrick1);
              Brick newBrick2 = new ChangeXByBrick(sprite);
              collection.Add(newBrick2);

              Script newScript2 = new WhenScript(sprite);
              collection.Add(newScript2);

              IEnumerator enumerator = collection.GetEnumerator();

              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is StartScript);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is SetCostumeBrick);

              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is WhenScript);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is SetCostumeBrick);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is WaitBrick);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is SetCostumeBrick);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is WaitBrick);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is SetCostumeBrick);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is BroadcastScript);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is ChangeGhostEffectBrick);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is ChangeXByBrick);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is WhenScript);

              Assert.IsFalse(enumerator.MoveNext());
        }
コード例 #3
0
        public void ScriptBrickCollectionAddBrickTest()
        {
            var project = SampleLoader.LoadSampleXML("simple");

              Sprite sprite = project.SpriteList.Sprites[1];
              ScriptBrickCollection collection = new ScriptBrickCollection();
              collection.Update(sprite);

              Brick insertedBrick1 = new ChangeBrightnessBrick(sprite);
              Brick insertedBrick2 = new MoveNStepsBrick(sprite);
              collection.AddScriptBrick(insertedBrick1, 4, 8);
              collection.AddScriptBrick(insertedBrick2, 1, 6);

              IEnumerator enumerator = collection.GetEnumerator();

              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is StartScript);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is SetCostumeBrick);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is MoveNStepsBrick);

              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is WhenScript);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is SetCostumeBrick);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is WaitBrick);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is SetCostumeBrick);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is WaitBrick);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is SetCostumeBrick);
              enumerator.MoveNext();
              Assert.IsTrue(enumerator.Current is ChangeBrightnessBrick);
              Assert.IsFalse(enumerator.MoveNext());
        }
コード例 #4
0
        public void ScriptBrickEnumeratorTest()
        {
            var project = SampleLoader.LoadSampleXML("simple");

              {
            Sprite sprite = project.SpriteList.Sprites[0];
            ScriptBrickCollection collection = new ScriptBrickCollection();
            collection.Update(sprite);
            IEnumerator enumerator = collection.GetEnumerator();

            enumerator.MoveNext();
            Assert.IsTrue(enumerator.Current is StartScript);
            enumerator.MoveNext();
            Assert.IsTrue(enumerator.Current is SetCostumeBrick);
              }

              {
            Sprite sprite = project.SpriteList.Sprites[1];
            ScriptBrickCollection collection = new ScriptBrickCollection();
            collection.Update(sprite);
            IEnumerator enumerator = collection.GetEnumerator();

            enumerator.MoveNext();
            Assert.IsTrue(enumerator.Current is StartScript);
            enumerator.MoveNext();
            Assert.IsTrue(enumerator.Current is SetCostumeBrick);

            enumerator.MoveNext();
            Assert.IsTrue(enumerator.Current is WhenScript);
            enumerator.MoveNext();
            Assert.IsTrue(enumerator.Current is SetCostumeBrick);
            enumerator.MoveNext();
            Assert.IsTrue(enumerator.Current is WaitBrick);
            enumerator.MoveNext();
            Assert.IsTrue(enumerator.Current is SetCostumeBrick);
            enumerator.MoveNext();
            Assert.IsTrue(enumerator.Current is WaitBrick);
            enumerator.MoveNext();
            Assert.IsTrue(enumerator.Current is SetCostumeBrick);
              }
        }
コード例 #5
0
        public void ScriptBrickCollectionIndexIfTest()
        {
            var project = SampleLoader.LoadSampleXML("simple");

              Sprite sprite = project.SpriteList.Sprites[1];
              ScriptBrickCollection collection = new ScriptBrickCollection();
              collection.Update(sprite);
              IEnumerator enumerator = collection.GetEnumerator();

              int referenceIndex = 0;
              while (enumerator.MoveNext())
              {
            Assert.AreEqual(collection.IndexOf(enumerator.Current), referenceIndex);
            referenceIndex++;
              }

              Brick notContainedBrick = new BroadcastBrick(sprite);
              Assert.AreEqual(collection.IndexOf(notContainedBrick), -1);

              Script notContainedScript = new BroadcastScript(sprite);
              Assert.AreEqual(collection.IndexOf(notContainedScript), -1);
        }
コード例 #6
0
        public void ScriptBrickCollectionContainsTest()
        {
            var project = SampleLoader.LoadSampleXML("simple");

              Sprite sprite = project.SpriteList.Sprites[1];
              ScriptBrickCollection collection = new ScriptBrickCollection();
              collection.Update(sprite);
              IEnumerator enumerator = collection.GetEnumerator();

              while (enumerator.MoveNext())
            Assert.IsTrue(collection.Contains(enumerator.Current));

              Brick notContainedBrick = new BroadcastBrick(sprite);
              Assert.IsFalse(collection.Contains(notContainedBrick));

              Script notContainedScript = new BroadcastScript(sprite);
              Assert.IsFalse(collection.Contains(notContainedScript));
        }