public override TaskStatus OnUpdate() { if (numOfPattern.Value != 2) { return(TaskStatus.Failure); } if (hpPostionScript.deadOrLive == 1) { return(TaskStatus.Failure); } if ((aniStart == false) && Vector3.Distance(transform.position, target.Value.position) < checkPatternForEnemyScript.bossAttackDistancePattern[2]) { ischaseStart = false; bossAniScript01.bossPatternChoice(numOfPattern.Value); weaponColliderConScript.weaponColliderOn(0); aniStart = true; } if ((aniStart == true) && (startTime + endTime < Time.time)) { return(TaskStatus.Failure); } if (ischaseStart == true) { transform.position = Vector3.Lerp(transform.position, target.Value.position, bossAttackSpeedPattern); } rotateBoss(); return(TaskStatus.Running); }
public void patternChoice(int patternCount) { switch (patternCount) { // close case 0: ani.SetBool("Bool_Enemy_PatternClose", true); weaponColliderConScript.weaponColliderOn(0); Invoke("resetAni", resetAniTime); Invoke("resetWeaponCollider", 1.6f); //Invoke("resetPattern", resetPatternTime); break; // far case 1: ani.SetBool("Bool_Enemy_PatternFar", true); break; } }