Scene

Namespace:

namespace Lenga\Engine\SceneManagement;

class Scene

Methods

fromNativeData

public static function fromNativeData(array $data)

@param array{name?: string} $data

getActive

public static function getActive()

getCanvases

public function getCanvases()

@var array{name?: string}|false $data */

getBackdropLayers

public function getBackdropLayers(): array

Returns the scene backdrop layers as BackdropLayer wrappers.

getBackdropLayer

public function getBackdropLayer(int $index): ?BackdropLayer

Returns one backdrop layer by zero-based index.

getBackdropLayerCount

public function getBackdropLayerCount(): int

findCanvas

public function findCanvas(string $name)

instantiateGameObject

public function instantiateGameObject(GameObject $original, ?string $name = null)

instantiatePrefab

public function instantiatePrefab(string $assetPath, ?string $name = null)

findGameObject

public function findGameObject(string $name)

Example

use Lenga\Engine\Core\Behaviour;
use Lenga\Engine\SceneManagement\SceneManager;

class SceneInfo extends Behaviour
{
    public function update(): void
    {
        $scene = SceneManager::getActiveScene();
        if ($scene !== null) {
            $layer = $scene->getBackdropLayer(0);
            if ($layer !== null) {
                $layer->translateOffset(new \Lenga\Engine\Core\Vector2(24.0 * \Lenga\Engine\Core\Time::deltaTime(), 0.0));
            }
        }
    }
}

See Also