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; }
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); } }