public override void OnUpdate(float deltaTime) { // Lerp everything off life time if (!lifeTime.Check(false)) { curColor = ColorRGB.Lerp(fireColor, smokeColor, lifeTime.PercentComplete); curScale = Utils.Lerp(0.2f, 1, lifeTime.PercentComplete); curRot = Utils.Lerp(0, 90, lifeTime.PercentComplete); if (lifeTime.PercentComplete >= 2f / 3f) { curTexture = smokeTexture3; smokeOffset.x = smokeTexture3.width / 2; smokeOffset.y = smokeTexture3.height / 2; } else if (lifeTime.PercentComplete >= 1f / 3f) { curTexture = smokeTexture2; smokeOffset.x = smokeTexture2.width / 2; smokeOffset.y = smokeTexture2.height / 2; } else { smokeOffset.x = smokeTexture1.width / 2; smokeOffset.y = smokeTexture1.height / 2; } smokeOffset *= curScale; base.OnUpdate(deltaTime); return; } // Death Zone SmokeManager.RemoveSmoke(this); }
public void CheckCollision(Tank tank) { if (Collider.Collision(collider, tank.collider)) { tank.TakeDamage(); SmokeManager.CreateSmoke(Position); Destroy(); } }
void GameDraw() { background.Draw(); PickupManager.Draw(); EnemyManager.Draw(); SmokeManager.Draw(); player.Draw(); UI.Draw(player); }
void GameUpdate() { currentTime = stopwatch.ElapsedMilliseconds; deltaTime = (currentTime - lastTime) / 1000.0f; timer += deltaTime; if (timer >= 1) { fps = frames; frames = 0; timer -= 1; } frames++; player.Update(deltaTime); background.Update(deltaTime); EnemyManager.Update(deltaTime); PickupManager.Update(deltaTime); SmokeManager.Update(deltaTime); CurCenter = Program.Center; lastTime = currentTime; }