Browse Source

Return False: Solid Collision Between Actors

* Implement the handler code for `return false` when actors are
  colliding with each other and wish to act like solid walls.
* The locked doors will `return false` when they're closed and the
  colliding actor does not have the matching key.
* Add arbitrary key/value storage to Actors. The colored keys will set
  an actor value "key:%TITLE%" on the one who touched the key before
  destroying itself. The colored doors check that key when touched to
  decide whether to open.
* The trapdoor now only opens if you're touching it from the top (your
  overlap box Y value is 0), but if you touch it from below and the door
  is closed, it acts like a solid object.
master
Noah Petherbridge 2 years ago
parent
commit
d10f7d190c
1 changed files with 10 additions and 0 deletions
  1. +10
    -0
      rect_test.go

+ 10
- 0
rect_test.go View File

@@ -54,6 +54,16 @@ func TestIntersection(t *testing.T) {
B: newRect(0, -240, 874, 490),
Expect: false, // XXX: must be true
},
{
A: newRect(0, 30, 9, 62),
B: newRect(16, 0, 32, 64),
Expect: false,
},
{
A: newRect(0, 30, 11, 62),
B: newRect(7, 4, 17, 28),
Expect: false,
},
}

for _, test := range tests {


Loading…
Cancel
Save