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;
        }
    }
Exemple #2
0
    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);
    }
Exemple #3
0
    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;
        }
    }
Exemple #4
0
    /// <summary>
    /// 睡觉
    /// </summary>
    public void IntentForSleep()
    {
        //设置睡觉的朝向
        Direction2DEnum directionBed = orderForHotel.bed.GetDirection();

        SetCharacterSleep(directionBed);
        //开始睡觉
        orderForHotel.bed.SetBedStatus(BuildBedCpt.BedStatusEnum.Use);
        StartCoroutine(CoroutineForStartSleep(orderForHotel.sleepTime));
    }
Exemple #5
0
 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;
 }
Exemple #6
0
    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;
        }
    }
Exemple #7
0
    /// <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;
        }
    }
Exemple #8
0
    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);
        }
    }
Exemple #10
0
    /// <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);
        }
    }
Exemple #12
0
    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);
        }
    }
Exemple #13
0
    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);
        }
    }