void OnDrag(DragGesture gesture)
        {
            if (!HomeBuildingManager.GetInstance().Contains(gesture.Selection))
            {
                return;
            }

            //相机停止移动
            FingerCamera.GetInstance().couldDrag = false;
            // first finger
            FingerGestures.Finger finger = gesture.Fingers[0];

            if (gesture.Phase == ContinuousGesturePhase.Started)
            {
                dragFingerIndex = finger.Index;
            }
            else if (finger.Index == dragFingerIndex)  // gesture in progress, make sure that this event comes from the finger that is dragging our dragObject
            {
                if (gesture.Phase == ContinuousGesturePhase.Updated)
                {
                    //transform.position = ScreenPointToWorldPlane(gesture.Position);
                    gesture.Selection.transform.position = ScreenPointToWorldPlane(gesture.Position);
                }
                else
                {
                    dragFingerIndex = -1;
                    FingerCamera.GetInstance().couldDrag = true;
                    var gridPos    = HomeGridManager.GetInstance().WorldPosToGridPos(gesture.Selection.transform.position);
                    var cellCenter = HomeGridManager.GetInstance().GridPosToCellCenterInWorld(gridPos);
                    //transform.position = cellCenter;
                    gesture.Selection.transform.position = cellCenter;
                    SoundManager.GetInstance().PlaySound("sound/build_pickup_05");
                }
            }
        }
示例#2
0
        void InitHomeBuilding()
        {
            if (homeBuildingRoot == null)
            {
                homeBuildingRoot = GameObject.Find("home_root/homebuilding_root").transform;
            }
            var getter = ResHelper.LoadGameObject("prefabs/homebuilding/homebuilding");
            var go     = getter.Get();

            go.transform.SetParent(homeBuildingRoot);
            go.transform.position = new Vector3(0, 0, 0);
            HomeBuildingManager.GetInstance().Add(go);
            //Debug.Log(HomeBuildingManager.GetInstance().Count());

            UFrame.CameraController.FingerCamera.GetInstance().PointAtScreenCenter(new Vector3(0, 0, 0));
        }