Beispiel #1
0
    protected override GameObject ShootWithLaser(Laser laser)
    {
        GameObject asteroidGO = base.ShootWithLaser(laser);

        if (asteroidGO != null)
        {
            asteroidGO.GetComponent <Asteroid>().ImpactDurability(-100 * Time.deltaTime);
            resources += 100 * Time.deltaTime;
            OnResourceChangedEvent?.Invoke((int)resources, 0);
        }
        return(asteroidGO);
    }
 public virtual void ImpactDurability(float value)
 {
     if (IsDeath || Invincible)
     {
         return;
     }
     Durability = Mathf.Clamp(Durability + value, 0, defaultDurability);
     OnDurabilityChangedEvent?.Invoke(Durability, defaultDurability);
     if (Durability == 0)
     {
         OnDestoryed();
     }
 }
 public virtual void ImpactEquipmentVolume(float value)
 {
     SelectedEquipmentObject.UpdateVolume(value);
     OnVolumeChangedEvent?.Invoke(SelectedEquipmentObject.Volume, SelectedEquipmentObject.Template.volume);
 }
Beispiel #4
0
 public override bool ItemValueChanged(object tag, IItemFacade itemFacade)
 {
     handler?.Invoke(tag, itemFacade);
     return(true);
 }