private void SwitchBrickToType(BaseBrick brick, BrickType type) { GameObject obj = levelLogic.GetBrickBasedOnType(type); BrickData newData = new BrickData { gridNodeID = brick.GetComponent <BaseBrick>().ID, type = type }; BaseBrick newB = obj.GetComponent <BaseBrick>(); newB.Initialize(newData); newB.SwitchPositions(brick.transform.position); obj.transform.SetParent(brickGridParent); ReplaceInLevel(brick, newB); if (type == BrickType.PATH) { brick.SwitchToPath(); } }
public void ResetPlayerPosition(BaseBrick brickCell) { if (gameObject != null) { if (!gameObject.activeSelf) { gameObject.SetActive(true); } brickCell.SwitchToPath(); currentBrickCell = brickCell; transform.position = brickCell.transform.position; if (dashSequence == null) { dashSequence = new Dictionary <string, BaseBrick>(); } else { dashSequence.Clear(); } ChangeState(PlayerStates.WaitingToStart); } }