public override void SetDirection(Direction2DEnum direction) { base.SetDirection(direction); switch (direction) { case Direction2DEnum.Left: srMainBuild.transform.position = objTableLeftPosition.transform.position; srShadow.transform.position = objTableLeftPosition.transform.position + new Vector3(0.05f, 0); break; case Direction2DEnum.Right: srMainBuild.transform.position = objTableRightPosition.transform.position; srShadow.transform.position = objTableRightPosition.transform.position + new Vector3(0.05f, 0); break; case Direction2DEnum.Down: srMainBuild.transform.position = objTableDownPosition.transform.position; srShadow.transform.position = objTableDownPosition.transform.position + new Vector3(0.05f, 0); break; case Direction2DEnum.UP: srMainBuild.transform.position = objTableUpPosition.transform.position; srShadow.transform.position = objTableUpPosition.transform.position + new Vector3(0.05f, 0); break; } }
public override void SetDirection(Direction2DEnum direction) { base.SetDirection(direction); switch (direction) { case Direction2DEnum.Left: objBed.transform.position = objLeftPosition.transform.position; break; case Direction2DEnum.Right: objBed.transform.position = objRightPosition.transform.position; break; case Direction2DEnum.Down: objBed.transform.position = objDownPosition.transform.position; break; case Direction2DEnum.UP: objBed.transform.position = objUpPosition.transform.position; break; } if (buildBedData == null) { return; } SetBase(buildBedData.bedBase); SetBar(buildBedData.bedBar); SetSheets(buildBedData.bedSheets); SetPillow(buildBedData.bedPillow); }
public override void SetDirection(Direction2DEnum direction) { base.SetDirection(direction); objLeftChair.SetActive(false); objRightChair.SetActive(false); objDownChair.SetActive(false); objUpChair.SetActive(false); switch (direction) { case Direction2DEnum.Left: srMainBuild.transform.position = objTableLeftPosition.transform.position; objLeftChair.SetActive(true); break; case Direction2DEnum.Right: srMainBuild.transform.position = objTableRightPosition.transform.position; objRightChair.SetActive(true); break; case Direction2DEnum.Down: srMainBuild.transform.position = objTableDownPosition.transform.position; objDownChair.SetActive(true); break; case Direction2DEnum.UP: srMainBuild.transform.position = objTableUpPosition.transform.position; objUpChair.SetActive(true); break; } }
/// <summary> /// 睡觉 /// </summary> public void IntentForSleep() { //设置睡觉的朝向 Direction2DEnum directionBed = orderForHotel.bed.GetDirection(); SetCharacterSleep(directionBed); //开始睡觉 orderForHotel.bed.SetBedStatus(BuildBedCpt.BedStatusEnum.Use); StartCoroutine(CoroutineForStartSleep(orderForHotel.sleepTime)); }
public InnResBean(long id, Vector3 startPosition, List <Vector3> listPosition, Direction2DEnum direction2D) { this.id = id; this.startPosition = new Vector3Bean(startPosition);; if (listPosition != null) { this.listPosition = TypeConversionUtil.ListV3ToListV3Bean(listPosition); } this.direction = (int)direction2D; }
public virtual void SetDirection(Direction2DEnum direction) { if (rotatedFace != 4) { return; } this.direction = direction; Sprite spShadow = null; Sprite spMianBuild = null; switch (direction) { case Direction2DEnum.Left: spShadow = spLeft; spMianBuild = spLeft; objBox.transform.localEulerAngles = new Vector3(0, 0, 0); break; case Direction2DEnum.Right: spShadow = spRight; spMianBuild = spRight; objBox.transform.localEulerAngles = new Vector3(0, 0, 180); break; case Direction2DEnum.Down: spShadow = spDown; spMianBuild = spDown; objBox.transform.localEulerAngles = new Vector3(0, 0, 90); break; case Direction2DEnum.UP: spShadow = spUp; spMianBuild = spUp; objBox.transform.localEulerAngles = new Vector3(0, 0, -90); break; } if (srMainBuild != null) { srMainBuild.sprite = spMianBuild; } if (srShadow != null && spShadow != null) { srShadow.sprite = spShadow; } }
/// <summary> /// 设置角色睡觉 /// </summary> /// <param name="direction"></param> public virtual void SetCharacterSleep(Direction2DEnum direction) { switch (direction) { case Direction2DEnum.Left: SetCharacterFace(1); characterBody.transform.DOLocalRotate(new Vector3(0, 0, -90), 0.1f).SetEase(Ease.OutBack); characterBody.transform.localPosition = new Vector3(0, 0.2f, 0); break; case Direction2DEnum.UP: characterBody.transform.DOLocalRotate(new Vector3(0, 0, 180), 0.1f).SetEase(Ease.OutBack); break; case Direction2DEnum.Right: SetCharacterFace(2); characterBody.transform.DOLocalRotate(new Vector3(0, 0, 90), 0.1f).SetEase(Ease.OutBack); characterBody.transform.localPosition = new Vector3(0, 0.2f, 0); break; case Direction2DEnum.Down: characterBody.transform.localPosition = new Vector3(0, 0f, 0); break; } if (characterDress != null) { characterDress.SetClothes(null); characterDress.SetHat(null); characterDress.SetShoes(null); characterDress.SetMask(null); characterDress.SetHand(null); } if (characterForRenderer != null) { characterForRenderer.sortingOrder = -2; } }
private void getBulgeVertices(List <Vector3> listVertices, JigsawBulgeEnum jigsawBulge, Direction2DEnum direction, float withX, float highY) { List <Vector3> convex; List <Vector3> concave; List <Vector3> leftConcavePositionList = new List <Vector3>(); leftConcavePositionList.Add(new Vector3(-withX, -1.4f)); leftConcavePositionList.Add(new Vector3(-withX + sawtoothHigh, -1.2f)); leftConcavePositionList.Add(new Vector3(-withX - sawtoothHigh, -1f)); leftConcavePositionList.Add(new Vector3(-withX + sawtoothHigh, -0.8f)); leftConcavePositionList.Add(new Vector3(-withX - sawtoothHigh, -0.6f)); leftConcavePositionList.Add(new Vector3(-withX + sawtoothHigh, -0.4f)); leftConcavePositionList.Add(new Vector3(-withX - sawtoothHigh, -0.2f)); leftConcavePositionList.Add(new Vector3(-withX + sawtoothHigh, 0f)); leftConcavePositionList.Add(new Vector3(-withX - sawtoothHigh, 0.2f)); leftConcavePositionList.Add(new Vector3(-withX + sawtoothHigh, 0.4f)); leftConcavePositionList.Add(new Vector3(-withX - sawtoothHigh, 0.6f)); leftConcavePositionList.Add(new Vector3(-withX + sawtoothHigh, 0.8f)); leftConcavePositionList.Add(new Vector3(-withX - sawtoothHigh, 1f)); leftConcavePositionList.Add(new Vector3(-withX + sawtoothHigh, 1.2f)); leftConcavePositionList.Add(new Vector3(-withX, 1.4f)); GameUtil.getJigsawPuzzlescCCPositon(leftConcavePositionList, direction, withX, highY, out convex, out concave); if (jigsawBulge.Equals(JigsawBulgeEnum.Bulge)) { listVertices.AddRange(convex); } else if (jigsawBulge.Equals(JigsawBulgeEnum.Sunken)) { listVertices.AddRange(concave); } }
private void getBulgeVertices(List <Vector3> listVertices, JigsawBulgeEnum jigsawBulge, Direction2DEnum direction, float withX, float highY) { List <Vector3> convex; List <Vector3> concave; List <Vector3> leftConcavePositionList = new List <Vector3>(); //TODO 添加传统拼图形状 leftConcavePositionList.Add(new Vector3(-withX + 0.2f, -0.4f)); leftConcavePositionList.Add(new Vector3(-withX + 0.18f, -0.35f)); leftConcavePositionList.Add(new Vector3(-withX + 0.15f, -0.3f)); leftConcavePositionList.Add(new Vector3(-withX + 0.1f, -0.25f)); leftConcavePositionList.Add(new Vector3(-withX, -0.22f)); leftConcavePositionList.Add(new Vector3(-withX - 0.1f, -0.25f)); leftConcavePositionList.Add(new Vector3(-withX - 0.15f, -0.3f)); leftConcavePositionList.Add(new Vector3(-withX - 0.18f, -0.35f)); leftConcavePositionList.Add(new Vector3(-withX - 0.2f, -0.4f)); leftConcavePositionList.Add(new Vector3(-withX - 0.5f, -0.1f)); leftConcavePositionList.Add(new Vector3(-withX - 1f, 0)); leftConcavePositionList.Add(new Vector3(-withX - 0.5f, 0.1f)); leftConcavePositionList.Add(new Vector3(-withX - 0.20f, 0.4f)); leftConcavePositionList.Add(new Vector3(-withX - 0.18f, 0.35f)); leftConcavePositionList.Add(new Vector3(-withX - 0.15f, 0.3f)); leftConcavePositionList.Add(new Vector3(-withX - 0.1f, 0.25f)); leftConcavePositionList.Add(new Vector3(-withX, 0.22f)); leftConcavePositionList.Add(new Vector3(-withX + 0.1f, 0.25f)); leftConcavePositionList.Add(new Vector3(-withX + 0.15f, 0.3f)); leftConcavePositionList.Add(new Vector3(-withX + 0.18f, 0.35f)); leftConcavePositionList.Add(new Vector3(-withX + 0.20f, 0.4f)); GameUtil.getJigsawPuzzlescCCPositon(leftConcavePositionList, direction, withX, highY, out convex, out concave); if (jigsawBulge.Equals(JigsawBulgeEnum.Bulge)) { listVertices.AddRange(convex); } else if (jigsawBulge.Equals(JigsawBulgeEnum.Sunken)) { listVertices.AddRange(concave); } }
/// <summary> /// 根据左边凸点坐标获取 拼图块所有边上的凹凸点坐标 /// </summary> /// <param name="leftConcavePositionList">左边凸点坐标</param> /// <param name="outDireciton">输出方向</param> /// <param name="convex">凸点</param> /// <param name="concave">凹点</param> public static void getJigsawPuzzlescCCPositon(List <Vector3> leftConcavePositionList, Direction2DEnum outDireciton, float withX, float highY, out List <Vector3> convex, out List <Vector3> concave) { convex = new List <Vector3>(); concave = new List <Vector3>(); if (outDireciton == Direction2DEnum.Left) { convex = leftConcavePositionList; for (int i = 0; i < leftConcavePositionList.Count; i++) { Vector3 itemPosition = leftConcavePositionList[i]; float differ = Mathf.Abs(itemPosition.x) - withX; //设置凹点坐标 Vector3 concavePosition = new Vector3(); concavePosition.x = itemPosition.x + differ * 2; concavePosition.y = itemPosition.y; concavePosition.z = itemPosition.z; concave.Add(concavePosition); } } else if (outDireciton == Direction2DEnum.Above) { for (int i = 0; i < leftConcavePositionList.Count; i++) { Vector3 itemPosition = leftConcavePositionList[i]; //设置凸点坐标 Vector3 convexPosition = new Vector3(); convexPosition.x = itemPosition.y; convexPosition.y = (Mathf.Abs(itemPosition.x) - withX + highY); convexPosition.z = itemPosition.z; convex.Add(convexPosition); float differ = Mathf.Abs(convexPosition.y) - highY; //设置凹点坐标 Vector3 concavePosition = new Vector3(); concavePosition.x = convexPosition.x; concavePosition.y = convexPosition.y - differ * 2; concavePosition.z = convexPosition.z; concave.Add(concavePosition); } } else if (outDireciton == Direction2DEnum.Right) { for (int i = 0; i < leftConcavePositionList.Count; i++) { Vector3 itemPosition = leftConcavePositionList[i]; //设置凸点坐标 Vector3 convexPosition = new Vector3(); convexPosition.x = -itemPosition.x; convexPosition.y = -itemPosition.y; convexPosition.z = itemPosition.z; convex.Add(convexPosition); float differ = Mathf.Abs(convexPosition.x) - withX; //设置凹点坐标 Vector3 concavePosition = new Vector3(); concavePosition.x = convexPosition.x - differ * 2; concavePosition.y = convexPosition.y; concavePosition.z = convexPosition.z; concave.Add(concavePosition); } } else if (outDireciton == Direction2DEnum.Below) { for (int i = 0; i < leftConcavePositionList.Count; i++) { Vector3 itemPosition = leftConcavePositionList[i]; //设置凸点坐标 Vector3 convexPosition = new Vector3(); convexPosition.x = -itemPosition.y; convexPosition.y = -(Mathf.Abs(itemPosition.x) - withX + highY); convexPosition.z = itemPosition.z; convex.Add(convexPosition); float differ = Mathf.Abs(convexPosition.y) - highY; //设置凹点坐标 Vector3 concavePosition = new Vector3(); concavePosition.x = convexPosition.x; concavePosition.y = convexPosition.y + differ * 2; concavePosition.z = convexPosition.z; concave.Add(concavePosition); } } }
/// <summary> /// 获取梯形上坐标 /// </summary> /// <param name="listVertices"></param> /// <param name="jigsawBulge"></param> /// <param name="direction"></param> /// <param name="withX"></param> /// <param name="highY"></param> private void getTrapezoidVertices(List <Vector3> listVertices, JigsawBulgeEnum jigsawBulge, Direction2DEnum direction, float withX, float highY) { List <Vector3> convex; List <Vector3> concave; List <Vector3> leftConcavePositionList = new List <Vector3>(); leftConcavePositionList.Add(new Vector3(-withX, -m_Trapezoid_BottomWith / 2f)); leftConcavePositionList.Add(new Vector3(-withX + -m_Trapezoid_High, -m_Trapezoid_TopWith / 2f)); leftConcavePositionList.Add(new Vector3(-withX + -m_Trapezoid_High, m_Trapezoid_TopWith / 2f)); leftConcavePositionList.Add(new Vector3(-withX, m_Trapezoid_BottomWith / 2f)); GameUtil.getJigsawPuzzlescCCPositon(leftConcavePositionList, direction, withX, highY, out convex, out concave); if (jigsawBulge.Equals(JigsawBulgeEnum.Bulge)) { listVertices.AddRange(convex); } else if (jigsawBulge.Equals(JigsawBulgeEnum.Sunken)) { listVertices.AddRange(concave); } }
private void getPentagramVertices(List <Vector3> listVertices, JigsawBulgeEnum jigsawBulge, Direction2DEnum direction, float withX, float highY) { List <Vector3> convex; List <Vector3> concave; List <Vector3> leftConcavePositionList = new List <Vector3>(); leftConcavePositionList.Add(new Vector3(-withX, -m_PentagramFoot)); leftConcavePositionList.Add(new Vector3(-withX + 0.2f * m_PentagramZoom - m_PentagramWith / 2f, -0.15f * m_PentagramZoom)); leftConcavePositionList.Add(new Vector3(-withX + 0.15f * m_PentagramZoom - m_PentagramWith / 2f, -0.47f * m_PentagramZoom)); leftConcavePositionList.Add(new Vector3(-withX + -0.08f * m_PentagramZoom - m_PentagramWith / 2f, -0.24f * m_PentagramZoom)); leftConcavePositionList.Add(new Vector3(-withX + -0.4f * m_PentagramZoom - m_PentagramWith / 2f, -0.29f * m_PentagramZoom)); leftConcavePositionList.Add(new Vector3(-withX + -0.25f * m_PentagramZoom - m_PentagramWith / 2f, 0f)); leftConcavePositionList.Add(new Vector3(-withX + -0.4f * m_PentagramZoom - m_PentagramWith / 2f, 0.29f * m_PentagramZoom)); leftConcavePositionList.Add(new Vector3(-withX + -0.08f * m_PentagramZoom - m_PentagramWith / 2f, 0.24f * m_PentagramZoom)); leftConcavePositionList.Add(new Vector3(-withX + 0.15f * m_PentagramZoom - m_PentagramWith / 2f, 0.47f * m_PentagramZoom)); leftConcavePositionList.Add(new Vector3(-withX + 0.2f * m_PentagramZoom - m_PentagramWith / 2f, 0.15f * m_PentagramZoom)); leftConcavePositionList.Add(new Vector3(-withX, m_PentagramFoot)); GameUtil.getJigsawPuzzlescCCPositon(leftConcavePositionList, direction, withX, highY, out convex, out concave); if (jigsawBulge.Equals(JigsawBulgeEnum.Bulge)) { listVertices.AddRange(convex); } else if (jigsawBulge.Equals(JigsawBulgeEnum.Sunken)) { listVertices.AddRange(concave); } }
private void getHeartVertices(List <Vector3> listVertices, JigsawBulgeEnum jigsawBulge, Direction2DEnum direction, float withX, float highY) { List <Vector3> convex; List <Vector3> concave; List <Vector3> leftConcavePositionList = new List <Vector3>(); leftConcavePositionList.Add(new Vector3(-withX, -m_HeartFoot / 2f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh / 2f, -m_HeartWith / 2f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh * 4.5f / 6f, -m_HeartWith * 5.5f / 12f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh * 5.5f / 6f, -m_HeartWith * 4.5f / 12f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh * 5.8f / 6f, -m_HeartWith * 3.2f / 12f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh * 5.8f / 6f, -m_HeartWith * 2.8f / 12f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh * 5.5f / 6f, -m_HeartWith * 1.5f / 12f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh * 5f / 6f, -m_HeartWith * 0.5f / 12f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh * 3f / 4f, 0f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh * 5f / 6f, m_HeartWith * 0.5f / 12f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh * 5.5f / 6f, m_HeartWith * 1.5f / 12f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh * 5.8f / 6f, m_HeartWith * 2.8f / 12f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh * 5.8f / 6f, m_HeartWith * 3.2f / 12f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh * 5.5f / 6f, m_HeartWith * 4.5f / 12f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh * 4.5f / 6f, m_HeartWith * 5.5f / 12f)); leftConcavePositionList.Add(new Vector3(-withX + -m_HeartHigh / 2f, m_HeartWith / 2f)); leftConcavePositionList.Add(new Vector3(-withX, m_HeartFoot / 2f)); GameUtil.getJigsawPuzzlescCCPositon(leftConcavePositionList, direction, withX, highY, out convex, out concave); if (jigsawBulge.Equals(JigsawBulgeEnum.Bulge)) { listVertices.AddRange(convex); } else if (jigsawBulge.Equals(JigsawBulgeEnum.Sunken)) { listVertices.AddRange(concave); } }