コード例 #1
0
 // 代替委托
 private void EndDrog(EndDrogMess endDrogMess)
 {
     if (MoveController.Instance.ArrowEndDrog(endDrogMess))
     {
         MoveView.Instance.ArrowEndDrog(endDrogMess);
     }
 }
コード例 #2
0
 private void PlayEndDrog(EndDrogMess endDrogMess)
 {
     //播放音乐
     AudioManager.Instance.PlaySound(14);
     MoveController.Instance.EndDrog(endDrogMess);
     MoveView.Instance.EndDrog(endDrogMess);
 }
コード例 #3
0
        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);
        }
コード例 #4
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;
            }
        }