public static void Open(List <int> idList, Action callback = null) { if (_instance == null) { _instance = ResourceManager.Instance.Spawn("ItemConfirmUI", ResourceManager.Type.UI).GetComponent <ItemConfirmUI>(); } ExploreController.Instance.StopEnemy(); _instance._onFinishHandler = callback; _instance.Init(idList); }
public void Interactive(Vector2Int position) { if (_mapInfo.TreasureDic.ContainsKey(position)) { ItemManager.Instance.AddItem(_mapInfo.TreasureDic[position].ItemList, ItemManager.Type.Bag); TilePainter.Instance.Clear(1, position); ItemConfirmUI.Open(_mapInfo.TreasureDic[position].ItemList); _mapInfo.TreasureDic.Remove(position); _pathFindList.Add(position); if (ItemManager.Instance.BagIsFull()) { ConfirmUI.Open("背包已滿!請選擇要丟棄的道具。", "確定", () => { BagUI.Open(ItemManager.Type.Bag); }); } SetInteractive(Vector2Int.RoundToInt(_player.transform.position)); } else if (_mapInfo.DoorList.Contains(position)) { if (ItemManager.Instance.UseKey()) { TilePainter.Instance.Clear(1, position); _mapInfo.DoorList.Remove(position); _pathFindList.Add(position); SetVisibleRange(false); ExploreUI.Instance.RefreshLittleMap(Vector2Int.RoundToInt(_player.transform.position), _mapInfo.ExploredList, _mapInfo.ExploredWallList); } else { ConfirmUI.Open("需要一把鑰匙將鎖打開。", "確定", null); } SetInteractive(Vector2Int.RoundToInt(_player.transform.position)); } else if (_mapInfo.ExploreEventDic.ContainsKey(position)) { _player.Stop(); EventUI.Open(_mapInfo.ExploreEventDic[position], (isDonothing) => { _player.UnlockStop(); ContinueEnemy(); if (!isDonothing) { TilePainter.Instance.Clear(1, position); _mapInfo.ExploreEventDic.Remove(position); _pathFindList.Add(position); } SetInteractive(Vector2Int.RoundToInt(_player.transform.position)); }); } }
private void Close() { ExploreController.Instance.ContinueEnemy(); Destroy(_instance.gameObject); _instance = null; }