// Functions
        //------------------------------------------------
        /// <summary>
        /// OptMesh -> PreRender 이벤트 등록
        /// </summary>
        /// <param name="optMesh"></param>
        /// <param name="preRenderEvent"></param>
        public void AddPreRenderEvent(apOptMesh optMesh, FUNC_MESH_PRE_RENDERED preRenderEvent)
        {
            if (_meshPreRenderedEvents == null)
            {
                _meshPreRenderedEvents = new Dictionary <apOptMesh, FUNC_MESH_PRE_RENDERED>();
            }

            if (!_meshPreRenderedEvents.ContainsKey(optMesh))
            {
                _meshPreRenderedEvents.Add(optMesh, preRenderEvent);
            }
            else
            {
                _meshPreRenderedEvents[optMesh] = preRenderEvent;
            }

            //Debug.Log("PreRenderEvent Added [" + optMesh.name + " > " + name + "]");

            _nEvent = _meshPreRenderedEvents.Count;
        }
        //Pre Render Event
        private void OnPreRender()
        {
            if (_nEvent == 0)
            {
                return;
            }

            apOptMesh optMesh = null;
            FUNC_MESH_PRE_RENDERED funcMeshPreRendered = null;

            foreach (KeyValuePair <apOptMesh, FUNC_MESH_PRE_RENDERED> pair in _meshPreRenderedEvents)
            {
                optMesh             = pair.Key;
                funcMeshPreRendered = pair.Value;

                if (optMesh == null || funcMeshPreRendered == null)
                {
                    //메시가 없다면 리스트를 다시 봐야 한다.
                    continue;
                }

                funcMeshPreRendered(_camera);
            }
        }