//捡到道具后更新属性 public void setBaseProperty(weaponItem_property weapon) { if (weapon.mType == weaponType.bulletNormal) { baseBulletDamage = weapon.baseBulletDamage; if (weapon.baseBulletDistance != 0) { baseBulletDistance = weapon.baseBulletDistance; } if (weapon.baseBulletRate != 0) { baseBulletRate = weapon.baseBulletRate; } if (weapon.baseBulletSpeed != 0) { baseBulletSpeed = weapon.baseBulletSpeed; } mknockBack = weapon.mknockBack; mdamageRate = weapon.baseDamageRate; bulletSpe = weapon.bulletSpe; Debug.Log("子弹武器更新 基础属性" + "\r\n" + "子弹伤害: " + baseBulletDamage + "\r\n" + "子弹伤害间隔: " + mdamageRate + "\r\n" + "击退效果: " + mknockBack + "\r\n" + "距离: " + baseBulletDistance + "\r\n" + "间隔: " + baseBulletRate + "\r\n" + "速度: " + baseBulletSpeed + "\r\n" + "----------特殊效果:--------: " + "\r\n" + "穿透性: " + bulletSpe.pierceBullet + "\r\n" + "恐惧效果: " + bulletSpe.scaredBullet.scaredEffect + "\r\n" + "元素类型: " + bulletSpe.element); } }
public bool switchWeapon(weaponItem_property weapon) { weaponType weapontype = weapon.mType; switch (weapontype) { default: break; case weaponType.bulletNormal: disableAllWeapon(); enableComponent(bulletNormal); break; case weaponType.laserNormal: disableAllWeapon(); enableComponent(laserNormal); break; return(false); break; } upgradeShootProperties(weapon); return(true); }
//捡到道具后更新属性 public void setBaseProperty(weaponItem_property weapon) { if (weapon.mType == weaponType.laserNormal) { laserDamage = weapon.baseBulletDamage; mknockBack = weapon.mknockBack; if (weapon.baseBulletRate != 0) { mcoldDown = weapon.baseBulletRate; laserRate = preTime + flyingTime + mcoldDown; } if (weapon.baseDamageRate != 0) { mdamageRate = weapon.baseDamageRate; } bulletSpe = weapon.bulletSpe; Debug.Log("激光武器更新 基础属性" + "\r\n" + "激光伤害: " + laserDamage + "\r\n" + "伤害间隔: " + mdamageRate + "\r\n" + "激光冷却: " + laserRate + "\r\n" + "击退效果: " + mknockBack + "\r\n" + "----------特殊效果:--------: " + "\r\n" + "穿透性: " + bulletSpe.pierceBullet + "\r\n" + "恐惧效果: " + bulletSpe.scaredBullet.scaredEffect + "\r\n" + "元素类型: " + bulletSpe.element); } }
public void upgradeShootProperties(weaponItem_property weapon) { GameObject shoot = this.transform.FindChild("shoot").gameObject; if (shoot) { shoot.SendMessage("setBaseProperty", weapon); } }
//玩家获得武器道具,更换武器 public bool switchWeapon(GameObject obj) { weaponItem_property weaponProperty = obj.GetComponent <weaponItem_property> (); char_property playerProperty = gameObject.GetComponent <char_property> (); robotWeaponSwitch weaponSwitch = gameObject.GetComponent <robotWeaponSwitch> (); if (weaponSwitch.switchWeapon(weaponProperty)) { if (playerProperty) { playerProperty.upgradeShootProperties(); } return(true); } Debug.Log("error: 无法在玩家身上找到相应的武器系统!"); return(false); }