/// <summary> /// Default constructor. /// </summary> public Stage() { boundary = new BoundaryMap(0, 0); spawnMultiplier = 1.2f; canPowerupsSpawn = true; name = "emptyStage"; }
/// <summary> /// Start is called before the first frame update. /// </summary> void Start() { mainCamera = GameObject.FindWithTag("MainCamera"); map = new BoundaryMap(MAP_SIZE, MAP_SIZE); currentPrefabSelection = GameObject.Instantiate(verticalStraightPrefab); currentTypeSelection = SingleSpaceType.VERTICAL_STRAIGHT; editable = (SceneManager.GetActiveScene().name != "GameScene"); }
/// <summary> /// Copy constructor. /// </summary> /// <param name="copy">The BoundaryMap to be copied from.</param> public BoundaryMap(BoundaryMap copy) { width = copy.GetWidth(); height = copy.GetHeight(); gridRepresentation = new SingleSpaceType[width, height]; for (int i = 0; i < width; i++) { for (int j = 0; j < height; j++) { gridRepresentation[i, j] = copy.GetTypeAtPosition(i, j); } } playerSpawnPos_x = copy.GetPlayerSpawnX(); playerSpawnPos_y = copy.GetPlayerSpawnY(); }
/// <summary> /// Setter for the boundary map. /// </summary> /// <param name="map">New BoundaryMap.</param> public void SetMap(BoundaryMap map) { this.map = new BoundaryMap(map); DisplayMap(); }
/// <summary> /// Constructor which sets the boundary map to the desired map. /// </summary> /// <param name="boundaryMap">Desired boundary map.</param> public Stage(BoundaryMap boundaryMap) { this.boundary = new BoundaryMap(boundaryMap); }
/// <summary> /// Hardcodes for the default stages. /// </summary> /// <returns>List of all the default stages.</returns> private List <Stage> GenerateDefaultStages() { List <Stage> defaults = new List <Stage>(); Stage squareStage = new Stage(); squareStage.Name = "Square"; squareStage.SpawnMultiplier = 1.2f; squareStage.CanPowerupsSpawn = true; BoundaryMap squareStageMap = new BoundaryMap(20, 20); squareStageMap.UpdateSpace(19, 19, SingleSpaceType.CORNER_1Q); squareStageMap.UpdateSpace(0, 19, SingleSpaceType.CORNER_2Q); squareStageMap.UpdateSpace(0, 0, SingleSpaceType.CORNER_3Q); squareStageMap.UpdateSpace(19, 0, SingleSpaceType.CORNER_4Q); for (int i = 1; i < 19; i++) { squareStageMap.UpdateSpace(0, i, SingleSpaceType.VERTICAL_STRAIGHT); squareStageMap.UpdateSpace(19, i, SingleSpaceType.VERTICAL_STRAIGHT); squareStageMap.UpdateSpace(i, 19, SingleSpaceType.HORIZONTAL_STRAIGHT); squareStageMap.UpdateSpace(i, 0, SingleSpaceType.HORIZONTAL_STRAIGHT); } squareStage.Boundary = squareStageMap; Stage crossStage = new Stage(); crossStage.Name = "Cross"; crossStage.SpawnMultiplier = 1.2f; crossStage.CanPowerupsSpawn = true; BoundaryMap crossStageMap = new BoundaryMap(20, 20); crossStageMap.UpdateSpace(0, 5, SingleSpaceType.CORNER_3Q); crossStageMap.UpdateSpace(5, 5, SingleSpaceType.CORNER_1Q); crossStageMap.UpdateSpace(5, 0, SingleSpaceType.CORNER_3Q); crossStageMap.UpdateSpace(0, 14, SingleSpaceType.CORNER_2Q); crossStageMap.UpdateSpace(5, 14, SingleSpaceType.CORNER_4Q); crossStageMap.UpdateSpace(5, 19, SingleSpaceType.CORNER_2Q); crossStageMap.UpdateSpace(19, 14, SingleSpaceType.CORNER_1Q); crossStageMap.UpdateSpace(14, 14, SingleSpaceType.CORNER_3Q); crossStageMap.UpdateSpace(14, 19, SingleSpaceType.CORNER_1Q); crossStageMap.UpdateSpace(19, 5, SingleSpaceType.CORNER_4Q); crossStageMap.UpdateSpace(14, 5, SingleSpaceType.CORNER_2Q); crossStageMap.UpdateSpace(14, 0, SingleSpaceType.CORNER_4Q); crossStage.Boundary = crossStageMap; for (int i = 6; i < 14; i++) { crossStageMap.UpdateSpace(0, i, SingleSpaceType.VERTICAL_STRAIGHT); crossStageMap.UpdateSpace(19, i, SingleSpaceType.VERTICAL_STRAIGHT); crossStageMap.UpdateSpace(i, 0, SingleSpaceType.HORIZONTAL_STRAIGHT); crossStageMap.UpdateSpace(i, 19, SingleSpaceType.HORIZONTAL_STRAIGHT); } for (int i = 1; i < 5; i++) { crossStageMap.UpdateSpace(i, 5, SingleSpaceType.HORIZONTAL_STRAIGHT); crossStageMap.UpdateSpace(5, i, SingleSpaceType.VERTICAL_STRAIGHT); crossStageMap.UpdateSpace(i + 14, 5, SingleSpaceType.HORIZONTAL_STRAIGHT); crossStageMap.UpdateSpace(14, i, SingleSpaceType.VERTICAL_STRAIGHT); crossStageMap.UpdateSpace(i, 14, SingleSpaceType.HORIZONTAL_STRAIGHT); crossStageMap.UpdateSpace(5, i + 14, SingleSpaceType.VERTICAL_STRAIGHT); crossStageMap.UpdateSpace(i + 14, 14, SingleSpaceType.HORIZONTAL_STRAIGHT); crossStageMap.UpdateSpace(14, i + 14, SingleSpaceType.VERTICAL_STRAIGHT); } defaults.Add(squareStage); defaults.Add(crossStage); return(defaults); }