public static ProjectileDatabase GetInstance() { if (instance == null) { instance = new ProjectileDatabase(); } return(instance); }
public override void Initialize() { if (Settings == null) { Settings = ProjectileDatabase.GetInstance().GetProjectile(FallbackDataId); } ProjectileStats = new Dictionary <string, Stat>(); ProjectileStats["Speed"] = new Stat(Settings.Speed); ProjectileStats["Health"] = new Stat(Settings.Heatlh); ProjectileStats["Health"].OnValueChange += delegate(Stat stat) { if (stat.EffectiveValue <= 0) { Die(); } }; OnLive?.Invoke(this); }