SHADE_Y3/Assets/Scripts/Gameplay/Player/PlayerStates/UT_PlayerRunState.cs

77 lines
2.9 KiB
C#
Raw Permalink Normal View History

using SHADE;
2023-03-10 17:21:49 +08:00
using SHADE_Scripting.Audio;
using System;
public class PlayerRunState : BaseState
{
2022-11-21 21:01:44 +08:00
private float timer;
private float delay = 0.25f;
2023-03-23 00:38:25 +08:00
private bool left = true;
2022-11-21 21:01:44 +08:00
2023-03-10 16:26:52 +08:00
public PlayerRunState(StateMachine stateMachine) : base(stateMachine)
{
2022-11-21 21:01:44 +08:00
stateName = "Run State";
}
public override void OnEnter()
{
//Debug.Log("WALK ENTER");
2023-03-23 00:38:25 +08:00
timer = delay;
machine.GetScript<PlayerController>().playLandedAnimation = false;
machine.GetScript<PlayerController>().Leftsmoke.EmissionCount = machine.GetScript<PlayerController>().smokeCount * 4;
machine.GetScript<PlayerController>().Rightsmoke.EmissionCount = machine.GetScript<PlayerController>().smokeCount * 4;
2023-03-14 17:18:52 +08:00
if (PlayerAnimations.Instance)
2023-03-10 16:26:52 +08:00
{
PlayerAnimations.Instance.playerAnimator.Play(PlayerAnimations.Instance.playerRunClip);
PlayerAnimations.Instance.BagAnimator.Play(PlayerAnimations.Instance.playerRunClip);
2023-03-10 19:40:48 +08:00
PlayerAnimations.Instance.silhoPlayerAnimator.Play(PlayerAnimations.Instance.playerRunClip);
PlayerAnimations.Instance.silhoBagAnimator.Play(PlayerAnimations.Instance.playerRunClip);
2023-03-10 16:26:52 +08:00
}
}
public override void update()
{
//Debug.Log("WALKING");
2022-11-21 21:01:44 +08:00
timer += Time.DeltaTimeF;
if (timer > delay)
{
2023-03-23 00:38:25 +08:00
if (left)
{
if (machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y > 0.0f)
machine.GetScript<PlayerController>().Leftsmoke.AngularOffsets = new Vector2(machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y - (MathF.PI * 1.5f), machine.GetScript<PlayerController>().Leftsmoke.AngularOffsets.y);
else
machine.GetScript<PlayerController>().Leftsmoke.AngularOffsets = new Vector2(machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y + (MathF.PI * 0.5f), machine.GetScript<PlayerController>().Leftsmoke.AngularOffsets.y);
machine.GetScript<PlayerController>().Leftsmoke.Emit();
left = false;
}
else
{
if (machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y > 0.0f)
machine.GetScript<PlayerController>().Rightsmoke.AngularOffsets = new Vector2(machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y - (MathF.PI * 1.5f), machine.GetScript<PlayerController>().Rightsmoke.AngularOffsets.y);
else
machine.GetScript<PlayerController>().Rightsmoke.AngularOffsets = new Vector2(machine.GetScript<PlayerController>().tranform.LocalEulerAngles.y + (MathF.PI * 0.5f), machine.GetScript<PlayerController>().Rightsmoke.AngularOffsets.y);
machine.GetScript<PlayerController>().Rightsmoke.Emit();
left = true;
}
2023-03-10 17:21:49 +08:00
AudioHandler.audioClipHandlers["footsteps"].Play();
2022-11-21 21:01:44 +08:00
timer = 0;
}
}
public override void fixedUpdate()
{
//Debug.Log("FIXED WALKING");
}
public override void OnExit()
{
//Debug.Log("WALK EXIT");
}
public override void onTriggerEnter(CollisionInfo info)
{
//Debug.Log("TRIGGER");
}
}