public ChunkC GenerateChunk(int x,int y) { ChunkC chunk = new ChunkC(x,y,diameter,numComponentsPerBlock); object[] comp = new object[numBlocks*numComponentsPerBlock]; var rand = new Random(); float increament = 0.01f; float decemalW = (x/(diameter*Grid.gridPixelSize)) * ((diameter-1) +(diameter*increament)); float decemalH = (y / (diameter * Grid.gridPixelSize)) * ((diameter - 1) + (diameter * increament)); for (int h = 0; h < diameter; h++) { decemalH += increament; for (int w = 0; w < diameter; w++) { decemalW += increament; Double n = PerlinNoise.OctavePerlin((decemalW) *5 ,(decemalH)*5, 0, 1, 1) * 255;; if (n < 150 && h > 5) { Body b = BodyFactory.CreateRectangle(entityController.physicsWorld, ConvertUnits.ToSimUnits(Grid.gridPixelSize), ConvertUnits.ToSimUnits(Grid.gridPixelSize), 1,ConvertUnits.ToSimUnits(new Vector2(w * Grid.gridPixelSize + chunk.bounds.X, h * Grid.gridPixelSize + chunk.bounds.Y)), 0, BodyType.Static); b.Friction = 0.5f; b.Restitution = 0; comp[((w + (h * diameter)) * numComponentsPerBlock)] = new TextureC(ChunkSystem.texture); } } decemalW = (x / (diameter * Grid.gridPixelSize)) * ((diameter - 1) + (diameter * increament)); } chunk.Blocks = comp; int cX = (int)((x / (diameter * Grid.gridPixelSize))); int cY = (int)((y / (diameter * Grid.gridPixelSize))); chunks.Add(new Vector2(cX, cY),chunk); return chunk; }
public static void AttachButton(Texture2D texture, Vector2 pos, Vector2 scale) { if (panel == null) { throw new UIException("Complete called before Begin"); } TextureC textureC = new TextureC(texture); entityGroup.Add(entityController.CreateEntity(textureC, new TransformC(pos, scale), new UIC(), new ButtonC(textureC, test, new Rectangle(pos.ToPoint(), new Point((int)(texture.Width * scale.X), (int)(texture.Height * scale.Y)))))); }
public void ProcessEntity() { foreach (Entity e in compatableEntitys) { TextureC Texture = e.GetComponent <TextureC>(); TransformC Pos = e.GetComponent <TransformC>(); if (e.Active) { spriteBatch.Draw(Texture, new Rectangle((int)Pos.Position.X, (int)Pos.Position.Y, (int)(Texture.Texture.Width * Pos.Scale.X), (int)(Texture.Texture.Height * Pos.Scale.Y)), null, Color.White, 0, Vector2.Zero, SpriteEffects.None, 0f); } } }
public void ProcessEntity() { foreach (Entity e in compatableEntitys) { TextureC = e.GetComponent <TextureC>(); Texture = TextureC.Texture; Transform = e.GetComponent <TransformC>(); float width = Texture.Width * Transform.Scale.X; float height = Texture.Height * Transform.Scale.Y; spriteBatch.Draw(Texture, new Rectangle((int)Transform.Position.X, (int)Transform.Position.Y, (int)width, (int)height), Color.White); } }
public void ProcessEntity() { object[] components = chunkBeingProcessed.Blocks; for (int h = 0; h < diameter; h++) { for (int w = 0; w < diameter; w++) { TextureC texture = ((TextureC)components[w + (h*diameter)]); if(texture != null) chunkSpriteBatch.Draw(ChunkSystem.texture, new Rectangle(w * Grid.gridPixelSize + chunkBeingProcessed.bounds.X, h * Grid.gridPixelSize + chunkBeingProcessed.bounds.Y, Grid.gridPixelSize, Grid.gridPixelSize), Color.White); } } }
public void ProcessEntity() { //Console.WriteLine(compatableEntitys.Count); foreach (Entity e in compatableEntitys) { TextureC Texture = e.GetComponent <TextureC>(); TransformC Transform = e.GetComponent <TransformC>(); BackGroundC backGround = e.GetComponent <BackGroundC>(); Vector2 Position = new Vector2(Transform.Position.X + (camera.matrix.Translation.X * backGround.moveRatio), Transform.Position.Y); float width = Texture.Texture.Width * Transform.Scale.X; float height = Texture.Texture.Height * Transform.Scale.Y; if (graphicsDevice.Viewport.Bounds.Contains(Transform.Position.X + (camera.matrix.Translation.X * -backGround.moveRatio) + width + 50, 0) && !backGround.leftNeighbour) { entityController.CreateEntityDelayed(Texture, new TransformC(new Vector2(Transform.Position.X + width, Transform.Position.Y), new Vector2(3, 3)), new BackGroundC(backGround.moveRatio)); backGround.leftNeighbour = true; } spriteBatch.Draw(Texture.Texture, new Rectangle((int)Position.X, (int)Position.Y, (int)width, (int)height), Color.White); } }