public override void AttackMelee() { if (_isMeleeAttackReady == false && isAttacking == true) { return; } _isMeleeAttackReady = false; myAction = Action.Attack; isAttacking = true; myAttackCase = AttackCase.Melee; aiMoveScript.enabled = false; myMeleeAttackRange.SetActive(false); // Setting collider size and offset by its direction switch (myLookingDirection) { case LookingDirection.Top: attackColliderSize = new Vector2((float)myColliderSet[0]["Size_x"], (float)myColliderSet[0]["Size_y"]); attackColliderOffset = new Vector2((float)myColliderSet[0]["Offset_x"], (float)myColliderSet[0]["Offset_y"]); break; case LookingDirection.Down: attackColliderSize = new Vector2((float)myColliderSet[1]["Size_x"], (float)myColliderSet[1]["Size_y"]); attackColliderOffset = new Vector2((float)myColliderSet[1]["Offset_x"], (float)myColliderSet[1]["Offset_y"]); break; case LookingDirection.Left: attackColliderSize = new Vector2((float)myColliderSet[2]["Size_x"], (float)myColliderSet[2]["Size_y"]); attackColliderOffset = new Vector2((float)myColliderSet[2]["Offset_x"], (float)myColliderSet[2]["Offset_y"]); break; case LookingDirection.Right: attackColliderSize = new Vector2((float)myColliderSet[3]["Size_x"], (float)myColliderSet[3]["Size_y"]); attackColliderOffset = new Vector2((float)myColliderSet[3]["Offset_x"], (float)myColliderSet[3]["Offset_y"]); break; } myAnimator.SetInteger("actionNum", 2); myAnimator.SetTrigger("isMelee"); myAnimator.SetFloat("actionX", myDirection.x); myAnimator.SetFloat("actionY", myDirection.y); attackCollider.SetActive(true); attackColliderScript.size = attackColliderSize; attackColliderScript.offset = attackColliderOffset; StartCoroutine(WaitAnimationFinish()); StartCoroutine(CoolDownMelee()); }
public override void EndAttackSkill2() { myAction = Action.Move; myAttackCase = AttackCase.None; myAnimator.SetInteger("actionNum", 1); myAnimator.ResetTrigger("isSkill2"); myAnimator.SetFloat("moveX", myDirection.x); myAnimator.SetFloat("moveY", myDirection.y); isAttacking = false; aiMoveScript.enabled = true; }
private void OnEnable() { myAction = Action.Idle; myAttackCase = AttackCase.None; Initialize(); aiMoveScript.enabled = false; StartCoroutine(myBase.FindLookingDirection()); PlayerEnteredRoom(); }
public override void AttackSkill2() { if (_isSkill2AttackReady == false && isAttacking == true) { return; } _isSkill2AttackReady = false; myAction = Action.Attack; isAttacking = true; myAttackCase = AttackCase.Skill2; aiMoveScript.enabled = false; mySkill2AttackRange.SetActive(false); myAnimator.SetInteger("actionNum", 2); myAnimator.SetTrigger("isSkill2"); myAnimator.SetFloat("actionX", myDirection.x); myAnimator.SetFloat("actionY", myDirection.y); StartCoroutine(WaitAnimationFinish()); StartCoroutine(CoolDownSkill2()); }