Libraries.Interface.Controls.Scenes.Layers.EditorLayer2D Documentation

The EditorLayer2D class is used to show and manage objects in a 2D scene. EditorLayer2D provides a 2D grid, a cursor, and a camera preview for a 2D scene. The cursor goes along the grid and allows the user to select objects and edit them in the scene. For a 2D scene the editor camera does not represent the camera visible in the scene, instead EditorLayer2D provides a preview in the form of a border showing how much of a 2D scene will be visible.

Inherits from: Libraries.Language.Object, Libraries.Game.Layer, Libraries.Game.Layer2D, Libraries.Interface.Controls.Scenes.Layers.EditorLayer

Actions Documentation

Add(integer index, Libraries.Interface.Item2D item)

This action adds an item to layer so that it gets drawn to the screen. This action also adds the item to an input group so that certain keys and events will trigger when the user interacts with the Scene Editor.

Parameters

Add(Libraries.Interface.Item2D item)

This action adds an item to layer so that it gets drawn to the screen. This action also adds the item to an input group so that certain keys and events will trigger when the user interacts with the Scene Editor.

Parameters

AddCollisionListener(Libraries.Interface.Events.CollisionListener2D listener)

AddCollisionListener will add a collision listener to this layer. The collision listener will be notified of collisions occuring on this layer, and is responsible for managing the collision events.

Parameters

AddGestureListener(Libraries.Interface.Events.GestureListener listener)

This action will add a GestureListener to the layer. When the layer receives a gesture event, it will first try to find the topmost item which can handle the event. If the event is not handled, then all GestureListeners in the layer will receive the event.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.GestureListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from GestureListener.
    GestureListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddGestureListener(myListener)
        AddLayer(layer)
    end

    action Update(number seconds)
    end

end

AddJoint(Libraries.Game.Physics.Joints.Joint2D joint)

This action will remove an Item2D at the index location from this layer's array of items, and return the item that was removed.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(circle)
        AddLayer(layer)

        Item2D item = layer:RemoveAt(0)
    end

    action Update(number seconds)
    end
end

AddMouseListener(Libraries.Interface.Events.MouseListener listener)

This action will add a MouseListener to the layer. When the layer receives a mouse event, it will first try to find the topmost item which can handle the event. If the event is not handled, then all MouseListeners in the layer will receive the event.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseListener.
    MouseListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseListener(myListener)
        AddLayer(layer)
    end

    action Update(number seconds)
    end

end

AddMouseMovementListener(Libraries.Interface.Events.MouseMovementListener listener)

This action will add a MouseMovementListener to the layer. When the layer receives a mouse event, it will first try to find the topmost item which can handle the event. If the event is not handled, then all MouseMovementListeners in the layer will receive the event.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseMovementListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseMovementListener.
    MouseMovementListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseMovementListener(myListener)
        AddLayer(layer)
    end

    action Update(number seconds)
    end

end

AddMouseWheelListener(Libraries.Interface.Events.MouseWheelListener listener)

This action will add a MouseWheelListener to the layer. When the layer receives a mouse event, it will first try to find the topmost item which can handle the event. If the event is not handled, then all MouseWheelListeners in the layer will receive the event.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseWheelListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseWheelListener.
    MouseWheelListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseWheelListener(myListener)
        AddLayer(layer)
    end

    action Update(number seconds)
    end

end

AddToFront(Libraries.Interface.Item2D item)

This action adds an item to layer so that it gets drawn to the screen. This action also adds the item to an input group so that certain keys and events will trigger when the user interacts with the Scene Editor.

Parameters

AddTouchListener(Libraries.Interface.Events.TouchListener listener)

This action will add a TouchListener to the layer. When the layer receives a touch event, it will first try to find the topmost item which can handle the event. If the event is not handled, then all TouchListeners in the layer will receive the event.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.TouchListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from TouchListener.
    TouchListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddTouchListener(myListener)
        AddLayer(layer)
    end

    action Update(number seconds)
    end

end

AutomaticallyClearForces()

This action will add a TouchListener to the layer. When the layer receives a touch event, it will first try to find the topmost item which can handle the event. If the event is not handled, then all TouchListeners in the layer will receive the event.

Return

boolean:

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.TouchListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from TouchListener.
    TouchListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddTouchListener(myListener)
        AddLayer(layer)
    end

    action Update(number seconds)
    end

end

ClearForces()

This action will remove all MouseWheelListeners from the layer.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseWheelListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseWheelListener.
    MouseWheelListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseWheelListener(myListener)
        AddLayer(layer)

        layer:EmptyMouseWheelListeners()
    end

    action Update(number seconds)
    end

end

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

Example

Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)

Draw()

