Ejemplo n.º 1
0
 public void Damaged(DistanceAttack DA)
 {
     Health -= DA.Damage;
     if (Health <= 0)
     {
         Dead();
     }
 }
Ejemplo n.º 2
0
 /// <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();
     }
 }
Ejemplo n.º 3
0
 // 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;
 }
Ejemplo n.º 4
0
    public void Damaged(DistanceAttack DA)
    {
        Health -= DA.Damage;
        if (DA.Damage > 5)
        {
            anim.SetTrigger("Damaged");
        }

        print(DA.Damage);
        if (Health <= 0)
        {
            Dead();
        }
    }
Ejemplo n.º 5
0
    // 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);
    }
Ejemplo n.º 6
0
 public void GetJsonData()
 {
     ShootAttack = JsonLoader.attacks.DistanceAttacks[indexGun];
     TempField   = ShootAttack.FieldOfFire;
     FireRate    = ShootAttack.FireRate;
 }