Esempio n. 1
0
    public void Enter(EnemyBehaviour parent)
    {
        this.parent = parent;
        vars        = parent.Vars;

        playerHealth  = parent.Target.GetComponent <Health>();
        enemyCollider = parent.GetComponent <BoxCollider2D>();
        animator      = parent.GetComponent <AnimationManager>();
        hitted        = false;
        //3 hardcoded variables change to dynamic
        headButtTarget = getVectorBehindPlayer(vars.overChargeDistance);
        chargeSpeed    = vars.chargeSpeed;
        chargeTime     = vars.chargeTime;
        direction      = (parent.Target.position - parent.transform.position).normalized;
    }
Esempio n. 2
0
    // Use this for initialization
    public virtual void Start()
    {
        enemy    = GetComponent <Enemy>();
        Animator = GetComponent <AnimationManager>();
        ChangeState(new IdleState());
        movement           = GetComponent <Movement>();
        myStartPosition    = this.transform.position;
        attackCDtmp        = attackCD;
        defaultDirection   = Vector2.down;
        AttackAnimatiomTMP = attackAnimationLenght;



        if (isRanged)
        {
            demonAbility    = GetComponent <DemonAbility>();
            ability         = demonAbility.Ability;
            AbilityInstance = Ability.CreateInstance(enemy) as EnemyAbility;
            AbilityInstance.transform.SetParent(this.transform);
        }
        else if (isHeadbutt)
        {
            vars = GetComponent <VariousEnemyVars>();
        }
        else if (isBoss)
        {
            BossVars      = GetComponent <BossVars>();
            BossAbillites = BossVars.ability;
            for (int i = 0; i < 2; i++)
            {
                BossAbilityInstance = BossAbillites[i].CreateInstance(enemy) as EnemyAbility;
                BossAbilityInstance.transform.SetParent(this.transform);
            }
            setAbility(0);
        }
    }