projetrunandgun/Assets/Scripts/Players/PlayerMain_Visual.cs
2023-10-30 23:46:04 -04:00

46 lines
1.3 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Serialization;
public partial class PlayerMain
{
[Header("Visual")]
[SerializeField] private List<CharacterSO> characters;
[SerializeField] private Transform visualTransform;
private const float THRESHOLD = 0.01f;
private float _facingDir = 1f;
private int _characterIndex;
private void Input_OnChangeCharacterTrigger(object sender, EventArgs e)
{
_characterIndex = (_characterIndex + 1) % characters.Count;
UpdateCharacterVisual();
}
private void UpdateCharacterVisual()
{
if(visualTransform != null)
Destroy(visualTransform.gameObject);
visualTransform = Instantiate(characters[_characterIndex].Visual, transform);
visualTransform.localPosition = Vector3.zero;
Vector3 scale = visualTransform.localScale;
scale.x *= _facingDir;
visualTransform.localScale = scale;
}
private void FacingDir()
{
if (_facingDir * _input.MoveAxis > -THRESHOLD)
return;
Vector3 scale = visualTransform.localScale;
_facingDir *= -1f;
scale.x *= -1f;
visualTransform.localScale = scale;
}
}