public GridUiHelper(GridUI gridUi) { _gridUi = gridUi; }
// システムショートカット内のGameObjectを見つける static GameObject Find(string name) { Transform t = GridUI.GetChildList().FirstOrDefault(c => c.gameObject.name == name); return(t == null ? null : t.gameObject); }
/// <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); }
public FindForm(GridUI gridUi) { _gridUi = gridUi; InitializeComponent(); }