public void Update(GameTime gt) { if (!Timer.GetActive) { Timer.ActivateTimer(); } if (Timer.GetActive) { Timer.TimerUpdate(gt); } if (Timer.TimeReached()) { active = false; } if (spriteSheet) { EffectManager.spriteSheetUpdate(ref frame, ref elasped, totalTime, totalframes, gt); } if (EffectE == EffectManager.EffectEnums.Blood) { alphaVal -= 0.01f; } }
public void Update(Grid.gridFlags endPoint, GameTime gameTime) { time = (float)gameTime.ElapsedGameTime.TotalSeconds; //check for out of bounds, only really occurs when they are spawned from a destroyed vehicle as the vehicle is turning if (enemyVect.X >= 20) { enemyVect.X = 19; } if (enemyVect.Y >= 15) { enemyVect.Y = 14; } if (enemyVect.X < 0) { enemyVect.X = 0; } if (enemyVect.Y < 0) { enemyVect.Y = 0; } currentCoord = new Coordinates((int)enemyVect.X, (int)enemyVect.Y); if (enemyVect != null) { moving = PathMove(GameManager.grid.gridSquares, GameManager.HEIGHT, GameManager.WIDTH, ref enemyVect, ref ScreenPos, speed, time, Direction, EnemyType); } if (GameManager.ENDPOINT != null) { if (currentCoord.CoordEqual(GameManager.ENDPOINT)) { IsDestroyed = true; GameManager.BaseHealth -= damage; } } if (hitPoints <= 0) { IsDestroyed = true; } // Get screen pixel position from Grid Coordinates (enemyVect). if (moving) { ScreenPos = new Vector2((int)GameManager.grid.gridBorder.X + (enemyVect.X * GameManager.SQUARESIZE) + GameManager.SQUARESIZE / 2, (int)GameManager.grid.gridBorder.Y + (enemyVect.Y * GameManager.SQUARESIZE) + GameManager.SQUARESIZE / 2); } else { enemyVect.X = (float)Math.Round(enemyVect.X); enemyVect.Y = (float)Math.Round(enemyVect.Y); } if (EnemyType == "Tank" || EnemyType == "Jeep") { TurretDirection = TankTurret.Update(this); } Vector2 NextScreenPos = new Vector2((int)GameManager.grid.gridBorder.X + (nextCoord.x * GameManager.SQUARESIZE + 0.1f), (int)GameManager.grid.gridBorder.Y + (nextCoord.y * GameManager.SQUARESIZE)); Direction = Movement; if (!towerInRange) { TurretDirection = Direction; //float nextTurretDirection = Direction.ToAngle(); //// LERPING HERE //turretRotation = Extensions.CurveAngle(turretRotation, nextTurretDirection, 0.3f); //TurretDirection = turretRotation.ToVector(); } if (usingSpriteSheet) { EffectManager.spriteSheetUpdate(ref spriteSheetNo, ref animElasped, targetElasped, sheetFrameTotal, gameTime); if (EnemyType == "Soldier") { SourceRect = new Rectangle(0, spriteSheetNo * Art.Soldier.Height / (sheetFrameTotal + 1), Art.Soldier.Width, Art.Soldier.Height / (sheetFrameTotal + 1)); } else if (EnemyType == "Helicopter") { SourceRect = new Rectangle(spriteSheetNo * Art.Helicopter.Width / (sheetFrameTotal + 1), 0, Art.Helicopter.Width / (sheetFrameTotal + 1), Art.Helicopter.Height); } } }