Exemplo n.º 1
0
    public static void ReBuildShip()
    {
        U3DUtil.DestroyAllChild(m_MapStart.gameObject);
        Int2 roomGrid = new Int2();

        switch (m_SceneState)
        {
        case TreasureState.None:
        case TreasureState.CanvasEdit: {
            ShipPlan plan = ShipPlanDC.GetCurShipPlan();
            if (plan != null)
            {
                roomGrid = plan.Canvans.GetMapSize();
                BattleEnvironmentM.ResetStartPos(plan.Canvans.GetMapSize(), true);
            }

            GenerateShip.GenerateShips(m_MapStart);

            break;
        }
        }
        Vector3 pos = MainCameraM.GetMainCameraPos(roomGrid);

        MainCameraM.s_Instance.SetCameraLimitParam(MainCameraM.s_reaLimitPyramidBoatView);
        MainCameraM.s_Instance.AutoMoveTo(pos, 0f);
    }
Exemplo n.º 2
0
 void CheckState()
 {
     //前后Pinch 缩放镜头
     if (SystemInfo.deviceType == DeviceType.Desktop)
     {
         if (!Input.GetMouseButton(0))
         {
             if (isPanning)
             {
                 m_vtotalmouseDelta += mouseLast - Input.mousePosition;
                 FingerUp(MainCameraM.ScreenToWorldPos(Input.mousePosition));
             }
             isPanning = false;
         }
         else
         {
             if (!isPanning)
             {
                 mouseLast = Input.mousePosition;
                 FingerStart(MainCameraM.ScreenToWorldPos(Input.mousePosition));
                 isPanning          = true;
                 m_vtotalmouseDelta = Vector3.zero;
             }
         }
     }
     else
     {
         if (Input.touchCount == 1)
         {
             if (!isPanning)
             {
                 isPanning = true;
                 FingerStart(MainCameraM.ScreenToWorldPos(Input.GetTouch(0).position));
                 mouseLast          = Input.mousePosition;
                 m_vtotalmouseDelta = Vector3.zero;
             }
         }
         else
         {
             if (isPanning)
             {
                 m_vtotalmouseDelta += mouseLast - Input.mousePosition;
                 FingerUp(MainCameraM.ScreenToWorldPos(Input.mousePosition));
             }
             isPanning = false;
         }
     }
 }
Exemplo n.º 3
0
    /// <summary>
    /// 加载船的画布表现
    /// </summary>
    public static void LoadShipCanvans(int shipDesignID)
    {
        Transform parent = GetLifeMBornNode(true);

        if (parent != null)
        {
            GameObjectLoader.LoadPath("Prefabs/Others/", "PlaneCollider", parent);
            Int2      n2Pos     = new Int2(0, 0);
            Int2      nEndPos   = GetEndPosByShape(shipDesignID);
            string [] ShapeList = GetDesignShape(shipDesignID);

            if (ShapeList == null || ShapeList.Length != nEndPos.Layer)
            {
                NGUIUtil.DebugLog(" low version");
                return;
            }
            RoomMap.RealMapSize = nEndPos;

            for (n2Pos.Layer = RoomMap.Mapv2Start.Layer; n2Pos.Layer < nEndPos.Layer; n2Pos.Layer++)
            {
                for (n2Pos.Unit = RoomMap.Mapv2Start.Unit; n2Pos.Unit < nEndPos.Unit; n2Pos.Unit++)
                {
                    if (ShapeList.Length > 0 && ShapeList.Length <= nEndPos.Layer && ShapeList[n2Pos.Layer].Length <= nEndPos.Unit)
                    {
                        bool bDeck = CheckIsDeckGrid(ShapeList, n2Pos.Layer, n2Pos.Unit);
                        if (ShapeList[n2Pos.Layer][n2Pos.Unit] == '0' && !bDeck)
                        {
                            continue;
                        }
                    }
                    GameObject go = GameObjectLoader.LoadPath("Prefabs/Others/", "CanvasUnitBG", parent);
                    go.name = string.Format("[{0},{1}]", n2Pos.Layer, n2Pos.Unit);
                    go.transform.localPosition = new Vector3(3.0f * n2Pos.Unit, (3.0f + 0.3f) * n2Pos.Layer, 8.1f);
                    CanvasUnitBG bk = go.GetComponent <CanvasUnitBG>();
                    if (bk != null)
                    {
                        TouchMoveManager.JoinCanvasUnitBk(n2Pos, bk);
                    }
                }
            }
        }
        TouchMoveManager.SetAllGridBgStates(CanvasUnitState.Normal);
        TouchMoveManager.ShowCanvas(true);
        Vector3 pos = MainCameraM.GetDiffenceDisignCameraPos();

        MainCameraM.s_Instance.SetCameraLimitParam(MainCameraM.s_reaLimitPyramidBoatView);
        MainCameraM.s_Instance.AutoMoveTo(pos, 0f);
    }
Exemplo n.º 4
0
    void CheckPanning()
    {
        if (isPanning)
        {
            if (SystemInfo.deviceType == DeviceType.Desktop)
            {
                mousePosition = Input.mousePosition;
            }
            else
            {
                mousePosition = Input.GetTouch(0).position;
            }

            if (Mathf.Abs(mouseLast.x - mousePosition.x) > 15f || Mathf.Abs(mouseLast.y - mousePosition.y) > 15f)
            {
                FingerMove(MainCameraM.ScreenToWorldPos(mousePosition));
                m_vtotalmouseDelta += mouseLast - mousePosition;
                mouseLast           = mousePosition;
            }
        }
    }
Exemplo n.º 5
0
    public static AreaLimitPyramid s_reaLimitPyramidEditView; //编辑相机限制移动区

    void Awake()
    {
        s_Instance = this;
    }