override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { bossScript = animator.gameObject.GetComponent <BossHandFSM>(); bossScript.PlayReadyShootMissile(); timer = 0; readying = true; }
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { bossScript = animator.gameObject.GetComponent <BossHandFSM>(); switch (bossScript.targetDirection) { case BossHandFSM.Direction.NORTH: bossScript.SetTargetPosition(CommonUtils.Position(bossScript.transform) + Vector2.up * bossScript.chargeDistance); break; case BossHandFSM.Direction.EAST: bossScript.SetTargetPosition(CommonUtils.Position(bossScript.transform) + Vector2.right * bossScript.chargeDistance); break; case BossHandFSM.Direction.WEST: bossScript.SetTargetPosition(CommonUtils.Position(bossScript.transform) + Vector2.left * bossScript.chargeDistance); break; case BossHandFSM.Direction.SOUTH: bossScript.SetTargetPosition(CommonUtils.Position(bossScript.transform) + Vector2.down * bossScript.chargeDistance); break; } animator.SetBool("LeaveState", true); }
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { bossScript = animator.gameObject.GetComponent <BossHandFSM>(); BossHandFSM.Direction d = bossScript.GetRandomDirection(); bossScript.SetTargetPosition( CommonUtils.Position(GameManager.Instance.playerController.transform) - bossScript.DirectionAsVector(d) * bossScript.chargeDistance); //switch (d) { // case BossHandFSM.Direction.NORTH: // bossScript.SetTargetPosition(CommonUtils.Position(GameManager.Instance.playerController.transform) + Vector2.down * bossScript.chargeDistance); // break; // case BossHandFSM.Direction.EAST: // bossScript.SetTargetPosition(CommonUtils.Position(GameManager.Instance.playerController.transform) + Vector2.left * bossScript.chargeDistance); // break; // case BossHandFSM.Direction.WEST: // bossScript.SetTargetPosition(CommonUtils.Position(GameManager.Instance.playerController.transform) + Vector2.right * bossScript.chargeDistance); // break; // case BossHandFSM.Direction.SOUTH: // bossScript.SetTargetPosition(CommonUtils.Position(GameManager.Instance.playerController.transform) + Vector2.up * bossScript.chargeDistance); // break; //} bossScript.SetTargetDirection(d); animator.SetBool("LeaveState", true); }
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { bossScript = animator.gameObject.GetComponent <BossHandFSM>(); animator.SetBool("LeaveState", false); PlayerController pc = GameManager.Instance.playerController; if (bossScript.transform.position.y > pc.transform.position.y) { bossScript.SetTargetPosition( CommonUtils.Position(pc.transform) + Vector2.left * bossScript.chargeDistance + Vector2.down * bossScript.chargeDistance); } else { bossScript.SetTargetPosition( CommonUtils.Position(pc.transform) + Vector2.left * bossScript.chargeDistance + Vector2.up * bossScript.chargeDistance); } animator.SetBool("LeaveState", true); }
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { bossScript = animator.gameObject.GetComponent <BossHandFSM>(); animator.SetBool("LeaveState", false); length = (bossScript.transform.position - bossScript.targetPosition).magnitude; projectedTime = length / speed; timer = 0; start = bossScript.transform.position; n = CommonUtils.NormalVector(bossScript.transform.position, bossScript.targetPosition); }
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { bossScript = animator.gameObject.GetComponent <BossHandFSM>(); bossScript.PlayCharge(); projectedTime = maxDistance / speed; timer = 0; start = bossScript.transform.position; n = bossScript.DirectionAsVector(bossScript.targetDirection); animator.SetBool("LeaveState", false); }
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { bossScript = animator.gameObject.GetComponent <BossHandFSM>(); bossScript.PlayIdle(); animator.SetBool("LeaveState", false); animator.SetBool("ChargePlayer", false); animator.SetBool("CatchUpToPlayer", false); //animator.SetBool("ShootMissilesRight", false); PlayerController pc = GameManager.Instance.playerController; if (bossScript.catchUpToPlayer && pc.transform.position.y > bossScript.transform.position.y + 10) { animator.SetBool("CatchUpToPlayer", true); } else { List <int> choices = new List <int>(); if (bossScript.chargePlayer) { choices.Add(0); } if (bossScript.shootMissilesRight) { choices.Add(1); } switch (CommonUtils.RandomChoice <int>(choices)) { case 0: // ChargePlayer animator.SetBool("ChargePlayer", true); break; case 1: // ShootMissilesEast animator.SetTrigger("ShootMissilesEast"); break; } } }
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { bossScript = animator.gameObject.GetComponent <BossHandFSM>(); startRotation = animator.transform.rotation.eulerAngles.z; startRotation = startRotation % 360; animator.transform.rotation = Quaternion.Euler(0, 0, startRotation); switch (bossScript.GetDirectionToTargetPosition()) { case BossHandFSM.Direction.NORTH: targetRotation = 90; break; case BossHandFSM.Direction.EAST: targetRotation = 0; break; case BossHandFSM.Direction.WEST: targetRotation = 180; break; case BossHandFSM.Direction.SOUTH: targetRotation = 270; break; } if (startRotation > targetRotation) { targetRotation -= 360 * overRotations; } else { targetRotation += 360 * overRotations; } timer = 0; animator.SetBool("LeaveState", false); }