Пример #1
0
        private MapPartData GenerateMapPartData(Transform mapPart)
        {
            MapPartData mapPartData = new MapPartData();

            mapPartData.startPosition        = GenerateStartPosition(mapPart);
            mapPartData.endPosition          = GenerateEndPosition(mapPart);
            mapPartData.basicPart            = GenerateBasicPart(mapPart);
            mapPartData.randomGameObjectPool = GenerateRandomGameObjectPool(mapPart);
            mapPartData.dynamicGameObjects   = GenerateDynamicGameObjects(mapPart);
            return(mapPartData);
        }
Пример #2
0
        protected List <CommonEntity> LoadMapPart(MapPartData partData, Vector3Data startPosition)
        {
            List <CommonEntity> mapPart = new List <CommonEntity>();

            startPosition = AddVector3Data(startPosition, partData.startPosition);

            // 加载BasicPart
            LoadGameObject(mapPart, startPosition, partData.basicPart);
            // 从randomGameObjectPool加载数据
            LoadFromRandomGameObjectPool(mapPart, startPosition, partData.randomGameObjectPool);
            // 从dynamicGameObjects加载数据
            LoadFormDynamicGameObjects(mapPart, startPosition, partData.dynamicGameObjects);

            return(mapPart);
        }
Пример #3
0
        private void LoadMapPart(int index, MapPartData mapPartData)
        {
            GameObject mapPart = GenerateMapPart(index);

            // 调整StartPosition和EndPosition的位置
            mapPart.transform.Find(ChapterEditorDef.StartPosition).position = GameObjectUtils.ToVector3(mapPartData.startPosition);
            mapPart.transform.Find(ChapterEditorDef.EndPosition).position   = GameObjectUtils.ToVector3(mapPartData.endPosition);

            // 加载BasicPart
            LoadBasicPart(mapPart, mapPartData.basicPart);

            // 加载RandomGameObjectPool
            LoadRandomGameObjectPool(mapPart, mapPartData.randomGameObjectPool);

            // 加载LoadDynamicGameObjects
            LoadDynamicGameObjects(mapPart, mapPartData.dynamicGameObjects);
        }
Пример #4
0
        private void LoadMapParts()
        {
            List <MapPartData> mapParts = m_data.mapParts;

            for (int times = 0; times < m_countOfSingleLoad; times++)
            {
                MapPartData partData = mapParts[m_mapPartIndex];
                //Vector3Data startPosition = AddVector3Data(m_nextPartStart, partData.startPosition);
                //Debug.Log(string.Format("加载前的开始位置 : x = {0}, y = {1}, z = {2}", startPosition.x, startPosition.y, startPosition.z));

                m_mapParts.AddLast(LoadMapPart(partData, m_nextPartStart));

                // 更新下一块地图块的开始位置
                m_nextPartStart = AddVector3Data(m_nextPartStart, partData.endPosition);
                //Debug.Log(string.Format("下一段的开始位置 : x = {0}, y = {1}, z = {2}", m_nextPartStart.x, m_nextPartStart.y, m_nextPartStart.z));
                m_mapPartIndex++;
                if (m_mapPartIndex == mapParts.Count)
                {
                    m_mapPartIndex = 0;
                }
            }
        }