Beispiel #1
0
 public GridUiHelper(GridUI gridUi)
 {
     _gridUi = gridUi;
 }
Beispiel #2
0
        // システムショートカット内のGameObjectを見つける
        static GameObject Find(string name)
        {
            Transform t = GridUI.GetChildList().FirstOrDefault(c => c.gameObject.name == name);

            return(t == null ? null : t.gameObject);
        }
Beispiel #3
0
    /// <summary>
    /// 对事件OnLeftEndDrag的响应
    /// 在物品拖动结束时执行
    /// </summary>
    /// <param name="prevGridTransfrom"></param>
    /// <param name="enterTransfrom"></param>
    public void GridUI_OnLeftEndDrag(Transform prevGridTransfrom, Transform enterTransfrom)
    {
        isDrag = false;
        dragItemUI.Hide();

        //判断是否进入了有意义的格子
        if (enterTransfrom == null)
        {
            //prevGridTransfrom.gameObject.GetComponent<GridUI>().ItemUIGo.SetActive(true);
        }
        else
        {
            if (enterTransfrom.tag == "Grid")//假如进入了格子
            {
                //获取前后两个GridUI的引用
                prevgrid  = prevGridTransfrom.gameObject.GetComponent <GridUI>();
                entergrid = enterTransfrom.gameObject.GetComponent <GridUI>();

                //判断起始格
                if (prevgrid.Type.Equals(GridUI.GridType.Bag) && InventoryManager.GetItem(prevgrid.Index) != null)//如果是背包格且该格有物品
                {
                    //判断进入格
                    if (entergrid.Type.Equals(GridUI.GridType.Bag))//如果进入背包格,则交换位置
                    {
                        InventoryManager.SwitchItem(prevgrid.Index, entergrid.Index);
                    }
                    else if (entergrid.Type.Equals(GridUI.GridType.Shop))//如果是商店格,则调用方法出售道具
                    {
                        string warnStr = string.Format("即将以 {0} Gold 出售 ", InventoryManager.GetItem(prevgrid.Index).BasePrice) + InventoryManager.GetItem(prevgrid.Index).Name + " \n是否确定";
                        EventCenter.Broadcast <string, WarningMsg.TargetMethod>(EventCode.ShowWarningMsg, warnStr, SellItem);
                    }
                    else if (entergrid.Type.Equals(GridUI.GridType.Hand))                                                                                                           //如果是手部装备格
                    {
                        if (InventoryManager.GetItem(prevgrid.Index).Type.Equals(Item.ItemType.Tool) || InventoryManager.GetItem(prevgrid.Index).Type.Equals(Item.ItemType.Weapon)) //物品必须是工具或武器
                        {
                            if (StateManager.instance.Hand == null)                                                                                                                 //如果手上没东西,直接装备
                            {
                                StateManager.instance.Hand = InventoryManager.GetItem(prevgrid.Index);
                                Debug.Log(StateManager.instance.Hand.Name);
                                InventoryManager.DeleteItem(prevgrid.Index);
                            }
                            else //如果手上有东西,交换
                            {
                                Item buf = InventoryManager.GetItem(prevgrid.Index);
                                InventoryManager.DeleteItem(prevgrid.Index);
                                InventoryManager.SaveItem(StateManager.instance.Hand);
                                StateManager.instance.Hand = buf;
                            }
                        }
                    }
                    else //其他地方无事发生
                    {
                    }
                }
                else if (prevgrid.Type.Equals(GridUI.GridType.Shop) && ShopManager.instance.GetItem(prevgrid.Index) != null)//如果是商店格且该格有物品
                {
                    //判断进入格
                    if (entergrid.Type.Equals(GridUI.GridType.Bag))//如果进入背包格,则调用方法购买道具
                    {
                        string warnStr = string.Format("即将以 {0} Gold 购买 ", ShopManager.instance.GetItem(prevgrid.Index).BasePrice) + ShopManager.instance.GetItem(prevgrid.Index).Name + " \n是否确定";
                        EventCenter.Broadcast <string, WarningMsg.TargetMethod>(EventCode.ShowWarningMsg, warnStr, BuyItem);
                    }
                    else //其他格子无事发生
                    {
                    }
                }
            }
            else
            {
                //prevGridTransfrom.gameObject.GetComponent<GridUI>().ItemUIGo.SetActive(true);
            }
        }


        EventCenter.Broadcast(EventCode.OnBagUIUpdate);
    }
Beispiel #4
0
 public FindForm(GridUI gridUi)
 {
     _gridUi = gridUi;
     InitializeComponent();
 }