public WeaponList(IEnumerable <Weapon> weapons) { this.AddRange(weapons); weaponType = ItemWeaponType.WeaponType.SINGLE; Level = 1; }
public void ChangeWeaponType(ItemWeaponType.WeaponType weaponType) { string weaponString = ItemWeaponType.GetWeaponTypeString(weaponType); if (weaponType == weapons.weaponType) { SetPowerupText(weaponString + " Improved"); weapons.LevelUpType(); return; } weapons.DeleteAll(); Weapon w = Resources.Load <Weapon>("Prefabs/Weapon"); Weapon cw; float weaponDistance = w.transform.localPosition.x; weapons.SetWeaponType(weaponType); SetPowerupText(weaponString + " Equipped"); switch (weaponType) { default: case ItemWeaponType.WeaponType.SINGLE: cw = Instantiate(w, this.transform); cw.FireCooldown = 0.4f; cw.PowerUsage = 5f; weapons.Add(cw); break; case ItemWeaponType.WeaponType.FORK: Vector2 vf = Vector2.one * .707f * weaponDistance; //normalized vector * weaponDistance cw = Instantiate(w, this.transform); cw.transform.localPosition = new Vector3(vf.y, cw.transform.localPosition.y, vf.x); cw.FireCooldown = 0.5f; cw.PowerUsage = 4f; weapons.Add(cw); vf.Scale(new Vector2(-1, 1)); cw = Instantiate(w, this.transform); cw.transform.localPosition = new Vector3(vf.y, cw.transform.localPosition.y, vf.x); cw.FireCooldown = 0.5f; cw.PowerUsage = 4f; weapons.Add(cw); break; case ItemWeaponType.WeaponType.FRONTBACK: cw = Instantiate(w, this.transform); cw.FireCooldown = 0.6f; cw.PowerUsage = 4f; weapons.Add(cw); cw = Instantiate(w, this.transform); cw.transform.localPosition = new Vector3(-weaponDistance, w.transform.localPosition.y, w.transform.localPosition.z); cw.FireCooldown = 0.6f; cw.PowerUsage = 4f; weapons.Add(cw); break; case ItemWeaponType.WeaponType.RING: for (int i = 0; i < 360; i += 60) { cw = Instantiate(w, this.transform); Vector2 v = AngleToVector(i).normalized *weaponDistance; cw.transform.localPosition = new Vector3(v.x, cw.transform.localPosition.y, v.y); cw.BulletDuration = 0.35f; cw.PowerUsage = 2f; cw.FireCooldown = 1f; weapons.Add(cw); } break; } }
public void SetWeaponType(ItemWeaponType.WeaponType wt) { weaponType = wt; Level = 1; }