コード例 #1
0
        /// <summary>
        /// Post destroy message: destroy sub-objects.
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="msg"></param>
        /// <param name="packet"></param>
        /// <param name="reader"></param>
        /// <returns></returns>
        protected override Error PostHandleMessage(DestroyMessage msg, ShapeCache cache, int shapeIndex)
        {
            PointsComponent pointsComp = cache.GetShapeDataByIndex <PointsComponent>(shapeIndex);

            if (pointsComp != null)
            {
                // Remove from the registered mesh list.
                List <PointsComponent> parts;
                if (_registeredParts.TryGetValue(pointsComp.MeshID, out parts))
                {
                    // Remove from the list.
                    parts.RemoveAll((PointsComponent cmp) => { return(cmp == pointsComp); });
                }

                pointsComp.Release();
            }
            return(new Error());
        }