/// <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); }
/// <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(); } }
public void SetCurrentTrack(TRACKKIND tTrackKind) { mCurrentTrack = tTrackKind; }