Esempio n. 1
0
    /// <summary>
    /// 원하는 트랙타일을 가져와 위치를 지정하고 화면에 보이게 해줍니다.
    /// </summary>
    /// <param name="tTrackKind">원하는 트랙타일</param>
    /// <returns>화면에 보이게 되는 타일을 반환</returns>
    public CTrackTile DistinguishTrack(TRACKKIND tTrackKind, int tIndex)
    {
        var tTile = TrackTileLoader.GetTrackTile(tTrackKind);

        switch (tTrackKind)
        {
        case TRACKKIND.A:
        case TRACKKIND.B:
        case TRACKKIND.C:
        case TRACKKIND.D:
            var tTilecomponets = tTile.GetComponentsInChildren <CTrackTile>();
            for (int ti = 0; ti < 4; ti++)
            {
                tTilecomponets[ti].SetIndex(tIndex + ti);
            }
            tTile.transform.position = NextPos + Vector3.forward * 72;
            NextPos = tTile.transform.position;
            break;

        default:
            tTile.SetIndex(tIndex);
            tTile.transform.position = NextPos + Vector3.forward * TRACK_SIZE;
            NextPos = tTile.transform.position;
            break;
        }


        tTile.Show();
        return(tTile);
    }
Esempio n. 2
0
    /// <summary>
    /// 플레이어 위치값에 따른 트랙타일을 화면에서 꺼주는 메소드
    /// </summary>
    /// <param name="tPlayerPositionIndex">플레이어의 위치값</param>
    public void UpdateTrack(int tPlayerPositionIndex)
    {
        for (int ti = 0; ti < mSight; ti++)
        {
            if (tPlayerPositionIndex + ti < TrackList.Count)
            {
                TRACKKIND tKind = TrackList[tPlayerPositionIndex + ti];

                if (ActiveTrackTileIndex.Contains(tPlayerPositionIndex + ti) == false)
                {
                    CTrackTile tTile = DistinguishTrack(tKind, tPlayerPositionIndex + ti);

                    ActiveTrackTileIndex.Enqueue(tPlayerPositionIndex + ti);


                    if (ActiveTrackTile.Count < mSight)
                    {
                        ActiveTrackTile.Enqueue(tTile);
                    }
                    else
                    {
                        ActiveTrackTile.Dequeue().Hide();
                        ActiveTrackTile.Enqueue(tTile);
                    }
                }
            }
            else
            {
                break;
            }
        }
        if (tPlayerPositionIndex == TrackList.Count - 1)
        {
            Debug.Log("여긴옴?");
            AddStageNumber();
            ReSetData();
        }
    }
Esempio n. 3
0
 public void SetCurrentTrack(TRACKKIND tTrackKind)
 {
     mCurrentTrack = tTrackKind;
 }