Commit d00ff497 authored by 18손재민's avatar 18손재민

프레스 관련해서 오류 수정함, 이제 서로 떨어져 있는줄 한번에 지울 때 및 여러 줄 시간 차 두고 지울 때 정상적으로 작동함

parent ca6197e4
This diff is collapsed.
...@@ -12,9 +12,25 @@ public class Press : MonoBehaviour ...@@ -12,9 +12,25 @@ public class Press : MonoBehaviour
/// </summary> /// </summary>
public float initialCollapseTime; public float initialCollapseTime;
/// <summary> /// <summary>
/// Time press has started to collapsed. /// Row the press is accounting for.
/// </summary> /// </summary>
public int row; public int row;
/// <summary>
/// Lowest empty row below this press.
/// </summary>
public int bottomRow;
/// <summary>
/// Created order of this press between simultaneously created presses.
/// </summary>
public int createdOrder;
/// <summary>
/// Number of presses created simultaneously with this press.
/// </summary>
public int simultaneouslyCreatedPressNumber;
/// <summary>
/// Check if this press is on left side or not.
/// </summary>
public bool isLeft;
// Use this for initialization // Use this for initialization
......
...@@ -7,7 +7,7 @@ public class TetriminoSpawner : MonoBehaviour { ...@@ -7,7 +7,7 @@ public class TetriminoSpawner : MonoBehaviour {
/* /*
* variables * variables
* */ * */
MapManager MM; MapManager mapManager;
/// <summary> /// <summary>
/// All tetriminoes. /// All tetriminoes.
/// </summary> /// </summary>
...@@ -29,29 +29,30 @@ public class TetriminoSpawner : MonoBehaviour { ...@@ -29,29 +29,30 @@ public class TetriminoSpawner : MonoBehaviour {
/// </summary> /// </summary>
public void MakeTetrimino() public void MakeTetrimino()
{ {
if (!MM.gameOver) if (!mapManager.gameOver)
{ {
int randomPosition = Random.Range(0, MapManager.width); int randomPosition = Random.Range(0, MapManager.width);
int randomTetrimino; int randomTetrimino;
if (MM.spawnBossTetrimino) if (mapManager.spawnBossTetrimino)
{ {
randomTetrimino = 7; randomTetrimino = 7;
MM.spawnBossTetrimino = false; mapManager.spawnBossTetrimino = false;
} }
else else
randomTetrimino = TetriminoRandomizer(); randomTetrimino = TetriminoRandomizer();
MM.currentTetrimino = Instantiate(tetriminoes[randomTetrimino], MM.tetrisMapCoord + MM.tetrisMapSize * new Vector3(randomPosition, MapManager.realHeight + 1, MM.tetrisMapCoord.z), Quaternion.identity); mapManager.currentTetrimino = Instantiate(tetriminoes[randomTetrimino],
MM.currentTetrimino.mapCoord = (MM.currentTetrimino.transform.position - MM.tetrisMapCoord) / MM.tetrisMapSize; mapManager.tetrisMapCoord + mapManager.tetrisMapSize * new Vector3(randomPosition, MapManager.realHeight + 1, mapManager.tetrisMapCoord.z), Quaternion.identity);
MM.SetRoomMapCoord(MM.currentTetrimino); mapManager.currentTetrimino.mapCoord = (mapManager.currentTetrimino.transform.position - mapManager.tetrisMapCoord) / mapManager.tetrisMapSize;
MM.MakeTetriminoRightPlace(MM.currentTetrimino); mapManager.SetRoomMapCoord(mapManager.currentTetrimino);
for(int i = 0; i < MM.currentTetrimino.rotatedPosition.Length; i++) mapManager.MakeTetriminoRightPlace(mapManager.currentTetrimino);
for(int i = 0; i < mapManager.currentTetrimino.rotatedPosition.Length; i++)
{ {
if (Tetrimino.rotationInformation[(int)MM.currentTetrimino.tetriminoType].horizontalLength[i] + MM.currentTetrimino.mapCoord.x > MapManager.width) if (Tetrimino.rotationInformation[(int)mapManager.currentTetrimino.tetriminoType].horizontalLength[i] + mapManager.currentTetrimino.mapCoord.x > MapManager.width)
MM.currentTetrimino.rotatedPosition[i] = MapManager.width - Tetrimino.rotationInformation[(int)MM.currentTetrimino.tetriminoType].horizontalLength[i]; mapManager.currentTetrimino.rotatedPosition[i] = MapManager.width - Tetrimino.rotationInformation[(int)mapManager.currentTetrimino.tetriminoType].horizontalLength[i];
else else
MM.currentTetrimino.rotatedPosition[i] = (int)MM.currentTetrimino.mapCoord.x; mapManager.currentTetrimino.rotatedPosition[i] = (int)mapManager.currentTetrimino.mapCoord.x;
} }
MakeGhost(MM.currentTetrimino, randomTetrimino); MakeGhost(mapManager.currentTetrimino, randomTetrimino);
//MM.controlCurrentTetrimino = true; //MM.controlCurrentTetrimino = true;
} }
} }
...@@ -60,22 +61,22 @@ public class TetriminoSpawner : MonoBehaviour { ...@@ -60,22 +61,22 @@ public class TetriminoSpawner : MonoBehaviour {
/// </summary> /// </summary>
public void MakeInitialTetrimino() public void MakeInitialTetrimino()
{ {
if (!MM.gameOver) if (!mapManager.gameOver)
{ {
int randomPosition = Random.Range(0, MapManager.width); int randomPosition = Random.Range(0, MapManager.width);
int randomTetrimino = TetriminoRandomizer(); int randomTetrimino = TetriminoRandomizer();
MM.currentTetrimino = Instantiate(tetriminoes[randomTetrimino], MM.tetrisMapCoord + MM.tetrisMapSize * new Vector3(randomPosition, 0, MM.tetrisMapCoord.z), Quaternion.identity); mapManager.currentTetrimino = Instantiate(tetriminoes[randomTetrimino], mapManager.tetrisMapCoord + mapManager.tetrisMapSize * new Vector3(randomPosition, 0, mapManager.tetrisMapCoord.z), Quaternion.identity);
MM.startRoom = MM.currentTetrimino.rooms[Random.Range(0, MM.currentTetrimino.rooms.Length)]; mapManager.startRoom = mapManager.currentTetrimino.rooms[Random.Range(0, mapManager.currentTetrimino.rooms.Length)];
MM.startRoom.specialRoomType = Room.SpecialRoomType.Start; mapManager.startRoom.specialRoomType = Room.SpecialRoomType.Start;
MM.currentTetrimino.mapCoord = (MM.currentTetrimino.transform.position - MM.tetrisMapCoord) / MM.tetrisMapSize; mapManager.currentTetrimino.mapCoord = (mapManager.currentTetrimino.transform.position - mapManager.tetrisMapCoord) / mapManager.tetrisMapSize;
MM.SetRoomMapCoord(MM.currentTetrimino); mapManager.SetRoomMapCoord(mapManager.currentTetrimino);
MM.MakeTetriminoRightPlace(MM.currentTetrimino); mapManager.MakeTetriminoRightPlace(mapManager.currentTetrimino);
for (int i = 0; i < MM.currentTetrimino.rooms.Length; i++) for (int i = 0; i < mapManager.currentTetrimino.rooms.Length; i++)
{ {
MM.currentTetrimino.transform.position = MM.currentTetrimino.mapCoord * MM.tetrisMapSize + MM.tetrisMapCoord; mapManager.currentTetrimino.transform.position = mapManager.currentTetrimino.mapCoord * mapManager.tetrisMapSize + mapManager.tetrisMapCoord;
} }
MM.UpdateMap(MM.currentTetrimino); mapManager.UpdateMap(mapManager.currentTetrimino);
MM.CreateRoom(MM.currentTetrimino); mapManager.CreateRoom(mapManager.currentTetrimino);
MakeTetrimino(); MakeTetrimino();
} }
} }
...@@ -85,11 +86,11 @@ public class TetriminoSpawner : MonoBehaviour { ...@@ -85,11 +86,11 @@ public class TetriminoSpawner : MonoBehaviour {
/// <param name="te">Which tetrimino to make ghost</param> /// <param name="te">Which tetrimino to make ghost</param>
public void MakeGhost(Tetrimino te, int ghostType) public void MakeGhost(Tetrimino te, int ghostType)
{ {
MM.currentGhost = Instantiate(ghosts[ghostType], te.transform.position, Quaternion.identity); mapManager.currentGhost = Instantiate(ghosts[ghostType], te.transform.position, Quaternion.identity);
MM.currentGhost.mapCoord = te.mapCoord; mapManager.currentGhost.mapCoord = te.mapCoord;
for(int i = 0; i < te.rooms.Length; i++) for(int i = 0; i < te.rooms.Length; i++)
{ {
MM.currentGhost.rooms[i].mapCoord = te.rooms[i].mapCoord; mapManager.currentGhost.rooms[i].mapCoord = te.rooms[i].mapCoord;
} }
} }
...@@ -122,7 +123,7 @@ public class TetriminoSpawner : MonoBehaviour { ...@@ -122,7 +123,7 @@ public class TetriminoSpawner : MonoBehaviour {
* */ * */
private void Awake() private void Awake()
{ {
MM = GameObject.Find("MapManager").GetComponent<MapManager>(); mapManager = GameObject.Find("MapManager").GetComponent<MapManager>();
} }
// Use this for initialization // Use this for initialization
void Start () { void Start () {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment