811df57950
Make new IWorld interface.
2020-07-15 11:33:59 -04:00
fccca0c676
bound camera y-position by world & change dynamics slightly
2020-03-24 15:05:53 -04:00
e0d5385350
camera now tracks player y-position too
2020-03-24 14:41:07 -04:00
393e9d14b9
Player: track position with a Vector2.
...
Fixes #10 (mostly).
2020-03-11 16:04:22 -04:00
dfb80c9fde
NPC: Position is now a Vector2, not a Point
2020-03-11 15:07:00 -04:00
4346f20024
remove World.TileSize constant
2020-03-11 11:01:34 -04:00
a4802031d5
World: load size directly from JSON.
2020-03-10 17:32:33 -04:00
b85661e2c4
add support for 8x8 obstacles
2020-03-10 17:10:09 -04:00
8f79bb8680
add a little screen-shake
2020-03-10 15:04:41 -04:00
37c679b704
move Camera into World
2020-03-10 14:38:08 -04:00
4870964cc5
attach LinesOfSight to the first NPC
2020-03-09 12:41:07 -04:00
66ce866b12
move LinesOfSight into World
2020-03-09 12:19:19 -04:00
3fc8b49636
World: move Tile to bottom of file
2020-03-09 11:48:22 -04:00
bb910fbe58
World: rearrange a bunch of code to be in a more sensible order
2020-03-08 18:58:52 -04:00
36e70989af
rename "tiles" to "obstacles"
2020-03-08 18:36:42 -04:00
fa4784fc49
IsHarmful -> IsHazard
2020-03-08 18:30:46 -04:00
299ab41ec2
add hazards layer
2020-03-08 18:27:20 -04:00
9aa0d05eb2
add the background layer
2020-03-08 17:43:11 -04:00
5121f6d775
World: load levels by parsing a JSON level description.
2020-03-08 17:23:51 -04:00
0a37453dbd
switch to sourcing all tiles from Grassland
2020-03-06 19:01:48 -05:00
0f8d9c2814
FSM / Player / NPCs now get World as an argument to Update()
2020-03-06 12:28:58 -05:00
08091106ea
Terrain: use optional arguments for IsObstacle / IsHarmful
2020-03-06 12:02:41 -05:00
b2583677bf
Terrain now takes an IsHarmful param in constructor.
2020-03-06 11:44:43 -05:00
53c6d8483f
include multiple NPCs, have them turn around based on platforms.
2020-03-05 16:17:57 -05:00
4299a009b7
use auto property
2020-03-03 13:08:51 -05:00
d270efe643
move Player into World
2020-03-03 13:04:29 -05:00
02b1dd4874
Add simple NPC.
...
GitOrigin-RevId: 47cd7abaf80d7ced14d0b4b92390c8c0edddae1c
2020-02-28 17:13:52 -05:00
f4581ecaf8
Player now takes damage from spikes.
...
GitOrigin-RevId: e9096316218f2590aac74ce1055a0829f71bdff8
2020-02-27 19:13:59 -05:00
0a64d17db5
fix lint errors
...
GitOrigin-RevId: 5de396b25947e1de5bea55ecc32bacc59e5b336d
2020-02-25 19:19:10 -05:00
ed7afd2fa1
TextureRef: make Get a property rather than a function
...
GitOrigin-RevId: a36369c33b0c23859768c7bd7b1548b7d834cbb3
2020-02-20 16:39:38 -05:00
e72b8999e4
Make TextureRef class for holding textures.
...
Use it in World so that all Terrain-specific configuration can be specified in
one place.
GitOrigin-RevId: 31acf292ae6e438f609a7396e78555e1db9b744e
2020-02-20 16:37:52 -05:00
0ee671c8b1
fix how the first line of World is parsed
...
GitOrigin-RevId: 9409e491fd04067af750333b693d0f992bf6315d
2020-02-20 13:37:32 -05:00
c4e211e750
more level decorations
...
GitOrigin-RevId: b6446a7451f877fc7c46a35a49d450dd1f3b9c26
2020-02-20 13:37:28 -05:00
f1b71ca87d
Tiles can now be obstacles (in the foreground) or decorations (in the background).
...
Updated Levels to show off some of these.
GitOrigin-RevId: d8d04410c15dd36218d5a1504dd842827082180f
2020-02-20 12:26:47 -05:00
0df153581c
Add new terrain types to World
...
GitOrigin-RevId: ab811a1b52ea011a7acea078ec6e78735a298d59
2020-02-19 15:07:48 -05:00
57d15cbbd9
Load all textures & fonts in one place.
...
GitOrigin-RevId: 076c86b24f4e4e314a52457a01d5c77e197a2fa2
2020-02-19 11:20:20 -05:00
8f5514b776
More refactoring of Tile loading.
...
GitOrigin-RevId: 96a697bc78cdaefc874b9eb7b9d4cca28efe27f2
2020-02-18 16:50:47 -05:00
2934296649
Refactor tile creation to support assets from multiple tilesets.
...
GitOrigin-RevId: 9863c368214536e09009e27dcb68b8d42f3d04f0
2020-02-18 15:24:49 -05:00
02aba3ad84
Game objects now take in a ContentManager & load their own textures.
...
GitOrigin-RevId: 4f40548d9f100f4bad181a59f4df44397f7ccf76
2020-02-18 13:58:04 -05:00
ff0c9ddc26
Add a transformation matrix to spriteBatch.Draw().
...
Instead of having every drawable object know how to transform itself based on
the camera position, we pass in a transformation matrix to spriteBatch.Draw().
Unfortunately MonoGame only lets us specify a translation that works over an
entire SpriteBatch.Begin() call, so we need to begin & end separately for
objects that *aren't* supposed to translate at the same rate as the camera.
Fixes #39 .
GitOrigin-RevId: afab72c39236b1b46fe1597412209981ddae9c7c
2020-02-13 14:54:46 -05:00
80746ecaed
Use world definition from Levels file
...
GitOrigin-RevId: a5d19f4f0828bb52989b12590d6e364d0edd918b
2020-02-13 14:54:38 -05:00
1f7da03515
make char-to-terrain lookup dictionary-based instead of switch-based
...
GitOrigin-RevId: 0d81e95bf047fab204bff8cf46ece2ab5470bf09
2020-02-13 14:53:54 -05:00
b731e1a785
make tile-texture lookup dictioanry-based instead of switch-based
...
GitOrigin-RevId: 2f0c215bf9e79e92f2c7a5011d8df3d9d80a0dff
2020-02-13 14:53:50 -05:00
3286db1c86
remove Terrain.Empty and clean up TextureSource() switch statement
...
GitOrigin-RevId: 7de691a440982a027898b123b864ff202ae68ea5
2020-02-13 14:53:43 -05:00
f7f7d5076e
Pre-compute texture-source Rectangles.
...
Fixes #14 .
GitOrigin-RevId: e09d86a099ac9274a4f3b7dcac9a2222b461dcea
2020-02-13 14:53:39 -05:00
1fd515070d
make it possible for new sprite to hit the right end of world
...
GitOrigin-RevId: 95f7abdea1ea08b61aaf43a010e2c891cef5ead9
2020-02-13 14:53:23 -05:00
57b65f559c
rename Aabb -> AABB
...
GitOrigin-RevId: 37b49d7a3ff2b4d0cf3e14e4339316bc72e2785e
2020-02-13 14:53:19 -05:00
10453ee5ea
World: add Height property (in pixels)
...
GitOrigin-RevId: 0ae9f03f8e43ee31d42d3393b51c34d0fcd58db5
2020-02-13 14:53:03 -05:00
bb8cf9e63b
make CollisionTargets an auto property
...
GitOrigin-RevId: ca7bf8f68bdc9cacef191cff5efe930ca7942b34
2020-02-13 14:52:59 -05:00
76dbdc6913
Bound camera by right edge of World.
...
Fixes #32 .
GitOrigin-RevId: e193c89509be035d5f6e899cd8c33ff2534a777f
2020-02-13 14:52:55 -05:00