//捡到道具后更新属性 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 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 enforceBullet(bulletSpeStruct bulletSpe) { GameObject shoot = this.transform.FindChild("shoot").gameObject; if (shoot) { shoot.SendMessage("setBulletSpecial", bulletSpe); } }
//被外部调用修改子弹的属性 public void setProperty(weaponType weapon, int damage, int knock, float damamgeRate, bulletSpeStruct bulletStruct, constant.BattleType battleType) { //Debug.Log ("子弹击退效果: " + knock); weapontype = weapon; bulletDamage = damage; bulletknock = knock; bulletDamageRate = damamgeRate; bulletSpe = bulletStruct; mBattleType = battleType; //Debug.Log ("子弹类型: " + weapontype); }
//子弹特殊效果强化 public bool enforceWeapon(GameObject obj) { bulletEnforce_Property bulletEnforcePro = obj.GetComponent <bulletEnforce_Property> (); bulletSpeStruct bulletSpe = bulletEnforcePro.bulletSpe; char_property charProperty = gameObject.GetComponent <char_property> (); if (charProperty) { charProperty.enforceBullet(bulletSpe); return(true); } Debug.Log("子弹效果无法强化,请检查系统!"); return(false); }
//修改bullet的special属性 public void setBulletSpecial(bulletSpeStruct bullet) { bulletSpe = bullet; }