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); }
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() { 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); }; }
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); }; }
/** * カメラを正面からの視点に変更する * * **/ 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); } }
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); }