This action will draw all items in this Layer on the screen (if they can be drawn and they aren't hidden). If the Layer is currently hidden, then this action will do nothing. This is automatically called by the Game class as needed. Most users will never need to use this action directly.

Empty()

This action will clear all the items in this layer.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(circle)
        AddLayer(layer)

        layer:Empty()
    end

    action Update(number seconds)
    end
end

EmptyMouseListeners()

This action will remove all MouseListeners from the layer.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseListener.
    MouseListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseListener(myListener)
        AddLayer(layer)

        layer:EmptyMouseListeners()
    end

    action Update(number seconds)
    end

end

EmptyMouseMovementListeners()

This action will remove all MouseMovementListeners from the layer.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseMovementListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseMovementListener.
    MouseMovementListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseMovementListener(myListener)
        AddLayer(layer)

        layer:EmptyMouseMovementListeners()
    end

    action Update(number seconds)
    end

end

EmptyMouseWheelListeners()

This action will remove all MouseWheelListeners from the layer.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseWheelListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseWheelListener.
    MouseWheelListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseWheelListener(myListener)
        AddLayer(layer)

        layer:EmptyMouseWheelListeners()
    end

    action Update(number seconds)
    end

end

EmptyTouchListeners()

This action will remove all TouchListeners from the layer.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.TouchListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from TouchListener.
    TouchListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddTouchListener(myListener)
        AddLayer(layer)

        layer:EmptyTouchListeners()
    end

    action Update(number seconds)
    end

end

EnablePhysics(boolean flag)

This action will remove an Item2D from the end of the array of items in the layer, and return the item that was removed.

Parameters

  • boolean flag

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(circle)
        AddLayer(layer)

        Item2D item = layer:RemoveFromEnd()
    end

    action Update(number seconds)
    end
end

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

Example

use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)

GainedSelection()

Internal action that shows the components of the editor when this layer is selected.

Get(integer index)

This action will get an Item2D stored in the layer at the given index in the layer's internal array of items.

Parameters

  • integer index: The index to retrieve an item from in the layer's array of items.

Return

Libraries.Interface.Item2D: The Item2D stored at the index in the array.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(circle)
        AddLayer(layer)

        Item2D item = layer:Get(0)
    end

    action Update(number seconds)
    end
end

GetAutomaticResizing()

This action returns whether or not the Layer will automatically respond to ResizeEvents. If this value is true, then the Layer will automatically adjust the camera and resize Items on the Layer when a ResizeEvent occurs.

Return

boolean:

GetCamera()

This action will return the camera being used by this Layer. The camera is used to determine what will be drawn on the screen. Objects will be drawn on the screen as they are seen by the Layer's set camera.

Return

Libraries.Game.Graphics.Camera: The camera currently being used by this layer.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Game.Graphics.Camera

class Main is Game

    Camera layerCamera = undefined

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layerCamera = layer:GetCamera()
        AddLayer(layer)
    end

    action Update(number seconds)
    end
end

GetCameraPitch()

This action returns the pitch of the camera in degrees.

Return

number: The pitch angle, measured in degrees.

GetCameraPreview()

This action returns the preview of 2D scene's camera. Note that the preview does represent the Editor camera, it serves to show where the camera will be when the scene is loaded in a Game.

Return

Libraries.Interface.Controls.Scenes.Items.Previews.CameraPreview2D: The CameraPreview2D this layer is using

GetCameraPreviewHeight()

GetCameraPreviewHeight returns the height of the camera preview

Return

number: height of the camera

GetCameraPreviewWidth()

GetCameraPreviewWidth returns the width of the camera preview

Return

number: width of the camera

GetCameraPreviewX()

GetCameraPreviewX returns the X position of the camera preview

Return

number: x position of the camera

GetCameraPreviewY()

GetCameraPreviewY returns the Y position of the camera preview

Return

number: y position of the camera

GetCameraRoll()

This action returns the roll of the camera in degrees.

Return

number: The roll angle, measured in degrees.

GetCameraYaw()

This action returns the yaw of the camera in degrees.

Return

number: The yaw angle, measured in degrees.

GetCameraYawPitchRoll()

This action returns the yaw, pitch, and roll of the camera as a Vector3. Each value in the Vector represents the yaw, pitch, and roll in degrees.

Return

Libraries.Compute.Vector3: Vector3 containing the value of the yaw, pitch, and roll in degrees

GetCollisionList()

This action gets the list of items on this layer that are colliding and returns it as an array.

Return

Libraries.Interface.Events.CollisionEvent2D:

GetCollisionManager()

This action gets the collision manager for this object which is responsible for managing the collisions between all colliding items on this layer.

Return

Libraries.Game.Collision.CollisionManager2D:

