From 3cf42a3c8332f67f4e0b5d3d0168a608b3914e88 Mon Sep 17 00:00:00 2001 From: Solargale Date: Wed, 1 Jul 2020 10:37:52 -0600 Subject: [PATCH] Going to start using Wang tiles --- Collector/Content/31-8x.png | Bin 0 -> 260 bytes Collector/Content/BlockGrass.png | Bin 2434 -> 445 bytes Collector/Content/BlockGrassBorder.png | Bin 0 -> 186 bytes Collector/Content/Border.png | Bin 0 -> 96 bytes Collector/Content/Palette.aseprite | Bin 0 -> 568 bytes Collector/Content/Wang/Grass.png | Bin 0 -> 5223 bytes Collector/Content/bkd32.ase | Bin 0 -> 568 bytes Collector/Main.cs | 21 ++++++++---------- Collector/src/Character/InputController.cs | 13 ++++++----- Collector/src/Character/Inventory.cs | 6 ++++- Collector/src/Character/Player.cs | 10 ++++----- .../Dimension/{Autotiling.cs => WangTile.cs} | 2 +- .../src/Dimension/{Chunks.cs => World.cs} | 15 ++++--------- Collector/src/Dimension/WorldRenderer.cs | 16 ++++++------- Collector/src/UI/GUI.cs | 8 ++++--- 15 files changed, 44 insertions(+), 47 deletions(-) create mode 100644 Collector/Content/31-8x.png create mode 100644 Collector/Content/BlockGrassBorder.png create mode 100644 Collector/Content/Border.png create mode 100644 Collector/Content/Palette.aseprite create mode 100644 Collector/Content/Wang/Grass.png create mode 100644 Collector/Content/bkd32.ase rename Collector/src/Dimension/{Autotiling.cs => WangTile.cs} (65%) rename Collector/src/Dimension/{Chunks.cs => World.cs} (95%) diff --git a/Collector/Content/31-8x.png b/Collector/Content/31-8x.png new file mode 100644 index 0000000000000000000000000000000000000000..f5e4d3877d06afd987f9af973cc000507d65de26 GIT binary patch literal 260 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 A-~a#s diff --git a/Collector/Content/BlockGrassBorder.png b/Collector/Content/BlockGrassBorder.png new file mode 100644 index 0000000000000000000000000000000000000000..bc7d35eeb4e6bcef4257bc2534c7072e2045f16e GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}C7v#hArY-_ zFKiTSP~d5O_{6Vli_@% literal 0 HcmV?d00001 diff --git a/Collector/Content/Border.png b/Collector/Content/Border.png new file mode 100644 index 0000000000000000000000000000000000000000..7244b37f5c785d78eee7767f9a4aa6bef3263b07 GIT binary patch literal 96 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 literal 0 HcmV?d00001 diff --git a/Collector/Content/bkd32.ase b/Collector/Content/bkd32.ase new file mode 100644 index 0000000000000000000000000000000000000000..a28fe226f8d88d276c56247ccf0adddcf35c3f76 GIT binary patch literal 568 zcmcJNze@s99Khd+N8ysyS%^bdE-ft%SBJAYr@G|uP%Xear zM#Y%hku~>~GHf&&&~;tC%2~W}!#3yO5S)N~+6kwcWO|8}QZlPP38bzVqKhbs$f1Q0 zDoDVO95Y&+2(h7>5R*Od>+VQUJ{3=A)>byxx3W&0Z`1BA(EI_tA^$-BER%8;m(xp` h_txuk`|0gv)Nc)q3 Materials { get; } = new Dictionary(); @@ -43,7 +43,6 @@ namespace Collector protected override void Initialize() { - // TODO: Add your initialization logic here _gui = new Gui(_desktop); base.Initialize(); @@ -57,16 +56,16 @@ namespace Collector _virtualHeight = GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height; var viewportAdapter = new BoxingViewportAdapter(Window, GraphicsDevice, _virtualWidth, _virtualHeight); - _chunks = new Chunks(); - Player1 = new Player(0, 0, _chunks); + _world = new World(); + Player1 = new Player(0, 0, _world); _cam = new OrthographicCamera(viewportAdapter); _cam.LookAt(new Vector2(Player.X, Player.Y)); _cam.Zoom = IRestrictions.Zoom; _spriteBatch = new SpriteBatch(GraphicsDevice); _playerMouse = new PlayerMouse(Content, _spriteBatch, _cam); - _inputController = new InputController(_cam, _spriteBatch, Content, this,_chunks,Player1); - WorldRenderer = new WorldRenderer(_playerMouse, _inputController, _spriteBatch, this,_chunks); + _inputController = new InputController(_cam, _spriteBatch, Content, this,_world,Player1,_playerMouse); + WorldRenderer = new WorldRenderer(_playerMouse, _inputController, _spriteBatch, this,_world); } protected override void LoadContent() @@ -74,17 +73,16 @@ namespace Collector base.LoadContent(); MyraEnvironment.Game = this; - _gui.LoadGUI(); + _gui.LoadGui(); } protected override void Update(GameTime gameTime) { - // TODO: Add your update logic here/* base.Update(gameTime); - _chunks.LoadChunks(); - _chunks.UnloadChunks(); - _gui.Update(); + _world.LoadChunks(); + _world.UnloadChunks(); + Gui.Update(); } public void Quit() @@ -94,7 +92,6 @@ namespace Collector protected override void Draw(GameTime gameTime) { - // TODO: Add your drawing code here var transformMatrix = _cam.GetViewMatrix(); base.Draw(gameTime); GraphicsDevice.Clear(Color.CornflowerBlue); diff --git a/Collector/src/Character/InputController.cs b/Collector/src/Character/InputController.cs index d13d49b..1508f04 100644 --- a/Collector/src/Character/InputController.cs +++ b/Collector/src/Character/InputController.cs @@ -18,19 +18,20 @@ namespace Collector.Character private int _frameNumber; private float _timeSinceLastFrame; private readonly Main _main; - private readonly Chunks _chunks; + private readonly World _world; private readonly Player _player; + private readonly PlayerMouse _playerMouse; - - public InputController(OrthographicCamera cam, SpriteBatch spriteBatch, ContentManager contentManager, Main main, Chunks chunks, Player player) + public InputController(OrthographicCamera cam, SpriteBatch spriteBatch, ContentManager contentManager, Main main, World world, Player player, PlayerMouse playerMouse) { Input = "Down"; _cam = cam; _spriteBatch = spriteBatch; _main = main; - _chunks = chunks; + _world = world; _player = player; + _playerMouse = playerMouse; _frameNumber = 0; _texture = contentManager.Load("man"); const int tileSize = 32; @@ -169,7 +170,7 @@ namespace Collector.Character } if (mouseState.LeftButton == ButtonState.Pressed) { - _chunks.RemoveBlock(PlayerMouse.GetSelectedX(),PlayerMouse.GetSelectedY()); + _world.RemoveBlock(PlayerMouse.GetSelectedX(),PlayerMouse.GetSelectedY()); } if (mouseState.RightButton == ButtonState.Pressed) { @@ -179,7 +180,7 @@ namespace Collector.Character private void PlaceSelectedBlock(Blocks selectedItem) { - _chunks.PlaceBlock(PlayerMouse.GetSelectedX(), PlayerMouse.GetSelectedY(), selectedItem); + _world.PlaceBlock(PlayerMouse.GetSelectedX(), PlayerMouse.GetSelectedY(), selectedItem); } private void UpdateAnimationFrame(GameTime gameTime) diff --git a/Collector/src/Character/Inventory.cs b/Collector/src/Character/Inventory.cs index 55c0dbe..6160b0f 100644 --- a/Collector/src/Character/Inventory.cs +++ b/Collector/src/Character/Inventory.cs @@ -8,7 +8,11 @@ public class Inventory { public static Blocks GetSelectedItem() { - return (Blocks) Gui._combo.SelectedIndex.Value; + if (Gui._combo.SelectedIndex != null) return (Blocks) Gui._combo.SelectedIndex.Value; + else + { + return Blocks.BlockAir; + } } public LinkedList GetInventory() { diff --git a/Collector/src/Character/Player.cs b/Collector/src/Character/Player.cs index dcd7f5d..356daff 100644 --- a/Collector/src/Character/Player.cs +++ b/Collector/src/Character/Player.cs @@ -11,26 +11,26 @@ namespace Collector.Character public static float X { get; private set; } public static float Y { get; private set; } private RectangleF _playerBounds; - private Chunks _chunks { get; } + private World World { get; } - public Player(int x, int y, Chunks chunks) + public Player(int x, int y, World world) { X = x; Y = y; - _chunks = chunks; + World = world; _playerBounds = new RectangleF(x, y, IRestrictions.TileSize * 0.5f, IRestrictions.TileSize * 0.35f); } public void Move(OrthographicCamera cam, float x, float y) { Teleport(cam, x, 0); - if (_chunks.LoadedCollisions.Values.Any(collisionsValue => collisionsValue.Rectangle.Intersects(_playerBounds))) + if (World.LoadedCollisions.Values.Any(collisionsValue => collisionsValue.Rectangle.Intersects(_playerBounds))) { Teleport(cam, -x, 0); } Teleport(cam, 0, y); - if (_chunks.LoadedCollisions.Values.Any(collisionsValue => collisionsValue.Rectangle.Intersects(_playerBounds))) + if (World.LoadedCollisions.Values.Any(collisionsValue => collisionsValue.Rectangle.Intersects(_playerBounds))) { Teleport(cam, 0, -y); } diff --git a/Collector/src/Dimension/Autotiling.cs b/Collector/src/Dimension/WangTile.cs similarity index 65% rename from Collector/src/Dimension/Autotiling.cs rename to Collector/src/Dimension/WangTile.cs index 52f44e7..0365edf 100644 --- a/Collector/src/Dimension/Autotiling.cs +++ b/Collector/src/Dimension/WangTile.cs @@ -1,6 +1,6 @@ namespace Collector.Dimension { - public class Autotiling + public class WangTile { } diff --git a/Collector/src/Dimension/Chunks.cs b/Collector/src/Dimension/World.cs similarity index 95% rename from Collector/src/Dimension/Chunks.cs rename to Collector/src/Dimension/World.cs index 4c70b94..671bd8f 100644 --- a/Collector/src/Dimension/Chunks.cs +++ b/Collector/src/Dimension/World.cs @@ -7,7 +7,7 @@ using Collector.ThirdPartyCode; namespace Collector.Dimension { - public class Chunks + public class World { public Dictionary, Blocks> LoadedChunks { get; } = new Dictionary, Blocks>(); private readonly Dictionary, Blocks> _savedChunks = new Dictionary, Blocks>(); @@ -66,13 +66,6 @@ namespace Collector.Dimension ); } } - public void CreateStructures() { - const int i = 10; - SetBlock(3 + i, 2,1,Blocks.BlockWall); - SetBlock(4 + i, 2,1,Blocks.BlockWall); - SetBlock(3 + i, 3,1, Blocks.BlockRoof); - SetBlock(4 + i, 3,1,Blocks.BlockRoof); - } private void SetBlock(int x, int y, int z, Blocks name) { @@ -109,7 +102,7 @@ namespace Collector.Dimension _savedChunks[tuple] = Blocks.BlockAir; } - public void UngenerateChunk(float x, float y) { + private void UngenerateChunk(float x, float y) { var startX = (int)x << IRestrictions.ChunkShift; var startY = (int)y << IRestrictions.ChunkShift; var endX = startX + IRestrictions.ChunkSize; @@ -125,7 +118,7 @@ namespace Collector.Dimension } } - public void GenerateChunk(float x, float y) { + private void GenerateChunk(float x, float y) { var startX = (int)x << IRestrictions.ChunkShift; var startY = (int)y << IRestrictions.ChunkShift; var endX = startX + IRestrictions.ChunkSize; @@ -252,7 +245,7 @@ namespace Collector.Dimension return moisture < 0.66 ? "TropicalSeasonalForest" : "TropicalRainForest"; } - public bool IsEmpty(float x, float y){ + private bool IsEmpty(float x, float y){ return !LoadedChunks.ContainsKey(new Tuple((int)x * 8, (int)y * 8,0)); } } diff --git a/Collector/src/Dimension/WorldRenderer.cs b/Collector/src/Dimension/WorldRenderer.cs index 3ec46c4..ac4de76 100644 --- a/Collector/src/Dimension/WorldRenderer.cs +++ b/Collector/src/Dimension/WorldRenderer.cs @@ -11,26 +11,26 @@ namespace Collector.Dimension private readonly InputController _inputController; private readonly SpriteBatch _spriteBatch; private readonly Main _main; - private readonly Chunks _chunks; + private readonly World _world; - public WorldRenderer(PlayerMouse playerMouse, InputController inputController, SpriteBatch spriteBatch, Main main, Chunks chunks) + public WorldRenderer(PlayerMouse playerMouse, InputController inputController, SpriteBatch spriteBatch, Main main, World world) { _playerMouse = playerMouse; _inputController = inputController; _spriteBatch = spriteBatch; _main = main; - _chunks = chunks; - _chunks.Impassable.Add(Blocks.BlockWater); - _chunks.Impassable.Add(Blocks.BlockRoof); - _chunks.Impassable.Add(Blocks.BlockWall); + _world = world; + _world.Impassable.Add(Blocks.BlockWater); + _world.Impassable.Add(Blocks.BlockRoof); + _world.Impassable.Add(Blocks.BlockWall); } private void DrawWorld(SpriteBatch batch, int layer) { - foreach (var chunkpair in _chunks.LoadedChunks.Keys.Where(chunkpair => layer==chunkpair.Item3)) + foreach (var chunkpair in _world.LoadedChunks.Keys.Where(chunkpair => layer==chunkpair.Item3)) { batch.Draw( - Main.Materials[_chunks.LoadedChunks[chunkpair]], + Main.Materials[_world.LoadedChunks[chunkpair]], new Rectangle( chunkpair.Item1, chunkpair.Item2, diff --git a/Collector/src/UI/GUI.cs b/Collector/src/UI/GUI.cs index 240c498..4f21eda 100644 --- a/Collector/src/UI/GUI.cs +++ b/Collector/src/UI/GUI.cs @@ -16,7 +16,7 @@ namespace Collector.UI _desktop = desktop; } - public void LoadGUI() + public void LoadGui() { var grid = new Grid { @@ -49,6 +49,8 @@ namespace Collector.UI _combo.Items.Add(new ListItem(name.ToString(), Color.White)); } + _combo.SelectedItem = _combo.Items[2]; + grid.Widgets.Add(_combo); @@ -67,7 +69,7 @@ namespace Collector.UI }; } - private Grid InventoryGrid() + private static Grid InventoryGrid() { var textBox1 = new TextBox {AcceptsKeyboardFocus = true}; var checkBox1 = new CheckBox {Text = "Item1", GridRow = 1, AcceptsKeyboardFocus = false}; @@ -123,7 +125,7 @@ namespace Collector.UI return grid1; } - public void Update() + public static void Update() { }