// -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING --
//
// THE CONTENTS OF THIS FILE IS GENERATED BY CODE AND
// ANY MODIFICATIONS WILL BE OVERWRITTEN
//
// -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING -- WARNING --

// %BANNER_BEGIN%
// ---------------------------------------------------------------------
// %COPYRIGHT_BEGIN%
//
// Copyright (c) 2018 Magic Leap, Inc. All Rights Reserved.
// Use of this file is governed by the Creator Agreement, located
// here: https://id.magicleap.com/creator-terms
//
// %COPYRIGHT_END%
// ---------------------------------------------------------------------
// %BANNER_END%

// %SRC_VERSION%: 1

#include <PrismSceneManager.h>
#include <scenes.h>
#include <Servo2D/Servo2D.h>

namespace scenes {

  namespace Servo2D {

    namespace externalNodes {
      extern const std::string contentPanel = "contentPanel";
      extern const std::string content = "content";
      extern const std::string backButton = "backButton";
      extern const std::string fwdButton = "fwdButton";
      extern const std::string urlBar = "urlBar";
    }

    const SceneDescriptor::ExternalNodeReferences externalNodesMap = {
      {"contentPanel", externalNodes::contentPanel},
      {"content", externalNodes::content},
      {"backButton", externalNodes::backButton},
      {"fwdButton", externalNodes::fwdButton},
      {"urlBar", externalNodes::urlBar}
    };

    const SceneDescriptor descriptor(
      0,
      "Servo2D",
      "root",
      "/assets/scenes/Servo2D.scene.xml",
      "/assets/scenes/Servo2D.scene.res.xml",
      externalNodesMap,
      true);
  }

  const SceneDescriptorReferences externalScenes = {
    {Servo2D::descriptor.getExternalName(), Servo2D::descriptor}
  };

  struct VerifyNumberOfExternalScenes {
    VerifyNumberOfExternalScenes() { assert(externalScenes.size() == numberOfExternalScenes); }
  };

  VerifyNumberOfExternalScenes verifyNumberOfExternalScenes;
}

const PrismSceneManager::CreateSpawnedScene PrismSceneManager::createSpawnedScene[scenes::numberOfExternalScenes] = {
  ::scenes::Servo2D::createSpawnedScene
};

const PrismSceneManager::CreateSpawnedSceneHandlers PrismSceneManager::createSpawnedSceneHandlers[scenes::numberOfExternalScenes] = {
  static_cast<CreateSpawnedSceneHandlers>(::scenes::Servo2D::createSpawnedSceneHandlers)
};