Example #1
0
    public HypotheticalSolution(EditableLevel editableLevel)
    {
        Id = LevelEditor.Solutions.Count;
        LevelEditor.Solutions.Add(this);

        Elements = new string[editableLevel.Elements.Length];

        for (var i = 0; i < Elements.Length; i++)
        {
            Elements[i] = editableLevel.Elements[i];
        }

        StartNode             = new Vector2(editableLevel.StartNode.x, editableLevel.StartNode.y);
        EndNode               = new Vector2(editableLevel.EndNode.x, editableLevel.EndNode.y);
        Movements             = new List <TraversalManager.TraversalMove>();
        VisitedElements       = new List <Vector2>();
        CollectedCollectables = new List <string>();
        EndNodeBypasses       = editableLevel.AllowedEndNodeBypasses;
    }
Example #2
0
    public void Initiliaze(EditableLevel editableLevel)
    {
        Scripted      = editableLevel.Scripted;
        Name          = editableLevel.name;
        ExpectedTime  = editableLevel.ExpectedTime;
        ExpectedMoves = editableLevel.ExpectedMoves;

        gameObject.name = Name;

        LinkElements <Node, Path>();
        LinkElements <Path, Node>();

        StartNode.GetComponent <SpriteRenderer>().sprite = NodePrefab.GetComponent <Node>().StartSprite;
        EndNode.GetComponent <SpriteRenderer>().sprite   = NodePrefab.GetComponent <Node>().EndSprite;

        Instantiate(PlayerPrefab, StartNode.transform);

        if (Application.isPlaying && Scripted)
        {
            TraversalManager.Instance.SimulateTraversalPlanning(editableLevel.TraversalScript);
        }
    }