예제 #1
0
        public void RemoveFeature <T>() where T : IWorldFeature, new()
        {
            IWorldFeature feature = FindFeature <T>();

            if (feature != null)
            {
                m_Features.Remove(feature);
                feature.OnRemove();
            }
        }
예제 #2
0
        private IWorldFeature FindFeature <T>()
        {
            Type type   = typeof(T);
            int  length = m_Features.Count;

            for (int i = 0; i < length; ++i)
            {
                IWorldFeature feature = m_Features[i];
                if (type == feature.GetType())
                {
                    return(feature);
                }
            }
            return(null);
        }