GetCursor()

GetCursor returns the EditorCursor this layer is using.

Return

Libraries.Interface.Controls.Scenes.Items.EditorCursor: The EditorCursor this layer has

GetFromEnd()

This action will return the item stored at the end of the layer's array of items.

Return

Libraries.Interface.Item2D: The last item in the layer's array of items.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(circle)
        AddLayer(layer)

        Item2D item = layer:GetFromEnd()
    end

    action Update(number seconds)
    end
end

GetFromFront()

This action will return the Item2D at the front of the layer's array of items. This is functionally the same as calling "Get(0)".

Return

Libraries.Interface.Item2D: The first item in the layer's array of items.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(circle)
        AddLayer(layer)

        Item2D item = layer:GetFromFront()
    end

    action Update(number seconds)
    end
end

GetGravity()

This action will remove a MouseMovementListener from the layer. The listener will no longer receive events from the layer. If the given MouseMovementListener is not on the layer before calling this action, then this action will have no effect.

Return

Libraries.Compute.Vector2:

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseMovementListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseMovementListener.
    MouseMovementListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseMovementListener(myListener)
        AddLayer(layer)

        layer:RemoveMouseMovementListener(myListener)
    end

    action Update(number seconds)
    end

end

GetGridUnitSize()

GetGridUnitSize returns the size of a single grid unit

Return

number: The size of a single grid unit

GetHashCode()

This action gets the hash code for an object.

Return

integer: The integer hash code of the object.

Example

Object o
integer hash = o:GetHashCode()

GetInterfaceScale()

Call this action if you want to manually tell the layer to turn off depth buffer sorting. This can be appropriate if all items in the layer are at the same level of depth. By default, depth buffer sorting is on.

Return

number:

GetItemWithInput(number x, number y, Libraries.Containers.Array<Libraries.Game.InputSet> inputValues)

This action finds an Item on this layer which is present at the given coordinates and will respond to at least one of the given InputSets.

Parameters

Return

Libraries.Interface.Item:

GetIterator()

This action will return an iterator of all the Item2D's stored inside this layer's array of items.

Return

Libraries.Containers.Iterator: An iterator containing all Item2D's stored in this layer.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D
use Libraries.Containers.Iterator

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Item2D item1
        Item2D item2
        Item2D item3

        Layer2D layer
        layer:Add(item1)
        layer:Add(item2)
        layer:Add(item3)
        AddLayer(layer)

        Iterator<Item2D> itemIterator = layer:GetIterator()
    end

    action Update(number seconds)
    end
end

GetName()

This action returns the name of the Layer. This is used to identify the layer, especially in the Scene system.

Return

text:

GetNearestGridCoordinate(number coordinate)

Given a number this action returns the nearest coordinate that lies on the grid of this layer.

Parameters

  • number coordinate: The number used to calculate the grid coordinate

Return

number: The nearest coordinate on the grid

GetNextGridCoordinate(number coordinate)

Given a number this action returns the nearest coordinate on the grid of this layer that is greater than the number passed.

Parameters

  • number coordinate: The number used to calculate the grid coordinate

Return

number: The next coordinate on the grid

GetPainter()

This actions sets the viewport that will be used by this Layer, and adjusts the Layer's camera to match the dimensions of the viewport.

Return

Libraries.Game.Graphics.Painter2D:

GetPreviousGridCoordinate(number coordinate)

Given a number this action returns the nearest coordinate on the grid of this layer that is less than the number passed.

Parameters

  • number coordinate: The number used to calculate the grid coordinate

Return

number: The previous coordinate on the grid

GetSceneEditor()

Returns the SceneEditor object that this layer is a part of.

Return

Libraries.Interface.Controls.Scenes.SceneEditor: The SceneEditor this layer is attached to

GetSimulationThreshold()

This action will add an Item2D to this Layer. It will be updated along with the rest of the layer, and will be drawn on the screen (if it is visible and possible to draw the given Item2D). The Item2D will be added to the back of the layer's internal array of items.

Return

number:

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        // Item2D objects aren't visible, but can still be used for game logic.
        Item2D area
        area:SetSize(50, 50)
        area:SetPosition(100, 100)

        // Drawables inherit from Item2D, so they can be added too.
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(area)
        layer:Add(circle)
        AddLayer(layer)
    end

    action Update(number seconds)
    end
end

GetSize()

This action will return the number of items that have been added to this layer.

Return

integer: The number of items stored in this layer's array of items.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Item2D item1
        Item2D item2
        Item2D item3

        Layer2D layer
        layer:Add(item1)
        layer:Add(item2)
        layer:Add(item3)
        AddLayer(layer)

        integer size = layer:GetSize()
        output "There are " + size + " items stored in the layer."
    end

    action Update(number seconds)
    end
