// Убиваем юнита (от рук другого юнита/снаряда) public void Death() { if (!IsDead) { // Частицы смерти particles_manager.DeathParticles(dp_size, death_particles_colors, transform.position.x, transform.position.y + 0.7f); // Если вражеский юнит if (!isAlly) { cam_shake.SmallShake(); // Дёргаем камеру int gold, xp; switch (UnitClass) { case "Yeti": case "Ogre": case "Viper": case "Minotaur": case "Giant Spider": if (ClassicGenerator.instance.map_type != 4) { gold = Random.Range(2, 6); xp = Random.Range(9, 15); } else { gold = Random.Range(4, 8); xp = Random.Range(2, 8); } break; default: // Обычный режим if (ClassicGenerator.instance.map_type != 4) { gold = Random.Range(1, 4); xp = Random.Range(6, 11); } // Арена else { gold = Random.Range(3, 6); xp = Random.Range(1, 5); } break; } GlobalStats.AddGold(gold); // Прибавляем золото GlobalStats.AddToStats("Enemies Killed"); // +1 убитый юнит в статистику PlayerLevelManager.player_level_manager.AddXP(xp); // Прибавляем опыт particles_manager.SpawnCoin(gold, transform.position.x - 0.1f, transform.position.y + 0.75f); // Частица монетки } else { // Если есть вирус, создаём "паразитов" if (VirusType > 0) { AdditionalUnitsSpawner.instance.SpawnParasite(VirusType, transform.position.x, transform.position.y); particles_manager.SpawnParticles("Death", transform.position.x, transform.position.y + 0.35f); } } DisableUnit(); // Отключаем и уничтожаем юнита } }