public void Use(int charge) { charges -= charge; // play use item sound SoundManager.Instance.PlayAudioClip(itemTemplate.useItemAudioClip, true, itemTemplate.useItemLoop, itemTemplate.useItemPriority, itemTemplate.useItemVolume, UnityEngine.Random.Range(itemTemplate.useItemPitchMin, itemTemplate.useItemPitchMax)); OnWeightChange?.Invoke(charges); if (charges <= 0) { Destroy(gameObject); } }
public void ChangeCharges(int charge) { int previousCharges = charges; charges += charge; charges = Mathf.Clamp(charges, 1, chargesMax); // play increase charges sound if (charges > previousCharges) { SoundManager.Instance.PlayAudioClip(itemTemplate.increaseChargesAudioClip, true, itemTemplate.increaseChargesLoop, itemTemplate.increaseChargesPriority, itemTemplate.increaseChargesVolume, UnityEngine.Random.Range(itemTemplate.increaseChargesPitchMin, itemTemplate.increaseChargesPitchMax)); } OnWeightChange?.Invoke(charges); }
public void SetWeight(Weight w) { Weight = w; OnWeightChange?.Invoke(this, new EventArgs()); }
// unregister on weight change event public void UnregisterOnWeightChange(Action <int> action) { OnWeightChange?.Invoke(weightIndex); OnWeightChange -= action; }
// change current weight public void ChangeWeight(int charges) { weightIndex = charges; OnWeightChange?.Invoke(weightIndex); }
public void UnregisterOnWeightChange(Action <int> action) { OnWeightChange?.Invoke(charges); OnWeightChange -= action; }