Exemplo n.º 1
0
    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));
            });
        }
    }
Exemplo n.º 2
0
 private void ChangeOnClick()
 {
     ItemManager.Type type;
     if (MySceneManager.Instance.CurrentScene == MySceneManager.SceneType.Villiage)
     {
         type = ItemManager.Type.Warehouse;
     }
     else
     {
         type = ItemManager.Type.Bag;
     }
     BagUI.Open(type, _selectedMember, _selectedEquip);
 }
Exemplo n.º 3
0
 private void ConfirmOnClick()
 {
     if (ItemManager.Instance.BagIsFull())
     {
         ConfirmUI.Open("背包已滿!請選擇要丟棄的道具。", "確定", () =>
         {
             BagUI.Open(ItemManager.Type.Bag);
         });
     }
     else
     {
         if (_callback != null)
         {
             _callback();
         }
     }
 }
Exemplo n.º 4
0
 private void OpenBag()
 {
     _canMove = false;
     BagUI.Open(ItemManager.Type.Bag);
 }
Exemplo n.º 5
0
 private void WarehouseOnClick()
 {
     BagUI.Open(ItemManager.Type.Warehouse);
 }