Example #1
0
    private IEnumerator Attack(HpComponent component)
    {
        if (IsAttacking)
        {
            yield break;
        }

        Vector2 moveDirection = component.transform.position - transform.position;

        if (moveDirection != Vector2.zero)
        {
            float angle = Mathf.Atan2(moveDirection.y, moveDirection.x) * Mathf.Rad2Deg;
            transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
        }

        IsAttacking = true;
        component.GetHit(Weapon.AttackDamage, gameObject);
        if (Weapon.SounfFX != null)
        {
            myAudioSource.clip = Weapon.SounfFX;
            myAudioSource.Play();
        }

        yield return(new WaitForSeconds(Weapon.AttackCooldown));

        IsAttacking = false;
    }
Example #2
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        HpComponent hpComponent = collision.gameObject.GetComponent <HpComponent>();

        if (hpComponent != null)
        {
            hpComponent.Set(-1);
        }
    }
Example #3
0
    static public void SetHpComponentData(HpComponent hpComponent, int id)
    {
        hpComponent.baseMaxHp = float.Parse(ODSetting.hpTable[id]["baseMaxHp"]);
        hpComponent.ChangeMaxPoint(ODSetting.settingDic["maxHpAddedValue"], ODSetting.settingDic["maxHpRate"]);
        hpComponent.minMaxHp = ODSetting.settingDic["minMaxHp"];
        hpComponent.maxMaxHp = ODSetting.settingDic["maxMaxHp"];

        hpComponent.baseHpRecover = float.Parse(ODSetting.hpTable[id]["baseHpRecover"]);
        hpComponent.ChangePointRecover(ODSetting.settingDic["hpRecoverAddedValue"], ODSetting.settingDic["hpRecoverRate"]);
    }
Example #4
0
    private void Awake()
    {
        mySeeker          = GetComponent <Seeker>();
        myAttackComponent = GetComponent <AttackComponent>();
        myRigidbody2D     = GetComponent <Rigidbody2D>();

        weaponRenderer.sprite = myAttackComponent.Weapon.ToolSprite;

        myTargets        = new HashSet <GameObject>();
        mySpriteRenderer = GetComponent <SpriteRenderer>();
        myHpComponent    = GetComponent <HpComponent>();
    }
Example #5
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        GameObject  collidedWith = collision.gameObject;
        HpComponent hpComponent  = collidedWith.GetComponent <HpComponent>();

        if (hpComponent != null)
        {
            if (!alreadyHit.Contains(collidedWith))
            {
                alreadyHit.Add(collidedWith);
                hpComponent.Dec(dmgToDeal());
            }
        }
    }
Example #6
0
 protected void Awake()
 {
     _hpComponent = GetComponent <HpComponent>();
 }
Example #7
0
 protected void Awake()
 {
     _hpComponent = GetComponent<HpComponent>();
 }
Example #8
0
 protected void Awake()
 {
     base.Awake();
     hpComponent = GetComponent<HpComponent>();
     armorComponent = GetComponent<ArmorComponent>();
 }