end

GetViewportHeight()

This action will hide the Layer. This will prevent the Layer from appearing when asked to draw.

Return

integer:

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable square
        square:LoadFilledRectangle(200, 200)
        
        Layer2D layer
        layer:Add(square)

        AddLayer(layer)
        layer:Hide()
    end

    action Update(number seconds)
    end
end

GetViewportWidth()

This action will show the Layer. When Draw is called on a Layer which is showing, its items will appear on the screen. Layers begin showing by default.

Return

integer:

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable square
        square:LoadFilledRectangle(200, 200)
        
        Layer2D layer
        layer:Add(square)

        AddLayer(layer)
        layer:Hide()

        // Since layers are visible by default, it's only necessary to Show
        // them after they've been hidden.
        layer:Show()
    end

    action Update(number seconds)
    end
end

GetViewportX()

This action sets the viewport that will be used by this Layer. Anything drawn on this Layer will appear in a rectangle that begins x pixels from the left side of the screen, y pixels from the bottom, and has the given width and height in pixels.

Return

integer:

GetViewportY()

This action will return if the current layer is currently visible or not. Layers which are showing will be drawn on the screen automatically by the Game class. Layers begin showing by default.

Return

integer:

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable square
        square:LoadFilledRectangle(200, 200)
        
        Layer2D layer
        layer:Add(square)

        AddLayer(layer)

        boolean showing = layer:IsShowing()
        output "layer:IsShowing() returned " + showing

        layer:Hide()

        showing = layer:IsShowing()
        output "After calling Hide(), IsShowing() returned " + showing
    end

    action Update(number seconds)
    end
end

Hide()

This action will hide the Layer. This will prevent the Layer from appearing when asked to draw.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable square
        square:LoadFilledRectangle(200, 200)
        
        Layer2D layer
        layer:Add(square)

        AddLayer(layer)
        layer:Hide()
    end

    action Update(number seconds)
    end
end

IsColliding()

This allows us to know if collisions are on or off for the layer.

Return

boolean:

IsContinuousPhysics()

This action will add a GestureListener to the layer. When the layer receives a gesture event, it will first try to find the topmost item which can handle the event. If the event is not handled, then all GestureListeners in the layer will receive the event.

Return

boolean:

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.GestureListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from GestureListener.
    GestureListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddGestureListener(myListener)
        AddLayer(layer)
    end

    action Update(number seconds)
    end

end

IsDepthBufferSorting()

Call this action if you want to learn if depth buffer sorting is on. By default, depth buffer sorting is on.

Return

boolean:

IsEmpty()

This action will return false if there are items stored in this layer's array of items, or true if there are none.

Return

boolean: Whether or not any items are stored in this layer.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Item2D item1
        Item2D item2
        Item2D item3

        Layer2D layer
        boolean empty = layer:IsEmpty()
        output "IsEmpty() returned " + empty

        layer:Add(item1)
        layer:Add(item2)
        layer:Add(item3)

        empty = layer:IsEmpty()
        output "After adding items, IsEmpty() returns " + empty

        AddLayer(layer)            
    end

    action Update(number seconds)
    end
end

IsGridCoordinate(number value)

Returns true if the number passed would lie on the grid of this layer, false otherwise.

Parameters

  • number value

Return

boolean: True if the number is on the grid, false otherwise.

IsGridSnapping()

IsGridSnapping returns if the grid snapping is enabled which for editing 2D scene correlates with whether or not the grid is visible.

Return

boolean: True if grid snapping is enabled, false otherwise

IsShowing()

This action will return if the current layer is currently visible or not. Layers which are showing will be drawn on the screen automatically by the Game class. Layers begin showing by default.

Return

boolean:

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable square
        square:LoadFilledRectangle(200, 200)
        
        Layer2D layer
        layer:Add(square)

        AddLayer(layer)

        boolean showing = layer:IsShowing()
        output "layer:IsShowing() returned " + showing

        layer:Hide()

        showing = layer:IsShowing()
        output "After calling Hide(), IsShowing() returned " + showing
    end

    action Update(number seconds)
    end
end

IsSimulationRequired()

RemoveCollisionListener removes a collision listener to this layer. The collision listener will no longer be notified of collision events occurring on this layer. If the given listener is not a part of this layer, then this action will have no effect.

Return

boolean:

IsSubStepping()

SetColorFilter can be called using four number parameters instead of a color object. The four parameters are the red, green, blue, and opacity of the filter, respectively. All four of the parameters should be between 0 and 1, representing between 0% and 100% of that color component. For example, a value of 0 for red means that the tinting color will have no red, while a value of 1 will have all red components. An opacity of 0 is totally transparent, while an opacity of 1 will be totally visible.

