Game
These functions relate to the game as a whole, rather than any particular entity or player. There are functions related to the different phases of each tick, as well as functions to get information about the game itself.
See also: Anatomy of a Tick
TicksPerSecond
TicksPerSecond -> number
Returns 60, the number of ticks per second.
AfterPhysics
await AfterPhysics(interval?)
Sleeps for interval ticks, then wakes up at the beginning of the next AfterPhysics phase.
interval(Number): The number of ticks to sleep.
AfterReap
await AfterReap(interval?)
Sleeps for interval ticks, then wakes up at the beginning of the next AfterReap phase.
interval(Number): The number of ticks to sleep.
AfterTick
await AfterTick(interval?)
Sleeps for interval ticks, then wakes up at the beginning of the next AfterTick phase.
interval(Number): The number of ticks to sleep.
BeforePhysics
await BeforePhysics(interval?)
Sleeps for interval ticks, then wakes up at the beginning of the next BeforePhysics phase.
interval(Number): The number of ticks to sleep.
BeforeReap
await BeforeReap(interval?)
Sleeps for interval ticks, then wakes up at the beginning of the next BeforeReap phase.
interval(Number): The number of ticks to sleep.
BeforeTick
await BeforeTick(interval?)
Sleeps for interval ticks, then wakes up at the beginning of the next BeforeTick phase.
interval(Number): The number of ticks to sleep.
GameStartTimestamp
GameStartTimestamp -> timestamp
Returns a timestamp representing the date and time the current game started.
InPageMode
InPageMode -> boolean
Returns true if the entrypoint function was a page fn,
or false if it was a game fn.
Paint
await Paint(interval?)
Sleeps for interval ticks, then wakes up at the beginning of the next Paint phase.
interval(Number): The number of ticks to sleep.
ProjectName
ProjectName -> string
Returns the name of the project, according to its easel.toml file.
RemixIntent
RemixIntent -> intent
Returns an Intent to take the user to the game editor where they can create their own version of this game. Intents can be triggered by a button Button press.
Remixing is an essential part of the Easel culture - it is easier for people to learn to code when they can tinker with a game they already know and love.
ShareIntent
ShareIntent(page?) -> intent
Returns an Intent to share your game with other people. Intents can be triggered by a button Button press.
page(Intent): If provided, links to a particular page of your game. Otherwise, shares the home page of your game. Only apage fnintent is supported.
Example:
pub page fn owner.HomePage() {
Content {
Link(ShareIntent) { "Share this game!" }
Link(ShareIntent(LeaderboardPage)) { "Share the leaderboard!" }
}
}
pub page fn owner.LeaderboardPage() { }
Tick
await Tick(interval?)
Sleeps for interval ticks, then wakes up at the beginning of the next Tick phase.
interval(Number): The number of ticks to sleep.
Tick -> number
Returns the current tick number.