using Blue;
using UnityEngine;

public class MinMapPos : AbstractController
{
    [SerializeField] private GameObject MinMapCanvas;
    private bool first = true;
    private IMinMapService minMapService;
    private int value;
    void Start()
    {
        minMapService = this.GetService<IMinMapService>();
        if (MinMapCanvas != null)
        {
            minMapService.setMinMap.Register(
                newValue =>
                {
                    //Debug.LogError("新的值:" + newValue);
                    value = newValue;
                    if (newValue == 0)
                        MinMapCanvas.SetActive(false);
                    else
                        MinMapCanvas.SetActive(true);
                    if (first)
                    {
                        first = false;
                        return;
                    }
                    minMapService.Set();
                }
            ).UnRegisterWhenGameObjectDestroyed(gameObject);
            MinMapCanvas.transform.parent = OpenXRCamera.Instance.head;
        }
    }
    private bool patch = true;

    private void Update()
    {
        //其他地方有引用小地图,控制了开关;统一由IMinMapService控制
        if (value == 0 && patch)
        {
            if (MinMapCanvas.activeSelf == true)
            {
                MinMapCanvas.SetActive(false);
                patch = false;
            }
        }
    }
}