Exemple #1
0
    void TouchMovingTiles()
    {
        if (HGameMng.I.nTouchCount == 1) // 1번째 터치일 때
        {
            int nDestYIndex  = HGameMng.I.nTouchYIndex;
            int nTouchXIndex = GetTileXIndex();                                               // 터치한 시점에서 타일의 X인덱스
            int nTouchYIndex = GetTileYIndex();                                               // 터치한 시점에서 타일의 Y인덱스

            if (nDestYIndex != nTouchYIndex)                                                  // 지금 있는 열과 터치한 열이 다를 때
            {
                if (HGameMng.I.TileIndexInfoArray[nTouchXIndex + 1, nDestYIndex].nIndex == 0) // 터치한 열에 타일의 현재 위치보다 높이 있는 타일이 없을 때
                {
                    bMoved = true;

                    Vector3 TempVec3 = transform.position;
                    TempVec3.x         = HGameMng.I.OffsetGroupSc.OffsetTmList[nDestYIndex].position.x;
                    transform.position = TempVec3;

                    CalcDestPos(nDestYIndex, bMoved);

                    HGameMng.I.TileIndexInfoArray[nPrevXIndex, nPrevYIndex].Tile   = null;
                    HGameMng.I.TileIndexInfoArray[nPrevXIndex, nPrevYIndex].nIndex = 0;
                }
            }
        }
        ETileState             = E_TILE_STATE.E_DOWN;
        HGameMng.I.nTouchCount = 0;
    }
Exemple #2
0
 //초 기
 public void Reset()
 {
     bUse             = false;
     nTiletype        = -1;
     E_TSTATE         = E_TILE_STATE.E_STOP;
     Tm.localPosition = Vector3.zero;
     DestVec3         = Vector3.zero;
 }
Exemple #3
0
    void TileDown()
    {
        transform.localPosition = Vector3.MoveTowards(transform.localPosition, DestVec3, Time.deltaTime * HGameMng.I.TGroupSc.fTileMoveSpeed);

        if (transform.localPosition == DestVec3)
        {
            E_TSTATE = E_TILE_STATE.E_STOP;
        }
    }
Exemple #4
0
    public void Reset()
    {
        TileSprite.color = Color.white;

        transform.localPosition = Vector3.zero;

        nTileColorDepth = 0;
        bUse            = false;
        ETileState      = E_TILE_STATE.E_STOP;
        DestVec3        = Vector3.zero;
        bMoved          = false;
    }
Exemple #5
0
    // 한칸씩 내려가
    public void OneStepDown(int nYIndex, int nXIndex)
    {
        Tm = this.transform;

        Vector3 nTempVec3 = Vector3.zero;

        HGameMng.I.SetTileIndex(nYIndex, nXIndex, 0, null);
        HGameMng.I.SetTileIndex(nYIndex + 1, nXIndex, 1, (HTileInfo)this);

        nTempVec3.x = nXIndex * 40f;
        nTempVec3.y = -((nYIndex + 1) * 40f);
        nTempVec3.z = 0f;

        DestVec3 = nTempVec3;

        E_TSTATE = E_TILE_STATE.E_DOWN;
    }
Exemple #6
0
    public void OneStepDown(int nXIndex, int nYIndex)
    {
        // 한 칸 아래에 정보 복사
        HGameMng.I.TileIndexInfoArray[nXIndex + 1, nYIndex].Tile   = this;
        HGameMng.I.TileIndexInfoArray[nXIndex + 1, nYIndex].nIndex = HGameMng.I.TileIndexInfoArray[nXIndex, nYIndex].nIndex;

        // 지금 칸 정보 비움
        HGameMng.I.TileIndexInfoArray[nXIndex, nYIndex].Tile   = null;
        HGameMng.I.TileIndexInfoArray[nXIndex, nYIndex].nIndex = 0;

        // 한 칸 아래로 목적지 계산
        DestVec3.x = transform.localPosition.x;
        DestVec3.y = -((nXIndex + 1)) * TileSprite.height;
        DestVec3.z = 0f;

        ETileState = E_TILE_STATE.E_DOWN;
        HGameMng.I.TileGroupSc.fCurrentSpeed = HGameMng.I.TileGroupSc.fTileDownSpeed;
    }
Exemple #7
0
    void DownTiles()
    {
        transform.localPosition = Vector3.MoveTowards(transform.localPosition, DestVec3, HGameMng.I.TileGroupSc.fCurrentSpeed * Time.deltaTime);

        if (transform.localPosition == DestVec3)
        {
            ETileState = E_TILE_STATE.E_STOP;
            HGameMng.I.fTimeArray[(int)E_GTIME.E_CREATE] = Time.time;

            HGameMng.I.bScoreEftSwitch = true;
            HMng.I.nCurrentScore      += 2;

            HGameMng.I.DownTileAudio.Play();

            if (HMng.I.nCurrentScore >= HGameMng.I.TileGroupSc.nSpeedUpScore * (HGameMng.I.TileGroupSc.nSpeedUpCount + 1)) // 점수가 nSpeedUpScore만큼 증가했는지 검사
            {
                HGameMng.I.TileGroupSc.nSpeedUpCount++;
                HGameMng.I.TileGroupSc.fOriginalSpeed += HGameMng.I.TileGroupSc.fSpeedUp;
            }
            HGameMng.I.TileGroupSc.fCurrentSpeed = HGameMng.I.TileGroupSc.fOriginalSpeed;
        }
    }
Exemple #8
0
 void Init()
 {
     E_TSTATE   = E_TILE_STATE.E_STOP;
     UserSprite = transform.GetComponent <UISprite> ();
 }