Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Extras;
- using UnityEngine;
- namespace Core
- {
- [RequireComponent(typeof(Animator))]
- public class Character : PhysicsObject
- {
- private Vector3 _initialScale;
- private readonly int _animMoving = Animator.StringToHash("Moving");
- private Animator Animator { get; set; }
- private bool Moving { get; set; }
- public CharacterType characterType = CharacterType.AI;
- public override void Awake()
- {
- base.Awake();
- _initialScale = gameObject.transform.localScale;
- Animator = GetComponent<Animator>();
- }
- public override void Update()
- {
- base.Update();
- Moving = Grounded && Mathf.Abs(Velocity.x) > 0.01f;
- SetAnimParam(_animMoving, Moving);
- }
- public void FaceLeft()
- {
- transform.localScale = new Vector3(_initialScale.x * -1, _initialScale.y, 1);
- }
- public void FaceRight()
- {
- transform.localScale = new Vector3(_initialScale.x, _initialScale.y, 1);
- }
- private void SetAnimParam(int p, bool value)
- {
- Animator.SetBool(p, value);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement