Files
aibis-dream/Assets/Scripts/UI/DialogUI/DefaultOptions.cs
T

44 lines
1.2 KiB
C#

using System.Linq;
using UnityEngine;
namespace AibisDream
{
public class DefaultOptions : MonoBehaviour
{
private BubbleOption[] _options;
private void Awake()
{
_options = transform.Find("Options")
.GetComponentsInChildren<BubbleOption>(true)
.OrderBy(item => item.optionIdx)
.ToArray();
}
public void ShowOptions(DialogOption[] dialogueOptions)
{
HideOptions();
var availableOptions = dialogueOptions.Where(item => item.IsAvailable).ToArray();
// 如果仅由一个选项
if (availableOptions.Length == 1)
{
_options[0].ShowOption(availableOptions[0], HideOptions);
}
else
{
for (var i = 0; i < availableOptions.Length; i++)
{
_options[i + 1].ShowOption(availableOptions[i], HideOptions);
}
}
}
public void HideOptions()
{
foreach (var option in _options)
{
option.Hide();
}
}
}
}