Return

boolean:

IsWarmStarting()

This action will remove all MouseListeners from the layer.

Return

boolean:

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseListener.
    MouseListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseListener(myListener)
        AddLayer(layer)

        layer:EmptyMouseListeners()
    end

    action Update(number seconds)
    end

end

LostSelection()

Internal action that hides the components of the editor when this layer is deselected.

PhysicsEnabled()

This action will remove an Item2D from the front of the array of items in this layer, and return the item that was removed. This is functionally the same as calling "RemoveAt(0)".

Return

boolean: The item that was removed from the front of the layer's item array.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(circle)
        AddLayer(layer)

        Item2D item = layer:RemoveFromFront()
    end

    action Update(number seconds)
    end
end

ProcessGestureEvent(Libraries.Interface.Events.GestureEvent event)

This action will notify gesture listeners that are a part of this layer of the given gesture event. This is called automatically by the Game engine as needed. Most users will never need to use this action directly.

Parameters

Return

Libraries.Interface.Item:

ProcessMouseEvent(Libraries.Interface.Events.MouseEvent event)

This action will notify mouse listeners that are a part of this layer of the given mouse event. This is called automatically by the Game engine as needed. Most users will never need to use this action directly. This action is overridden here so that the input gets directed to the Layer2D.

Parameters

Return

Libraries.Interface.Item: The Item which intercepted the event, or undefined if no Item received the event.

ProcessTouchEvent(Libraries.Interface.Events.TouchEvent event)

This action will notify touch listeners that are a part of this layer of the given touch event. This is called automatically by the Game engine as needed. Most users will never need to use this action directly.

Parameters

Return

Libraries.Interface.Item:

ReloadControlGraphics()

Call this action if you want to learn if depth buffer sorting is on. By default, depth buffer sorting is on.

Remove(Libraries.Interface.Item2D item)

This action will remove an Item2D from this layer. If the item was not a part of this layer, this action will have no effect.

Parameters

Return

boolean: Whether or not the item was found and removed from the layer.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(circle)
        AddLayer(layer)

        layer:Remove(circle)
    end

    action Update(number seconds)
    end
end

RemoveAt(integer index)

This action will remove an Item2D at the index location from this layer's array of items, and return the item that was removed.

Parameters

  • integer index: The index to remove an item from in this layer's array of items.

Return

Libraries.Interface.Item2D: The item that was removed from the item array in the layer.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(circle)
        AddLayer(layer)

        Item2D item = layer:RemoveAt(0)
    end

    action Update(number seconds)
    end
end

RemoveCollisionListener(Libraries.Interface.Events.CollisionListener2D listener)

RemoveCollisionListener removes a collision listener to this layer. The collision listener will no longer be notified of collision events occurring on this layer. If the given listener is not a part of this layer, then this action will have no effect.

Parameters

RemoveFromEnd()

This action will remove an Item2D from the end of the array of items in the layer, and return the item that was removed.

Return

Libraries.Interface.Item2D: The item that was removed from this layer.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(circle)
        AddLayer(layer)

        Item2D item = layer:RemoveFromEnd()
    end

    action Update(number seconds)
    end
end

RemoveFromFront()

This action will remove an Item2D from the front of the array of items in this layer, and return the item that was removed. This is functionally the same as calling "RemoveAt(0)".

Return

Libraries.Interface.Item2D: The item that was removed from the front of the layer's item array.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(circle)
        AddLayer(layer)

        Item2D item = layer:RemoveFromFront()
    end

    action Update(number seconds)
    end
end

RemoveGestureListener(Libraries.Interface.Events.GestureListener listener)

This action will remove a GestureListener from the layer. The listener will no longer receive events from the layer. If the given GestureListener is not on the layer before calling this action, then this action will have no effect.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.GestureListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from GestureListener.
    GestureListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddGestureListener(myListener)
        AddLayer(layer)

        layer:RemoveGestureListener(myListener)
    end

    action Update(number seconds)
    end

end

RemoveJoint(Libraries.Game.Physics.Joints.Joint2D joint)

This action will remove an Item2D from this layer. If the item was not a part of this layer, this action will have no effect.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(circle)
        AddLayer(layer)

        layer:Remove(circle)
    end

    action Update(number seconds)
    end
end

RemoveMouseListener(Libraries.Interface.Events.MouseListener listener)

This action will remove a MouseListener from the layer. The listener will no longer receive events from the layer. If the given MouseListener is not on the layer before calling this action, then this action will have no effect.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseListener.
    MouseListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseListener(myListener)
        AddLayer(layer)

        layer:RemoveMouseListener(myListener)
    end

    action Update(number seconds)
    end

