Example #1
0
    private BaseAttack CreateAttackType(Weapon.AttackType attackType)
    {
        foreach (MonoBehaviour component in GetComponents <MonoBehaviour>())
        {
            if (component is BaseAttack)
            {
                component.enabled = false;
            }
        }

        BaseAttack attack;

        if (attackType == Weapon.AttackType.Melee)
        {
            attack = this.GetOrAddComponent <MeleeAttack>();
        }
        else if (attackType == Weapon.AttackType.Swing)
        {
            attack = this.GetOrAddComponent <SwingAttack>();
        }
        else if (attackType == Weapon.AttackType.Jab)
        {
            attack = this.GetOrAddComponent <JabAttack>();
        }
        else if (attackType == Weapon.AttackType.Shoot)
        {
            attack = this.GetOrAddComponent <ShootAttack>();
        }
        else if (attackType == Weapon.AttackType.Knife)
        {
            attack = this.GetOrAddComponent <KnifeAttack>();
        }
        else if (attackType == Weapon.AttackType.Pistol)
        {
            attack = this.GetOrAddComponent <PistolAttack>();
        }
        else if (attackType == Weapon.AttackType.Slash)
        {
            attack = this.GetOrAddComponent <SlashAttack>();
        }
        else
        {
            attack = this.GetOrAddComponent <MeleeAttack>();
        }

        attack.animator   = _animator;
        attack.attack     = this;
        attack.attackArea = _attackBox;
        return(attack);
    }
Example #2
0
    private void AddBlood(Collider2D collider)
    {
        Attack attack = collider.GetComponentInParent <Attack>();

        if (attack)
        {
            if (attack.weapon)
            {
                Weapon.AttackType attackType = attack.weapon.attackType;
                if (attackType == Weapon.AttackType.Swing)
                {
                    if (attack.attackState == Attack.State.Heavy)
                    {
                        InstantiateBlood(bloodHeavySwing);
                    }
                    else
                    {
                        InstantiateBlood(bloodLightSwing);
                    }
                }
                else if (attackType == Weapon.AttackType.Shoot)
                {
                    InstantiateBlood(bloodShoot);
                }
                else if (attackType == Weapon.AttackType.Pistol)
                {
                    InstantiateBlood(bloodShoot);
                }
                else if (attackType == Weapon.AttackType.Melee)
                {
                    if (attack.attackState == Attack.State.Heavy)
                    {
                        InstantiateBlood(bloodHeavyMelee);
                    }
                    else
                    {
                        InstantiateBlood(bloodLightMelee);
                    }
                }
                else if (attackType == Weapon.AttackType.Jab)
                {
                    InstantiateBlood(bloodJab);
                }

                return;
            }
        }

        InstantiateBlood(bloodSplatter);
    }
    // Use this for initialization
    void Start()
    {
        _attackType = GameObject.Find("Player").GetComponent <Attack>().weapon.attackType;

        foreach (Transform child in transform)
        {
            if (_attackType == Weapon.AttackType.Melee && child.GetComponent <Perk>().type == PerkManager.activeAxePerk.type)
            {
                child.gameObject.SetActive(true);
            }
            else
            {
                child.gameObject.SetActive(false);
            }
        }
    }