protected override void Prepare()
        {
            var   effect = Factory.Create1by1Sprite();
            float size   = 0.3f;

            effect.transform.localScale = new UnityEngine.Vector3(size, size, size);
            var target = ((XmasEntity)Spell.Targets[0][0]);
            var pos    = Factory.ConvertPos(target.PositionAs <TilePosition>().Point, 0.8f);

            pos.y += 0.5f;
            effect.transform.position = pos;
            ParallelAnimation parallelani = new ParallelAnimation();
            TextureAnimation  texani      = new TextureAnimation(this.Factory.LoadSpellTexture("lightningbolt"), 5, 5);

            texani.Frames       = Enumerable.Range(1, 20).ToArray();
            texani.FrameRepeats = new int[] { 1, 1, 1, 1, 1,
                                              1, 1, 1, 1, 1,
                                              1, 1, 1, 1, 1,
                                              1, 1, 1, 1, 1 };
            parallelani.Add(texani, true);

            SizeChangeAnimation sizeani = new SizeChangeAnimation(0.02f);

            parallelani.Add(sizeani, false);
            this.EnqueueAnimation(effect, parallelani);
        }
        protected override void Prepare()
        {
            var effect = Factory.Create1by1Sprite();
            effect.transform.position = Factory.ConvertPos(Spell.Controller.Hero.PositionAs<TilePosition>().Point, 0.8f);
            ParallelAnimation parallelani = new ParallelAnimation();
            TextureAnimation texani = new TextureAnimation(this.Factory.LoadSpellTexture("inspiration"), 5, 3);
            texani.Frames = Enumerable.Range(1, 15).ToArray();
            texani.FrameRepeats = new int[] { 1, 1, 1, 1, 1,
                                              1, 1, 1, 1, 1,
                                              1, 1, 1, 1, 1 };
            parallelani.Add(texani, true);

            SizeChangeAnimation sizeani = new SizeChangeAnimation(0.02f);
            parallelani.Add(sizeani, false);
            this.EnqueueAnimation(effect, parallelani);
        }
        protected override void Prepare()
        {
            var effect = Factory.Create1by1Sprite();
            float size = 0.4f;
            effect.transform.localScale = new UnityEngine.Vector3(size, size, size);
            var terrain = (TerrainEntity)Spell.Targets[0][0];
            var toPos = Factory.ConvertPos(terrain.PositionAs<TilePosition>().Point, 0.8f);
            effect.transform.position = toPos;
            ParallelAnimation parallelani = new ParallelAnimation();
            TextureAnimation texani = new TextureAnimation(this.Factory.LoadSpellTexture("raise_dead"), 5, 6);
            texani.Frames = Enumerable.Range(1, 30).ToArray();
            texani.FrameRepeats = Enumerable.Repeat<int>(1, 30).ToArray();
            parallelani.Add(texani, true);

            SizeChangeAnimation sizeani = new SizeChangeAnimation(0.02f);
            parallelani.Add(sizeani, false);
            this.EnqueueAnimation(effect, parallelani);
        }
Esempio n. 4
0
        protected override void Prepare()
        {
            var effect = Factory.Create1by1Sprite();

            effect.transform.position = Factory.ConvertPos(Spell.Controller.Hero.PositionAs <TilePosition>().Point, 0.8f);
            ParallelAnimation parallelani = new ParallelAnimation();
            TextureAnimation  texani      = new TextureAnimation(this.Factory.LoadSpellTexture("inspiration"), 5, 3);

            texani.Frames       = Enumerable.Range(1, 15).ToArray();
            texani.FrameRepeats = new int[] { 1, 1, 1, 1, 1,
                                              1, 1, 1, 1, 1,
                                              1, 1, 1, 1, 1 };
            parallelani.Add(texani, true);

            SizeChangeAnimation sizeani = new SizeChangeAnimation(0.02f);

            parallelani.Add(sizeani, false);
            this.EnqueueAnimation(effect, parallelani);
        }
