using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
[CreateAssetMenu(menuName = "Thomas09/ReplacementConfig")]
public class UI_IconsConfig : ScriptableObject
{
[System.Serializable]
class Replacement
{
public string Id = null;
public string Value = null;
public string PSValue = null;
public InputActionReference ActionReference;
}
[SerializeField] Replacement[] replacements = default;
public string Replace(string id)
{
foreach (Replacement replacement in replacements)
{
if (replacement.Id == id)
{
InputHandler inputHandler = Player.Instance.GetInputHandler();
if (inputHandler.UsingGamePad)
{
if (inputHandler.IsXboxController)
{
return replacement.Value;
}
else
{
return replacement.PSValue;
}
}
else if(replacement.ActionReference != null)
{
string displayedString = $"{replacement.ActionReference.action.GetBindingDisplayString()}";
return displayedString;
}
else
{
return ""+replacement.Value+"";
}
}
}
Debug.LogError($"No replacement found for {id}", this);
return "?";
}
}