public static void Update() { if (!bInit) { return; } InvalidList.Clear(); U3D_Render.EntityView view; foreach (TopName var in m_TopNameMap.Values) { TopName tn = var; view = EntityFactory.getEntityViewByID(tn.ID); if (view == null) { InvalidList.Enqueue(tn); continue; } if (!tn.Entry)//实体被删除 { InvalidList.Enqueue(tn); continue; } if (!tn.Entry.activeSelf || !view.StateMachine.GetVisible())//实体没有被激活或者不可见 { if (tn.GetEnable()) { tn.SetEnable(false); } } else//正常的实体 { if (!tn.GetEnable()) { tn.SetEnable(true); } tn.OnUpdate(); } } while (InvalidList.Count > 0) { //移除无效的TopName节点 TopName b = InvalidList.Dequeue(); if (OptimitzedControlPlane.Instance.EnityCreateOptimize) { CacheTopName(b); } else { TopNameManager.Destroy(b); } } InvalidList.Clear(); }
public override void OnDestroy() { TopNameManager.DestroyALL(); if (m_RenderTexture != null) { Destroy(m_RenderTexture); } m_Instance = null; base.OnDestroy(); }