コード例 #1
0
    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;
    }
コード例 #2
0
    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.
    }
コード例 #3
0
ファイル: BossAttack.cs プロジェクト: Brieux/UnityBossGene
    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
    }
コード例 #4
0
    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;
            }
        }
    }
コード例 #5
0
    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;
        }
    }