end

RemoveMouseMovementListener(Libraries.Interface.Events.MouseMovementListener listener)

This action will remove a MouseMovementListener from the layer. The listener will no longer receive events from the layer. If the given MouseMovementListener is not on the layer before calling this action, then this action will have no effect.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseMovementListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseMovementListener.
    MouseMovementListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseMovementListener(myListener)
        AddLayer(layer)

        layer:RemoveMouseMovementListener(myListener)
    end

    action Update(number seconds)
    end

end

RemoveMouseWheelListener(Libraries.Interface.Events.MouseWheelListener listener)

This action will remove a MouseWheelListener from the layer. The listener will no longer receive events from the layer. If the given MouseWheelListener is not on the layer before calling this action, then this action will have no effect.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseWheelListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseWheelListener.
    MouseWheelListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseWheelListener(myListener)
        AddLayer(layer)

        layer:RemoveMouseWheelListener(myListener)
    end

    action Update(number seconds)
    end

end

RemoveTouchListener(Libraries.Interface.Events.TouchListener listener)

This action will remove a TouchListener from the layer. The listener will no longer receive events from the layer. If the given TouchListener is not on the layer before calling this action, then this action will have no effect.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.TouchListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from TouchListener.
    TouchListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddTouchListener(myListener)
        AddLayer(layer)

        layer:RemoveTouchListener(myListener)
    end

    action Update(number seconds)
    end

end

RequireSimulation(boolean flag)

This action indicates that the layer has received a new item that it must manage during collision detection. This is automatically called by the Game engine as necessary, and most users should never need to use this action directly.

Parameters

  • boolean flag

Resize(Libraries.Interface.Events.ResizeEvent event)

This is for internal use. This action is meant to do nothing because the Scene Editor handles resizing for the EditorLayers

Parameters

Set(integer index, Libraries.Interface.Item2D item)

This action will set the value of the given index in the layer's array of items to be the given Item2D. The previous value will be overwritten. If the index does not exist in the array (e.g., the given index is larger than the number of items stored in this layer), an error will be thrown.

Parameters

  • integer index: What index to set inside the layer's array of items.
  • Libraries.Interface.Item2D: The item to store at the given index in the array.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Item2D

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Item2D item1
        Item2D item2
        Item2D item3

        Layer2D layer
        layer:Add(item1)
        layer:Add(item2)
        layer:Set(1, item3)
        AddLayer(layer)
    end

    action Update(number seconds)
    end
end

SetAutomaticResizing(boolean resizing)

This action sets if the Layer should automatically respond to ResizeEvents. If this value is true, then the Layer will automatically adjust the camera and resize Items on the Layer when a ResizeEvent occurs.

Parameters

  • boolean resizing

SetAutomaticallyClearForces(boolean flag)

This action will remove a MouseListener from the layer. The listener will no longer receive events from the layer. If the given MouseListener is not on the layer before calling this action, then this action will have no effect.

Parameters

  • boolean flag

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseListener.
    MouseListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseListener(myListener)
        AddLayer(layer)

        layer:RemoveMouseListener(myListener)
    end

    action Update(number seconds)
    end

end

SetCamera(Libraries.Game.Graphics.Camera cam)

This action will set the camera being used by this Layer. The camera is used to determine what will be drawn on the screen. Objects will be drawn on the screen as they are seen by the Layer's set camera.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Game.Graphics.OrthographicCamera

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        OrthographicCamera camera
        Layer2D layer
        layer:SetCamera(camera)
        AddLayer(layer)
    end

    action Update(number seconds)
    end
end

SetCameraPitch(number pitch)

The SetCameraYawPitchRoll action sets the direction and orientation of the Camera using pitch angles. All angles are in degrees. The pitch describes how far the camera is angled up or down. The pitch value should typically be between -90 and 90 degrees. Larger values will cause the camera to look in the opposite direction specified by the yaw value. For pitch values between -90 and 90, positive values angle the camera upwards, and negative values angle it downwards.

Parameters

  • number pitch: The pitch angle, measured in degrees.

SetCameraPreviewHeight(number height)

SetCameraPreviewHeight sets the height of the camera preview

Parameters

  • number height: height of the camera

SetCameraPreviewPosition(number x, number y)

SetCameraPreviewPosition sets the X and Y position of the camera preview

Parameters

  • number x: x position of the camera
  • number y: y position of the camera

SetCameraPreviewSize(number width, number height)

SetCameraPreviewSize sets the width and height of the camera preview

Parameters

  • number width: width of the camera
  • number height: height of the camera

SetCameraPreviewWidth(number width)

SetCameraPreviewWidth sets the width of the camera preview

