public void ChangeSpell() { int n = SpellStyle.GetNames(typeof(SpellStyle)).Length - 1; System.Random r = new System.Random(); int rInt = r.Next(0, n); playerShooting.SetupSpelling((SpellStyle)(rInt + 1)); //playerShooting.SetupSpelling(SpellStyle.Fireball); }
public void SetupSpelling(SpellStyle spellStyle) { spellObjects = new Dictionary <string, GameObject>(); foreach (Spell spell in spells) { spellObjects.Add(spell.name, spell.prefab); } this.spellStyle = spellStyle; switch (spellStyle) { case SpellStyle.Fireball: maxBulletNumber = 5; currentBulletNumber = maxBulletNumber; restoreBulletTime = 0.25f; break; case SpellStyle.LaserBeam: break; case SpellStyle.WaterBomb: maxBulletNumber = 3; currentBulletNumber = maxBulletNumber; restoreBulletTime = 0.5f; break; case SpellStyle.Meteor: maxBulletNumber = 2; currentBulletNumber = maxBulletNumber; restoreBulletTime = 1.75f; break; default: Debug.LogWarning("Spell doesn't selected"); return; } }