projetrunandgun/Assets/Scripts/Players/PlayerMain_Visual.cs
2023-11-02 09:32:59 -04:00

47 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;
private const float THRESHOLD = 0.01f;
private Transform _visualTransform;
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(character != null)
Destroy(character.gameObject);
character = Instantiate(characters[_characterIndex].Visual, transform);
_visualTransform = character.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;
}
}