public static void RingAttack(Transform t, int seperator, Quaternion startingRot) { Quaternion adjustedRot; for (int i = 0; i < anglesX.Length; i += seperator) { Rigidbody shotProj = Instantiate(projectile, t.position, startingRot); adjustedRot = startingRot * Quaternion.Euler(Vector3.up * anglesX[i]); shotProj.transform.rotation = adjustedRot; projectileScript ps = shotProj.GetComponent <projectileScript>(); ps.damage = 1; Sprite tempSprite; if (seperator == 1) { spriteNames.TryGetValue("RedDouble", out tempSprite); } else { spriteNames.TryGetValue("GreenSingle", out tempSprite); } ps.StartingTexture = tempSprite; //ps.startingTexture = value; shotProj.AddForce(shotProj.transform.forward * fire_speed, ForceMode.Impulse); } }
void SingleAttack(Transform t, bool shrap, bool pickup, int bc) { Rigidbody proj = Instantiate(projectile, t.position, t.rotation); projectileScript ps = proj.GetComponent <projectileScript>(); proj.transform.rotation = smoothedRot; ps.damage = 1; ps.isShrap = shrap; ps.bounceCount = bc; ps.pickupAble = pickup; Sprite tempSprite = null; if (shrap) { spriteNames.TryGetValue("GreenQuad", out tempSprite); } else if (bc > 0) { spriteNames.TryGetValue("Bounce" + (bc + 1), out tempSprite); } else { spriteNames.TryGetValue("BlueSingle", out tempSprite); } if (tempSprite != null) { ps.StartingTexture = tempSprite; } proj.AddForce(transform.forward * fire_speed, ForceMode.Impulse); }
//synconizes projectile properties with shooter's properties, namely Mouse aim and main camera private void spawnProjectile() { GameObject proj = (GameObject)Instantiate(projectile, transform.position + spawnPt, Quaternion.identity); //proj.transform.Rotate (-90, 90, 0); //GameObject proj = (GameObject)Instantiate (projectile, transform.position + spawnPt); projectileScript pScript = proj.GetComponent <projectileScript> (); pScript.mouseAim = mouseAim; pScript.mainCamera = mainCamera; }
void ShotgunAttack() { Quaternion adjustedRot; for (int i = 0; i < 3; i++) { Rigidbody shotProj = Instantiate(projectile, firePoint.position, transform.rotation); adjustedRot = smoothedRot * Quaternion.Euler(Vector3.up * SG_angles[i]); shotProj.transform.rotation = adjustedRot; projectileScript ps = shotProj.GetComponent <projectileScript>(); ps.damage = 1; spriteNames.TryGetValue("GreenSingle", out Sprite tempSprite); ps.StartingTexture = tempSprite; shotProj.AddForce(shotProj.transform.forward * fire_speed, ForceMode.Impulse); } }
/// <summary> /// /// </summary> /// <param name="transform">transform du gameObject dont le projectile va partir</param> /// <param name="speed">vitesse a la quelle leprojectile va partir</param> protected void Shootprojectile(Transform transform, int speed) { // instentie la position du nouveaux projectile Transform projectileInst = Instantiate(projectile, transform.position, transform.rotation); GameObject goP = GameObject.Find(projectileInst.name); // recupere les composant du script projectileScript projectileScript proj = goP.GetComponent <projectileScript>(); // verifie ou regarde le monstre afin de tirer le projectile dans la bonne direction if (transform.rotation.y == 180) { proj.setMove(speed); } else { proj.setMove(-speed); } }
public void fireProjectile() { if (projectileNumbers > 0) { projectileNumbers -= 1; currentProjectile = (GameObject)Instantiate(projectile, spawnPreojectilesPosition.transform.position, Quaternion.identity); Vector3 aimAngle3D = aimAngle; currentProjectile.transform.rotation = Quaternion.LookRotation(aimAngle3D, new Vector3(1, 0, 0)); projectileScript pScript = currentProjectile.GetComponent <projectileScript> (); pScript.moveAngle = aimAngle; pScript.speed = projectileSpeed; pScript.character = GetComponent <ICharacter> (); } }