public IEnumerable <Sprite> GetIcons(WeaponFireType type) { var count = Enum.GetValues(typeof(WeaponFireType)).Length; var t = (int)type; for (int i = 0; i < count - 1; i++) { if (1 << i == (1 << i & t)) { yield return(WeaponFireTypeIcons[i + 1]); } } }
private WeaponFire NewFireType(WeaponFireType type) { switch (type) { case WeaponFireType.INSTANT_FIRE_ENUM: return(new WeaponFireInstant()); case WeaponFireType.PREPARE_FIRE_ENUM: return(new WeaponFirePrepare()); case WeaponFireType.NOTHIN_ENUM: return(new WeaponFireNothin()); default: Assert.IsTrue(false, "Internal error"); return(new WeaponFireNothin()); } }