Esempio n. 5
0
        protected override void Prepare()
        {
            ParallelAnimation parallelani;
            var   ball     = Factory.Create1by1Sprite();
            float ballSize = 0.5f;

            ball.transform.localScale = new UnityEngine.Vector3(ballSize, ballSize, ballSize);
            TextureAnimation       texani;
            SizeChangeAnimation    sizeani;
            MoveTransformAnimation moveani;
            var height  = 1f;
            var terrain = (TerrainEntity)Spell.Targets[0][0];
            var heropos = Spell.Controller.Hero.PositionAs <TilePosition>().Point;
            var fromPos = Factory.ConvertPos(heropos, height);
            var toPos   = Factory.ConvertPos(terrain.PositionAs <TilePosition>().Point, 0.8f);

            parallelani         = new ParallelAnimation();
            texani              = new TextureAnimation(this.Factory.LoadSpellTexture("fireball"), 8, 8);
            texani.Frames       = new int[] { 6 };
            texani.FrameRepeats = Enumerable.Repeat <int>(1, 2).ToArray();
            texani.AutoLooping  = true;
            parallelani.Add(texani, false);

            moveani = new MoveTransformAnimation(fromPos, toPos, 12f);
            parallelani.Add(moveani, true);
            this.EnqueueAnimation(ball, parallelani);

            parallelani.Completed += (sender, evt) =>
            {
                var explosion = Factory.Create1by1Sprite();
                explosion.transform.position = toPos;
                parallelani         = new ParallelAnimation();
                texani              = new TextureAnimation(this.Factory.LoadSpellTexture("fireball"), 8, 8);
                texani.Frames       = Enumerable.Range(1, 38).ToArray();
                texani.FrameRepeats = Enumerable.Repeat <int>(1, 38).ToArray();
                parallelani.Add(texani, true);

                sizeani = new SizeChangeAnimation(0.02f);
                parallelani.Add(sizeani, false);
                this.EnqueueAnimation(explosion, parallelani);
            };
        }
Esempio n. 6
0
        protected override void Prepare()
        {
            ParallelAnimation parallelani;
            var ball = Factory.Create1by1Sprite();
            float ballSize = 0.5f;
            ball.transform.localScale = new UnityEngine.Vector3(ballSize,ballSize,ballSize);
            TextureAnimation texani;
            SizeChangeAnimation sizeani;
            MoveTransformAnimation moveani;
            var height = 1f;
            var terrain = (TerrainEntity)Spell.Targets[0][0];
            var heropos = Spell.Controller.Hero.PositionAs<TilePosition>().Point;
            var fromPos = Factory.ConvertPos(heropos, height);
            var toPos = Factory.ConvertPos(terrain.PositionAs<TilePosition>().Point, 0.8f);

            parallelani = new ParallelAnimation();
            texani = new TextureAnimation(this.Factory.LoadSpellTexture("fireball"), 8, 8);
            texani.Frames = new int[]{6};
            texani.FrameRepeats = Enumerable.Repeat<int>(1, 2).ToArray();
            texani.AutoLooping = true;
            parallelani.Add(texani, false);

            moveani = new MoveTransformAnimation(fromPos,toPos,12f);
            parallelani.Add(moveani,  true);
            this.EnqueueAnimation(ball, parallelani);

            parallelani.Completed += (sender, evt) =>
                {
                    var explosion = Factory.Create1by1Sprite();
                    explosion.transform.position = toPos;
                    parallelani = new ParallelAnimation();
                    texani = new TextureAnimation(this.Factory.LoadSpellTexture("fireball"), 8, 8);
                    texani.Frames = Enumerable.Range(1, 38).ToArray();
                    texani.FrameRepeats = Enumerable.Repeat<int>(1, 38).ToArray();
                    parallelani.Add(texani, true);

                    sizeani = new SizeChangeAnimation(0.02f);
                    parallelani.Add(sizeani, false);
                    this.EnqueueAnimation(explosion, parallelani);
                };
        }
