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);
                    }
                });
            }
        }
Beispiel #2
0
        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));
//			}
        }