Recerca-Cerdanya-Talk/Assets/Scripts/BulletStats.cs
2023-08-22 20:12:53 +02:00

30 lines
No EOL
881 B
C#

using System;
using UnityEngine;
public abstract class BulletStats : MonoBehaviour{
[HideInInspector] public float bulletSpeed = 10f;
[HideInInspector] public float maxYSpeed = 4f;
[HideInInspector] public int maxBounces = 3;
protected Rigidbody2D Rb { get; private set; }
protected SpriteRenderer Sprite { get; private set; }
protected virtual void Start() {
Rb = GetComponent<Rigidbody2D>();
Sprite = GetComponent<SpriteRenderer>();
BalanceCanvas.instance.sliderChangedCallback += RefreshStats;
RefreshStats();
}
void OnDestroy() {
BalanceCanvas.instance.sliderChangedCallback -= RefreshStats;
}
void RefreshStats() {
bulletSpeed = PlayerPrefs.GetFloat(nameof(bulletSpeed), bulletSpeed);
maxYSpeed = PlayerPrefs.GetFloat(nameof(maxYSpeed), maxYSpeed);
maxBounces = Mathf.RoundToInt(PlayerPrefs.GetFloat(nameof(maxBounces), maxBounces));
}
}