public void Response(ShellObj shellObj) { shellObj.Detonation = true; if (shellObj.NameTank == KeyObjGame.Player) { SoundGame.SoundDetonation(); } }
public override void Response(ShellObj shellObj) { // Если снаряд выпущен не етим танком if (shellObj.NameTank != KeyObjGame.TankEnemy) { if (numberOfHits == 0) { SoundGame.SoundDetonation(); moweLeft = moweLeftGren; moweRight = moweRightGren; moweUp = moweUpGren; moweDown = moweDownGren; shellObj.Detonation = true; numberOfHits++; } else if (numberOfHits == 1) { SoundGame.SoundDetonation(); moweLeft = moweLeftYellow; moweRight = moweRightYellow; moweUp = moweUpYellow; moweDown = moweDownYellow; shellObj.Detonation = true; numberOfHits++; } else if (numberOfHits == 2) { SoundGame.SoundDetonation(); moweLeft = moweLeftGray; moweRight = moweRightGray; moweUp = moweUpGray; moweDown = moweDownGray; shellObj.Detonation = true; numberOfHits++; } else if (numberOfHits == 3) { base.Response(shellObj); } } }
/// <summary> /// Обновление состояния обьекта /// </summary> public override void Update() { if (!detonation) { // Передвижение this.Move(); // Столкновение с границами карты detonation = this.CollisionsBoundariesPlayingField(); // Столкновение с обектами игры if (!detonation) { CollisionObjLevel(); } else if (this.nameTank == KeyObjGame.Player) { SoundGame.SoundDetonation(); } } // Если обьект сдетонировал else if (detonation && delay == 0) { new DetonationShell(spriteRectangle.Location, direction); delay++; } else if (delay == 7) { // Помичаем обьект как умерший isAlive = false; // Удаляем из списка снарядов Level.DictionaryObjGame[KeyObjGame.Shell].Remove(this); } else if (delay > 0) { delay++; } }