Parameters

  • number width: width of the camera

SetCameraPreviewX(number x)

SetCameraPreviewX sets the X position of the camera preview

Parameters

  • number x: x position of the camera

SetCameraPreviewY(number y)

SetCameraPreviewY sets the Y position of the camera preview

Parameters

  • number y: y position of the camera

SetCameraRoll(number roll)

The SetCameraYawPitchRoll action sets the direction and orientation of the Camera using roll angles. All angles are in degrees. The roll describes how the top of the camera is oriented. A roll value of 0 will angle the camera so the top of the camera points upward, towards the positive Y axis. A positive roll value "twists" the camera clockwise, and a negative value will twist it counter-clockwise.

Parameters

  • number roll: The roll angle, measured in degrees.

SetCameraYaw(number yaw)

The SetCameraYawPitchRoll action sets the direction and orientation of the Camera using yaw angles. All angles are in degrees. The yaw describes how far the camera is rotated along the X/Z axis. It effectively controls how the camera turns left and right. A positive value will rotate the camera clockwise (typically to the right).

Parameters

  • number yaw: The yaw angle, measured in degrees.

SetCameraYawPitchRoll(number yaw, number pitch, number roll)

The SetCameraYawPitchRoll action sets the direction and orientation of the Camera using yaw, pitch, and roll angles. All angles are in degrees. The yaw describes how far the camera is rotated along the X/Z axis. It effectively controls how the camera turns left and right. A positive value will rotate the camera clockwise (typically to the right). The pitch describes how far the camera is angled up or down. The pitch value should typically be between -90 and 90 degrees. Larger values will cause the camera to look in the opposite direction specified by the yaw value. For pitch values between -90 and 90, positive values angle the camera upwards, and negative values angle it downwards. The roll describes how the top of the camera is oriented. A roll value of 0 will angle the camera so the top of the camera points upward, towards the positive Y axis. A positive roll value "twists" the camera clockwise, and a negative value will twist it counter-clockwise.

Parameters

  • number yaw: The yaw angle, measured in degrees.
  • number pitch: The pitch angle, measured in degrees.
  • number roll: The roll angle, measured in degrees.

SetColliding(boolean collide)

This allows us to turn collisions on or off for the layer.

Parameters

  • boolean collide

SetColorFilter(Libraries.Game.Graphics.Color color)

Using SetColorFilter will tint all drawn objects on the layer that do not have their own custom color tint. For example, using a red color filter will make all objects drawn on the layer to appear to be more red.

Parameters

SetColorFilter(number red, number green, number blue, number alpha)

SetColorFilter can be called using four number parameters instead of a color object. The four parameters are the red, green, blue, and opacity of the filter, respectively. All four of the parameters should be between 0 and 1, representing between 0% and 100% of that color component. For example, a value of 0 for red means that the tinting color will have no red, while a value of 1 will have all red components. An opacity of 0 is totally transparent, while an opacity of 1 will be totally visible.

Parameters

  • number red
  • number green
  • number blue
  • number alpha

SetContinuousPhysics(boolean flag)

This action will remove a GestureListener from the layer. The listener will no longer receive events from the layer. If the given GestureListener is not on the layer before calling this action, then this action will have no effect.

Parameters

  • boolean flag

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.GestureListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from GestureListener.
    GestureListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddGestureListener(myListener)
        AddLayer(layer)

        layer:RemoveGestureListener(myListener)
    end

    action Update(number seconds)
    end

end

SetDepthBufferSorting(boolean sort)

Call this action if you want to manually tell the layer to turn off depth buffer sorting. This can be appropriate if all items in the layer are at the same level of depth. By default, depth buffer sorting is on.

Parameters

  • boolean sort

SetGravity(Libraries.Compute.Vector2 gravity)

This action will remove a TouchListener from the layer. The listener will no longer receive events from the layer. If the given TouchListener is not on the layer before calling this action, then this action will have no effect.

Parameters

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.TouchListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from TouchListener.
    TouchListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddTouchListener(myListener)
        AddLayer(layer)

        layer:RemoveTouchListener(myListener)
    end

    action Update(number seconds)
    end

end

SetGravity(number gravityX, number gravityY)

This action will remove a MouseWheelListener from the layer. The listener will no longer receive events from the layer. If the given MouseWheelListener is not on the layer before calling this action, then this action will have no effect.

Parameters

  • number gravityX
  • number gravityY

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseWheelListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseWheelListener.
    MouseWheelListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseWheelListener(myListener)
        AddLayer(layer)

        layer:RemoveMouseWheelListener(myListener)
    end

    action Update(number seconds)
    end

end

SetGridSnapping(boolean enabled)

SetGridSnapping turns the grid on or off

