// 代替委托 private void EndDrog(EndDrogMess endDrogMess) { if (MoveController.Instance.ArrowEndDrog(endDrogMess)) { MoveView.Instance.ArrowEndDrog(endDrogMess); } }
private void PlayEndDrog(EndDrogMess endDrogMess) { //播放音乐 AudioManager.Instance.PlaySound(14); MoveController.Instance.EndDrog(endDrogMess); MoveView.Instance.EndDrog(endDrogMess); }
private void ArrowWalk(Transform tran) { SetPosAndParent(transform, tran); transform.GetComponent <Image>().raycastTarget = true; UnitPosition StartPosition = MoveModel.Instance.Fingbyname(tran.name); EndDrogMess endDrogMess = new EndDrogMess(dirtion, StartPosition); //触发委托 //ArrowEndDrog(endDrogMess); EndDrog(endDrogMess); ObjectPool.Instance.CollectObject(gameObject); //播放音乐 AudioManager.Instance.PlaySound(14); // 存储指令类型 为了撤退 MoveModel.Instance.moveCache.Drog.Add(0); }
public void OnEndDrag(PointerEventData _) { GameObject go = _.pointerCurrentRaycast.gameObject; if (go == null)// 出去canvas了 { SetPosAndParent(transform, beginParentTransform); transform.GetComponent <Image>().raycastTarget = true; ObjectPool.Instance.CollectObject(gameObject); return; } if (go.tag == "Position") //如果当前拖动物体下是:格子 -(没有物品)时 { // 此处应该是监听 SetPosAndParent(transform, go.transform); transform.GetComponent <Image>().raycastTarget = true; MoveModel.Instance.moveCache.Player = gameObject; // MoveModel.Instance.ArrowAndPlayerObj.Add(gameObject); MoveController.Instance.player = gameObject; UnitPosition StartPosition = MoveModel.Instance.Fingbyname(go.name); EndDrogMess endDrogMess = new EndDrogMess(dirtion, StartPosition); //触发委托 //EndDrog(endDrogMess); PlayEndDrog(endDrogMess); } else //其他任何情况,物体回归原始位置 { if (transform.parent == originParet) { ObjectPool.Instance.CollectObject(gameObject); } SetPosAndParent(transform, beginParentTransform); transform.GetComponent <Image>().raycastTarget = true; } }