Visuals.LoadVisuals C# (CSharp) Method

LoadVisuals() public method

public LoadVisuals ( ) : void
return void
    public void LoadVisuals()
    {
        if (visualsLoaded) {
            return;
        }

        if (resourceCache == null) {
            resourceCache = new Dictionary<string, GameObject> ();
        }

        for (int i = 0; i < visualAssets.Length; i ++) {
            if (!resourceCache.ContainsKey (visualAssets[i])) {
                resourceCache[visualAssets[i]] = (GameObject) Resources.Load (visualAssets[i]);
            }
            GameObject prefab = resourceCache[visualAssets[i]];
            GameObject inst = (GameObject) Instantiate (prefab, Vector3.zero, Quaternion.identity);
            inst.name = prefab.name;
            inst.transform.parent = transform;
            inst.transform.localPosition = prefab.transform.position;
            inst.transform.localRotation = prefab.transform.rotation;
            inst.transform.localScale = prefab.transform.localScale;
        }

        if (controller != null)
        {
            Animator animator = gameObject.GetComponent<Animator>();
            if (animator == null) {
                animator = gameObject.AddComponent<Animator>();
            }
            animator.avatar = avatar;
            animator.runtimeAnimatorController = controller;
        }

        visualsLoaded = true;
    }