// 建立武器 public override IWeapon CreateWeapon(ENUM_Weapon emWeapon) { IWeapon pWeapon = null; string AssetName = ""; int AttrID = 0; //根据武器类型建立 switch (emWeapon) { case ENUM_Weapon.Knife: pWeapon = new WeaponKnife(); AssetName = "5"; AttrID = 1; break; default: Debug.LogWarning("创建[" + emWeapon + "]失败!!!"); return(null); } // 加载武器资源 IAssetFactory AssetFactory = GameFactory.GetAssetFactory(); Sprite WeaponGameObjet = AssetFactory.LoadWeapon(AssetName); pWeapon.SetIWeapon(WeaponGameObjet); // 设置武器的威力 IAttrFactory theAttrFactory = GameFactory.GetAttrFactory(); WeaponAttr theWeaponAttr = theAttrFactory.GetWeaponAttr(AttrID); pWeapon.SetWeaponAttr(theWeaponAttr); return(pWeapon); }
private void InitWeaponInstances() { _weaponPlacementDictionary = new Dictionary <WeaponType, WeaponPlacement>(); WeaponKnife knife = Instantiate(_weaponList.GetWeaponList().Knife); knife.transform.parent = _rightHandSocket; knife.transform.localPosition = Vector3.zero; WeaponPlacement wk = new WeaponPlacement(_knifeSocket, knife); _weaponPlacementDictionary.Add(WeaponType.Knife, wk); WeaponPistol pistol = Instantiate(_weaponList.GetWeaponList().Pistol); pistol.transform.parent = _pistolSocket; pistol.transform.localPosition = Vector3.zero; pistol.transform.rotation = _pistolSocket.rotation; WeaponPlacement wp = new WeaponPlacement(_pistolSocket, pistol); _weaponPlacementDictionary.Add(WeaponType.Pistol, wp); WeaponRifle rifle = Instantiate(_weaponList.GetWeaponList().Rifle); rifle.transform.parent = _rifleSocket; rifle.transform.localPosition = Vector3.zero; rifle.transform.localRotation = _pistolSocket.rotation; WeaponPlacement wr = new WeaponPlacement(_rifleSocket, rifle); _weaponPlacementDictionary.Add(WeaponType.Rifle, wr); }
public void Take_Damage_Knife(WeaponKnife knife) { if (took_hit_invincible) { return; } knife.Fix_Knife_To(this.gameObject); Take_Damage(knife.damage); }
public void Weapon_UpgradeWeapon_Tank() { Weapon w = new WeaponKnife(); w = w.Upgrade(CharacterClass.Tank); Assert.IsTrue(w is WeaponPistol); w = w.Upgrade(CharacterClass.Tank); Assert.IsTrue(w is WeaponPistolShield); w = w.Upgrade(CharacterClass.Tank); Assert.IsTrue(w is WeaponPistolShield); }
public void Weapon_UpgradeWeapon_Support() { Weapon w = new WeaponKnife(); w = w.Upgrade(CharacterClass.Support); Assert.IsTrue(w is WeaponShotgun); w = w.Upgrade(CharacterClass.Support); Assert.IsTrue(w is WeaponAdvancedShotgun); w = w.Upgrade(CharacterClass.Support); Assert.IsTrue(w is WeaponAdvancedShotgun); }
public void Weapon_UpgradeWeapon_Gunner() { Weapon w = new WeaponKnife(); w = w.Upgrade(CharacterClass.Gunner); Assert.IsTrue(w is WeaponAR); w = w.Upgrade(CharacterClass.Gunner); Assert.IsTrue(w is WeaponAdvancedAR); w = w.Upgrade(CharacterClass.Gunner); Assert.IsTrue(w is WeaponAdvancedAR); }
public void Weapon_Fire_CreatesBullets() { Weapon w = new WeaponAdvancedAR(); Assert.IsTrue(w.Fire(Vector2.One).Count > 0); w = new WeaponAdvancedShotgun(); Assert.IsTrue(w.Fire(Vector2.One).Count > 0); w = new WeaponAR(); Assert.IsTrue(w.Fire(Vector2.One).Count > 0); w = new WeaponKnife(); Assert.IsTrue(w.Fire(Vector2.One).Count > 0); w = new WeaponPistol(); Assert.IsTrue(w.Fire(Vector2.One).Count > 0); w = new WeaponPistolShield(); Assert.IsTrue(w.Fire(Vector2.One).Count > 0); w = new WeaponShotgun(); Assert.IsTrue(w.Fire(Vector2.One).Count > 0); }
public WeaponListModel(WeaponKnife knife, WeaponPistol pistol, WeaponRifle rifle) { Knife = knife; Pistol = pistol; Rifle = rifle; }