Пример #1
0
    void Start()
       
    {
                //    Debug.Log("Init");
                Weapon = GetComponent <W_Makarov>();
                //GetComponent< GetComponent<W_Makarov>();
                //Weapon = this.GetComponent<W_Makarov>();
                //maxAmmo = Weapon.max_reserve;
                //ammoLeft = Weapon.cur_reserve;
                EnemyPov     = GetComponentInParent <EnemyPOV>();
                clipAmmo     = Weapon.cur_clip;
                clipCapacity = Weapon.clip;
                fireRate     = Weapon.fireRate;
                reloadRate   = Weapon.t_reload;
                range        = Weapon.range;
                spread       = Weapon.spread;
                damage       = Weapon.damage;
                Player       = GameObject.FindGameObjectWithTag("Player");
                PlayerHealth = Player.GetComponent <PlayerHealth>();
         //       Debug.Log("Init End");
            source = GetComponents <AudioSource>();

        lineRenderer = GetComponent <LineRenderer>();
        gunEnd       = Weapon.gunEnd;
        gunRay       = transform.position;
    }
Пример #2
0
    //Equips weapon w_new
    void Equip(GameObject w_new)
    {
        print("take"); //debug
        w_rb             = w_new.GetComponent <Rigidbody>();
        w_rb.isKinematic = true;
        w_rb.useGravity  = false;

        //disable collision
        Collider[] c_off = w_new.GetComponents <Collider>();
        foreach (Collider c in c_off)
        {
            c.enabled = false;
        }

        w_new.GetComponent <LineRenderer>().enabled = true;

        //enables W_Makarov script on weapon
        w_script = w_new.GetComponentInChildren <W_Makarov>();

        w_script.enabled  = true;
        w_script.equipped = true;

        w_current = w_new;
        w_current.transform.parent = fpsCam.transform;

        //reorients weapon on screen
        w_current.transform.position = fpsCam.transform.position;
        w_current.transform.Translate(w_script.cam_pos, fpsCam.transform);
        w_current.transform.localEulerAngles = new Vector3(transform.rotation.y, fpsCam.transform.rotation.x - 180, 0);
    }
Пример #3
0
    public void enemyEquip(GameObject weapon)
    {
        w = weapon.GetComponent <W_Makarov>();

        gunEnd   = w.gunEnd;
        range    = w.range;
        damage   = w.damage;
        spread   = w.spread + .6f;
        fireRate = w.fireRate + .1f;
        clip     = w.clip;
        cur_clip = w.cur_clip;
        reload   = w.t_reload + .4f;

        source = weapon.GetComponents <AudioSource>();

        w.enabled  = false;
        w.equipped = false;

        Rigidbody w_rb = weapon.GetComponent <Rigidbody>();

        if (w_rb.useGravity)
        {
            w_rb.isKinematic = true;
            w_rb.useGravity  = false;

            Collider[] c_off = weapon.GetComponents <Collider>();
            foreach (Collider c in c_off)
            {
                c.enabled = false;
            }
        }
        else
        {
            weapon.GetComponent <LineRenderer>().enabled = false;
        }

        sh = weapon.GetComponent <ShootScript>();

        weapon.transform.parent   = transform;
        weapon.transform.position = transform.position;
        Vector3 pos = w.cam_pos + Vector3.up * 2 - Vector3.forward * .4f;

        weapon.transform.Translate(pos, transform);
        weapon.transform.localEulerAngles = new Vector3(transform.rotation.y, transform.rotation.x - 180, 0);
    }
Пример #4
0
    public void Equip(GameObject w_new)
    {
        //print("take");
        w_rb             = w_new.GetComponent <Rigidbody>();
        w_rb.isKinematic = true;
        w_rb.useGravity  = false;

        Collider[] c_off = w_new.GetComponents <Collider>();
        foreach (Collider c in c_off)
        {
            c.enabled = false;
        }

//        w_new.GetComponent<LineRenderer>().enabled = true;

        w_script = w_new.GetComponentInChildren <W_Makarov>();

        w_script.nextFireTime = Time.time + .1f;

        w_script.enabled  = true;
        w_script.equipped = true;

        w_current = w_new;
        w_current.transform.parent   = fpsCam.transform;
        w_current.transform.position = fpsCam.transform.position;
        w_current.transform.Translate(w_script.cam_pos, fpsCam.transform);
        w_current.transform.localEulerAngles = new Vector3(transform.rotation.y, fpsCam.transform.rotation.x - 180, 0);

        w_current.layer = LayerMask.NameToLayer("Gun");
        int ch = w_current.transform.childCount;

        for (int i = 0; i < ch; i++)
        {
            w_current.transform.GetChild(i).gameObject.layer = LayerMask.NameToLayer("Gun");
        }
    }