private void Awake() { Health = GetComponent <HealthController>(); if (Health != null) { Health.SetMaxHealth(_data.MaxHealth); Health.OnDead += Dead; } _detectionComponent = GetComponent <DetectionComponent>(); _aimingComponent = GetComponent <AimingComponent>(); _firingComponent = GetComponent <FiringComponent>(); _weapon = GetComponent <Weapon>(); GameEventsManager.OnPlayerDead += DeactivateComponents; }
public override void Start() { engineComponent = FindObjectOfType <EngineComponent>(); aimingComponent = FindObjectOfType <AimingComponent>(); damageComponent = FindObjectOfType <DamageComponent>(); aimingComponent.PropertyChanged += (sender, args) => playerGun.ShootingAbility.shootingPeriodCoefficient = aimingComponent.Value; damageComponent.PropertyChanged += (sender, args) => playerGun.ShootingAbility.bullet.damageCoefficient = damageComponent.Value; rb = GetComponent <Rigidbody2D>(); playerCollider = GetComponent <Collider2D>(); playerGun = GetComponentInChildren <GunController>(); damagePart = Vars.GetCarPart(PartType.Damage); shootingPart = Vars.GetCarPart(PartType.Shooting); armorPart = Vars.GetCarPart(PartType.Armor); enginePart = Vars.GetCarPart(PartType.Engine); base.Start(); StartCoroutine(ApplyParts()); }