doodle/docs/Shell.md
Noah Petherbridge cb02feff1d Add Switches, Fire/Water Collision and Play Menu
* New doodads: Switches.
  * They come in four varieties: wall switch (background element, with
    "ON/OFF" text) and three side-profile switches for the floor, left
    or right walls.
  * On collision with the player, they flip their state from "OFF" to
    "ON" or vice versa. If the player walks away and then collides
    again, the switch flips again.
  * Can be used to open/close Electric Doors when turned on/off. Their
    default state is "off"
  * If a switch receives a power signal from another linked switch, it
    sets its own state to match. So, two "on/off" switches that are
    connected to a door AND to each other will both flip on/off when one
    of them flips.
* Update the Level Collision logic to support Decoration, Fire and Water
  pixel collisions.
  * Previously, ALL pixels in the level were acting as though solid.
  * Non-solid pixels don't count for collision detection, but their
    attributes (fire and water) are collected and returned.
* Updated the MenuScene to support loading a map file in Play Mode
  instead of Edit Mode. Updated the title screen menu to add a button
  for playing levels instead of editing them.
* Wrote some documentation.
2019-07-06 18:30:03 -07:00

1.6 KiB

Developer Console

Cheats

  • unleash the beast - disable frame rate throttling.
  • don't edit and drive - enable editing while playing a level.
  • scroll scroll scroll your boat - enable scrolling the level with arrow keys while playing a level.

Bool Props

Some boolean switches can be toggled in the command shell.

Usage: boolProp <name> <value>

The value is truthy if its first character is the letter T or the number 1. All other values are false. Examples: True, true, T, t, 1.

  • Debug or D: toggle debug mode within the app.
  • DebugOverlay or DO: toggle the debug text overlay.
  • DebugCollision or DC: toggle collision hitbox lines.

Interesting Tricks

Editable Map While Playing

In Play Mode run the command:

Command Effect
$ d.Scene.Drawing().Editable = true Can click and drag new pixels onto the level while playing it.
$ d.Scene.Drawing().Scrollable = true Arrow keys scroll the map, like in editor mode.
$ d.Scene.Drawing().NoLimitScroll = true Allow map to scroll beyond bounded limits.

The equivalent Canvas in the Edit Mode is at d.Scene.UI.Canvas

Edit Out-of-Bounds in Editor Mode

In Edit Mode run the command:

$ d.Scene.UI.Canvas.NoLimitScroll = true

and you can scroll the map freely outside of the normal scroll boundaries. For example, to see/edit pixels outside the top-left edges of bounded levels.