/// <summary>
    /// Standard starting function. It generates an interactable button for each
    /// script implementing the VisualScript abstract class.
    /// </summary>
    void Start()
    {
        List <string> scrobjects = GlobalVariables.GetFilesFrom("Visualscripts", "cs");
        var           type       = typeof(VisualScript);
        var           types      = AppDomain.CurrentDomain.GetAssemblies()
                                   .SelectMany(s => s.GetTypes())
                                   .Where(p => type.IsAssignableFrom(p) && p != typeof(VisualScript)).ToList();

        for (int i = 0; i < types.Count; i++)
        {
            VisualScript instance = (VisualScript)Activator.CreateInstance(types[i]);
            if (instance.HasGuiButton)
            {
                GameObject btn = Instantiate(lookOfButtons);
                btn.GetComponent <Button>().onClick.AddListener(() =>
                {
                    instance.Nodes         = GlobalVariables.GetGraphNodes(1);
                    instance.Links         = GlobalVariables.GetGraphLinks(1);
                    instance.RenderedLinks = GlobalVariables.GetRenderedGraphLinks(1);
                    instance.RenderedNodes = GlobalVariables.GetRenderedGraphNodes(1);
                    instance.Execute();
                    instance.UpdateGraph();
                });
                btn.transform.GetChild(0).GetComponent <Text>().text = scrobjects[i];
                btn.transform.SetParent(PanelToShow.transform);
                btn.transform.localScale    = new Vector3(1, 1, 1);
                btn.transform.localRotation = Quaternion.Euler(new Vector3(0, 0, 0));
                btn.transform.localPosition = new Vector3(0, 0, 0);
            }
        }
    }
Пример #2
0
    private void Resume()
    {
        VisualScript visualScript = FindObjectOfType <VisualScript>();

        if (visualScript == null)
        {
            return;
        }

        visualScript.ResumeVisualization();
    }
Пример #3
0
    public void Next()
    {
        if (!isPaused)
        {
            return;
        }

        VisualScript visualScript = FindObjectOfType <VisualScript>();

        if (visualScript == null)
        {
            return;
        }

        visualScript.StepForward();
    }
Пример #4
0
    public void Begin()
    {
        if (!isPaused)
        {
            return;
        }

        VisualScript visualScript = FindObjectOfType <VisualScript>();

        if (visualScript == null)
        {
            return;
        }

        visualScript.StepBegin();
    }
Пример #5
0
    public void Previous()
    {
        if (!isPaused)
        {
            return;
        }

        VisualScript visualScript = FindObjectOfType <VisualScript>();

        if (visualScript == null)
        {
            return;
        }

        visualScript.StepBackwards();
    }
 public Node(VisualScript script, uint nodeId, SpriteHandle iconCollapsed, SpriteHandle iconOpened)
     : base(false, iconCollapsed, iconOpened)
 {
     Tag = new NodeInfo(script, nodeId);
 }
 public Node(VisualScript script, uint nodeId)
     : this(script, nodeId, SpriteHandle.Invalid, SpriteHandle.Invalid)
 {
 }
 public NodeInfo(VisualScript script, uint nodeId)
 {
     Script = script;
     NodeId = nodeId;
 }
Пример #9
0
 internal void Dispose()
 {
     OnAssetReloading(_asset);
     _asset = null;
 }
Пример #10
0
 internal VisualScriptType(VisualScript asset)
 {
     _asset = asset;
 }