// Use this for initialization void Start() { explosion = GetComponentInChildren <ExplosionAnimation>(); startPosition = transform.position; game = Camera.mainCamera.GetComponent <GameController>(); foreach (Transform child in transform) { if (child.name == "UpThruster") { upThruster = child.GetComponent <Thruster>(); } else if (child.name == "DownThruster") { downThruster = child.GetComponent <Thruster>(); } else if (child.name == "RightThruster") { rightThruster = child.GetComponent <Thruster>(); } } movementOnScreenToCFactor = (transform.position.x / Gamma.GetGamma(game.GetCSpeed())); }
public Panel(ContentManager content, Vector2 position, Stage stage, string itemType) : base(content, position, stage, "Panel") { _contentManager = content; _health = 1; _currentGlowFrame = 0; _glowAnimatingforward = true; PlayerSpriteCollection spritecollection; Texture2D turrettileset; spritecollectionlist = new List <PlayerSpriteCollection>(); turrettileset = content.Load <Texture2D>("Sprites/Enemies/Panel"); ExplosionAnimation.Initialize(content.Load <Texture2D>("Sprites/Explosion2"), WorldPosition, 5, 150, Color.White, 1f, false, this.CurrentStage); ExplosionSound = content.Load <SoundEffect>("Sounds/Explosion2"); spritecollection = new PlayerSpriteCollection(); spritecollection.Initialize(SwapColor(turrettileset, new Color(192, 32, 0), new Color(184, 28, 12)), position, 3, Color.White, 1f); spritecollectionlist.Add(spritecollection); spritecollection = new PlayerSpriteCollection(); spritecollection.Initialize(SwapColor(turrettileset, new Color(192, 32, 0), new Color(228, 68, 52)), position, 3, Color.White, 1f); spritecollectionlist.Add(spritecollection); spritecollection = new PlayerSpriteCollection(); spritecollection.Initialize(turrettileset, position, 3, Color.White, 1f); spritecollectionlist.Add(spritecollection); _elapsedOpenCloseTime = FrameOpenCloseTime; _itemType = itemType; }
protected override void Update(GameTime gameTime) { #if !IOS if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } #endif // TODO: Add your update logic here var tstate = TouchPanel.GetState(Window).GetState(); var mstate = Mouse.GetState(Window); foreach (var touchpoint in tstate) { if (!explosions.ContainsKey(touchpoint.Id)) { var offsetPos = Vector2.Subtract(touchpoint.Position, new Point(64, 128).ToVector2()); var explosion = new ExplosionAnimation(new Point(128), new Point(12, 1), offsetPos, touchpoint.Id); explosion.AnimationFinished += Explosion_AnimationFinished; explosions.Add(touchpoint.Id, explosion); } } if (ButtonState.Pressed == mstate.LeftButton) { var id = explosions.Count + 1; if (!explosions.ContainsKey(id)) { var offsetPos = Vector2.Subtract(mstate.Position.ToVector2(), new Point(64, 128).ToVector2()); var explosion = new ExplosionAnimation(new Point(128), new Point(12, 1), offsetPos, id); explosion.AnimationFinished += Explosion_AnimationFinished; explosions.Add(id, explosion); } } base.Update(gameTime); }
public Cannon(ContentManager content, Vector2 position, Stage stage, string enemytype) : base(content, position, stage, enemytype) { PlayerSpriteCollection spritecollection; spritecollectionlist = new List <PlayerSpriteCollection>(); Texture2D cannonTileset = content.Load <Texture2D>("Sprites/Enemies/Cannon"); spritecollection = new PlayerSpriteCollection(); spritecollection.Initialize(TextureHelper.SwapColor(cannonTileset, new Color(192, 32, 0), new Color(184, 28, 12)), position, 5, Color.White, 1f); spritecollectionlist.Add(spritecollection); spritecollection = new PlayerSpriteCollection(); spritecollection.Initialize(TextureHelper.SwapColor(cannonTileset, new Color(192, 32, 0), new Color(228, 68, 52)), position, 5, Color.White, 1f); spritecollectionlist.Add(spritecollection); spritecollection = new PlayerSpriteCollection(); spritecollection.Initialize(cannonTileset, position, 5, Color.White, 1f); spritecollectionlist.Add(spritecollection); CollisionIsHazardous = false; _health = 15; _currentFrame = 0; _animatingforward = true; ExplosionAnimation.Initialize(content.Load <Texture2D>("Sprites/Explosion1"), position, 36, 36, 3, 150, Color.White, 1f, false, false, this.CurrentStage); ExplosionSound = content.Load <SoundEffect>("Sounds/Explosion1"); projectileTexture = content.Load <Texture2D>("Sprites/Projectiles/basicbullet"); _gun = new EnemyGun(this, projectileTexture); }
public PlayerItem(ContentManager content, Vector2 position, Stage stage, string itemType) : base(content, position, stage, itemType) { _imageTexture = content.Load <Texture2D>(string.Format("Sprites/Enemies/PlayerItem{0}", itemType)); ExplosionSound = content.Load <SoundEffect>("Sounds/playeritem"); ExplosionAnimation.Initialize(content.Load <Texture2D>("Sprites/Explosion1"), this.WorldPosition, 36, 36, 3, 150, Color.White, 1f, false, false, this.CurrentStage); CollisionIsHazardous = false; VulnerableToBullets = false; switch (itemType) { case "MachineGun": Gun = new PlayerGun(); Gun.Initialize(content, GunType.MachineGun); break; case "RapidGun": Gun = new PlayerGun(); Gun.GunType = GunType.Rapid; break; case "SpreadGun": Gun = new PlayerGun(); Gun.Initialize(content, GunType.Spread); break; } Velocity.X = 0.7f; IsOnGround = true; JumpInProgress = true; IsJumping = true; JumpLaunchVelocity = -1200f; GravityAcceleration = 300f; MaxJumpTime = 0.6f; }
public void Explode() { OnExplode(); GameObject go = ExplosionPoolManager.Instance.GetPooledObject(explosionTyp); if (go != null) { go.transform.position = this.transform.position; go.SetActive(true); ExplosionAnimation explosionAnimation = go.GetComponent <ExplosionAnimation>(); // pooled object can be used for different objects, if event is listened so the domain needs to be the same if (explosionAnimation != null) { // explosionAnimation.Explode (); explosionAnimation.EventDomain = this.gameObject; } else { Debug.LogError(go.name + " has no explosionAnimation Script attached, cant set EventDomain to recognize explosion animation end"); } } else { Debug.LogError("pooling failed"); } }
public override void Die(CVGameTime gameTime) { IsDead = true; Active = false; Vector2 firstExplosionPosition = this.WorldPosition; CurrentStage.AddExplosion(firstExplosionPosition + new Vector2(0, 0), ExplosionAnimation.CreateCopy(), ExplosionSound, 0); CurrentStage.AddExplosion(firstExplosionPosition + new Vector2(-15, -10), ExplosionAnimation.CreateCopy(), ExplosionSound, 100); CurrentStage.AddExplosion(firstExplosionPosition + new Vector2(-15, 10), ExplosionAnimation.CreateCopy(), null, 200); CurrentStage.AddExplosion(firstExplosionPosition + new Vector2(5, -10), ExplosionAnimation.CreateCopy(), ExplosionSound, 300); CurrentStage.AddExplosion(firstExplosionPosition + new Vector2(5, 10), ExplosionAnimation.CreateCopy(), null, 400); CurrentStage.AddExplosion(firstExplosionPosition + new Vector2(25, -10), ExplosionAnimation.CreateCopy(), ExplosionSound, 500); CurrentStage.AddExplosion(firstExplosionPosition + new Vector2(25, 10), ExplosionAnimation.CreateCopy(), null, 600); CurrentStage.AddExplosion(firstExplosionPosition + new Vector2(45, -10), ExplosionAnimation.CreateCopy(), ExplosionSound, 700); CurrentStage.AddExplosion(firstExplosionPosition + new Vector2(45, 10), ExplosionAnimation.CreateCopy(), null, 800); CurrentStage.AddExplosion(firstExplosionPosition + new Vector2(65, -10), ExplosionAnimation.CreateCopy(), ExplosionSound, 900); CurrentStage.AddExplosion(firstExplosionPosition + new Vector2(65, 10), ExplosionAnimation.CreateCopy(), null, 1000); foreach (var tile in CurrentStage.StageTiles.Where(t => t.DestructionLayer1GID > 0)) { tile.Status = StageTile.TileStatus.Destroyed; } CurrentStage.StartComplete(gameTime, this); }
public FootSoldier(ContentManager content, Vector2 position, Stage stage, string enemytype) : base(content, position, stage, enemytype) { EnemyMoveSpeed = 1.2f; _runningAnimation = new Animation(); _runningAnimation.Initialize(content.Load <Texture2D>("Sprites/EnemyFootSoldierRunning"), this.WorldPosition, 32, 48, 6, 150, Color.White, 1, true, false, CurrentStage); ExplosionAnimation.Initialize(content.Load <Texture2D>("Sprites/Explosion1"), this.WorldPosition, 36, 36, 3, 150, Color.White, 1f, false, false, this.CurrentStage); ExplosionSound = content.Load <SoundEffect>("Sounds/Explosion1"); }
internal ProjectileClassAlpha() { // Used for lazy initialization in the bullet pool explosionAni = (ExplosionAnimation)((IPrototype<Animation>)prototypeExplosionAnimation).Clone(); bulletAni = (BulletAnimation)((IPrototype<Animation>)prototypeBulletAnimation).Clone(); explosionAni.AnimationPosition = Point.Empty; bulletAni.AnimationPosition = Point.Empty; bulletAni.Collider.Collided += BulletCollider_Collided; }
internal ProjectileClassAlpha() { // Used for lazy initialization in the bullet pool explosionAni = (ExplosionAnimation)((IPrototype <Animation>)prototypeExplosionAnimation).Clone(); bulletAni = (BulletAnimation)((IPrototype <Animation>)prototypeBulletAnimation).Clone(); explosionAni.AnimationPosition = Point.Empty; bulletAni.AnimationPosition = Point.Empty; bulletAni.Collider.Collided += BulletCollider_Collided; }
public Level1BossPanel(ContentManager content, Vector2 position, Stage stage, string enemytype) : base(content, position, stage, enemytype) { _animation = new Animation(); _animation.Initialize(content.Load <Texture2D>("Sprites/Bosses/Boss1Panel"), position, 26, 32, 3, 100, Color.White, 1f, true, true, CurrentStage); ExplosionAnimation.Initialize(content.Load <Texture2D>("Sprites/Explosion2"), position, 32, 32, 5, 150, Color.White, 1f, false, false, CurrentStage); ExplosionSound = content.Load <SoundEffect>("Sounds/Explosion3"); CollisionIsHazardous = false; _health = 50; }
public Sniper(ContentManager content, Vector2 position, Stage stage, string enemytype) : base(content, position, stage, enemytype) { snipersprites = new PlayerSpriteCollection(); snipersprites.Initialize(content.Load <Texture2D>("Sprites/Enemies/Sniper"), position, 5, Color.White, 1f); ExplosionAnimation.Initialize(content.Load <Texture2D>("Sprites/Explosion1"), position, 36, 36, 3, 150, Color.White, 1f, false, false, this.CurrentStage); ExplosionSound = content.Load <SoundEffect>("Sounds/Explosion1"); projectileTexture = content.Load <Texture2D>("Sprites/Projectiles/basicbullet"); _gun = new EnemyGun(this, projectileTexture); }
public Level1BossBomber(ContentManager content, Vector2 position, Stage stage, string enemytype) : base(content, position, stage, enemytype) { _frames = new PlayerSpriteCollection(); _frames.Initialize(content.Load <Texture2D>("Sprites/Bosses/boss1bomber"), position, 6, Color.White, 1f); _enemyType = enemytype; _health = 32; ExplosionAnimation.Initialize(content.Load <Texture2D>("Sprites/Explosion2"), position, 32, 32, 5, 150, Color.White, 1f, false, false, this.CurrentStage); ExplosionSound = content.Load <SoundEffect>("Sounds/Explosion1"); projectileTexture = content.Load <Texture2D>("Sprites/Projectiles/redbullet_large"); }
public Capsule(ContentManager content, Vector2 position, Stage stage, string itemType) : base(content, position, stage, itemType) { _itemType = itemType; _contentManager = content; _startPosition = position; EnemyMoveSpeed = 2.0f; _imageTexture = content.Load <Texture2D>("Sprites/Enemies/Capsule"); ExplosionAnimation.Initialize(content.Load <Texture2D>("Sprites/Explosion1"), this.WorldPosition, 36, 36, 3, 150, Color.White, 1f, false, false, this.CurrentStage); ExplosionSound = content.Load <SoundEffect>("Sounds/Explosion1"); _startingVerticalPosition = position.Y; CollisionIsHazardous = false; }
public Turret(ContentManager content, Vector2 position, Stage stage, string enemytype) : base(content, position, stage, enemytype) { PlayerSpriteCollection spritecollection; Texture2D turrettileset; spritecollectionlist = new List <PlayerSpriteCollection>(); turrettileset = content.Load <Texture2D>("Sprites/Enemies/Turret"); spritecollection = new PlayerSpriteCollection(); spritecollection.Initialize(TextureHelper.SwapColor(turrettileset, new Color(192, 32, 0), new Color(184, 28, 12)), position, 12, Color.White, 1f); spritecollectionlist.Add(spritecollection); spritecollection = new PlayerSpriteCollection(); spritecollection.Initialize(TextureHelper.SwapColor(turrettileset, new Color(192, 32, 0), new Color(228, 68, 52)), position, 12, Color.White, 1f); spritecollectionlist.Add(spritecollection); spritecollection = new PlayerSpriteCollection(); spritecollection.Initialize(turrettileset, position, 12, Color.White, 1f); spritecollectionlist.Add(spritecollection); CollisionIsHazardous = false; _health = 15; _currentPosition = 3; TimeTargetLocked = 0.0f; _elapsedTime = 0; _currentFrame = 0; _animatingforward = true; // RGB colors for blinking animations of turret. //R 255 228 184 //G 140 68 28 //B 124 52 12 projectileTexture = content.Load <Texture2D>("Sprites/Projectiles/basicbullet"); ExplosionAnimation.Initialize(content.Load <Texture2D>("Sprites/Explosion2"), WorldPosition, 5, 150, Color.White, 1f, false, this.CurrentStage); ExplosionSound = content.Load <SoundEffect>("Sounds/Explosion2"); _gun = new EnemyGun(this, projectileTexture); }
public Explosion(Vector2f pos, bool infinite = false) { Position = pos; Origin = new Vector2f(32f, 32f); Rotation = RAND.Next() % 360; if (TEXTURE == null) { LoadTexture(); } this.Texture = TEXTURE; if (infinite) { this.TextureRect = RECTS.ElementAt(new Random().Next() % 16); } else { this.TextureRect = RECTS.First(); } _boom = new ExplosionAnimation(this, infinite); }
/// <summary> /// Setzt den Bewegungsalgorithmus der Partikel /// </summary> /// <param name="e">Algorithmustyp</param> public void SetAnimationAlgorithm(ExplosionAnimation e) { _algorithm = (int)e; }