using UnityEngine; using System.Collections.Generic; namespace CommonAIClient.Unity.Utils { public class AssetObjectExt : AssetObject { private Dictionary mDummyNodes = new Dictionary(); void Awake() { TrailRenderer render = gameObject.GetComponentInChildren(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(); foreach (var trans in allTrans) { if (trans.name == name) { tmp = trans.gameObject; mDummyNodes.Add(name, tmp); break; } } return tmp; } } }