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); }
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; } } }
/// <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); }
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; } } }
public static AreaLimitPyramid s_reaLimitPyramidEditView; //编辑相机限制移动区 void Awake() { s_Instance = this; }