private void ConstructLevel()
    {
        LevelAsset myTarget = (LevelAsset)target;

        rootContainer = new GameObject();
        rootContainer.transform.position = new Vector3(0, 0, 0);

        cameraGameObject = new GameObject();
        cameraGameObject.transform.position = new Vector3(0, 0, -100);
        var camera = cameraGameObject.AddComponent <Camera> ();

        cameraGameObject.hideFlags = HideFlags.HideAndDontSave;
        camera.orthographic        = true;
        camera.clearFlags          = CameraClearFlags.Color;
        camera.backgroundColor     = windowBackgroundColor;
        editorRenderTexture        = Resources.Load("EditorRenderTexture") as RenderTexture;
        camera.targetTexture       = editorRenderTexture;

        levelEditorNode        = Resources.Load("LevelEditorNode") as GameObject;
        levelEditorPuzzlePivot = Resources.Load("levelEditorPuzzlePivot") as GameObject;

        nodeAssetDictionary = LevelAssetHelper.ConstructDictionary(myTarget.subPuzzleNodes);
        nodeDictionary      = new Dictionary <string, LevelEditorNode>();
        var rootNode = nodeAssetDictionary [""][0];

        SpawnNode(rootNode, new Vector2(0, 4));

        LevelEditorNode selectedNode;

        if (!string.IsNullOrEmpty(selectableNodeId))
        {
            nodeDictionary.TryGetValue(selectableNodeId, out selectedNode);
            if (selectedNode != null)
            {
                var pivot        = selectedNode.puzzlePivots [selectablePuzzlePivotId];
                var renderer     = pivot.GetComponent <MeshRenderer> ();
                var tempMaterial = new Material(renderer.sharedMaterial);
                tempMaterial.color      = Color.green;
                renderer.sharedMaterial = tempMaterial;
            }
        }
    }
Example #2
0
    void Start()
    {
        if (Director.Instance.IsAlternativeLevel)
        {
            additionalPieces = 1;
        }
        if (levelOverride == null)
        {
            level = Director.LevelDatabase.levels [Director.Instance.LevelIndex];
        }
        else
        {
            level = levelOverride;
        }

        numberOfPieces = level.numberOfPieces + new Vector2(additionalPieces, additionalPieces);

        ZoomScale = numberOfPieces.x;

        startScale          = transform.localScale;
        nodeAssetDictionary = LevelAssetHelper.ConstructDictionary(level.subPuzzleNodes);

        StartCoroutine(SpawnInitialSubPuzzle());
    }