예제 #1
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.B))
        {
            GameObject Temporary_Bullet_Handler;
            Temporary_Bullet_Handler = Instantiate(bullet_sample, Bullet_emiiter.transform.position, Bullet_emiiter.transform.rotation) as GameObject;
            //Temporary_Bullet_Handler.transform.Rotate(Vector3.left * 90);

            Rigidbody Temporary_Rigidbody;
            Temporary_Rigidbody = Temporary_Bullet_Handler.GetComponent <Rigidbody>();
            //Temporary_Rigidbody.AddForce(0, 0, 50);
            //Temporary_Rigidbody.velocity= Temporary_Bullet_Handler.transform.forward * 6;
            Temporary_Rigidbody.AddForce(transform.forward * Bullet_Forward_Force);
            Destroy(Temporary_Bullet_Handler, 10.0f);
        }
    }
예제 #2
0
    public void Shoot()
    {
        GameObject Temporary_Bullet_Handler;

        Temporary_Bullet_Handler = Instantiate(bullet, Gun.transform.position, Gun.transform.rotation) as GameObject;

        //Temporary_Bullet_Handler.transform.Rotate(Vector3.left * 90);

        Rigidbody Temporary_Rigidbody;

        Temporary_Rigidbody = Temporary_Bullet_Handler.GetComponent <Rigidbody>();

        Temporary_Rigidbody.AddForce(transform.forward * bullet_forward_force);

        Destroy(Temporary_Bullet_Handler, 5.0f);
    }
예제 #3
0
    // Update is called once per frame
    void Update()
    {
        counttime += Time.deltaTime;
        if (counttime > 2.0f)
        {
            counttime = 0.0f;
            GameObject Temporary_Bullet_Handler;
            Temporary_Bullet_Handler = Instantiate(bullet_sample, Bullet_emiiter.transform.position, Bullet_emiiter.transform.rotation) as GameObject;
            Temporary_Bullet_Handler.transform.Rotate(Vector3.left * 90);

            Rigidbody Temporary_Rigidbody;
            Temporary_Rigidbody = Temporary_Bullet_Handler.GetComponent <Rigidbody>();
            //Temporary_Rigidbody.AddForce(0, 0, 50);
            //Temporary_Rigidbody.velocity= Temporary_Bullet_Handler.transform.forward * 6;
            Temporary_Rigidbody.AddForce((MainCharacter.transform.position - transform.position) * Bullet_Forward_Force);
            Destroy(Temporary_Bullet_Handler, 20.0f);
        }
    }
예제 #4
0
    // Update is called once per frame
    void Update()
    {
        //AMMO

        ammoText.text = "Ammo: " + currentAmmo.ToString();
        //AMMO
        if (isReloading)
        {
            return;
        }

        if (currentAmmo <= 0)
        {
            StartCoroutine(Reload());
            return;
        }

        if (Input.GetKeyDown("r"))
        {
            StartCoroutine(Reload());
            return;
        }

        if (Time.timeScale != 0)
        {
            if (Input.GetKeyDown("mouse 0"))
            {
                currentAmmo--;
                FindObjectOfType <AudioManager>().Play("Shoot");

                GameObject Temporary_Bullet_Handler;
                Temporary_Bullet_Handler = Instantiate(Bullet, Bullet_Emitter.transform.position, Bullet_Emitter.transform.rotation) as GameObject;

                Temporary_Bullet_Handler.transform.Rotate(Vector3.left * 180);

                Rigidbody Temporary_Rigidbody;
                Temporary_Rigidbody = Temporary_Bullet_Handler.GetComponent <Rigidbody>();

                Temporary_Rigidbody.AddForce(transform.forward * Bullet_Forward_Force);

                Destroy(Temporary_Bullet_Handler, 5f);
            }
        }
    }
예제 #5
0
    // Update is called once per frame
    void Update()
    {   //keeps track of changing time precast for left
        if (Input.GetMouseButtonDown(0))
        {
            downtime = Time.time;
        }
        //checks to see if finished precast
        if (Input.GetMouseButton(0))
        {
            if (delay > 0)
            {
                delay -= Time.deltaTime;
            }
            else if (Time.time - downtime >= spellchargetime)
            {
                //creates clones of a spell in front of player
                GameObject Temporary_Spell_Handler;
                Temporary_Spell_Handler = Instantiate(Spell[0], Spell_Emitter.transform.position + new Vector3(0.0f, 0.0f, 0.0f), Spell_Emitter.transform.rotation) as GameObject;
                //rotate so both spell and player facing the same direction
                Temporary_Spell_Handler.transform.Rotate(Vector3.forward);

                //add physics
                Rigidbody Temporary_Rigidbody;
                Temporary_Rigidbody = Temporary_Spell_Handler.GetComponent <Rigidbody>();
                //add force to propell spell
                Temporary_Rigidbody.AddForce(transform.forward * Spell_Forward_Force);
                //destroy once out of range
                Destroy(Temporary_Spell_Handler, 5.0f);
                //delay between casting multiple clones
                delay = cooldown;
            }
        }
        //same as left mouse down
        if (Input.GetMouseButtonDown(1))
        {
            downtime = Time.time;
        }
        if (Input.GetMouseButton(1))
        {
            if (delay > 0)
            {
                delay -= Time.deltaTime;
            }
            else if (Time.time - downtime >= spellchargetime)
            {
                GameObject Temporary_Spell_Handler;
                //will spawn with random x,y corrdinates in front of player
                Temporary_Spell_Handler = Instantiate(Spell[1], Spell_Emitter.transform.position + new Vector3(Random.Range(-1f, 1f), Random.Range(-1f, 1f), 0.0f), Spell_Emitter.transform.rotation) as GameObject;
                Temporary_Spell_Handler.transform.Rotate(Vector3.forward);

                Rigidbody Temporary_Rigidbody;
                Temporary_Rigidbody = Temporary_Spell_Handler.GetComponent <Rigidbody>();
                //faster velocity
                Temporary_Rigidbody.AddForce(transform.forward * Spell_Forward_Force * 3);

                Destroy(Temporary_Spell_Handler, 5.0f);
                //faster cooldown
                delay = cooldown / 15;
            }
        }
    }