Example #1
0
    /// <summary>
    /// runs a script
    /// </summary>
    /// <param name="text">script content</param>
    /// <returns>FBScript object</returns>
    public FBScript runScript(string text)
    {
        GameObject obj    = null;
        FBScript   script = null;

        // try to reuse existing script object
        for (int i = 0; i < transform.childCount; i++)
        {
            GameObject obj2 = transform.GetChild(i).gameObject;
            if (!obj2.activeInHierarchy)
            {
                script = obj2.GetComponent <FBScript>();
                if (script)
                {
                    obj = obj2;
                    break;
                }
            }
        }

        if (!obj)
        {
            // create new
            obj = GameObject.Instantiate(scriptPrefab.gameObject);
            obj.transform.SetParent(transform);
            script = obj.GetComponent <FBScript>();
        }

        script.manager = this;
        script.run(text);
        return(script);
    }