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; }
//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); }
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); }
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"); } }