private void Start() { dunkState = DunkState.None; passController = GetComponent <PassController>(); pawnController = GetComponent <PawnController>(); playerController = GetComponent <PlayerController>(); if (playerController != null) { isPlayer = true; } currentDunkReadyPanel = Instantiate(Resources.Load <GameObject>("PlayerResource/DunkReadyPanel")); currentDunkReadyPanel.transform.SetParent(GameManager.mainCanvas.transform); }
private void ChangeState(DunkState _newState) { Transform i_handTransform = passController.GetHandTransform(); Animator i_playerAnimator = pawnController.GetAnimator(); switch (_newState) { case DunkState.Jumping: FeedbackManager.SendFeedback("event.DunkJumping", pawnController, Vector3.zero, Vector3.zero, Vector3.zero, !isPlayer); i_playerAnimator.SetTrigger("PrepareDunkTrigger"); break; case DunkState.Dashing: dunkDashFX = FeedbackManager.SendFeedback("event.DunkDashing", i_handTransform, Vector3.zero, Vector3.zero, Vector3.zero, !isPlayer).GetVFX(); break; case DunkState.Waiting: dunkWaitingFX = FeedbackManager.SendFeedback("event.DunkWaiting", i_handTransform, Vector3.zero, Vector3.zero, Vector3.zero, !isPlayer).GetVFX(); break; case DunkState.Canceling: if (dunkWaitingFX) { Destroy(dunkWaitingFX); } i_playerAnimator.SetTrigger("DunkMissedTrigger"); break; case DunkState.Receiving: if (dunkWaitingFX) { Destroy(dunkWaitingFX); } i_playerAnimator.SetTrigger("DunkTrigger"); FeedbackManager.SendFeedback("event.DunkCatchingBall", i_handTransform, Vector3.zero, Vector3.zero, Vector3.zero, !isPlayer); break; case DunkState.Explosing: if (dunkDashFX) { Destroy(dunkDashFX); } FeedbackManager.SendFeedback("event.DunkSmashingOnGround", pawnController, Vector3.zero, Vector3.zero, Vector3.zero, !isPlayer); break; } dunkState = _newState; }