trouble-in-terror-town/Assets/Scripts/Player/Character/Controller/CharacterStateEnforcer.cs
Mikolaj a299230ab6 Tweaked movement values and added spectator "mode"
I tweaked a bit movement values and changed some variable names, I also added spectator "mode" (mode changing not implemented yet)
2022-05-04 02:22:06 +02:00

60 lines
2 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace TTTSC.Player.Character.Controller
{
public class CharacterStateEnforcer : MonoBehaviour
{
[SerializeField]
private PlayerGhostReffrenceHub _aliveReffrenceHub;
[SerializeField]
private CapsuleCollider _characterEnviormentCollider;
private CharacterMovementConfig _characterMovementConfig;
private GroundCheck _characterHover;
private CharacterStateMachine _characterStateMachine;
// Start is called before the first frame update
void Start()
{
_aliveReffrenceHub = GetComponentInParent<PlayerGhostReffrenceHub>();
_characterHover = GetComponent<GroundCheck>();
_characterMovementConfig = GetComponent<CharacterMovementConfig>();
_characterStateMachine = GetComponent<CharacterStateMachine>();
}
// Update is called once per frame
void FixedUpdate()
{
switch (_characterStateMachine.movementStates)
{
default:
CharacterDefault();
break;
case CharacterStateMachine.MovementStates.Crouching:
CharacterCrouch();
break;
}
}
private void CharacterCrouch()
{
_characterHover.currentHoverHight = _characterMovementConfig.crouchHeight;
_characterEnviormentCollider.height = _characterMovementConfig.crouchedColliderHight;
_characterEnviormentCollider.center = _characterMovementConfig.crouchedColliderPosition * transform.up;
}
private void CharacterDefault()
{
_characterHover.currentHoverHight = _characterMovementConfig.desieredHoverHight;
_characterEnviormentCollider.height = _characterMovementConfig.standingColliderHight;
_characterEnviormentCollider.center = _characterMovementConfig.standingColliderPosition * transform.up;
}
}
}