using UnityEngine; using System.Collections.Generic; namespace CommonAIClient.Unity.Utils { public class AssetObjectExt : AssetObject { private Dictionary<string, GameObject> mDummyNodes = new Dictionary<string, GameObject>(); void Awake() { TrailRenderer render = gameObject.GetComponentInChildren<TrailRenderer>(true); if (render != null) { trailRendererCheck = true; } } public GameObject GetDummyNode(string name) { GameObject tmp = null; if (mDummyNodes.TryGetValue(name, out tmp)) { if (tmp != null && tmp.transform.IsChildOf(gameObject.transform)) { return tmp; } else { mDummyNodes.Remove(name); } } Transform[] allTrans = transform.GetComponentsInChildren<Transform>(); foreach (var trans in allTrans) { if (trans.name == name) { tmp = trans.gameObject; mDummyNodes.Add(name, tmp); break; } } return tmp; } } }