Esempio n. 1
0
    private void InstantiateModel(GameObject parent, bool isFirst)
    {
        UnsModelDescribe describe = parent.GetComponent <UnsModelDescribe>();

        for (int i = 0; i < describe.gos_Skeleton.Length; i++)
        {
            GameObject go = describe.gos_Skeleton[i];

            string regex = @"^" + go.name.Replace("-S", "") + @"(-(\w+))?$";

            for (int j = 0; j < spliceControl.gos_Models.Length; j++)
            {
                if (Regex.IsMatch(spliceControl.gos_Models[j].name, regex))
                {
                    GameObject g = AddGameObject(spliceControl.gos_Models[j], go);

                    if (g.GetComponent <UnsModelDescribe>() != null)
                    {
                        InstantiateModel(g, isFirst);
                    }

                    if (isFirst)
                    {
                        break;
                    }
                }
            }
        }
    }
Esempio n. 2
0
    /// <summary>
    /// 为所有的Prefab添加  UnsModelDescribe.cs 脚本
    /// </summary>
    /// <param name="tran">添加 脚本的 gameobject</param>
    private void SetDescribeScript()
    {
        AutoBake bake = target as AutoBake;

        for (int i = 0; i < bake.prefabs.Length; i++)
        {
            Transform         tran    = bake.prefabs[i].transform;
            List <GameObject> goNames = new List <GameObject>();
            AddDescribe(goNames, tran);
            if (goNames.Count > 0)
            {
                UnsModelDescribe describe = null;
                if ((describe = tran.GetComponent <UnsModelDescribe>()) == null)
                {
                    describe = tran.gameObject.AddComponent <UnsModelDescribe>();
                }

                describe.gos_Skeleton = goNames.ToArray();
            }
        }
    }