Skip to content

Instantly share code, notes, and snippets.

@hellos3b
Created November 24, 2017 23:59
Show Gist options
  • Save hellos3b/61544c34ec992bb9c49c0165fdfb7467 to your computer and use it in GitHub Desktop.
Save hellos3b/61544c34ec992bb9c49c0165fdfb7467 to your computer and use it in GitHub Desktop.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Networking;
public class PlayerAnimationController : NetworkBehaviour {
private PlayerActionController playerController;
private PlayerMovementController playerMovement;
private Animator anim;
public JetpackBoost Jetpack;
public GameObject JumpDustPrefab;
public GameObject DashDustPrefab;
public PlayerIKTargetControl ikTargetControl;
void Awake() {
playerController = GetComponent<PlayerActionController>();
playerMovement = GetComponent<PlayerMovementController>();
anim = GetComponent<Animator>();
}
// Update is called once per frame
void Update () {
float MoveSpeed = playerMovement.movement.magnitude;
MoveSpeed /= PlayerProperties.Instance.MoveSpeed;
anim.SetFloat("MoveSpeed", MoveSpeed);
}
void OnStateWallRunEnter() {
anim.SetTrigger("WallRun");
anim.SetFloat("WallDirection", playerMovement.WallDirection);
anim.SetBool("IsWallRunning", true);
Jetpack.Play();
}
void OnStateWallRunExit() {
anim.SetBool("IsWallRunning", false);
Jetpack.Stop();
}
void OnStateEmoteEnter() {
Debug.Log("Emote_DAB!");
anim.SetTrigger ("Emote_Dab");
}
void OnStateHasBallEnter() {
anim.SetBool("HasBall", true);
}
void OnStateHasBallExit() {
anim.SetBool("HasBall", false);
}
void OnStateDashEnter() {
anim.SetTrigger("Dash");
anim.SetBool("IsDashing", true);
Jetpack.Play();
Jetpack.Burst();
Jetpack.Explode();
if (playerMovement.prevState == PlayerMovementController.PlayerStates.Idle || playerMovement.prevState == PlayerMovementController.PlayerStates.Run) {
Instantiate(DashDustPrefab, transform.position, transform.rotation);
}
}
void OnStateDashExit() {
anim.SetBool("IsDashing", false);
Jetpack.Stop();
Jetpack.StopBurst();
}
void OnStateFallEnter() {
anim.SetBool("IsJumping", true);
}
void OnStateIdleEnter() {
if (playerMovement.prevState == PlayerMovementController.PlayerStates.Fall) {
ikTargetControl.Land(0.2f, 0.75f);
}
}
void OnStateJumpEnter() {
anim.SetTrigger("Jump");
anim.SetBool("IsJumping", true);
Jetpack.Burst();
Jetpack.Play();
if (playerMovement.prevState == PlayerMovementController.PlayerStates.Idle || playerMovement.prevState == PlayerMovementController.PlayerStates.Run) {
Instantiate(JumpDustPrefab, transform.position, Quaternion.identity);
}
}
void OnStateJumpExit() {
Jetpack.Stop();
Jetpack.StopBurst();
}
void OnStateDoubleJumpEnter() {
anim.SetTrigger("Jump");
anim.SetBool("IsJumping", true);
Jetpack.Play(0.5f);
Jetpack.Burst();
// Jetpack.Burst();
// Jetpack.Play();
// if (playerMovement.prevState == PlayerMovementController.PlayerStates.Idle || playerMovement.prevState == PlayerMovementController.PlayerStates.Run) {
// Instantiate(JumpDustPrefab, transform.position, Quaternion.identity);
// }
}
void OnStateFallExit() {
anim.SetBool("IsJumping", false);
}
void OnStateThrowEnter() {
Jetpack.Play();
}
void OnStateThrowExit() {
Jetpack.Stop();
anim.SetBool("IsThrowing", false);
}
public void TriggerThrowAnimation() {
anim.SetTrigger("ThrowBall");
}
void StartThrowAnimation() {
anim.SetBool("IsThrowing", true);
anim.SetTrigger("ThrowBall");
}
void StartTackledAnimation() {
anim.SetTrigger("Tackled");
}
void StartPunchAnimation() {
anim.SetTrigger("Punch");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment