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; }
// 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); } }