//Read in collision map data public void mapCollisions(String cMap) { String[] blocks = cMap.Split(','); int p = 0,x = 0,y = 0; while (x < mapSize.X) { y = 0; while (y < mapSize.Y) { //This should eventually change to only cover stuff that causes replacements (e.g. a 1 might denote player 1, and should actually be a 0 in //the map.) Everything else will simply be parsed as an int. //Air /*if (blocks[p] == "0") { collisionMap[x, y] = 0; } //Kill zone else if (blocks[p] == "5") { collisionMap[x, y] = 5; } //Solid block else if (blocks[p] == "10") { collisionMap[x, y] = 10; } //Ice block else if (blocks[p] == "11") { collisionMap[x, y] = 11; }*/ if (blocks[p] == "1" || blocks[p] == "2" || blocks[p] == "3" || blocks[p] == "4") { playerStarts[int.Parse(blocks[p]) - 1] = new Vector2(x * 32, y * 32); } if (blocks[p] == "30") { Powerup item = new Powerup(new Rectangle(x * 32, y * 32, 32, 32)); powerupList.Add(item); } else collisionMap[x, y] = int.Parse(blocks[p]); y += 1; p += 1; } x += 1; } }