Parameters

  • boolean enabled: If true the grid will be enabled, the grid will be hidden if false

SetGridUnitSize(number units)

SetGridUnitSize sets the size of a single grid unit which affects the size of the grid and the size of the cursor.

Parameters

  • number units: the size of a single grid unit

SetInterfaceScale(number scale)

This allows us to know if collisions are on or off for the layer.

Parameters

  • number scale

SetLayout(Libraries.Interface.Layouts.Layout layout)

SetName(text name)

This action sets the name of the Layer. This is used to identify the layer, especially in the Scene system.

Parameters

  • text name

SetNewItemAdded(boolean flag)

This action indicates that the layer has received a new item that it must manage during collision detection. This is automatically called by the Game engine as necessary, and most users should never need to use this action directly.

Parameters

  • boolean flag

SetPainter(Libraries.Game.Graphics.Painter2D painter)

SetSceneEditor(Libraries.Interface.Controls.Scenes.SceneEditor editor)

Sets the SceneEditor object that this layer is a part of.

Parameters

SetSimulationThreshold(number threshold)

This action will clear all the items in this layer.

Parameters

  • number threshold

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable circle
        circle:LoadFilledCircle(25)
        circle:SetPosition(300, 100)

        Layer2D layer
        layer:Add(circle)
        AddLayer(layer)

        layer:Empty()
    end

    action Update(number seconds)
    end
end

SetSubStepping(boolean flag)

AddCollisionListener will add a collision listener to this layer. The collision listener will be notified of collisions occuring on this layer, and is responsible for managing the collision events.

Parameters

  • boolean flag

SetViewport(integer x, integer y, integer width, integer height)

This action sets the viewport that will be used by this Layer. Anything drawn on this Layer will appear in a rectangle that begins x pixels from the left side of the screen, y pixels from the bottom, and has the given width and height in pixels.

Parameters

  • integer x
  • integer y
  • integer width
  • integer height

SetViewportAndCamera(integer x, integer y, integer width, integer height)

This actions sets the viewport that will be used by this Layer, and adjusts the Layer's camera to match the dimensions of the viewport.

Parameters

  • integer x
  • integer y
  • integer width
  • integer height

SetWarmStarting(boolean flag)

This action will remove all MouseMovementListeners from the layer.

Parameters

  • boolean flag

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Interface.Events.MouseMovementListener

class Main is Game

    // For most programs, this should be replaced with 
    // a custom class inheriting from MouseMovementListener.
    MouseMovementListener myListener

    action Main
        StartGame()
    end

    action CreateGame
        Layer2D layer
        layer:AddMouseMovementListener(myListener)
        AddLayer(layer)

        layer:EmptyMouseMovementListeners()
    end

    action Update(number seconds)
    end

end

Show()

This action will show the Layer. When Draw is called on a Layer which is showing, its items will appear on the screen. Layers begin showing by default.

Example

use Libraries.Game.Game
use Libraries.Game.Layer2D
use Libraries.Game.Graphics.Drawable

class Main is Game

    action Main
        StartGame()
    end

    action CreateGame
        Drawable square
        square:LoadFilledRectangle(200, 200)
        
        Layer2D layer
        layer:Add(square)

        AddLayer(layer)
        layer:Hide()

        // Since layers are visible by default, it's only necessary to Show
        // them after they've been hidden.
        layer:Show()
    end

    action Update(number seconds)
    end
end

ShowCursor(boolean visible)

Shows or hides the cursor based on the passed parameter.

Parameters

  • boolean visible: If true the cursor will be shown, hidden otherwise.

ShowEditorComponents(boolean shouldShow)

ShowEditorComponents toggles the editor components which consists of the camera preview, the grid, and the cursor. When toggled off they will all be hidden. When toggled on the preview and grid will be visible in the editor.

Parameters

  • boolean shouldShow

TestForCollisions(number seconds)

This action triggers collision detection for this layer during a frame in the Game engine. This action will automatically be called by the Game class as necessary. Most users should never need to use this action directly.

Parameters

  • number seconds

Update(number seconds)

Update is called by the Game loop every frame. This action resizes the viewport to fit the Layer so resizing the Game doesn't leave unused space in the EditorLayer.

Parameters

  • number seconds

UpdateGridPosition()

UpdateGridPosition positions the grid correctly based on the position and zoom of the editor camera. Grid2D is a drawable that is redrawn as needed so the Grid is resized and moved as needed so it looks correct in the editor.

UpdateGridSize()

UpdateGridSize sizes the grid correctly based on the position and zoom of the editor camera. Grid2D is a drawable that is redrawn and reshaped as needed so the Grid is resized and moved as needed so it looks correct in the editor.