コード例 #1
0
    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);
        }
    }
コード例 #2
0
    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);
    }
コード例 #3
0
 public void SetWeight(Weight w)
 {
     Weight = w;
     OnWeightChange?.Invoke(this, new EventArgs());
 }
コード例 #4
0
 // unregister on weight change event
 public void UnregisterOnWeightChange(Action <int> action)
 {
     OnWeightChange?.Invoke(weightIndex);
     OnWeightChange -= action;
 }
コード例 #5
0
 // change current weight
 public void ChangeWeight(int charges)
 {
     weightIndex = charges;
     OnWeightChange?.Invoke(weightIndex);
 }
コード例 #6
0
 public void UnregisterOnWeightChange(Action <int> action)
 {
     OnWeightChange?.Invoke(charges);
     OnWeightChange -= action;
 }