示例#1
0
        public static MultiComponentList GetComponents(int multiID)
        {
            multiID &= 0x3FFF;

            MultiComponentList mcl;

            if (ComponentsCache.TryGetValue(multiID, out mcl) && mcl != null)
            {
                return(mcl);
            }

            ComponentsCache[multiID] = mcl = MultiData.GetComponents(multiID);

            // Minax Fortress
            if (multiID == 0x1388)
            {
                // That tree...
                mcl.Remove(3405, 17, -13, 15);
                mcl.Remove(3406, 18, -14, 15);
                mcl.Remove(3393, 18, -14, 17);
            }

            if (mcl.List.Length == 0)
            {
                mcl.Resize(1, 1);
                mcl.Add(0, 0, 0, 0);
            }

            return(mcl);
        }
示例#2
0
        public static MultiComponentList GetComponents(int multiID)
        {
            multiID &= 0x3FFF;

            MultiComponentList mcl;

            if (_ComponentsCache.TryGetValue(multiID, out mcl))
            {
                return(mcl);
            }

            _ComponentsCache.Add(multiID, mcl = MultiData.GetComponents(multiID));

            return(mcl);
        }
示例#3
0
        public static MultiComponentList GetComponents(int multiID)
        {
            MultiComponentList list1;

            multiID &= 16383;
            if ((multiID >= 0) && (multiID < MultiData.m_Components.Length))
            {
                list1 = MultiData.m_Components[multiID];
                if (list1 != null)
                {
                    return(list1);
                }
                MultiData.m_Components[multiID] = (list1 = MultiData.Load(multiID));
                return(list1);
            }
            return(MultiComponentList.Empty);
        }
示例#4
0
        public static MultiComponentList GetComponents(int multiID)
        {
            multiID &= 0x3FFF;

            MultiComponentList mcl;

            if (_ComponentsCache.TryGetValue(multiID, out mcl))
            {
                return(mcl);
            }

            _ComponentsCache.Add(multiID, mcl = MultiData.GetComponents(multiID));

            if (multiID == 0x1388)
            {
                // That tree...
                mcl.Remove(3405, 17, -13, 15);
                mcl.Remove(3406, 18, -14, 15);
                mcl.Remove(3393, 18, -14, 17);
            }

            return(mcl);
        }