IEnumerator PICK() { picking = true; yield return(new WaitForSeconds(time2pick)); if (shooter) { shooter.gameObject.SetActive(false); } if (availableWeapon.Count > 0) { shooter = availableWeapon [0]; shooter.playerRes = playerResults; Transform parent = availableWeapon [0].transform.parent; availableWeapon [0].transform.parent = gun.transform; availableWeapon [0].transform.localPosition = Vector3.zero; gun.GetComponent <GunPointer> ().nowGun = availableWeapon [0].transform; shooter.GetComponent <Collider> ().enabled = false; availableWeapon.RemoveAt(0); if (parent) { parent.gameObject.SetActive(false); } } picking = false; }
public void ActiveShoot() //This function is to shoot a bullet from the gun and is called during the shoot animation when the character pulls the trigger. { GameObject Shoot; //This line is declaring a gameobject to be used to assign the spawning in of the bullet and assigning a rigidbody to the bullet. Rigidbody BulletPhys; //This line is declaring a rigidbody to apply physics to the bullet. Shoot = Instantiate(Bullet, BulletSpawn.transform.position, BulletSpawn.transform.rotation) as GameObject; //Assigning the spawning of the bullet to the shoot game object. FireEffect.Play(); //This is playing the Gun Shot sound effect. BulletPhys = Shoot.GetComponent <Rigidbody>(); //This line is assinging the rigidbody component to the variable BulletPhys. BulletPhys.AddForce(transform.forward * BulletSpeed); //This is shooting the bullet forward at the predefined speed. Destroy(Shoot, 1f); //After 1 second the bullet is destroyed. }
public void DirectShoot() { print("Shoot"); //Generate target float TargetYF = yMinDirectShoot + (Random.value * (yMaxDirectShoot - yMinDirectShoot)); //Choix de la hauteur de la cible entre deux bornes Vector3 TargetPos = new Vector3(xTarget, TargetYF, 0f); Target.GetComponent <Transform>().localPosition = TargetPos; Instantiate(Target); //Generate Shooter float ShooterYF = yMinDirectShoot + (Random.value * (yMaxDirectShoot - yMinDirectShoot)); //Choix de la hauteur de l'origine du tir entre deux bornes Vector3 ShooterPos = new Vector3(xShoot, ShooterYF, 0f); Shoot.GetComponent <Transform>().localPosition = ShooterPos; Instantiate(Shoot); //Generate shootingGO ShootingGO.GetComponent <Transform>().localPosition = ShooterPos; //Positionnement du projectile sur son origine Instantiate(ShootingGO); //script de deplacement dans ShootingGO }
void OnTriggerEnter2D(Collider2D collider) { // Est-ce un tir ? Shoot shot = collider.gameObject.GetComponent <Shoot>(); Move enemy = collider.gameObject.GetComponent <Move>(); if (enemy != null && enemy.Enemy == true) { hp -= 20; } if (shot != null) { // Tir allié if (shot.isEnemyShot != isEnemy && !shieldBreak) { hp -= 5; // Destruction du projectile // On détruit toujours le gameObject associé // sinon c'est le script qui serait détruit avec ""this"" shot.isEnemyShot = false; shot.direction.x = shot.direction.x * -1; shot.direction.y = shot.direction.y * -1; shot.GetComponent <SpriteRenderer>().sprite = Resources.Load("Friend", typeof(Sprite)) as Sprite; } if (hp <= 0) { hp = 1; // Destruction ! shieldBreak = true; gameObject.GetComponent <SpriteRenderer>().sprite = Resources.Load("Broken", typeof(Sprite)) as Sprite; } if (hp >= 30 && shieldBreak) { shieldBreak = false; } } }
void thrustApply() { timeLeft -= Time.deltaTime; if (Input.GetKey(KeyCode.LeftShift) && timeLeft <= 0) { telelocation.transform.GetChild(0).GetComponent <SpriteRenderer>().enabled = true; telelocation.transform.GetChild(0).right = telelocation.transform.position - player.transform.position; telelocation.transform.GetChild(0).GetComponent <LineRenderer>().enabled = true; if (rootShoot.GetComponent <Shoot>().currentGunIndex == 7 && Input.GetKeyDown(KeyCode.Mouse0)) { dashAttack.checkingAttackAngle = false; telelocation.transform.GetChild(0).GetComponent <LineRenderer>().enabled = false; telelocation.transform.GetChild(0).GetComponent <SpriteRenderer>().enabled = false; timeLeft = cooldown; isTracking = true; cooldownUIAnim.SetBool("OnCooldown", true); oldPos = telelocation.transform.position; telelocation.GetComponent <AudioSource>().Play(); GetComponent <SpriteRenderer>().enabled = false; GameObject.Find("RootShoot").GetComponent <Shoot>().currentGun.GetComponent <SpriteRenderer>().enabled = false; GameObject.Find("RootShoot").GetComponent <Shoot>().shootEnable = false; teleFX.GetComponent <SpriteRenderer>().enabled = true; GetComponent <PlayerController>().midTele = true; teleAnim.SetBool("TeleTime", true); isDashAttack = true; Invoke("Dash", 0.2f); } } if (Input.GetKey(KeyCode.LeftShift) && timeLeft <= 0 && shoot.currentGunIndex == 7) { shoot.shootEnable = false; } if (Input.GetKeyUp(KeyCode.LeftShift)) { shoot.shootEnable = true; } if (Input.GetKeyUp(KeyCode.LeftShift) && timeLeft <= 0) { shoot.shootEnable = false; telelocation.transform.GetChild(0).GetComponent <LineRenderer>().enabled = false; telelocation.transform.GetChild(0).GetComponent <SpriteRenderer>().enabled = false; timeLeft = cooldown; isTracking = true; cooldownUIAnim.SetBool("OnCooldown", true); oldPos = telelocation.transform.position; telelocation.GetComponent <AudioSource>().Play(); GetComponent <SpriteRenderer>().enabled = false; shoot.GetComponent <Shoot>().currentGun.GetComponent <SpriteRenderer>().enabled = false; shoot.GetComponent <Shoot>().shootEnable = false; teleFX.GetComponent <SpriteRenderer>().enabled = true; GetComponent <PlayerController>().midTele = true; teleAnim.SetBool("TeleTime", true); isDashAttack = false; Invoke("Dash", 0.2f); } if (timeLeft > 0) { timeLeft -= Time.deltaTime; } else { timeLeft = 0; } }