public void OnStart(QGetContent content) { Instantiate(new CavernWallBackground()); using (var layer1 = content.Texture("map1_3").GetPartialTexture(new QRect(0, 0, 128, 128))) { QMapTools.SpawnObjects(layer1, Transform.Position, new QVec(16) * 4, (color, pos) => { if (color == new QColor(0, 150, 50)) { Instantiate(new PlayerSpawner(), pos); } if (color == QColor.Black) { Instantiate(new Spikes(), pos); } if (color == new QColor(75, 60, 45)) { Instantiate(new CavernFloorTile(), pos); } if (color == new QColor(35, 30, 20)) { Instantiate(new CavernWalls(), pos); } if (color == new QColor(255, 0, 0)) { Instantiate(new BatSpawner(), pos); } }); } }
public void OnStart(QGetContent content) { Sprite = new QSprite(this, "cavern_wall"); Sprite.Origin = new QVec(8); Sprite.Layer = 1f; Sprite.Color *= 0.4f; Transform.Scale = new QVec(4); QRect wall = Scene.MegaTexture["cavern_biome"].Split(16, 16)[1]; using (var layer2 = content.Texture("map1_3").GetPartialTexture(new QRect(0, 0, 128, 128))) { OutsideTiles = QMapTools.CreateSpriteLayer(layer2, Transform.Position, new QVec(16, 16) * Transform.Scale, color => { if (color == new QColor(60, 45, 30)) { return(wall); } return(QRect.Empty); }); InsideTiles = QMapTools.CreateSpriteLayer(layer2, Transform.Position, new QVec(16, 16) * Transform.Scale, color => { if (color == new QColor(134, 97, 61)) { return(wall); } return(QRect.Empty); }); } }
public void OnStart(QGetContent get) { Scene.SpriteRenderer.ClearColor = QColor.Black; Instantiate(new BackgroundRendering()); QMapTools.SpawnObjects(get, "biomeMapFront", QVec.Zero, new QVec(64, 64), (c, v) => { if (c == new QColor(0, 150, 50)) //player { Instantiate(new Player(), v); } else if (c == new QColor(75, 60, 45)) //ground { Instantiate(new BiomeFloor(), v); } else if (c == new QColor(35, 30, 20)) //walls { Instantiate(new BiomeWall(), v); } else if (c == new QColor(255, 0, 0)) //bats { Instantiate(new BiomeBat(), v); } }); Instantiate(new PlayerCamera()); }
public void OnStart(QGetContent content) { var cavernBiomes = content.TextureSource("cavern_biome").Split(16, 16); Sprite = new QSprite(this, cavernBiomes[0]); Sprite.Scale = QVec.One * 4; BackgroundTiles = QMapTools.CreateSpriteLayer(content, "biomeMapBack", QVec.Zero, QVec.One * 64, c => { if (c == new QColor(60, 45, 30)) { return(cavernBiomes[1]); } return(QRect.Empty); }); LevelTiles = QMapTools.CreateSpriteLayer(content, "biomeMapBack", QVec.Zero, QVec.One * 64, c => { if (c == new QColor(134, 97, 61)) { return(cavernBiomes[1]); } return(QRect.Empty); }); // tiles = QMapTools.CreateSpriteLayer(content, "biomeMapBack", QVec.Zero, QVec.One * 64, c => // { // if(c == new QColor(60, 45, 30)) // { // return cavernBiomes[1]; // } // if(c == new QColor(134, 97, 61)) // { // return cavernBiomes[1]; // } // return QRect.Empty; // }); // // var b = content.Texture("biomeMapBack").Bounds; // //quad = new QQuad(new QRect(0,0, b.Width * 64, b.Height * 64)); // quad = new QQuad(new QRect(0,0, b.Width * 64, b.Height * 64)); // // for(int i = 0; i < tiles.Count; i++) // { // quad.Insert(new QRect(tiles[i].Position, tiles[i].Source.Size)); // } }