Esempio n. 1
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 public Stage()
 {
     boundary         = new BoundaryMap(0, 0);
     spawnMultiplier  = 1.2f;
     canPowerupsSpawn = true;
     name             = "emptyStage";
 }
Esempio n. 2
0
 /// <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");
 }
Esempio n. 3
0
 /// <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();
 }
Esempio n. 4
0
 /// <summary>
 /// Setter for the boundary map.
 /// </summary>
 /// <param name="map">New BoundaryMap.</param>
 public void SetMap(BoundaryMap map)
 {
     this.map = new BoundaryMap(map);
     DisplayMap();
 }
Esempio n. 5
0
 /// <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);
    }