//private const float WalkVelAnimCoeff = 2.5f; //private Transform torso; private void Awake() { agent = GetComponent<NavMeshAgent>(); enemyAnimator = GetComponent<Animator>(); InitKillable(new Vector3(0, 1, 0)); primaryWeaponGameObject = (GameObject)Instantiate(PrimaryWeapon, Vector3.zero, Quaternion.identity); //primaryWeaponGameObject.transform.parent = transform.FindChild("NewDude").FindChild("Pelvis").FindChild("Chest").FindChild("UpperArmRight").FindChild("LowerArmRight"); primaryWeaponGameObject.transform.parent = transform.FindChild("swat").FindChild("RightHand");//.FindChild("Hips").FindChild("Spine").FindChild("Spine1").FindChild("Spine2").FindChild("RightShoulder").FindChild("RightArm").FindChild("RightForeArm").FindChild("RightHand"); primaryWeaponGameObject.transform.localPosition = Vector3.zero; primaryWeapon = primaryWeaponGameObject.GetComponent<Weapon>(); primaryWeapon.InitWeapon(); primaryWeapon.SetClipRemaining(primaryWeapon.ClipCapacity); primaryWeapon.OnShoot += OnShootPrimaryWeapon; primaryWeaponShootPoint = primaryWeapon.ShootPoint; muzzleFlash = primaryWeapon.MuzzleFlash; //torso = transform.FindChild("NewDude").FindChild("Pelvis").FindChild("Chest"); FindTarget(); }
public void Give(GameObject collectible) { var isExistingWeapon = false; if (primaryWeapon != null) { var collectedWeapon = collectible.GetComponent<Weapon>(); if (collectedWeapon != null) isExistingWeapon = primaryWeapon.Name == collectedWeapon.Name; } if (!isExistingWeapon) { Destroy(primaryWeaponGameObject); primaryWeaponGameObject = (GameObject)Instantiate(collectible, Vector3.zero, Quaternion.identity); //primaryWeaponGameObject.transform.parent = transform.FindChild("NewDude").FindChild("Pelvis").FindChild("Chest").FindChild("UpperArmRight").FindChild("LowerArmRight"); primaryWeaponGameObject.transform.parent = transform.FindChild("soldier").FindChild("Hips").FindChild("Spine").FindChild("Spine1").FindChild("Spine2").FindChild("RightShoulder").FindChild("RightArm").FindChild("RightForeArm").FindChild("RightHand"); primaryWeaponGameObject.transform.localPosition = Vector3.zero; primaryWeaponGameObject.transform.localRotation = Quaternion.Euler(0, 0, 0); primaryWeapon = primaryWeaponGameObject.GetComponent<Weapon>(); primaryWeapon.InitWeapon(); primaryWeapon.SetClipRemaining(primaryWeapon.ClipCapacity); primaryWeapon.OnShoot += OnShootPrimaryWeapon; primaryWeapon.SetClipRemaining(0); } if (primaryWeapon != null) PrimaryWeaponAmmo += primaryWeapon.ClipCapacity; }