Hi i need a help with this script i only want to only move the Weapon Hold and not the player Transform.
Spanish: Solo necesito que me ayuden con este script quiero que solamente se mueva el WeaponHold y no el personaje. :c
using UnityEngine;
using System.Collections;
[RequireComponent (typeof (PlayerController))]
[RequireComponent (typeof (GunController))]
public class Player : LivingEntity {
public float moveSpeed = 5;
public Crosshairs crosshairs;
public Transform weaponHold;
Camera viewCamera;
public PlayerController controller;
public GunController gunController;
protected override void Start () {
health = startingHealth;
gunController.EquipGun (0);
base.Start ();
}
void Awake() {
controller = GetComponent<PlayerController> ();
gunController = GetComponent<GunController> ();
viewCamera = Camera.main;
}
void Update () {
// Movement input
Vector3 moveInput = new Vector3 (Input.GetAxisRaw ("Horizontal"), 0, Input.GetAxisRaw ("Vertical"));
Vector3 moveVelocity = moveInput.normalized * moveSpeed;
controller.Move (moveVelocity);
// Look input
Ray ray = viewCamera.ScreenPointToRay (Input.mousePosition);
Plane groundPlane = new Plane (Vector3.up, Vector3.up * gunController.GunHeight);
float rayDistance;
if (groundPlane.Raycast(ray,out rayDistance)) {
Vector3 point = ray.GetPoint(rayDistance);
Debug.DrawLine(ray.origin,point,Color.red);
controller.LookAt(point);
crosshairs.transform.position = point;
crosshairs.DetectTargets(ray);
if ((new Vector2(point.x, point.z) - new Vector2(transform.position.x, transform.position.z)).sqrMagnitude > 1) {
gunController.Aim(point);
}
}
// Weapon input
if (Input.GetMouseButton(0)) {
gunController.OnTriggerHold();
}
if (Input.GetMouseButtonUp(0)) {
gunController.OnTriggerRelease();
}
if (Input.GetKeyDown (KeyCode.R)) {
gunController.Reload();
}
if (transform.position.y < -10) {
TakeDamage (health);
}
}
public override void Die ()
{
AudioManager.instance.PlaySound ("Player Death", transform.position);
base.Die ();
}
}