private float _timer; // Производить выстрел если текущее время больше _timer private void OnEnable() { //Как только класс начнет существовать он передаст в WeaponSystem и станет орудием этого класса // FindObjectOfType<WeaponSystem>().AddWeapon(this); BaseWeaponSystem wp = GetComponentInChildren <BaseWeaponSystem>(); if (wp == null) { wp = GetComponentInParent <BaseWeaponSystem>(); } if (wp is WeaponSystem) { WeaponSystem weaponSystem = wp as WeaponSystem; // Нисходяшее приведение из высшего порядка в нисший weaponSystem.AddWeapon(this); } else if (wp is EnemyWeaponSystem) { EnemyWeaponSystem weaponSystem = wp as EnemyWeaponSystem; // Нисходяшее приведение из высшего порядка в нисший weaponSystem.AddWeapon(this); } }