Esempio n. 7
0
        /**
         * カメラを正面からの視点に変更する
         *
         * **/
        public static void setToShoumen(CCamera camera, CLoadedObject target = null, bool isAnimation = true)
        {
            ParallelAnimation pAnimation = new ParallelAnimation();
            TimeSpan          duration   = TimeSpan.FromSeconds(0.5);
            double            zoom       = CameraControl.calcWindowFitZoomShoumen(camera, target);

            if (isAnimation)
            {
                if (target == null)
                {
                    pAnimation.AddChild(new DoubleAnimation(camera, "eye_x", 0.0, duration));
                    pAnimation.AddChild(new DoubleAnimation(camera, "eye_y", 100.0, duration));
                    pAnimation.AddChild(new DoubleAnimation(camera, "eye_z", 200.0, duration));
                    pAnimation.AddChild(new DoubleAnimation(camera, "center_x", 0.0, duration));
                    pAnimation.AddChild(new DoubleAnimation(camera, "center_y", 100.0, duration));
                    pAnimation.AddChild(new DoubleAnimation(camera, "center_z", 0.0, duration));
                }
                else
                {
                    pAnimation.AddChild(new DoubleAnimation(camera, "eye_x", target.getBBox().getCenter().x + target.vx, duration));
                    pAnimation.AddChild(new DoubleAnimation(camera, "eye_y", target.getBBox().getCenter().y + target.vy, duration));
                    pAnimation.AddChild(new DoubleAnimation(camera, "eye_z", target.getBBox().getCenter().z + 200.0 + target.vz, duration));
                    pAnimation.AddChild(new DoubleAnimation(camera, "center_x", target.getBBox().getCenter().x + target.vx, duration));
                    pAnimation.AddChild(new DoubleAnimation(camera, "center_y", target.getBBox().getCenter().y + target.vy, duration));
                    pAnimation.AddChild(new DoubleAnimation(camera, "center_z", target.getBBox().getCenter().z + target.vz, duration));
                }
                pAnimation.AddChild(new DoubleAnimation(camera, "up_x", 0.0, duration));
                pAnimation.AddChild(new DoubleAnimation(camera, "up_y", 1.0, duration));
                pAnimation.AddChild(new DoubleAnimation(camera, "up_z", 0.0, duration));
                pAnimation.AddChild(new DoubleAnimation(camera, "zoom", zoom, duration));
                pAnimation.Begin();
            }
            else
            {
                camera.set(0.0, 100.0, 200.0,
                           0.0, 100.0, 0.0,
                           0.0, 1.0, 0.0);
            }
        }
Esempio n. 8
0
        protected override void Prepare()
        {
            var   effect = Factory.Create1by1Sprite();
            float size   = 0.4f;

            effect.transform.localScale = new UnityEngine.Vector3(size, size, size);
            var terrain = (TerrainEntity)Spell.Targets[0][0];
            var toPos   = Factory.ConvertPos(terrain.PositionAs <TilePosition>().Point, 0.8f);

            effect.transform.position = toPos;
            ParallelAnimation parallelani = new ParallelAnimation();
            TextureAnimation  texani      = new TextureAnimation(this.Factory.LoadSpellTexture("raise_dead"), 5, 6);

            texani.Frames       = Enumerable.Range(1, 30).ToArray();
            texani.FrameRepeats = Enumerable.Repeat <int>(1, 30).ToArray();
            parallelani.Add(texani, true);

            SizeChangeAnimation sizeani = new SizeChangeAnimation(0.02f);

            parallelani.Add(sizeani, false);
            this.EnqueueAnimation(effect, parallelani);
        }
        protected override void Prepare()
        {
            var effect = Factory.Create1by1Sprite();
            float size = 0.3f;
            effect.transform.localScale = new UnityEngine.Vector3(size, size, size);
            var target = ((XmasEntity)Spell.Targets[0][0]);
            var pos = Factory.ConvertPos(target.PositionAs<TilePosition>().Point, 0.8f);
            pos.y += 0.5f;
            effect.transform.position = pos;
            ParallelAnimation parallelani = new ParallelAnimation();
            TextureAnimation texani = new TextureAnimation(this.Factory.LoadSpellTexture("lightningbolt"), 5, 5);
            texani.Frames = Enumerable.Range(1, 20).ToArray();
            texani.FrameRepeats = new int[] { 1, 1, 1, 1, 1,
                                              1, 1, 1, 1, 1,
                                              1, 1, 1, 1, 1,
                                              1, 1, 1, 1, 1 };
            parallelani.Add(texani, true);

            SizeChangeAnimation sizeani = new SizeChangeAnimation(0.02f);
            parallelani.Add(sizeani, false);
            this.EnqueueAnimation(effect, parallelani);
        }