public void Damaged(DistanceAttack DA) { Health -= DA.Damage; if (Health <= 0) { Dead(); } }
/// <summary> /// (Virtual Void) Character gets Damaged By a Firegun /// </summary> /// <param name="DA"></param> // Es el metodo donde recibira daño Donovan con un Disparo public virtual void Damaged(DistanceAttack DA) { CurrentHealth -= DA.Damage; if (CurrentHealth <= 0) { Dead(); } }
// Use this for initialization void Start() { ShootAttack = JsonLoader.attacks.DistanceAttacks[indexGun]; TempField = FieldOfFire; Shootangle = angle; viewShootAngle = DirFromAngle(Shootangle, false); MaxIntense = ShootLight.intensity; ShootLight.intensity = 0; PC = Donovan.GetComponent <Playercontroller>(); AmmoDonovan.TotalAmmo = TotalAmmo; AmmoDonovan.AmmoInMag = ShootAttack.Magazine; }
public void Damaged(DistanceAttack DA) { Health -= DA.Damage; if (DA.Damage > 5) { anim.SetTrigger("Damaged"); } print(DA.Damage); if (Health <= 0) { Dead(); } }
// Update is called once per frame void Update() { if (PauseMenu.GameIsPaused) { return; } float timer = 2; if (Time.timeSinceLevelLoad > 1) { timer = Time.timeSinceLevelLoad; } if (Input.GetMouseButton(0) || Input.GetMouseButton(1)) { lastpress = Time.timeSinceLevelLoad; } CanMove = timer - lastpress > TimeRest; if (Input.GetKeyDown(KeyCode.E)) { indexGun++; if (indexGun >= JsonLoader.attacks.DistanceAttacks.ToArray().Length) { indexGun = 0; } } ShootAttack = JsonLoader.attacks.DistanceAttacks[indexGun]; TempField = ShootAttack.FieldOfFire; FireRate = ShootAttack.FireRate; suma = 1; if (Input.GetMouseButton(1)) { FieldOfFire = 1; mult = 1; } else { FieldOfFire = TempField; mult = 2; } /* * if (Input.GetAxisRaw("Vertical") != 0) * { * angletest += suma * Input.GetAxisRaw("Vertical")*mult; * }*/ if (!CanMove) { var pos = Camera.main.ScreenToWorldPoint(Input.mousePosition); AimDirection = (pos - transform.parent.transform.position).normalized; angle = Mathf.Atan2(AimDirection.x, AimDirection.y) * Mathf.Rad2Deg; } //angletest = Mathf.Clamp(angletest, 181, 359); //angletest = -Vector2.Angle(ArmsScript.position,Input.mousePosition); float Aalpha = angle + FieldOfFire / 2; float Balpha = angle - FieldOfFire / 2; Vector3 ViewAngleA = DirFromAngle(Aalpha, false); Vector3 ViewAngleB = DirFromAngle(Balpha, false); Vector3 ViewAngle = DirFromAngle(angle, false); if (Input.GetMouseButton(0) && Time.time >= NextTimeToFire && PC.CanShoot && AmmoDonovan.AmmoInMag > 0) { NextTimeToFire = Time.time + 1 / FireRate; Shootangle = Random.Range(Aalpha, Balpha); viewShootAngle = DirFromAngle(Shootangle, false); //angletest+=ShootAttack.Recoil; RaycastHit2D hit = Physics2D.Raycast(transform.position, viewShootAngle, radiusofFire, LayerShoot.value); if (hit.collider != null) { if (hit.transform.tag == "Enemy") { hit.transform.gameObject.GetComponentInParent <BoxCollider2D>().SendMessage("Damaged", ShootAttack); } else { Destroy(hit.transform.gameObject); } } illuminate = true; AmmoDonovan.AmmoInMag--; } if (Input.GetKeyDown(KeyCode.R) && AmmoDonovan.AmmoInMag < ShootAttack.Magazine) { int RestAmmo = Mathf.Clamp(AmmoDonovan.TotalAmmo, 0, ShootAttack.Magazine - AmmoDonovan.AmmoInMag); AmmoDonovan.AmmoInMag += RestAmmo; AmmoDonovan.TotalAmmo -= RestAmmo; } //print(ShootAttack.Name + "/" + AmmoDonovan.AmmoInMag + "-" + AmmoDonovan.TotalAmmo); IlluminateShoot(); Debug.DrawLine(transform.position, transform.position + ViewAngle * radiusofFire, Color.blue); Debug.DrawLine(transform.position, transform.position + ViewAngleA * radiusofFire, Color.white); Debug.DrawLine(transform.position, transform.position + ViewAngleB * radiusofFire, Color.white); Debug.DrawLine(transform.position, transform.position + viewShootAngle * radiusofFire, Color.red); }
public void GetJsonData() { ShootAttack = JsonLoader.attacks.DistanceAttacks[indexGun]; TempField = ShootAttack.FieldOfFire; FireRate = ShootAttack.FireRate; }