private SpaceInfoView GetSpaceInfoViewById(int objId)
        {
            SpaceInfoView view = null;

            m_SpaceInfoViews.TryGetValue(objId, out view);
            return(view);
        }
 public void MarkSpaceInfoViews()
 {
     foreach (KeyValuePair <int, SpaceInfoView> pair in m_SpaceInfoViews)
     {
         SpaceInfoView view = pair.Value;
         view.NeedDestroy = true;
     }
 }
        private SpaceInfoView CreateSpaceInfoView(int objId, bool isPlayer)
        {
            SpaceInfoView view = null;

            if (!m_SpaceInfoViews.ContainsKey(objId))
            {
                view = new SpaceInfoView();
                view.Create(objId, isPlayer);
                m_SpaceInfoViews.Add(objId, view);
            }
            return(view);
        }
        public void UpdateSpaceInfoView(int objId, bool isPlayer, float x, float y, float z, float dir)
        {
            SpaceInfoView view = GetSpaceInfoViewById(objId);

            if (null == view)
            {
                view = CreateSpaceInfoView(objId, isPlayer);
            }
            if (null != view)
            {
                view.NeedDestroy = false;
                view.Update(x, y, z, dir);
            }
        }
        public void DestroyUnusedSpaceInfoViews()
        {
            List <int> deletes = new List <int>();

            foreach (KeyValuePair <int, SpaceInfoView> pair in m_SpaceInfoViews)
            {
                SpaceInfoView view = pair.Value;
                if (view.NeedDestroy)
                {
                    deletes.Add(view.ObjId);
                }
            }
            foreach (int id in deletes)
            {
                DestroySpaceInfoView(id);
            }
            deletes.Clear();
        }
 private SpaceInfoView CreateSpaceInfoView(int objId, bool isPlayer)
 {
     SpaceInfoView view = null;
     if (!m_SpaceInfoViews.ContainsKey(objId)) {
         view = new SpaceInfoView();
         view.Create(objId, isPlayer);
         m_SpaceInfoViews.Add(objId, view);
     }
     return view;
 }